Blender (jusqu'à 2.49)
Python et EnvMap (3/4) 
Description: lier un script pour déterminer automatiquement
la position relative de la caméra à un plan: 
limite de l'animation.
    Début   Index
précédentScript Python/Envmap (2/4)
Script Python/EnvMap (4/4) Suivant
Depuis la mise en ligne de cette page, quelques informations supplémentaires sur la façon dont blender met à jour ses objets graphiques a permis d'améliorer sensiblement la procédure et la rend définitivement automatique même dans le cas d'une animation de la caméra contrôlée par une courbe.
     Pour cela il sufit de transformer la ligne 
 
obcible.LocX,obcible.LocY,obcible.LocX= point_miroite(a,b,c,d,camera.loc)

en
 
obcible.LocX,obcible.LocY,obcible.LocZ= \ point_miroite(a,b,c,d,[camera.mat[3][0],camera.mat[3][1],camera.mat[3][2]])

Le script fonctionne très bien sur une animation à base de clefs  IPO. Tous les objets semblent être mis à jour pour l'image/frame.

 Il n'en est pas de même lorsqu'on utilise des chemins et des trajectoires de type Curve/nurbs/bezier ou /Path. Les coordonnées ne passent pas de la courbe parent à l'objet enfant. On le voit bien dans la série d'images qui est présentée ci-dessous: il n'y a pas de mise à jour de la position de l'empty.
 

Télécharger le fichier correspondant
Télécharger le fichier correspondant (version 1.8=>2.27)
Télécharger le fichier correspondant (version 2.28)

Si l'on tient à utiliser malgré tout le script dans une animation de ce type, une solution assez lourde consiste à imiter la trajectoire que devrait suivre l'objet avec des clefs IPO . Pour cela on avance méthodiquement dans l'animation grâce  aux touches flèchées et, à des espaces réguliers, on crée, en nombre suffisant, des empties.

Pour que ces empties soient positionnés avec précoison à l'emplacement de l'objet désiré on  peut utiliser Shift-S, le menu Snap et Cur->Sel. Il est aussi possible de copier les paramètres loc et rot en passant par le menu Copy, et le combo de touche Alt-C.

Une fois  que l'on a suffisamment d'empties, on libère l'objet de sa parenté à la courbe. On revient à l'image de départ de l'animation. Et on copie les positions des empties dans la caméra en utilisant le menu Alt-C faire attention à l'ordre de sélection, c'est toujours les paramètres de l'objet actif qui sont passés à l'objet passif).

On resélectionne la caméra pour placer une clef d'animation sur elle avec la touche I.

Une fois l'opération terminée on peut  évacuer les empties et la courbe vers un autre calque où ils patienteront, par sécurité, en attendant que l'on ait terminé le travail d'animation.


précédentScript Python/Envmap (2/4)
Script Python/EnvMap (4/4) Suivant
Vers le Haut de page

Les questions concernant cette page  peuvent être posées sur  :
 news://news.zoo-logique.org/3D.Blender


 

 

Livre en français
Blender : apprenez, pratiquez, Créez, livre, Ed. Campus Press, coll. Starter Kit
Blender Starter Kit

Forum
FAQ
Lexique
Didacticiels
Compilations
Blender2KT
Débuter
Modelage
Blender python
Materiaux
Lumière
Animation
API python (eng)
Archives nzn
Statistiques
Doc flash Sculptris
Galerie Sculptris

mon site de démos sur youtube