Índice do Fórum Dimensao3.com


Autor Mensagem

<  XSI  ~  Remover Fcurves que tenham sempre o mesmo valor

comanight
Colocada: Ter Mai 05, 2009 6:54 pm Responder com Citação
Uma mente torturada Registo: 02 Jul 2006 Mensagens: 247 Local/Origem: pederneira/Inbicta!
Boas!

Imaginem que fazem uma pose constraint a um bone, e mais tarde fazem um plot/bake animation. em que ficam com keys em todas as frames em todos os canais.
So que só existe realmente animação em alguns deles, e querem limpar as curvas que n têm animacao.

não existe algo: clear unused fcurves?

ou algum script?

Já andei a investigar, mas n encontro nadinha.
Se alguem souber, agradecia! Wink
cumps

_________________
www.flopes.eu
Ver o perfil de utilizadores Enviar Mensagem Privada Enviar email
craft
Colocada: Qui Jun 11, 2009 3:30 am Responder com Citação
Novo membro Registo: 11 Jun 2009 Mensagens: 46 Local/Origem: Almada
Hey Wink

Sou novo aqui, vi a tua pergunta agora e registei-me.
fiz um script num instante q faz o q pediste. toma.
Ver o perfil de utilizadores Enviar Mensagem Privada
comanight
Colocada: Qui Jun 11, 2009 8:34 am Responder com Citação
Uma mente torturada Registo: 02 Jul 2006 Mensagens: 247 Local/Origem: pederneira/Inbicta!
Deus te abençoe meu filho Very Happy

N tenho ca o XSI, mas segunda já testo isso, muchas gracias.

Bem Vindo ao fórum Wink

_________________
www.flopes.eu
Ver o perfil de utilizadores Enviar Mensagem Privada Enviar email
craft
Colocada: Qui Jun 11, 2009 1:15 pm Responder com Citação
Novo membro Registo: 11 Jun 2009 Mensagens: 46 Local/Origem: Almada
epa ainda bem q não testaste porque ias pensar q eu andava a gozar Laughing
ontem nem me dei ao trabalho de fazer um plotting: scriptei pela descrição do q querias.
Acontece que quando fazes um plot a fcurve não está em branco, tem varios keys com o mesmo valor. toma la outro script q fiz agora. Não sei porquê o attachment do outro desapareceu por isso vou-te colorar este em texto.

for (oSel=0; oSel < selection.count; oSel++){
fCurves = selection(oSel).animatedParameters(1)
for (oFC = 0; oFC< fCurves.count; oFC++){
maxKey = fCurves(oFC).source.getMaxKeyValue()
minKey = fCurves(oFC).source.getMinKeyValue()
if (maxKey == minKey)
fCurves(oFC).disconnect()
}
}

copia para o script editor. em "Preferences", troca a linguagem para JScript. Corre. (n vá a máquina explodir)
Para adicionares como botao, arrasta o texto para uma toolbar Wink
Ver o perfil de utilizadores Enviar Mensagem Privada
comanight
Colocada: Seg Jun 15, 2009 10:15 am Responder com Citação
Uma mente torturada Registo: 02 Jul 2006 Mensagens: 247 Local/Origem: pederneira/Inbicta!
Hey, acabei de testar! fantastico
funciona perfeitamente e já ta na shelf Very Happy
Obrigado craft
cya

_________________
www.flopes.eu
Ver o perfil de utilizadores Enviar Mensagem Privada Enviar email
comanight
Colocada: Ter Jun 16, 2009 12:00 pm Responder com Citação
Uma mente torturada Registo: 02 Jul 2006 Mensagens: 247 Local/Origem: pederneira/Inbicta!
Hey again!

craft, usei o teu script, e mais uma vez obrigado por o teres feito.
Mas ele tinha alguns problemas com as hierarquias, e então voltamos a ver se existia algumas cena já de origem no XSI, e voilá

MESMO À FRENTE DOS OLHOS! Laughing


_________________
www.flopes.eu
Ver o perfil de utilizadores Enviar Mensagem Privada Enviar email
craft
Colocada: Qua Jun 17, 2009 3:14 am Responder com Citação
Novo membro Registo: 11 Jun 2009 Mensagens: 46 Local/Origem: Almada
RemoveAllAnimation( [InputObjs], [Time], [BranchFlag], [SourceMask], [ParameterMask], [StaticFCurves], [BaseAnimation], [LayerAnimation] )

Laughing lindo! às vezes as coisas estão mesmo debaixo dos olhos e nao as vemos. Ainda bem q isso te safou.
opa e n tens de q agradecer, tenho curtido de scriptar; ao menos que isso sirva para ajudar a alguém. eu é q peço desculpa de o script n estar perfeito.

ultimamente ja me aconteceram 1 ou 2 dessas de haver soluções ja implementadas e não ver o q está á frente do nariz... á medida q me vou familiarizando com o scripting p/ XSI, menos, se preciso de uma ferramenta q não conheça ainda, me chateio à procura (a ver se ela existe): perco menos tempo a escrever scripts. E é quando me deparo com os problemas q acabo por ir sabendo de alternativas, por isso até te agradecia se me explicasses onde é q o script deu buraco Wink tem alguma coisa a ver com branch select?
Ver o perfil de utilizadores Enviar Mensagem Privada
craft
Colocada: Qua Jun 17, 2009 10:55 am Responder com Citação
Novo membro Registo: 11 Jun 2009 Mensagens: 46 Local/Origem: Almada
hey Wink deixa, ja percebi. o script ja nao faz falta mas coloco aqui para futuras referências. ele estava a assumir os parametros animados de todos os childs de um objecto selectionado, por isso nao conseguias localizar a funçao do script sem afectar os childs. tá corrigido.
Também por preguiça minha nao tinha metido um treshold (por causa da margem de erro do XSI). meti um muito rudimentar a titulo de exemplo, para não perder tempo com um script q ja não é util (ainda bem, é bom sinal! Very Happy)

for (oSel=0; oSel < selection.count; oSel++){

fCurves = selection(oSel).NodeAnimatedParameters(1)
for (oFC = 0; oFC< fCurves.count; oFC++){
maxKey = fCurves(oFC).source.getMaxKeyValue()
minKey = fCurves(oFC).source.getMinKeyValue()
if (maxKey - minKey <= 0.00001)
fCurves(oFC).disconnect()
}
}
Ver o perfil de utilizadores Enviar Mensagem Privada

Mostrar os tópicos anteriores:  

Todos os tempos são GMT
Página 1 de 1
Novo Tópico

Ir para:  

Neste fórum, você Não pode colocar mensagens novas
Não pode responder a mensagens
Não pode editar as suas mensagens
Não pode remover as suas mensagens
Você Não pode votar neste fórum
You cannot attach files in this forum
You cannot download files in this forum