Forum Flightgear France

Une communauté prend son envol

Vous n'êtes pas identifié(e).

Annonce

Futur nouvel inscrit, tu dois au préalable lire l'intégralité des 10 articles des règles, s'il te plaît. Tout nouveau compte qui ne respecte pas les règles sera supprimé par l'administration.

#1 14/09/2016 13:13:00

daweed
Membre
Lieu : LFKP LFLL
Inscription : 27/12/2013
Messages : 273

Ralentir une animation de type Rotate

Bonjour tous le monde,

quand je n'ai pas le nez dans Saint Ex, je bosse pas mal sur le 330. Et j aurais besoin d'un coup de main pour bien appréhender certains paramètre.

J ai fait les découpes et créer les objets nécessaire avec Blender pour pouvoir ouvrir les soutes de l'Airbus.
J'envisage donc pour les faire ouvrir d'utiliser une animation de type Rotate. J ai déjà utilisé ces animations dans le cockpit [pour les potar ou les "protection" que l'on peut trouver sur certains Korry de l'overhead ] , mais les déplacements sont presque instantanés.

Pour les ouverture de soutes, je voudrais quelques chose de plus réaliste, et c est la que j ai besoin d un peu de vos lumières. Y a t il un moyen de "ralentir" le mouvement d'une animation

D'avance merci


Linux Mint 20 Ulyana Cinnamon (64b), AMD Ryzen 7 3700X, RAM 32Go, GeForce RTX 3070 Ti 8 Go
FG 2020.1 Branch. THRUSTMASTER T16000M & T.Flight Rudder & Saitek PRO Flight Throttle Quadrant
Scène Saint Exupery
FG Interface

Hors ligne

#2 14/09/2016 16:37:20

dany93
Administrateur
Lieu : Région Parisienne
Inscription : 5/07/2009
Messages : 4 037

Re : Ralentir une animation de type Rotate

Bonjour daweed,

Une première réponse, pas forcément la meilleure car j'ai peu pratiqué.

Sur le DR400-jsbSim comme sur le Douglas-Dc3 de la PAF, on trouve un fichier Nasal/interpolate.nas qui fait ce ralentissement (pour les interrupteurs en particulier, aussi pour la mise en drapeau des hélices du DC3).
La propriété qui anime est le résultat d'un passage par du nasal.

Exemple :
Rampe temporelle : interpolate pour atteindre une valeur (pour animation)
Douglas-Dc3\Nasal\interpolate.nas
en Nasal,
au lieu de  (valeur 0, instantané)

setprop("fdm/jsbsim/propulsion/engine[0]/blade-angle",0);

mettre (pour atteindre valeur 0 en 2 secondes)

 interpolate("fdm/jsbsim/propulsion/engine[0]/blade-angle", 0, 2); # (valeur 0 en 2 secondes)

ou (valeur 1 en 0.25 seconde)

interpolate("/controls/electric/battery-switch-pos", 1, 0.25)

Et c'est cette dernière propriété qui commande l'animation.

Aussi possible par xml ? (toujours préférable). Mais je n'ai pas encore trouvé.


FG 2020.4.0, Linux Mint 20.3, Intel Core i7-11700F @ 2.50GHz, RAM 32 GB DDR4, NVIDIA GeForce RTX 3060 (12 GB)
Boeing 787-8 (YASim, avec nickyivyca, aco)
Hangar avions Patten (PAF) Robin  DR400 JSBSim, Douglas DC3 JSBSim, CAP10B, Tecnam P92 JSBSim.

Hors ligne

#3 14/09/2016 17:38:39

Clm76
Membre
Lieu : LFOH - LFOY
Inscription : 22/10/2012
Messages : 1 632

Re : Ralentir une animation de type Rotate

Bonjour daweed, bonjour Daniel

Y a t il un moyen de "ralentir" le mouvement d'une animation

En xml, il y a une fonction "time" qui permet de déterminer le temps de durée d'une action (en secondes).

Je l'ai largement utilisé sur le Citation X pour animer les tablettes devant les sièges passagers où j'ai combiné des actions de rotation et de translation. Ca se situe dans le fichier "cabin.xml".
L'appareil se trouve dans le hangar à Patten, ici :http://pattenflightgear.wifeo.com/cessna-citationx.php


Fg 2020.4.0 - Linux Mint 21.3 Victoria - Cinnamon et Mate en dual boot - CM Asus P8H67 MLE - CPU i7 3770K - 12 Go Ram - Nvidia Geforce GTX 1660TI - Driver Nvidia 525
+ Hp notebook-15 - Linux Mint 21.3 Victoria -  CPU i3-7020u - Ram 4Go - Intel Graphics 620.

