Autor |
Mensagem |
< XSI ~ Remover Fcurves que tenham sempre o mesmo valor |
comanight |
Colocada: Ter Mai 05, 2009 6:54 pm |
|
|
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!
cumps |
_________________ www.flopes.eu |
|
|
Voltar acima |
|
craft |
Colocada: Qui Jun 11, 2009 3:30 am |
|
|
Novo membro
Registo: 11 Jun 2009
Mensagens: 46
Local/Origem: Almada
|
Hey
Sou novo aqui, vi a tua pergunta agora e registei-me.
fiz um script num instante q faz o q pediste. toma. |
|
|
|
Voltar acima |
|
comanight |
Colocada: Qui Jun 11, 2009 8:34 am |
|
|
Uma mente torturada
Registo: 02 Jul 2006
Mensagens: 247
Local/Origem: pederneira/Inbicta!
|
Deus te abençoe meu filho
N tenho ca o XSI, mas segunda já testo isso, muchas gracias.
Bem Vindo ao fórum |
_________________ www.flopes.eu |
|
|
Voltar acima |
|
craft |
Colocada: Qui Jun 11, 2009 1:15 pm |
|
|
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
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 |
|
|
|
Voltar acima |
|
comanight |
Colocada: Seg Jun 15, 2009 10:15 am |
|
|
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
Obrigado craft
cya |
_________________ www.flopes.eu |
|
|
Voltar acima |
|
comanight |
Colocada: Ter Jun 16, 2009 12:00 pm |
|
|
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!
|
_________________ www.flopes.eu |
|
|
Voltar acima |
|
craft |
Colocada: Qua Jun 17, 2009 3:14 am |
|
|
Novo membro
Registo: 11 Jun 2009
Mensagens: 46
Local/Origem: Almada
|
RemoveAllAnimation( [InputObjs], [Time], [BranchFlag], [SourceMask], [ParameterMask], [StaticFCurves], [BaseAnimation], [LayerAnimation] )
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 tem alguma coisa a ver com branch select? |
|
|
|
Voltar acima |
|
craft |
Colocada: Qua Jun 17, 2009 10:55 am |
|
|
Novo membro
Registo: 11 Jun 2009
Mensagens: 46
Local/Origem: Almada
|
hey 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! )
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()
}
} |
|
|
|
Voltar acima |
|
|