Animazioni non sincronizzate

Forum per: Modellazione, Texturing, Animazione, Composting e tutto quello che riguarda il normale utilizzo di Cinema4D.

Moderatori: Arkimed, natas, visualtricks, cappellaiomatto

Rispondi
  • Advertising
AriesBreath
Messaggi: 65
Iscritto il: lun ott 14, 2013 12:35 pm

Animazioni non sincronizzate

Messaggio da AriesBreath »

Salve, creo un altro thread per un problema che ho notato altre volte ma che a cui non avevo mai avuto bisogno di porre rimedio: le animazioni non sincronizzate.

In sostanza io creo un'animazione da Xpresso e premo Play, l'animazione parte ma già in Viewport gli oggetti non stanno esattamente nel punto in cui dovrebbero stare durante l'animazione. Quando provo a fare un render nel visualizzatore immagini vedo chiaramente che gli oggetti non stanno al loro posto ma escono dalla loro sede, se invece vado al fotogramma incriminato manualmente vedo che gli oggetti non stanno nella loro sede ma non appena mollo il tasto del mouse si riposizionano correttamente. I render in Viewport appaiono corretti. Come posso evitare questo problema?

Allego un paio di immagini per visualizzare meglio il problema
Allegati
Render in visualizzatore immagini, posizione incorretta
Render in visualizzatore immagini, posizione incorretta
Render in viewport, posizione corretta
Render in viewport, posizione corretta
Avatar utente
cappellaiomatto
Moderatore
Messaggi: 1572
Iscritto il: lun mag 07, 2012 5:12 pm

Re: Animazioni non sincronizzate

Messaggio da cappellaiomatto »

Ciao
sono praticamente sicuro che è un problema di priorità degli script

I tag Xpresso, i tag IK e forse qualche altro tag che ora non ricordo a memoria hanno tutti una proprietà che si chiama priority e stabilisce l'ordine di esecuzione dei tag.

Di default sono tutti a zero e questo generalmente causa il problema di sincronia quando ci sono script che sono funzionalmente dipendenti uno dall'altro.

Es:
a) la ik agisce sulle joint
b) uno script xpresso sposta un oggetto sulla posizione di una joint

in questo caso b deve essere eseguito dopo a

se entrambi sono a 0 e quindi hanno la stessa priorità cinema carica prima uno script o l'altro in modo casuale e questo provoca quella desincronizzazione in render time.

Es frame1 b/a frame 2 b/a frame 3 b/a

Andando sul singolo frame non si vede il difetto come hai notato anche te perchè in realtà gli script vengono eseguiti continuamente diverse volte al secondo in base al refresh della scena e quindi al secondo giro la dipendenza funzionale è rispettata

frame 1 B/a frame 1 B/a .....ma essendo sempre lo stesso frame al secondo passaggio a ha spostato le joint e b si posiziona correttamente.

Agisci su queste proprietà e assegna correttamente le priorità.

Il numero più basso viene eseguito per primo.

Quindi nel ns esempio A andrebbe messo a 0 e B a 1 o qualsiasi altro numero maggiore di 0......

Senza voler fare il venditore ma solo per dovere di cronaca, parlo ampiamente di questo aspetto nel mio corso di meccanical rigging se ti interessasse approfondire l'argomento.
http://www.corsicinema4d.com/elearning/ ... ging-5.htm

Ciao
Buon lavoro
:)
Allegati
1.jpg
AriesBreath
Messaggi: 65
Iscritto il: lun ott 14, 2013 12:35 pm

Re: Animazioni non sincronizzate

Messaggio da AriesBreath »

Sono giusto tornato qui per dire che avevo già risolto ed effettivamente il problema era quello, mi è bastato spostare su 1 il valore della priorità, però non sapevo che a numero maggiore corrispondesse priorità inferiore.

Un ultimo dubbio sempre sulle priorità, se imposto un valore molto alto, intorno a 80, gli oggetti si comportano in modo anomalo, vengono quasi sparati via dalle loro sedi per poi tornare a posto.

Sei stato molto gentile, grazie!
Avatar utente
cappellaiomatto
Moderatore
Messaggi: 1572
Iscritto il: lun mag 07, 2012 5:12 pm

Re: Animazioni non sincronizzate

Messaggio da cappellaiomatto »

AriesBreath ha scritto: Un ultimo dubbio sempre sulle priorità, se imposto un valore molto alto, intorno a 80, gli oggetti si comportano in modo anomalo, vengono quasi sparati via dalle loro sedi per poi tornare a posto.
:o :o :o

Questa mi è nuova.....mi sa qualche bug di cinema anche perchè sulla guida parla di valori compresi tra -499 e 499

a meno che non tu non abbia cambiato anche il tipo di priorità che va lasciato su expression

Ad ogni modo tieniti su valori bassi e non dovresti avere problemi

:)
  • Advertising
Rispondi