mardi 12 février 2019

Skunkcrafts P-51D Mustang - Petie 3rd

khamsin_P-51D_V11_21.jpg

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.

 

vendredi 25 janvier 2019

Blender Animation X-Plane - Stick

animation_stick_Blender_01.jpg

Aujourd'hui un nouveau test d'animation d'objet : un stick.

Jusqu'à présent, j'utilisais l'animation d'armature pour l'animation d'un stick. Une première armature pour le roll, une seconde armature pour le pitch parentée à la première armature et l'objet stick parenté à la seconde armature.

Le prototype est toujours aussi basique : un objet floor_stick et un objet stick. Le stick est parenté à floor-stick.
Pour ce test, j'ai choisi une animation de l'objet Stick avec 4 keyframes :

  • select stick object
  • Frame 1,  Rot Y -20, dataref sim/cockpit2/controls/yoke_roll_ratio, value -1
  • Frame 10, Rot Y 20, dataref sim/cockpit2/controls/yoke_roll_ratio, value 1
  • Frame 20, Rot X -15, dataref sim/cockpit2/controls/yoke_pitch_ratio, value -1
  • Frame 30, Rot X 20, dataref sim/cockpit2/controls/yoke_pitch_ratio, value 1.

Pour cet exemple, contrairement à l'animation d'aiguille, les positions des frames n'ont plus de rapport avec le temps.
Vous pouvez donc les placer comme il vous plaira. Là, j'ai choisi de poser une keyframe toutes les 10 images.

Il est possible d'organiser le code obj en affectant un weight différent sur les objets.
Pour ce faire, il faut sélectionner l'objet et, dans la fenêtre Properties / Object / Xplane, Override Weight, Attribuer une valeur
Plus le weight est important, plus le code de l'objet est décalé en fin de fichier.

J'ai attribué un weight de 10 à l'objet stick_left et un weight de 20 à l'objet stick_right.
Le code obtenu est le suivant :
 
TRIS 4092 2748
TRIS 6840 1332
 
TRIS 1194 852
ANIM_begin
ANIM_trans -0.2 0.40000001 1.79999995 -0.2 0.40000001 1.79999995
ANIM_rotate_begin 1 0 0 sim/cockpit2/controls/yoke_pitch_ratio
ANIM_rotate_key -1 -15.01
ANIM_rotate_key 1 20
ANIM_rotate_end
ANIM_rotate_begin 0 0 -1 sim/cockpit2/controls/yoke_roll_ratio
ANIM_rotate_key -1 -20
ANIM_rotate_key 1 20
ANIM_rotate_end
TRIS 0 1194
ANIM_end
 
TRIS 2046 852
ANIM_begin
ANIM_trans 0.2 0.40000001 1.79999995 0.2 0.40000001 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 1 0 0 sim/cockpit2/controls/yoke_pitch_ratio
ANIM_rotate_key -1 -15.01
ANIM_rotate_key 1 20
ANIM_rotate_end
ANIM_rotate_begin 0 0 -1 sim/cockpit2/controls/yoke_roll_ratio
ANIM_rotate_key -1 -20
ANIM_rotate_key 1 20
ANIM_rotate_end
TRIS 2898 1194
ANIM_end

Comme pour le premier test, j'ai exporté le fichier animation_stick.obj dans le dossier Objects / animation_test de mon Stinson L5 ANIM.
Et ajouter ce nouvel objet dans l'acf avec PlaneMaker.

C'est testé... et ca fonctionne.
Plus d'armatures, de bones, de parentages.
Plus la peine de vérifier si l'on est bien en mode objet, edit ou pose.
Il suffit de sélectionner l'objet et de l'animer.

 

- page 8 de 84 -