PDA

Voir la version complète : Conformer une caméra



actarus
15/03/2012, 15h47
Salut,

est il possible de conformer les coordonnées d'une caméra animée?

Je cherche à exporter plusieurs caméras en FBX pour les récupérer dans une autre appli. Sauf que mes caméras sont animées à l'aide de tag "cible" et de nulls qui controlent le tonneau, roulis ect... donc les keyframes ne sont pas précisément sur ces cams...

J'aimerai donc récupérer la position et la rotation de mes caméras à chaque keyframe. Car si je sors un FBX tel quel, je ne récupère aucun mouvements.

Une idée?

Tengaal
15/03/2012, 16h01
hello !

pour baker un objet qui est à la base animé avec des tag et autres scripts/xpresso, il faut aller dans la fenêtre "ligne temporelle",
puis on sélectionne l'objet à baker (la camera dans ton cas) puis menu "Fonction -> conformer objets".

là on choisit l'extrait d'animation à prendre en compte, ainsi que les éléments à baker (position/echelle/rotation/paramètres, etc...)
puis on valide.

on obtient donc une copie de l'objet, sans aucun tag, mais avec une animation parfaitement identique à l'originale.
Comme cette nouvelle camera bakée est animée par keyframes, on peut donc l'exporter comme on veut vers d'autres softs.

EDIT: je constate à l'instant que tu es sur C4D 12, je ne sais plus si cette fonction existait sur cette version...

actarus
15/03/2012, 16h20
Oui Tengaal,
j'ai vu cette fonction mais ceci ne résoud pas mon problème, car mes nulls ne sont pas en 0,0,0 de ma caméra. Du coup si je copie ces keyframes générées par la fonction que tu me décrit, et que je les collent sur ma cam, c'est le bronx, ma caméra est décalée.

Je pense que la solution doit se trouver du coté Xpresso, il me semble, j'en suis même sur qu'il est possible de récupérer les coordonnées d'un objet via je sais plus quelle node, l'idée serait ensuite de transformer ces données récupérées en keyframes...C'est qu'une idée, l'expresso et moi on est pas encore trop pote, donc bon..

Tengaal
15/03/2012, 17h06
je ne comprends pas trop ta manip là...

tu dis que tu copie les keyframes produites sur ta camera ?

normalement la fonction te créé automatiquement une copie de ta camera avec ses pistes d'animation, il n'y a rien à copier manuellement...

en ce qui concerne les problématiques d'axes, dans ce cas si ta camera se décale, il faut la mettre dans un neutre qui a la position (0,0,0) du monde. Et ce neutre est dans ton neutre existant, non ?
En fait si tu as au départ : objet -> camera (+ tag cible)
ensuite tu aura : objet -> neutre (0,0,0) -> camera bakée

mais pourtant il me semblait que les keyframes créées par la fonction, étaient justement définies par rapport à l'objet parent et non par rapport au centre du monde...
donc si tu mets la caméra créée dans la même hiérarchie que ta camera originale, ça devrait pourtant le faire...

sinon je vois pas...

actarus
15/03/2012, 17h07
Alors je pense avoir trouvé une solution sur C4d café (http://www.c4dcafe.com/ipb/topic/47334-baking-a-camera-movement/).

J'ai dupliqué ma caméra, juste la caméra, afin d'avoir les même réglages de focales, ect...je lui colle un tag de contrainte en PSR avec comme cible la caméra animée, puis je conforme cette nouvelle caméra dans la timeline, magique!
Merci Tengaal!

actarus
15/03/2012, 17h44
je ne comprends pas trop ta manip là...

tu dis que tu copie les keyframes produites sur ta camera ?

normalement la fonction te créé automatiquement une copie de ta camera avec ses pistes d'animation, il n'y a rien à copier manuellement...



Oui, je copie les keyframes de mes objets null, je suis peut être pas super clair, mais ma caméra est animée via des nulls. Or lors d'une conformation, il lui faut au moins une keyframe de début et une de fin, donc je copie le résultat des mes nulls (animés) sur ma cam (pas animée).

http://cdupareilaumeme.free.fr/Fc4d/Null.png


Effectivement, je pourrais ensuite placer ma nouvelle cam dans un null et bouger ce null pour caler ma nouvelle caméra avec l'ancienne. Mais je voulais trouver un process propre.
En tous cas merci de ton intention!

Tengaal
15/03/2012, 18h20
ah d'accord je comprends mieux ton systeme tu as un Null qui est animé (position et éventuellement rotation), avec dedans une camera qui se contente juste de cibler (rotation).

il faut conformer le Null uniquement en position, et conformer la camera uniquement en rotation dans ce cas.

mais bon, ta methode d'utiliser une camera intermédiaire qui est liée à ta camera d'origine est une bonne idée, ça simplifie les choses, cette camera intermédiaire est donc animée à la fois en position et rotation donc sa conformation est plus simple à faire ensuite, en effet.