Vous n'êtes pas identifié(e).
Pages 1 2
Bonjour,
Depuis quelques temps pour ne pas dire quelques années, on voit de plus en plus de cockpit s'agrémenter de "gauge 3D" où tous les éléments de la jauge sont faits sous Gmax puis animés.
La question que j'aimerais poser (pour avoir une réponse il va s'en dire), c'est comment, par quel biais ces jauges sont-elles animés ? un bout de code serait le bienvenu ...
Allez, j'amorce la pompe à idée: sous FS9, quand on veut rajouter un gauge spécifique on rajoute quelques lignes de code dans le fichier MakeMDL.parts.xml comme cela par exemple:
<!-- Added by Lagaffe -->
<part>
<name>parked_part</name>
<visible_in_range>
<parameter>
<code> (A:SIM on GROUND, bool) ! == if{ (A:ENG1 OIL PRESSURE, psi) ! 1 * } els{ 0 } </code>
</parameter>
<minvalue>1</minvalue>
</visible_in_range>
</part>
Sur FSX, est-ce pareil ? Comment recoller l'aiguille du cadran que l'on veut faire bouger avec ce bout de code ? par le biais du nom donné à la pièce dans Gmax ?
Bref, si vous avez des infos, soyez sympa ... partageons
Pour ce qui est de mes recherches, voici ce que j'ai trouvé:
- 3D Gauge animations in FSX : http://biff-diaries.blogspot.com/2006/11/3d-gauge-animations-in-fsx.html
So far with my experiments in creating 3D instrument animations in FSX. I have been able to successfully employ simple keyframe animations using max and min values combined with a scale.
Here is an example of a WW1 airspeed indicator
<PartInfo>
<Name>airspeed_f2b</Name>
<AnimLength>640</AnimLength>
<Animation>
<Parameter>
<Sim>
<Variable>AIRSPEED INDICATED</Variable>
<Units>mph</Units>
<Scale>4</Scale>
<MinValue>0</MinValue>
<MaxValue>160</MaxValue>
</Sim>
</Parameter>
</Animation>
</PartInfo>In this instance the maximum speed reading on the instrument face is 160mph, hence MaxValue is 160. I have chosen to use 640 frames to provide a bit of smoothness in the needle animation.
AnimLength=Scale*MaxValue i.e. 4*160=640
Just add keys at the appropriate ticks on the instrument face. This process works even for non-linear instruments provided one uses enough keys. With the quick compile times using the FSX export tools it's easy enough to experiment.
This method can be used for most other instrument needle animations (though I'm still trying to get clock hands to animate correctly at this time).
- Sim-Outhouse : http://www.sim-outhouse.com/sohforums/showthread.php?28060-FSX-3D-Guages de Mathias
Not too difficult really as it can use a standard sim variable.
You need two animations, one each for pitch and bank where pitch is parented to bank card in Gmax.
The example shows a WWII arti that is limited in range but you can easily make it "full rotation" by setting the appropriate values to 180 rerspectively 360.
You also may want to play with the lag values:
Keyframes divided by lag= animation length in seconds.
And of course it needs a GUID.
Since we play in the + - ranges we need to tell the sim to start at keyframe zero. We do that with the bias setting.<PartInfo>
<Name>fw190_attitude_pitch</Name>
<AnimLength>130</AnimLength>
<Animation>
<Parameter>
<Sim>
<Variable>ATTITUDE INDICATOR PITCH DEGREES</Variable>
<Units>degree</Units>
<Bias>65</Bias>
<MinValue>-65</MinValue>
<MaxValue>65</MaxValue>
</Sim>
<Lag>26</Lag>
</Parameter>
</Animation>
</PartInfo>
<PartInfo>
<Name>fw190_attitude_bank</Name>
<AnimLength>200</AnimLength>
<Animation>
<Parameter>
<Sim>
<Variable>ATTITUDE INDICATOR BANK DEGREES</Variable>
<Units>degree</Units>
<Bias>100</Bias>
<MinValue>-100</MinValue>
<MaxValue>100</MaxValue>
</Sim>
<Lag>40</Lag>
</Parameter>
</Animation>
</PartInfo>
ou encore du même Robb
As you probably know, presently in FSX all animations are key frame driven. i.e no rotation anims
In the instance of a 3D compass the following code worked in FS9
<part>
<name>compass_dial_mk5</name>
<animation>
<rotation>Z</rotation>
<parameter>
<code>
(A: PLANE HEADING DEGREES GYRO, radian)
</code>
<lag>400</lag>
</parameter>
</animation>
</part>We didn't need any keys in FS9
In my initial FSX experiments I was trying to be too clever and use a code statement which didn't quite work correctly then decided to do a simple keyframe animation using max and min values. Using 360 frames it works correctly provided one sets keys at 0,90,180,270,360. First time I tried this I forgot to place a key at 180 and the drum stopped rotating after the aircraft turned 360 degress and remained static until I flew another 180 degrees and it resumed.
At keys 0 & 360 in Max/gmax, the compass drum should line up with north and make sure the other compass points align with the appropriate key.
Here's the code I use in FSX which so far works ok.
<PartInfo>
<Name>compass_dial_mk5</Name>
<AnimLength>360</AnimLength>
<Animation>
<Parameter>
<Sim>
<Variable>PLANE HEADING DEGREES GYRO</Variable>
<Units>degrees</Units>
<Scale>1</Scale>
<MinValue>0</MinValue>
<MaxValue>360</MaxValue>
</Sim>
</Parameter>
</Animation>
</PartInfo>
On dirait que la solution passe par l'étude du fichier SDK\Environment Kit\Modeling SDK\bin\modeledef.xml ...
Dernière modification par Lagaffe (19/12/2011 12:00)
@+ Didier
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B
Hors ligne
Bonjour Lagaffe
avec un peu de retard:
dans FSX les gauges 3D s'animent de la même façon que les animations usuelles.
Contrairement à FS9, le nom de la pièce n'a plus aucune importance.
A la place, tu vas lier à ta pièce une animation par le menu TS-Tools (puis Animation Manager), et dans ce menu tu vas retrouver les tags que tu connait de FS9
Les tags sont définis cette fois par le fichier "modeldef.xml"
Ce fichier est à laisser là où l'installation de ton SDK l'a placé (..Programmes files /microsoft games./SDK/Environnement kit/Modeling SDK/bin/modeldef.xml )
A noter que tu peux y rajouter tes propres tags , un peu comme si tu programmais une gauge 2D.
A+
Hors ligne
Merci Gilles pour ta réponse.
Cela confirme ce que j'avais commencé à glaner comme informations.
Bien que le sujet "gauges 3D" ne soit plus récent (Les premières gauges 3D étaient apparues avec les avions de RealAir) ce sujet n'a pas l'air d'être abordé très souvent sur les forums anglo-saxons et encore moins chez nous.
En abordant ce sujet, je voulais initier le sujet pour qu'il puisse servir de référence à d'autres développeurs/créateurs d'avions. Si d'autres personnes veulent contribuer à parfaire ce sujet, n'hésitez pas
Olivier et moi avions envie de mettre des gauges 3D sur le Catalina, je pense que notre retour d'expérience pourra trouver un post pour le centraliser.
@+ Didier
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B
Hors ligne
Bonjour Lagaffe,
Je te colle une de mes anims dès que je suis de retour chez moi. J'ai pas mal fouillé ce sujet, et je serais plus qu'heureux de partager tout ça. En tout cas ce que je connais, il reste encore des parts d'ombres ^^.
Bonne journée.
Hors ligne
Merci Thor's cela va permettre d'étoffer ce sujet et de m'instruire un peu plus
PS: as-tu des news sur la Gmax'ac ? Le site était mal en point déjà Vendredi ...
@+ Didier
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B
Hors ligne
Hello,
En complément de ce qui a déjà été dit, je vous conseille la lecture de cette rubrique du SDK :
SDK - Adding New Animation
C'est assez clair et très complet pour ce qui concerne la structure du Modeldef.xml.
Ensuite pour le code proprement dit c'est du XML comme on le trouve dans les Gauges 2D...
Enfin, le ModelDef.xml initial est déjà rempli de pas mal de codes d'animation utilisées pour les avions de FSX, c'est une source très riche pour réaliser ses propres animations... Pensez-donc à faire des sauvegardes du ModelDef.xml!!
A+
Fro'
Hors ligne
Merci FLO.
Juste une information ? comment traduire ce texte, car même en comprenant l'anglais j'ai du mal a attribuer les codes a leur actions spécifiques.
Comme par, exemple, a quoi correspond les
TooltipID>Tooltiptext ???
Si les commandes switch ou prop nous sont familères , a quoi corresponds les commandes commençant par lever_ ou needles ??, ou encore les n1_1 ou n1_2 ?? etc .
Merci d'avance
pépé
Windows 10 ,Intel (R) Core(TM) i7-6700K CPU 4.00GHz, RAM installée 16.0 GO
NVIDIA geForce GTX 1060/3GB
Hors ligne
Très simple, mon cher Watson ...=D
TooltipID se lit comme Tooltip ID soit l'identificateur de l'infobulle (tip=info et tool= outil)
Tooltiptext est par contre le texte qui va être affiché avec l'infobulle.
@+ Didier
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B
Hors ligne
Hello,
Personnellement je n'utilise pas vraiment les animations déjà présentes dans le ModelDef.xml, je m'en inspire parfois mais en général je créé les animations dont j'ai besoin. Ainsi pour chaque modèle, je me fait une collection d'animation sur mesure...
Avec cette approche je n'accorde donc pas beaucoup d'importance aux noms des tags par défaut car lorsque je modélise j'ai le Modeldef.xml ouvert en permanence et tout le travail se fait directement sur les variables FS (trouver la bonne variable sur laquelle appuyer l'animation) et le code (notamment pour "calibrer"/synchroniser frames et valeurs).
NotePad++, le site du SDK en ligne et "Maj+F" sont mes amis incountournables dans ses moment là!!
Enfin, lorsqu'on est sur un Cockpit virtuel, il y a en plus tous les aspects fonctionnels qu'il faut intégrer ("gestion du clic", "gestion des Event/interaction sur les variables" et infobulles) ... C'est loin d'être négligeable...
A+
Fro'
Hors ligne
Bonjour,
Je viens de voir un post datant de mai 2009 par Mathias (Classics Hangar) sur Sim Outhouse:
Jo, great news!
Guess it's time to update that 3d gauge tutorial then.
Source: http://www.sim-outhouse.com/sohforums/showthread.php?16418-Low-Poly-Aircraft-Modelling-Tutorial&p=178038&viewfull=1#post178038
Quelqu'un a-t-il des news sur ce tutoriel ?
Sinon il y a de très belles images sur les jauges du Bf108 encore de Mathias (Classics Hangar)
http://www.sim-outhouse.com/sohforums/showthread.php?44336-Bf108-gauge-artwork
Dernière modification par David W. (12/11/2011 12:17)
Hors ligne
Finalement, après de la lecture du SDK de FSX (ESP), je viens de créer ma première jauge 3D. Un petit hic, je n'arrive pas à trouver le bon pivot pour inverser la rotation de l'aiguille.
/!\ Uniquement pour FSX
Voici un petit brouillon des étapes pour la création de jauge pour FSX:
- Modifier le fichier modeldef.xml qui va permettre de créer votre propre animation, et ne soyer pas timide à l'utilisation de commentaires dans le fichier:
Rajouter les lignes ci-dessous, à la fin du listing des animations: /!\ Créer un GUID pour la nouvelle animation
<!-- Create for Jodel DR-1050 -->
<Animation name="Jodel_fuel_indicator" guid="4bf957ef-d22c-4df7-8bd7-57fde1851039" length="100" type="Sim" typeParam2="Jodel_fuel_indicator" typeParam="AutoPlay" />
<!-- End Jodel DR-1050 -->
Si vous souhaitez créer votre propre groupe dans le module AnimationManager de Gmax, rajouter les lignes ci-dessous. A intercaler entre le listing des animations et le code action des animations: /!\ Créer un GUID pour votre nouveau groupe
<AnimationGroup name="Jodel DR-1050" guid="0xB331C7EF,0xE2BA4276,0x84C433B2,0xBA9781B2">
<AnimationRef guid="69fced03-9a10-49a7-aa82-2b79ab5b63e0"/>
<AnimationRef guid="4bf957ef-d22c-4df7-8bd7-57fde1851039"/>
</AnimationGroup>
Ajout du code de votre animation à l'aide des lignes ci-dessous, à la fin du fichier:
<!-- Jodel DR-1050 - 3D Gauges -->
<PartInfo>
<Name>Jodel_fuel_indicator</Name>
<AnimLength>100</AnimLength>
<Animation>
<Parameter>
<Sim>
<Variable>FUEL TANK CENTER LEVEL</Variable>
<Units>position</Units>
<Scale>100</Scale>
</Sim>
</Parameter>
</Animation>
</PartInfo>
<!-- Jodel DR-1050 - 3D Gauges -->
Par la suite, créer le modèle intérieur de votre avion sous Gmax. (Pour la simplicité de l'exemple seul la jauge est modélisée)
Créer l'animation de votre aiguille à l'aide du bouton "Animate", position 0 à 100 en n'oubliant pas les key-frames 25, 50 et 75:
Affecter le tag de votre animation en suivant la procédure présent dans Animation System - SDK ESP:
Enfin, l'exportation du modèle en n'oubliant pas de cocher "Export Animations"
En dernier lieu le test sous FSX:
------------------------------------
Un peu de lecture pour parfaire votre jauge sera nécessaire, alors rendez-vous ici: Creating a New Animation - SDK ESP
Pour créer d'autres jauges, en utilisant les variables de simulation présent ici: Simulation Variables - SDK ESP
Dernière modification par David W. (14/12/2011 09:42)
Hors ligne
Et comme Noël arrive avec son lot de cadeau, je vous joint les fichiers utilisés pour la création de la jauge 3D.
Hors ligne
hello,
ton problème est un classique de FSX, il ne s'agit pas d'une question de pivot mais de sens de rotation qui par défaut n'est pas le même dans Gmax et dans FS....
Cela se corrige très facilement en forçant l'aiguille à tourner dans le sens désiré en ajoutant des key-frames intermédiaires.
Personnellement je place des key-frames intermédaires sur les principales graduations de mes gauges (dans ton cas cela serait par ex 1/4,1/2,3/4): d'une part cela lève toute ambiguité sur le sens de rotation, et d'autre part cela me garantie une meilleure précision d'affichage de mon aiguille (elle est recallée/synchronisée 5 fois avec la texture au lieu de 2)...
A+
Fro'
Hors ligne
Génail Fro', ça marche. Il m'a effectivement suffit de rajouter quelques key-frames intermédiaire (25%, 50% et 75%) pour que la jauge fonctionne correctement sans toucher aux axes du point pivot.
Résultat en image:
Et je viens aussi de mettre mon post brouillon à jour ainsi que le package zip de la jauge présent sur le FTP.
Hors ligne
Respect total les mecs
Laptop MSI, Core I7 10eme génération, RTX2060, 16 gig de ram, SSD 1To, plus 2 SSD 1 To externs et un HDD 1 To. Modules saitek: Radio, switch, multi, FIP, palonnier , Joystick X56, ecran samsung 27" Curve
Hors ligne
Bonjour
Super tuto, qui vas bien me servir, mais ....
je me pose une question, cette gauge ne rentre pas dans le panel mais directement dans le vc.
Question, (sauf erreur de compréhension, bien sur) si toutes les gauges se fabriquent ainsi, devra-t-on supprimer le dossier panel ,et dans ce cas l'avion sera t il reconnu par sfx ???
Pépé
Windows 10 ,Intel (R) Core(TM) i7-6700K CPU 4.00GHz, RAM installée 16.0 GO
NVIDIA geForce GTX 1060/3GB
Hors ligne
Merci à tous pour cette collaboration franche et amicale: le but du post était de pouvoir donner quelques explications pour réaliser des gauges 3D. Non seulement, ce premier objectif est atteint mais en plus David nous gratifie d'un tuto illustré : super
Dernière modification par Lagaffe (13/03/2012 09:51)
@+ Didier
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B
Hors ligne
Bonjour
Super tuto, qui vas bien me servir, mais ....je me pose une question, cette gauge ne rentre pas dans le panel mais directement dans le vc.
Question, (sauf erreur de compréhension, bien sur) si toutes les gauges se fabriquent ainsi, devra-t-on supprimer le dossier panel ,et dans ce cas l'avion sera t il reconnu par sfx ???Pépé
J'ai décidé de ne pas créer de panel 2D pour mon Jodel, ce qui sous FSX ne pose aucun problème. Présence du répertoire "panel" et son contenu vide. La vue cockpit 2D est toujours présente sur le simulateur, mais rien ne s'affiche
Attention mes commentaires présents ci-dessous risques d'être faux, je suis un grand débutant dans le domaine et ne pas hésiter à me corriger.
Il faut savoir qu'il y a plusieurs manières de créer des jauges. En XML, par C+, utilisation de SimConnect; enfin un large choix. Pour la procédure décrite ici, elle se trouve être pour les jauges 3D sous FSX et n'est pas compatible pour de la jauge 2D. Il te faudra créer une nouvelle jauge pour son implantation en 2D au niveau du panel.
Hors ligne
Merci à tous pour cette collaboration franche et amicable: le but du post était de pouvoir donner quelques explications pour réaliser des gauges 3D. Non seulement, ce premier objectif est atteint mais en plus David nous gratifie d'un tuto illustré : super
Héhé
Je pense qu'il serait bon que tu édites ton post principal afin de rajouter ce brouillon, permettant un regroupement d'information
Dernière modification par David W. (14/12/2011 17:48)
Hors ligne
@David, c'est fait d'ailleurs si Domifrance passe par là, je pense que ce post devrait être épinglé dans la Bibliothèque Créations ...
Merci d'avance Dominique
@+ Didier
W10 Pro 64b Build 22H2 - Boitier HAF 932 - Z390 STRIX-F - 9900K - 2x16 Go - NVidia 3060 Ti 8 Go - Alim Corsair 800W - Ecran 34" - NVidia Studio ready 536.23
P3D v5.4 = http://www.pilote-virtuel.com/img/members/53/P3Dv5HF-Reglages-A.jpg - MSFS Deluxe/STORE - X-Plane 12B
Hors ligne
pepe-pompero a écrit :Bonjour
Super tuto, qui vas bien me servir, mais ....je me pose une question, cette gauge ne rentre pas dans le panel mais directement dans le vc.
Question, (sauf erreur de compréhension, bien sur) si toutes les gauges se fabriquent ainsi, devra-t-on supprimer le dossier panel ,et dans ce cas l'avion sera t il reconnu par sfx ???Pépé
J'ai décidé de ne pas créer de panel 2D pour mon Jodel, ce qui sous FSX ne pose aucun problème. Présence du répertoire "panel" et son contenu vide. La vue cockpit 2D est toujours présente sur le simulateur, mais rien ne s'affiche
Attention mes commentaires présents ci-dessous risques d'être faux, je suis un grand débutant dans le domaine et ne pas hésiter à me corriger.
Il faut savoir qu'il y a plusieurs manières de créer des jauges. En XML, par C+, utilisation de SimConnect; enfin un large choix. Pour la procédure décrite ici, elle se trouve être pour les jauges 3D sous FSX et n'est pas compatible pour de la jauge 2D. Il te faudra créer une nouvelle jauge pour son implantation en 2D au niveau du panel.
Erreur dans mes propos sur le contenu du répertoire panel. Il est obligatoire d'avoir le répertoire "panel" ainsi que le le fichier "panel.cfg" afin que FSX puisse reconnaître votre avion.
J'avais mon Jodel pour le vol par défaut. Il était toujours reconnu, puis j'ai changé avec un autre; et me suis retrouvé sans mon Jodel dans les avions reconnus. Après plusieurs recherches (aircraft.cfg, model.cfg ....), j'ai vu le manque du fichier panel.cfg. Après l'avoir rajouter tout est rentrée dans l'ordre ;-)
Hors ligne
Bonjour
je remonte ce post car j'ai une question générique.
Dans les paramètres on retrouve soit un <code> soit un <sim>.
J'avoue ne pas comprendre le choix a faire entre les deux ?
Et utilise t'on le même code pour les deux ,
par exemple dans le modeldef je trouve pour les montres,
soit
<sim>
<Variable>(E:LOCAL TIME,hours) flr 60 %</Variable>
<Units>percent</Units>
<Scale>100</Scale>
</sim>
soit
<Code>
(L:needle_clock_hours, number)
</Code>
alors comment choisir l'un ou l'autre ?
merci d'avance
pépé
Windows 10 ,Intel (R) Core(TM) i7-6700K CPU 4.00GHz, RAM installée 16.0 GO
NVIDIA geForce GTX 1060/3GB
Hors ligne
Oui, la syntaxe est différente mais les deux fonctionnent, avec leurs limites.
Pour une opération simple du genre transformer un paramètre en une animation en passant au travers d'une équation affine (rappel y=ax+b), <Sim> suffit. Dans ton exemple, a=100 parce qu’il est entouré de <Scale>. Pour ajouter b, il faudrait entourer la valeur avec <Bias>.
Quand il faut commencer à triturer le paramètre avec des formules à base de racine carré, d'équation logique etc..., il vaut mieux utiliser <code>.
Personnellement, j'utilise maintenant tout le temps <Code>, parce que je m'y suis habituer, et je comprendds mieux ce que je fais, bien que j'ai du pour cela comprendre les équation polonaises inversées. Douloureux ...
Dernière modification par Thor's Hammer (02/02/2012 21:59)
Hors ligne
Pages 1 2