Tutoriaux Blender

Fil des billets

mardi 19 février 2019

Blender animation X-Plane - IK

Test d'animation du train principal du Boeing B-17G en animation IK.

Avec mes précédentes expérimentations, j'ai pu vérifier qu'il était possible de créer la majorité des animations en mode objet.
Mais pour les animations plus complexes de systèmes articulés, l'animation avec armature est à mon avis nécessaire.
Dans l'exemple proposé plus haut, un seul bone (surligné en bleu) est animé en rotation avec juste deux keyframes (train sorti - train rentré).
Tous les autres bones sont contraints : une première chaine de bones partant de l'axe de deploiement du train jusqu'au bone bleu est animé en cinématique inverse.
Une autre chaine de bone est créée avec des contraintes Damped Track pour le système piston.

Bref au final, juste un bone à animer avec une keyframe de départ et une d'arrivée... et clic sur Play !
Dans le Graph Editor, il est possible de corriger les courbes pour mieux définir les amortissements de début et fin de mouvement.


 

lundi 28 janvier 2019

Blender animation X-Plane - Absorber

animation_absorber_01.jpg

Test d'animation suspension train d'atterrisage.

Le prototype est composé de 5 objets :

  • arm1 vert
  • arm2 rouge
  • link1 orange
  • link2 bleu foncé
  • link3 bleu clair

La hiérarchie :

  • link1 est parenté à arm1
  • link2 est parenté à link1
  • link3 est parenté à arm2
  • arm2 est parenté à arm1

Animation de arm2 en translation linéaire Z -0.04m, dataref sim/time/total_running_time_sec, cyclique.
Puis animation en rotation manuelle de link1 et link3 sur 3 keyframe (frame 1, 50 et 100) avec la même dateref.
La frame intermédiaire est impérative pour limiter le glissement entre link1 et link3.

A droite une copie de l'animation avec une rotation sur les trois axes.

Bon, ca marche mais l'absence de contraintes sur cette animation impose le repositionnement manuel en rotation de link1 et link3. Vite fait mal fait donc.
 

dimanche 27 janvier 2019

Blender Animation X-Plane - Constraints

 

animation_constraint_01.jpg

Animation objet d'un systeme articulé.

Le prototype est composé des objets suivants ; arm1_pivot bleu, arm1 vert, arm2 rouge et arm2_pivot rouge.
La hiérachie et les contraintes sont ;

  • arm1 est parenté à arm1_pivot
  • arm2 est parenté à arm2_pivot
  • arm2_pivot est parenté à arm1_pivot
  • arm1 contrainte Damped Track Target arm2_pivot
  • arm2 contrainte Damped Track Target arm1_pivot

Ensuite on teste pour vérifier que tout bouge correctement.

  • En vue de face, sélection et déplacement de arm1_pivot : tout bouge.
  • Sélection et déplacement de arm2_pivot : arm1 et arm 2 se repositionnent en fonction du déplacement de arm2_pivot, arm1_pivot reste fixe.

Animation de arm2_pivot : translation linéaire X -0.1m en 4 sec cyclique avec la dataref sim/time/total_running_time_sec.
Les contraintes sur ar1 et arm2 positionnent les objets automatiquement.
Quand on joue l'animation dans Blender, le résultats est correct.
Cependant, une exportation en .obj à ce stade ne va pas donner le résultat escompté.
Il faut également animer arm1 at arm2 avec la même dataref.
Pour chaque keyframe de ces objets, sélection de l'objet, CTRL-A key option Visual Transform, I key add keyframe, record value dataref.

Sur la vidéo, le système articulé est défini avec deux keyframes ; ca glisse.
Le système articulé de droite dispose de 3 keyframes supplémentaires et le résultat est correct.
 

 

samedi 26 janvier 2019

Blender Animation X-Plane - Speed Control

animation_speed_control_Xplane_01.jpg

Test du jour : Variation de la vitesse de déplacement d'un objet.

Le prototype : Deux cube rouges avec une translation sur l'axe X d'une amplitude de 0.4m en 4 sec, animation cyclique.
Dataref utilisée : sim/time/total_running_time_sec

Le cube supérieur est animé avec 2 keyframes.
L'interpolation entre deux values d'une dataref X-Plane étant linéaire, la vitesse du déplacement est constante.

Le cube inférieur est animé avec 8 keyframes.
Des keyframes ont été ajoutées directement dans la fenêtre Graph Editor sur le canal Value() de l'objet sélectionné.
Ils sont positionnés de façon à simuler une vitesse variable (un amorti de début et de fin de mouvement dans cet exemple).

Pour que l'animation soit cyclique, renseigner le paramètre Loop Animation Key dans la fenêtre Properties / Objects / XPlane.