Hors ligne

#4 14/09/2016 18:55:23

dany93
Administrateur
Lieu : Région Parisienne
Inscription : 5/07/2009
Messages : 4 037

Re : Ralentir une animation de type Rotate

Merci Christian. Je prends note. smile

@daweed : à titre de renseignement et pour compléter, vois aussi le fichier aircraft.nas qui est sous fgdata/Nasal
Cherche "door.new"ou "door" puis "new", (lignes 28 à 47 etc....) je crois que c'est fait pour ça. Utilisé dans le c172p.
http://wiki.flightgear.org/Howto:Animat … y_or_doors
Intérêt : le code est préfabriqué, le toggle inclus, c'est du quasi clés en main.
Mais s'il y a une solution facile par xml, le choix est vite fait.


FG 2020.4.0, Linux Mint 20.3, Intel Core i7-11700F @ 2.50GHz, RAM 32 GB DDR4, NVIDIA GeForce RTX 3060 (12 GB)
Boeing 787-8 (YASim, avec nickyivyca, aco)
Hangar avions Patten (PAF) Robin  DR400 JSBSim, Douglas DC3 JSBSim, CAP10B, Tecnam P92 JSBSim.

Hors ligne

#5 14/09/2016 19:44:38

daweed
Membre
Lieu : LFKP LFLL
Inscription : 27/12/2013
Messages : 273

Re : Ralentir une animation de type Rotate

Merci pour les infos, je vais potasser ça.

J ai déjà lus plusieurs fois qu'il vallait mieux passer par le xml .. mais je ne comprends pas bien pourquoi


Linux Mint 20 Ulyana Cinnamon (64b), AMD Ryzen 7 3700X, RAM 32Go, GeForce RTX 3070 Ti 8 Go
FG 2020.1 Branch. THRUSTMASTER T16000M & T.Flight Rudder & Saitek PRO Flight Throttle Quadrant
Scène Saint Exupery
FG Interface

Hors ligne

#6 14/09/2016 19:54:35

daweed
Membre
Lieu : LFKP LFLL
Inscription : 27/12/2013
Messages : 273

Re : Ralentir une animation de type Rotate

Rebonsoir,

@ Clm76 je pense qu'il y a un soucis sur la page du citation X

Quand je pointe vers le texte "Version téléchargeable" ca envoie vers la page du PA

http://pattenflightgear.wifeo.com/cessn … e-auto.php

Et le liens en dessous

http://download849.mediafire.com/i148a6 … to.pdf.zip

ne fonctionne pas .... (ce n est d ailleur même pas un liens dans la page.)

mini_661445pagecitation.png

J ai jetter un oeil au code web, je dirais qu'il manque "</a>" pour le liens du PA ce qui fait que le liens suivant n'est pas pris en compte.

Edit : Mea culpa, ce que j ai pris pour le download de l appareil se trouve etre le download "pdf" pour le PA. Désolé.

Dernière modification par daweed (14/09/2016 20:02:21)


Linux Mint 20 Ulyana Cinnamon (64b), AMD Ryzen 7 3700X, RAM 32Go, GeForce RTX 3070 Ti 8 Go
FG 2020.1 Branch. THRUSTMASTER T16000M & T.Flight Rudder & Saitek PRO Flight Throttle Quadrant
Scène Saint Exupery
FG Interface

Hors ligne

#7 14/09/2016 20:04:05

Clm76
Membre
Lieu : LFOH - LFOY
Inscription : 22/10/2012
Messages : 1 632

Re : Ralentir une animation de type Rotate


Fg 2020.4.0 - Linux Mint 21.3 Victoria - Cinnamon et Mate en dual boot - CM Asus P8H67 MLE - CPU i7 3770K - 12 Go Ram - Nvidia Geforce GTX 1660TI - Driver Nvidia 525
+ Hp notebook-15 - Linux Mint 21.3 Victoria -  CPU i3-7020u - Ram 4Go - Intel Graphics 620.

Hors ligne

#8 14/09/2016 20:10:20

daweed
Membre
Lieu : LFKP LFLL
Inscription : 27/12/2013
Messages : 273

Re : Ralentir une animation de type Rotate

