Bonjour à tous,
Je suis à la recherche d'un petit scripte pour interpréter les données camera de After Effects pour l'exploiter dans C4D.
PS : à partir de la piste camera de AE, on peut récupérer ces données (position, rotation…)* par « copier » puis coller dans un traitement texte :
Adobe After Effects 6.5 Keyframe Data
Units Per Second 25
Source Width 500
Source Height 300
Source Pixel Aspect Ratio 1
Comp Pixel Aspect Ratio 1.06667
Position
Frame X pixels Y pixels Z pixels
0 2409.6 152 372.423
269 250 150 -740
353 250 150 -740
399 751 150 -740
407 750 150 -586
494 750 150 -586
538 1259 150 -586
547 1267 150 -440
719 1267 150 -440
756 1786 150 -440
765 1788 150 -290
904 1788 150 -290
929 1788 150 -800
950 -275 150 -800
967 -275 150 -800
983 -253 150 -588
1079 -253 150 -588
1110 -770 150 -588
1124 -779 150 -440
1337 -779 150 -440
1456 2409.6 152 372.423
X Rotation
Frame degrees
0 26
270 0
1337 0
1456 26
Y Rotation
Frame degrees
0 -82
270 0
353 0
371 10
407 0
494 0
513 -10
547 0
719 0
734 10
765 0
1337 0
1456 -82
End of Keyframe Data
sinclairzxfr
<br />It's not to win...
Salut Sinclair, il existe si je me souviens bien un tutorial qui traite de ce problême, d'un japonais ( kuroyama je crois ), mais te dire ou j'ai vu ça, j'en sais fichtrement rien. :arg:
kenavo !! // Pinterest KAMIGAZ®
Si j'ai bien compris, il faut surtout réflechir à la manière la plus aisée de rentrer toutes tes données dans le code en ayant le moins de trucs à remanier.
Placer la caméra à un instant donné est ensuite chose facile.
Il faut donc un petit script qui sépare tous ces chiffres et les replace correctement dans une matrice de la bonne taille.
Je trouve l'idée amusante. Je manque un peu de temps en ce moment :cry2:, mais si tu n'es pas pressé, je peux te faire ça dans la semaine.
Sauf, si tu trouves avant un truc tout fait évidemment. :odile:
SMC fan.
D'après les informations d'Aurety, j'ai recherché sur le net en vain.. :calim:
Alors là Jean-Laurent je m'en remets à ta programmation et surtout prend le temps qu’il faut. :poucehaut:
sinclairzxfr
<br />It's not to win...
Bon, au premier coup d'oeil c'est pas encore gagné. :coup:
L'éditeur coffee n'aime pas trop le format des données.
Il déteste particulièrement les sauts de ligne.
J'ai pensé à tout aligner sur une seule ligne (ce qui se fait facilement, même avec le bloc note) mais le second problème c'est la taille des données qui ne rentre pas dans une seule variable par copier-coller.
Si quelqu'un a une idée pour l'une de ces deux dernières questions. :prie:
La seule bonne nouvelle pour l'instant c'est qu'une fois sur une même ligne et rentrées dans une variable, je parviens à les remettre en forme dans une matrice.
SMC fan.
:twisted: zutttttttt c' est la partie que je savais fair aussi*La seule bonne nouvelle pour l'instant c'est qu'une fois sur une même ligne et rentrées dans une variable, je parviens à les remettre en forme dans une matrice.
sinon majoul pour le rubik cube* a utlisé cette méthode
http://www.frenchcinema4d.fr/forum/i...?topic=14828.0
paspasExemple : 1_90_45_%* = 1 c’est l’axe 1 , le 90 c’est la rotation en degré , le 45 c’est le temps en image,* et* le % marque la fin de ligne.
Oui, le site est ici :Envoyé par Aurety
http://homepage.mac.com/komaruyama/T.../AE/index.html
"Ko Maruyama", ah l'Asie... !
Merci erik,
sinon pour les programmeurs en xpresso
http://maxon.digitalmedianet.com/art...e.jsp?id=42002
sinclairzxfr
<br />It's not to win...
Voilà sinclair, c'est à celui-ci que je pensais. Content que tu l'ais trouvé... :poucehaut:
kenavo !! // Pinterest KAMIGAZ®
Ah, donc visiblement c'est Base80 qui a la solution avec un noeud qu'il a créé.Envoyé par sinclairzxfr
Il faudra que je retrouve ça.
SMC fan.
Aujourd'hui je devrais avoir le temps de me pencher un peu plus sur le sujet.
Je regarderai plus en détail le lien donné par sinclairzxfr.
Pour le problème de la string trop longue, visiblement l'objet "text" accepte des "strings" de longueurs suffisantes.
L'idée serait je pense de prendre 4 objet text invisibles et de copier-coller à l'intérieur (position et les 3 rotations). :wip:
SMC fan.
La petite avancée de la journée.
Après avoir regardé le lien et fait un petit tours sur le site de Base80, j'ai juste compris le principe. :oops:
Le "noeud" du problème étant le noeud "Text" qui permet de récupérer un fichier text et de l'exploiter.
Je suis tétu et je reste donc sur ma première idée.
Voici donc le noeud coffee "position" qui permet par simple copier-coller dans une spline text de récupérer les données sous forme d'un tableau (50,4) la taille est adaptable.
Dans le même noeud (à 4 entrées) on récupérera les rotations.Code:var i; var premier; var deuxieme; var nombre=""; var n=0; var p=0; var l=1; main() { var tableau=new(array,50,4); var ligne=new(array,4); for (i=0; i<1000 ; i++) { premier = strmid(Input1,i,1); deuxieme=strmid(Input1,i+1,1); if (l&&premier!=""&&premier[0]==32&&(evaluate(deuxieme)!=0||deuxieme=="-")) {n+=1;nombre="";} nombre+=premier; ligne[n]=nombre; if (evaluate(nombre)!=0) {l=1;} tableau[p][n]=ligne[n]; if (premier!=""&&premier[0]==10) {n=0;nombre="";p+=1;l=0;} }}
Il ne reste maintenant qu'à construire l'Xpresso qui va autours pour déplacer la caméra. :wip:
J'espère que tu n'es toujours pas pressé. :wink:
EDIT: Finalement, tout se passe plutôt bien, je finalise le tout et je poste un lien.
SMC fan.
Pour ce que j'ai testé, ça marche. En cas de problème contacter le service après vente.
[img width=850 height=630]http://cinema4d.chez-alice.fr/importAE.JPG[/img]
Le fonctionnement est assez simple. On fait un copier-coller des données directement dans les splines textes (positions et rotations) qui sont invisibles. La caméra suit.
Par contre on ne peut visiblement pas créer de clefs d'animation en COFFEE. :cry2:
Il faudrait voir si c'est faisable en Xpresso en demandant aux spécialistes, car autrement, pour l'instant il n'y a pas d'interpolation entre les images clés. Il faut appuyer sur F9 à la main. :wip:
Le fichier en R10: http://cinema4d.chez-alice.fr/importAE.c4d
Si besoin, je peux fournir un V 9.5. :odile:
Edit: Je vais améliorer quelques petites choses.
Essayer d'enregistrer automatiquement les clefs, ça serait bien.
Mais aussi n'exécuter la mise en forme des données qu'une seule fois en début de programme.
SMC fan.
Quelle réactivité !
Jean-laurent tu devrais postuler chez Maxon euh chez Nemetschek. :prie:
J'attends avec impatience les nouvelles améliorations...
sinclairzxfr
<br />It's not to win...
Merci. :oops:
Mais on est encore très loin de la programmation de haut vol. :lol:
Pour le calcul des données une seule fois en début, c'est chose faite.
Par contre pour la création automatiques de clés j'ai bien peur que ce ne soit manifestement impossible en coffee comme en Xpresso. En tout cas je n'ai rien trouvé. :cry2:
La solution du bricoleur du dimanche pourrait consister à recréer directement l'algorythme d'interpolation entre les images clés.
Je ne connais pas AE, mais de toute manière, il n'y a aucune information sur d'éventuelles tangentes liées aux images clés. J'en déduis donc que l'interpolation entre celles-ci est une interpolation assez basique.
J'espère que tu n'es toujours pas pressé. :lol:
En résumé, si tout marche bien, il faudra faire un simple copier-coller des données et lancer le rendu.
Pour l'angle de la caméra etc... ça se passe comment? Il n'apparaît pas dans les données.
SMC fan.
C'est fait. :boss:
L'interpolation marche bien. J'ai actualisé le lien au dessus.
Le seul truc que je ne comprends pas c'est pourquoi le noeud "range mapper" (cartographie d'intervalle) que j'ai pourtant déjà utilisé ne marche pas.
Je souhaitais passer les degrés en radian. J'ai intégré ça dans le code tant pis (ou tant mieux), mais c'est curieux...
SMC fan.
Bonjour Jean-Laurent,
Normal je ne l'ai pas utilisé dans cette compo.Pour l'angle de la caméra etc... ça se passe comment? Il n'apparaît pas dans les données.
Voici un autre exemple avec toutes les données de la camera sur deux clés une à 0 et l'autre 121 (frames) :
Pour info :
Attention aux rotations, celle qui est en gras correspond à Z.
Quant à "Orientation" je ne vois pas trop la différence avec les rotations XYZ.
"Point of Interest" est la cible de la caméra
"Depth of Fiel" retourne la valeur 1=activation ou 0=non activé
Adobe After Effects 6.5 Keyframe Data
Units Per Second 25
Source Width 500
Source Height 300
Source Pixel Aspect Ratio 1
Comp Pixel Aspect Ratio 1.06667
Point of Interest
Frame X pixels Y pixels Z pixels
0 250 150 0
121 240 142 14
Position
Frame X pixels Y pixels Z pixels
0 250 150 -740.741
121 242 143 -740.741
Rotation
Frame degrees
0 0
121 30
X Rotation
Frame degrees
0 0
121 10
Y Rotation
Frame degrees
0 0
121 20
Zoom
Frame pixels
0 740.741
121 742.041
Depth of Field
Frame
1
Focus Distance
Frame pixels
0 740.741
121 725.741
Aperture
Frame pixels
0 25.3093
121 6.30934
Blur Level
Frame percent
0 100
121 76
Orientation
Frame degrees
0 0 0 0
121 20 5 12
End of Keyframe Data
sinclairzxfr
<br />It's not to win...
Pour deux clés seulement, on a plus vite fait de tout rentrer à la main. :mrgreen:
Effectivement, je ne vois pas ce que représente "orientation" puisque ce n'est pas la même chose que les rotations?
Il faudrait que tu testes, en l'absence de rotation et avec une rotation simple de la caméra suivant un axe, de 90°.
De même si la caméra a une cible, seule la position devrait avoir de l'intérêt, les rotations suivent.
C'est peut-être une redondance.
Si tu es amené à changer souvent les distances focales, l'ouverture de la caméra etc... on peut l'intégrer au code si tu veux.
SMC fan.
Bonjour Jean-laurent,
Effectivement c'est une bonne idée :poucehaut:Si tu es amené à changer souvent les distances focales, l'ouverture de la caméra etc... on peut l'intégrer au code si tu veux.
Pour l'orientation et les rotations de la caméra voici ce que dit l'aide de AE.
(depuis le temps que j’utilise AE je ne comprends de moins en moins ces deux aspects) :o
Vous pouvez régler la rotation 3D de deux manières : en modifiant les valeurs de la propriété Orientation d'un calque ou en modifiant ses valeurs de rotation X, Y et Z. Vous pouvez utiliser l'outil Rotation pour modifier les valeurs de la propriété Orientation ou les valeurs de rotation X, Y ou Z.
Lorsque vous animez l'une des valeurs de la propriété Orientation d'un calque 3D, le calque se déplace le long du chemin de rotation le plus court possible dans l'espace 3D, pour créer des rotations naturelles et logiques. Vous pouvez lisser ce tracé en convertissant l'interpolation d'image clé spatiale en une interpolation de Bézier automatique.
Lorsque vous animez l'une des valeurs de rotation X, Y ou Z d'un calque 3D, ce dernier tourne le long de chaque axe individuel. Vous pouvez définir le nombre de rotations et l'angle de rotation. Vous pouvez également ajouter des images clés à la rotation du calque sur chaque axe individuel. L'animation à l'aide de ces propriétés offre davantage d'options de réglage des images clés que la propriété Orientation, mais produit un déplacement plus aléatoire. Cette propriété permet de créer des rotations avec plusieurs révolutions le long d'un axe unique.
sinclairzxfr
<br />It's not to win...
Bonjour à tous,
Pour information,
une approche pour 3Dsmax avec une discussion pour C4D
http://generalspecialist.com/2007/02/export-from-after-effects-to-3ds-max.asp
sinclairzxfr
<br />It's not to win...
Pour moi certaines options restent encore obscures. :oops:
Je n'ai pas plus compris que toi la citation du manuel, et ne possédant pas AE, c'est difficile de trouver à l'aveuglette.
Par contre, on peut encore améliorer un peu l'Xpresso, voir le transformer en plug Coffee avec une interface dans le style de ce plug 3DS.
On pourrait récupérer par exemple le fichier complet directement en un bloc et extraire les informations qui nous intéressent. Plus besoin de copier les éléments positions et rotations séparemment.
Pour cela il faut que le fichier texte soit toujours le même. Ou alors connaître les différents fichiers textes associés à chaque version.
Je ferai un essai en fin de semaine mais je n'ai pas encore essayé de récupérer le texte d'un document en coffee.
Si ça intéresse quelqu'un qui aurait une idée, ou qui a déjà fait un plug semblable, il ne faut surtout pas hésiter. J'expliquerais volontier les éventuels points obscures du code précédent. :odile:
SMC fan.
vous soulevez un problème intéressant ... :poucehaut: je vous suis....
Cinema 4D addicted<br />D.A. post-production & 3D