Vous n'êtes pas identifié(e).
Bonjour,
Suite à quelques essais et recherches pour trouver des solutions aux soucis d'animations dans les scènes (SODE ne fonctionne plus), j'ai fini par écrire dans un coin quelques lignes pour me servir de résumé pour animer mes prochaines scènes.
Afin que le travail de collecte soit utilisable par le plus grand nombre, je mets en partage ces informations rzecueillies.
PS: Il va s'en dire que la connaissance du SDK et particulièrement des exemples fournis dans le SDK est un pré-requis.
Ajout d’un drapeau animé :
Prévoir de décomposer le drapeau » en deux parties : un mât (pole) et le drapeau « flag »
1 - Faire un duplicata d’un AssetGroup de type « SimObjects », en rajoutant ce qui suit dans le fichier PackageDefinitions/project-name.xml :
XML:
<AssetGroup Name="SimObjects">
<Type>SimObject</Type>
<Flags>
<FSXCompatibility>false</FSXCompatibility>
</Flags>http://www.pilote-virtuel.com/img/puntoolbar/smooth/bt_ins.png
<AssetDir>PackageSources\SimObjects\misc\Model_Name</AssetDir>
<OutputDir>SimObjects\misc\Model_Name</OutputDir>
</AssetGroup>
"Model_Name" doit être remplacé par le nom de ce que vous êtes en train de modéliser i.e., "ICAO_WindSock".
2 - Créez un répertoire SimObjects dans votre dossier PackageSources, et dans ce dossier créez un dossier nommé misc, puis dans ce dossier, créez un dossier nommé Model_Name.
3 - Dans le dossier Model_Name, créez un dossier supplémentaire model (littéralement) et si votre modèle a des textures, créez également un dossier nommé texture.
4 - Dans le dossier Model_Name, créez également un fichier nommé sim.cfg avec le contenu suivant :
Code:
[VERSION]
Major=1
Minor=0[fltsim.0]
title=Model_Name
model=
texture=[General]
category=StaticObject
De nouveau remplacez Model_Name par ce que vous êtes en train de réaliser.
5 - Exportez votre modèle comme d'habitude en utilisant Blender2MSFS dans le dossier Model_Name. Si votre modèle comporte des textures, n'oubliez pas de les copier dans le dossier texture.
6 - Dans le fichier XML du modèle, spécifiez l'animation comme vous le souhaitez (voir plus bas le § Animations sur 360 keyframes).
7 - Dans le dossier Model_Name, créez un fichier nommé model.cfg avec le contenu suivant :
Code:
[models]
normal=Model_Name.xml
Le champ doit être adapté en fonction du nom de votre fichier XML. À ce stade, la structure de votre fichier et de votre répertoire devrait ressembler à :
Code:
SimObjects
+- misc
+- Model_Name
+- model
| +- Model_Name.bin
| +- Model_Name.gltf
| +- Model_Name.xml
| +- model.CFG
+- sim.cfg
8 - Ouvrez votre MSFS en DEV Mode, construisez la scène, fermez tout, copiez votre scène dans le dossier Community et ouvrez à nouveau la scène en DEV Mode. Si vous ouvrez maintenant l'éditeur de scènes, votre objet devrait être listé dans SimObjects et vous pouvez le placer dans la scène.
Le dossier texture doit être présent dans le dossier Model_Name même si le modèle n'a pas de texture du tout. De plus, le dossier texture doit contenir un fichier nommé "texture.cfg" avec le contenu suivant :
XML:
[fltsim]
fallback.1=..\..\..\..\scenery\global\scenery\Texture
Animation sur 360 keyframes
XML:
<?xml version="1.0" encoding="utf-8" ?>
<ModelInfo version="1.1" guid="{XXXGUID}"><LODS>
<LOD MinSize="0" ModelFile="ModelName.gltf"/>
</LODS><Animation name="AnimationName" guid="YYYGUID" length="360" type="Sim" typeParam2="AnimationName" typeParam="AutoPlay"/>
<PartInfo>
<Name>AnimationName</Name>
<AnimLength>360</AnimLength>
<Animation>
<Parameter>
<Code>(A:AMBIENT WIND DIRECTION, Degrees)</Code>
</Parameter>
</Animation>
</PartInfo>
</ModelInfo>
Si vous voulez avoir une “chaussette” dont l’animation dépend de la vitesse du vent:
XML:
<Animation name="LFFQ_Windsock_Speed_00" guid="65EEB9F1-259C-44CE-954D-69C2420B3431" type="Standard"/>
<Animation name="LFFQ_Windsock_Speed_05" guid="4D419C72-7949-4C72-A81F-03BB969ED86D" type="Standard"/>
<Animation name="LFFQ_Windsock_Speed_10" guid="1FB42441-63DD-4EBC-9241-3393D378B869" type="Standard"/>
<Animation name="LFFQ_Windsock_Speed_15" guid="C1800E30-EF34-444D-93FC-6D5ABE2AAA92" type="Standard"/>
<Animation name="LFFQ_Windsock_Speed_20" guid="6C39D52C-E70F-4054-8E9C-1A55EC704574" type="Standard"/>
<Animation name="LFFQ_Windsock_Speed_25" guid="64C096E1-67C1-4204-B262-E8425AC8B8F8" type="Standard"/><AnimGraph>
<DefaultState name="LFFQ_Windsock_Blend"/>
<BlendTreeState name="LFFQ_Windsock_Blend">
<Animations>
<Animation guid="65EEB9F1-259C-44CE-954D-69C2420B3431" loop ="True" speed="1" threshold="0"/>
<Animation guid="4D419C72-7949-4C72-A81F-03BB969ED86D" loop ="True" speed="1" threshold="5"/>
<Animation guid="1FB42441-63DD-4EBC-9241-3393D378B869" loop ="True" speed="1" threshold="10"/>
<Animation guid="C1800E30-EF34-444D-93FC-6D5ABE2AAA92" loop ="True" speed="1" threshold="15"/>
<Animation guid="6C39D52C-E70F-4054-8E9C-1A55EC704574" loop ="True" speed="1" threshold="20"/>
<Animation guid="64C096E1-67C1-4204-B262-E8425AC8B8F8" loop ="True" speed="1" threshold="25"/>
</Animations>
<Value>(A:AMBIENT WIND VELOCITY, KNOTS)</Value>
</BlendTreeState>
</AnimGraph>
Ajout d’une pendule animé :
Si vous voulez avoir une « pendule » animée en tant qu’objet:
Code:
<?xml version="1.0" encoding="utf-8" ?>
<ModelInfo version="1.1" guid="{59589256-fb71-4d94-99d8-953dc12312be}"><LODS>
<LOD MinSize="0" ModelFile="edle_analog_uhr.gltf"></LOD>
</LODS><Animation name="mh_tower_stunde" guid="e8fc23f9-02fa-47ad-8ad0-491a299a3247" typeParam2="mh_tower_stunde" length="120" type="Sim" typeParam="AutoPlay" />
<Animation name="mh_tower_minute" guid="b1febb79-6e28-4c49-a9d9-2ac42fa7b251" typeParam2="mh_tower_minute" length="60" type="Sim" typeParam="AutoPlay" />
<PartInfo>
<Name>mh_tower_stunde</Name>
<AnimLength>120</AnimLength>
<Animation>
<Parameter>
<Code>(E:LOCAL TIME, hour) 12 % 10 *</Code>
</Parameter>
</Animation>
</PartInfo><PartInfo>
<Name>mh_tower_minute</Name>
<AnimLength>60</AnimLength>
<Animation>
<Parameter>
<Code>(E:LOCAL TIME, minutes) flr 60 %</Code>
</Parameter>
</Animation>
</PartInfo>
</ModelInfo>
Affichage selon des conditions :
Ce parasol devrait être sur la terrasse en été. En revanche, le parasol ne doit pas être visible en hiver.
Voici le contenu d’un ancien fichier XML :
<?xml version="1.0" encoding="utf-8" ?>
<ModelInfo version="1.1" guid="{e0c85e87-f282-4a4d-9f09-6c995c95a776}"><LODS>
<LOD MinSize="0" ModelFile="edle_sonnenschirm.gltf"></LOD>
</LODS><PartInfo>
<Name>edle_sonnenschirm_sommer</Name>
<Visibility>
<Parameter>
<Code>
(E:ZULU MONTH OF YEAR, number) 6.0 >= (E:ZULU MONTH OF YEAR, number) 8.0 <= and if{ 1 } els{ 0 }
</Code>
</Parameter>
</Visibility>
</PartInfo>
</ModelInfo>
MSFS fonctionne désormais avec un schéma appelé «Behaviours models" et les anciennes recettes de P3D avec un fichier modeldef.xml ne fonctionnent plus. Désormais, la structure du code est légèrement différente dans le cas des «Behaviours models" .
1 - Tout d'abord, le code personnalisé de tout objet simulé doit être placé dans une balise <ModelBehaviours> distincte dans le fichier XML et non dans la balise <ModelInfo>.
2 - Deuxièmement, il manque le nom du "node" qui définit exactement quelle partie utilisera le code.
Le code devrait donc ressembler Ă :
XML:
<?xml version="1.0" encoding="utf-8" ?>
<ModelInfo version="1.1" guid="{e0c85e87-f282-4a4d-9f09-6c995c95a776}"><LODS>
<LOD MinSize="0" ModelFile="LFFQ_parasol.gltf"/>
</LODS>
</ModelInfo><ModelBehaviors>
<Include Path="Asobo\Misc\SimObjects.xml"/>
<Component ID="LFFQ_parasol_ete" Node="LFFQ_parasol">
<Visibility>
<Parameter>
<Code>(E:LOCAL MONTH OF YEAR, Number) 4 == if{ 1 } els{ 0 }</Code>
</Parameter>
</Visibility>
</Component>
</ModelBehaviors>
Pour avoir quelque chose de visible entre 10 et 18h chaque jour, on devrait coder:
<Visibility>
<Parameter>
<Code>(E:LOCAL TIME, Seconds) 36000 >= (E:LOCAL TIME, Seconds) 64800 <= and if{ 1 } els{ 0 }</Code>
</Parameter>
</Visibility>
Pour les saisons il faudra mettre ce genre de conditions:
(E:ZULU MONTH OF YEAR, number) 4.0 >= (E:ZULU MONTH OF YEAR, number) 10.0 <= and if{ 1 } els{ 0 }
@+ 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
(réservé pour des futurs exemples)
@+ 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 Ă tous,
vraiment super Lagaffe, tout ce que tu nous apprends.
Tonio
WIN11 - i7-8700 CPU @ 3.20GHz - 32,0Â Go - Vega56 - MSFS version DVD - 3 Ă©crans de 27" - 2 Ă©crans de 17"
Hors ligne
Hé bé, je ne suis pas près d'y arriver...
Merci Lagaffe.
MSI B250M Mortar, I7-7700K, 16Go 2400MHz, MSI RTX 4060 Ti 8Go, be quiet! Dark Rock TF, SSD Samsung 850 EVO, DD WD 1To, Oculus rift
Hors ligne
Merci, cela nous ouvre quelques perspectives!
A quand un SODE-like pour MSFS, Lagaffe?
Hors ligne
Le SODE-Like ... il est déjà présent, sauf la doc qui elle n'est pas à jour
@+ 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
Concernant les drapeaux allez voir sur l'aéroport de Donegal Irlande du Nord, la scène est native avec de nombreux détails dont les drapeaux devant l'entrée de l'aéroport.
Ils sont fixes pour le moment, peut être lors d'une future mise à jour seront ils flottant au gré du vent ?
[img align=r]http://nsm04.casimages.com/img/2010/10/14/101014050748906476922015.gif[/img] FAN DE -->
I9900 RTX 2080 Ti W11 HP G2 Reverb
Hors ligne
Encore une fois merci Didier.
Respect pour le boulot de recherche et de synthèse avec un partage au bout. Et ce dernier point est encore plus respectable
Pascal
id MSFS : WhiteOurson. Core i7 6700K 4.GHz, RAM 32Go, GeForce GTX 1070 8Go, OS Win10-64b sur SSD 250Go + SSD 1To (simus) + HDD 3To pour le reste / Fibre Optique Bouygues 1Giga / MSFS DVD
Hors ligne