Merci je vais tester ca ce soir (je viens de faire un tour sur le wiki a recherche d info sur la balise time ...et je pense que c est exactement ce qu il me faut

Encore merci

Daweed


Linux Mint 20 Ulyana Cinnamon (64b), AMD Ryzen 7 3700X, RAM 32Go, GeForce RTX 3070 Ti 8 Go
FG 2020.1 Branch. THRUSTMASTER T16000M & T.Flight Rudder & Saitek PRO Flight Throttle Quadrant
Scène Saint Exupery
FG Interface

Hors ligne

#9 14/09/2016 23:12:47

dany93
Administrateur
Lieu : Région Parisienne
Inscription : 5/07/2009
Messages : 4 037

Re : Ralentir une animation de type Rotate

daweed a écrit :

J ai déjà lus plusieurs fois qu'il valait mieux passer par le xml .. mais je ne comprends pas bien pourquoi

- Une première raison objective : le Nasal tourne à ta fréquence fps du moment (20 à 60 Hz, parfois moins), le xml (au moins en JSBSim) à 120 Hz.
Sans effet évident pour les phénomènes lents. En revanche, par exemple pour le C172P, la cassure des trains d'atterrissage lors d'un choc bref avec le sol fonctionnait de manière aléatoire en Nasal, ce fut beaucoup mieux en xml (merci @onox !).

Autres raisons plus subjectives (qu'on peut qualifier de personnelles) :
- Le Nasal est un pourvoyeur remarquable de bugs et d'erreurs. Vois le nombre de fois que tu as lu dans la console "nasal runtime error.....".
- Pour qui n'a pas fait de C++, le Nasal confronte rapidement à des formulations absconses. Sans compter les formes condensées qui lui sont propres. Et, à part pour les bases du Nasal dans le Wiki, on trouve très peu d'explications pour rendre ces formes accessibles.

Pour sa grande souplesse et son apparente facilité en utilisation basique, il est trop souvent utilisé à la place du xml, par des gens qui ne veulent pas se donner la peine d'entrer dans les formulations xml, souvent plus lourdes en nombre de lignes et dont le modèle est plus difficile à trouver. Mais les instructions xml sont beaucoup plus solides, et locales (non dépendantes de fichiers extérieurs).

Exemple : (Joysticks, aileron trim right)
Formalisation avec Nasal (appelle la fonction "aileronTrim" du fichier Nasal "controls.nas", générique sous "fgdata/Nasal") :

  <binding>
   <command>nasal</command>
   <script>controls.aileronTrim(0.5)</script>
  </binding>

Remplaçable par, en xml "pur":

  <binding>
   <command>property-adjust</command>
   <property>/controls/flight/aileron-trim</property>
   <step type="double">0.001</step>
  </binding>

Ce qui n'empêche pas le nasal, très souple et concis, d'être difficile à remplacer pour certaines fonctions complexes. Mais pas à toutes les sauces.

On peut aussi se laisser tenter par les codes Nasal préfabriqués qu'on trouve sous fgdata/Nasal. Exemple pour toi : Howto:Animate canopy or doors. Pas forcément plus efficace en termes de code (le code est déporté), probablement pas mieux pour les fps (bof... dans ce cas), mais pour toi c'est fait pour être plus simple.

Sans en faire une religion, je pense qu'il faut avoir ça en tête quand la formulation xml est accessible et pas trop contraignante. Sans hésitation pour les phénomènes brefs ou quand on veut des réactions rapides, particulièrement dans le cadre d'un FDM. JSBSim est particulièrement bien fourni pour ça (<fcs_function...>, <switch>,...).

Dernière modification par dany93 (16/09/2016 12:05:11)


FG 2020.4.0, Linux Mint 20.3, Intel Core i7-11700F @ 2.50GHz, RAM 32 GB DDR4, NVIDIA GeForce RTX 3060 (12 GB)
Boeing 787-8 (YASim, avec nickyivyca, aco)
Hangar avions Patten (PAF) Robin  DR400 JSBSim, Douglas DC3 JSBSim, CAP10B, Tecnam P92 JSBSim.

Hors ligne

#10 15/09/2016 10:47:25

daweed
Membre
Lieu : LFKP LFLL
Inscription : 27/12/2013
Messages : 273

Re : Ralentir une animation de type Rotate

Merci pour toute ces précisions


Linux Mint 20 Ulyana Cinnamon (64b), AMD Ryzen 7 3700X, RAM 32Go, GeForce RTX 3070 Ti 8 Go
FG 2020.1 Branch. THRUSTMASTER T16000M & T.Flight Rudder & Saitek PRO Flight Throttle Quadrant
Scène Saint Exupery
FG Interface

Hors ligne

Pied de page des forums