Au final, on lance X-Plane pour constater que le cube supérieur se déplace bien à vitesse constante.
Le mouvement du cube inférieur est amorti en début et en fin de mouvement.
Avec seulement 8 keyframes, cela manque de souplesse et on percoit bien que la courbe... n'en est pas une ! :)
Mais bon... c'est mieux que rien.

 

jeudi 24 janvier 2019

Blender Animation X-Plane - Needle

animation_needle_Blender_01.jpg

 

Pour ma part, un des moment les plus pénibles lors de la création d'un avion pour X-Plane, c'est l'animation des objets.

Entre ce que je sais, ce que je crois savoir, la lecture du manuel de Xplane2Blender, les avis des uns et des autres... je suis un peu perdu. J'ai donc décidé de réaliser quelques prototypes pour tenter de m'y retrouver.

Pour tester mes expérimentations, j'utilise le Stinson L5 présent par défaut dans X-Plane.
Le dossier de l'avion est dupliqué à la racine de dossier Aircrafts et renommé Stinson L5 ANIM TEST.
Dans le dossier Object ge l'avion, j'ai crée un sous dossier animation_test qui hébergera mes fichiers de test.
Pour finir, il faut ouvrir l'acf avec PlaneMaker pour ajouter les objets de test.

Blender V2.79 - Xplane2blender V3.5

Xplane2Blender propose deux types d'animations : l'animation d'objet ou l'animation d'armature.
L'animation directe d'objet sans utiliser d'armature dans le cas d'une animation d'aiguilles est, à priori, la bonne solution.
Le fichier Blender est plus lisible en l'absence de bones. On sélectionne l'aiguille et on attaque l'animation. C'est tout !

Le prototype est des plus simple : une face représentant l'instrument et une aiguille.
L'aiguille est parentée à l'instrument. Pour modifier la position/orientation de l'instrument, il suffit de sélectionner et repositionner/orienter l'instrument, l'aiguille et son animation suivront.

Animation basique d'une aiguille d'un instrument avec la dataref native X-Plane sim/time/total_running_time_sec

Par défaut, l'interpolation entre les keyframes par Blender est un courbe de Bézier. Le début et la fin du mouvement sont amortis. Ce n'est pas le cas de X-Plane où l'interpolation entre les keyframes est linéaire. Pour avoir une animation synchrone Blender / Xplane; il faut modifier le type d'interpolation de l'animation de Blender. Dans la fenêtre Dope Sheet : select keyframes, T key, Linear interpolation

Pour cette animation, seules 2 keyframes sont nécessaires :

  • Rotation continue 1 tour / 4 sec
  • Start frame : 1
  • End frame : 100
  • Select Object Needle
  • Keyframe 1 : Rot Y 0 deg
  • Keyframe 26 : Rot Y 90 deg

Pour prolonger l'animation eu delà de la keyframe 26 :

Graph Editor : select YEuler Rotation, add modifier Cycles Before : Repeat with Offset.et After : Repeat with Offset.
La courbe d'animation est prolongée à l'infini.
Il est donc possible de tester en temps réel l'animation en cliquant Play dans la Timeline de Blender.

Viennent ensuite les parametres spécifiques de Xplane2Blender.
Sélection de l'aiguille puis dans la fenêtre Properties/ Object / Xplane :

Add Dataref, 
Dataref : sim/time/total_running_time_sec
Animation Type : Transformation
Frame 1, Value 0
Frame 26, Value 1

Exportation et test.
Ca fonctionne !

J'ai ajouté une copie de l'instrument en modifiant son orientation sur les trois axes..
Ca marche aussi !

Le code .obj obtenu :

Pour l'instrument de gauche (sans orientation) :

ANIM_begin
ANIM_trans -0.15000001 0.44 1.79999995 -0.15000001 0.44 1.79999995
ANIM_rotate_begin 0 0 -1 sim/time/total_running_time_sec
ANIM_rotate_key 0 0
ANIM_rotate_key 1 90.01
ANIM_rotate_end
TRIS 4764 540
ANIM_end
 
Pour l'instrument de droite avec orientation sur les trois axes :
 
ANIM_begin
ANIM_trans 0.15000001 0.44 1.79999995 0.15000001 0.44 1.79999995
ANIM_rotate 0 1 0 30 30
ANIM_rotate 0 0 -1 30 30
ANIM_rotate 1 0 0 -30 -30
ANIM_rotate_begin 0 0 -1 sim/time/total_running_time_sec
ANIM_rotate_key 0 0
ANIM_rotate_key 1 90.01
ANIM_rotate_end
TRIS 5304 540
 

Bref, c'est l'option que je vais retenir pour l'animation des instruments à aiguilles.
C'est aussi utilisable pour des objets de scènes.

 

- page 1 de 12