Annonce

Réduire
Aucune annonce.

Animation d'objets avec Blender

Réduire
X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Animation d'objets avec Blender





    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 de cet 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 et lancer X-Plane.

    Blender V2.79 - Xplane2blender V3.5

    Xplane2Blender propose deux types d'animations : l'animation d'objet ou l'animation d'armature.
    L'animation direct 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 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 ou 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. 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.
    Sauf si vous avez une meilleure idée !

    Donc, n’hésitez pas à intervenir pour donner votre avis ou pour demander des explications.

    Si cette discussion suscite quelques intérêts, je partagerai les fichiers.
    Dernière modification par khamsin, 25 janvier 2019, 18h14.
    Créations X-Plane :
    USS Nimitz aircraft carrier, USS Perry Frigate, Oil platform pour Laminar Research
    Freeware : North American T-6G Texan, Boeing B-17G Flying Fortress, Ercoupe
    Payware : Pacific Islands WW2, De Havilland DHC-1 Chipmunk, North American B-25 Mitchell, Grumman HU-16 Albatross, North American P-51D Mustang, SA315B Lama
    Projet en cours : Boeing B-17G Flying Fortress V2.0 X-plane 12
    https://www.khamsin.org/

  • #2
    Très intéressant post, bravo pour l'initiative.

    Je regarde déjà depuis un certain temps à porter mes avions sous XPlane mais j'ai trouvé peu d'infos sur la partie animations justement.
    Autant la partie modélisation semble assez accessible à qui sait utiliser un logiciel de 3D autant la partie animation a du mal a révéler ses secrets.
    W 10 64bits - ASUS P8Z68-V Pro - i5 2550K OC 4Ghz - Gigabyte 1070 GTX - 16 Go Ram - Samsung SSD 1To & 2 x Cruxial SSD 256Go - Stockage sur HDD 4 To - Joystick Thrustmaster Warthdog & Throttle Cougar - 2 x Iiyama 24" & 1 Medion 19"

    Créations pour FSX Acc., P3Dv4.x et X-plane 11.x: http://frenchvfr.free.fr

    Commentaire


    • #3
      Je n'ai pas trouvé beaucoup de ressources concernant l'animation Blender pour X-Plane.
      Donc deuxième test basique !





      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.

      Comme pour le premier test, si vous avez une meilleure idée, n'hésitez pas à commenter.
      Dernière modification par khamsin, 25 janvier 2019, 18h28.
      Créations X-Plane :
      USS Nimitz aircraft carrier, USS Perry Frigate, Oil platform pour Laminar Research
      Freeware : North American T-6G Texan, Boeing B-17G Flying Fortress, Ercoupe
      Payware : Pacific Islands WW2, De Havilland DHC-1 Chipmunk, North American B-25 Mitchell, Grumman HU-16 Albatross, North American P-51D Mustang, SA315B Lama
      Projet en cours : Boeing B-17G Flying Fortress V2.0 X-plane 12
      https://www.khamsin.org/

      Commentaire


      • #4
        Hello,

        Lorsque j'ai animé mes petites productions dans Blender, venant de Gmax, je l'ai fait de manière classique: pas de "bones", pas de "weighs", mais quelquefois un peu trop de "keyframes", et bien sur le "parentage" d'objets.

        Du coup, ta méthode pourrait s'avérer intéressante pour...la prochaine modélisation. On va expérimenter tout ça. Peut-être avec Blender 2.8 si le plugin idoine est publié!

        Par contre, pour animer un soufflet ou une pièce déformable, je ne vois pas d'autre solution que les "bones"...

        Merci pour ces infos intéressantes!

        Berju
        Dernière modification par Berju83, 25 janvier 2019, 17h17.
        Intel I7 8700K OC 4800, GTX1080 ti 11go, Ram 32 Go, SSD 1 To + 1To, HDD 4 To, 27 Pouces 16/9 LG 2560x1440.
        Win11 64, Gimp, Blender 3.0., XP12-demo, Saitek X52pro

        Commentaire


        • #5
          @ Berju83 : A ma connaissance, la grande majorité des créateurs d'avions ou de scènes avec Blender utilise systématiquement des armatures pour leur animations.
          Peut-être à cause du premier plugin XPlane2Blender par Marginal qui, si je me souviens bien, ne proposait que cette possibilité.





          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.
          Créations X-Plane :
          USS Nimitz aircraft carrier, USS Perry Frigate, Oil platform pour Laminar Research
          Freeware : North American T-6G Texan, Boeing B-17G Flying Fortress, Ercoupe
          Payware : Pacific Islands WW2, De Havilland DHC-1 Chipmunk, North American B-25 Mitchell, Grumman HU-16 Albatross, North American P-51D Mustang, SA315B Lama
          Projet en cours : Boeing B-17G Flying Fortress V2.0 X-plane 12
          https://www.khamsin.org/

          Commentaire


          • #6
            Hello khamsin!

            En fait pour les animations que j'ai eu à traiter, relativement simples, j'ai surtout utilisé les "empties". Cela m'a paru plus facile que les armatures, même si c'est surement moins performant, mais c'est bien utile pour dupliquer les animations entre "layers". Et il faut bien débuter!

            Si tu partages tes fichiers (sur ton site?) je ne manquerai pas de les récupérer pour tester et apprendre.

            Merci d'avance, et merci de faire vivre la création "amateur"!

            Berju.
            Intel I7 8700K OC 4800, GTX1080 ti 11go, Ram 32 Go, SSD 1 To + 1To, HDD 4 To, 27 Pouces 16/9 LG 2560x1440.
            Win11 64, Gimp, Blender 3.0., XP12-demo, Saitek X52pro

            Commentaire


            • #7
              Merci pour ce partage, je reviendrai sur ce post en temps utiles.
              X-Plane 10.51 64 bit
              Windows 7/64. CM Asus X99-Deluxe - CPU Intel i7-5960x @ 3.00 Ghz, 8 Coeurs 16 threads - RAM : 32Go DDR4 - CG : Sapphire R9-295X2 - 8Go GDDR5
              Ecrans Samsung MD230x3 résolution 5760x1080
              Pilote privé sur Cessna 172 à LFMT.

              Commentaire


              • #8
                Bonjour à vous,

                je suis admiratif devant le travail que vous accomplissez en 3D et même si j'ai le sentiment que je ne pourrais réaliser de telles oeuvres, je serai d'avis de créer une rubrique dédiée qui pourrait s'appeler:
                "Techniques et créations amateur" avec 2 sous dossiers :
                1 - Aéronefs
                2 - Scènes
                Windows 10 Professionnel (ver 20H2) 64 bits , Intel Core i7 5820K @3.3 GHz -> OC@ 4.5GHz, RAM 32Go
                Carte mère ASUS X99-DELUXE (SOCKET 2011)
                Ecrans: Asus VG289Q (3840x2160@60Hz) + HP w22(1680x1050 @60Hz)
                Carte graphique Nvidia Geforce 1080 TI 11Go
                Saitek X52 + Honeycomb Alpha flight Controls + Thrustmaster TPR
                SSD Samsung 970 EVOPlus NVMe M.2 1To + SSD Samsung 950 Evo 512 Go +HDD dédié Toshiba 7200T 8To
                XP11.51

                Commentaire


                • #9
                  Merci pour le partage khamsin.
                  Core I7 3,4 Ghz - NVIDIA GEFORCE GTX 960 4 Ghz OC - 16 Go DDR3 - SSD 500 GB + HDD 2 TO - Windows 10 64 Bits - Double écran 23 " - Track IR 4 - BLENDER 2.8 - X plane 11.30

                  Commentaire


                  • #10
                    Envoyé par Prialgene Voir le message
                    Bonjour à vous,

                    je suis admiratif devant le travail que vous accomplissez en 3D et même si j'ai le sentiment que je ne pourrais réaliser de telles oeuvres, je serai d'avis de créer une rubrique dédiée qui pourrait s'appeler:
                    "Techniques et créations amateur" avec 2 sous dossiers :
                    1 - Aéronefs
                    2 - Scènes
                    Ça s'appelle le wiki :

                    - les avions
                    - les scènes


                    Malheureusement, même si la plupart des explications peuvent être encore d'actualité certaines parties comme la modélisation et l'animation 3D nécessiteraient une bonne mise à jour.
                    Ça reste à mon avis le meilleur outils collaboratif pour partager ce genre de choses et permettre à la communauté francophone d'évoluer.
                    Win10 64b / IntelXeon 3.7 GHZ / 8 Go ram / NVIDIA Quadro K2000 2Go
                    XPFR

                    Commentaire


                    • #11




                      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.

                      Sans armatures, sans bones, sans prise de tête en mode object, edit, ou pose. !
                      Créations X-Plane :
                      USS Nimitz aircraft carrier, USS Perry Frigate, Oil platform pour Laminar Research
                      Freeware : North American T-6G Texan, Boeing B-17G Flying Fortress, Ercoupe
                      Payware : Pacific Islands WW2, De Havilland DHC-1 Chipmunk, North American B-25 Mitchell, Grumman HU-16 Albatross, North American P-51D Mustang, SA315B Lama
                      Projet en cours : Boeing B-17G Flying Fortress V2.0 X-plane 12
                      https://www.khamsin.org/

                      Commentaire


                      • #12




                        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.

                        Fin de mes test d'animations pour le moment.

                        Les fichiers blend, obj, et textures seront disponibles bientôt pour vous donner la possibilité de tester, modifier, améliorer ces anims.
                        Créations X-Plane :
                        USS Nimitz aircraft carrier, USS Perry Frigate, Oil platform pour Laminar Research
                        Freeware : North American T-6G Texan, Boeing B-17G Flying Fortress, Ercoupe
                        Payware : Pacific Islands WW2, De Havilland DHC-1 Chipmunk, North American B-25 Mitchell, Grumman HU-16 Albatross, North American P-51D Mustang, SA315B Lama
                        Projet en cours : Boeing B-17G Flying Fortress V2.0 X-plane 12
                        https://www.khamsin.org/

                        Commentaire


                        • #13


                          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.
                          Créations X-Plane :
                          USS Nimitz aircraft carrier, USS Perry Frigate, Oil platform pour Laminar Research
                          Freeware : North American T-6G Texan, Boeing B-17G Flying Fortress, Ercoupe
                          Payware : Pacific Islands WW2, De Havilland DHC-1 Chipmunk, North American B-25 Mitchell, Grumman HU-16 Albatross, North American P-51D Mustang, SA315B Lama
                          Projet en cours : Boeing B-17G Flying Fortress V2.0 X-plane 12
                          https://www.khamsin.org/

                          Commentaire

                          Chargement...
                          X