plane icon Welcome to Microsoft Flight Simulator’s SDK Q&A Platform!

You have questions regarding the SDK? DevMode Tools? SimConnect? You would like to submit an idea for future improvements, seek help or exchange knowledge? You’re in the right place.

Please take a moment to read the platform’s guidelines before you get started!


For HUDs issues management, please read the article here !

question

tml avatar image
tml asked tml commented

Connection between wheel contact point numbers, gear animation IDs, order of animations in glTF, etc?

Could somebody explain how these things hang together:

  • The numbering of wheel contact points in flight_model.cfg.
  • The ID parameter passed to ASOBO_GEAR_Base_Template
  • The wheel numbering in the Dev Mode's Debug > Wheels window
  • The order of animations in the glTF file
  • The order of calls to ASOBO_GEAR_Base_Template in the model XML file

The logical thing would if the first wheel mentioned in flight_model.cfg would correspond to the ID=0 animation, that is the GEAR ANIMATION POSITION:0 simvar, the second to ID=1, etc, and that the order of animations in the glTF and the order of the gear template calls in the XML file would not matter. But is this how it is?

Does it matter whether left and right hand side wheels are in arbitrary order or should one first have the center one(s), if any, then the left ones, then the right ones, or something like that?

And why does the Debug > Wheel window in Dev Mode number the wheels from 1, not 0? But is it so that what that window calls wheel #1 is the first wheel contact point, wheel #2 is the second, etc?

Finally, is there perhaps some undocumented internal restriction in the simulator that makes having more than three wheel contact points work a bit oddly?

aircraftflightmodel
4 comments
10 |10000 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 4.8 MiB each and 23.8 MiB total.

Could it be that the simulator code has only really been tested thoroughly for an aircraft with the normal three landing gears, and for instance the code that calculates how much of the weight is on each gear is broken if there are four (or more) landing gears? (I am using my dummy "flying brick" aircraft for quick experimentation and it has four wheels (well, legs). But maybe that is actually a bad idea, if it exercises uncharted territory in the sim, and I should switch it to have just three wheels (legs)...)

0 Likes 0 ·

For the suspension try ASOBO_Contact_Point_Template, which works with many wheels.

0 Likes 0 ·
Ah, I now noticed at least one PEBKAC problem: I had used the wrong values for the "static compression" column of the point.n parameters. That explains why some wheels were mysteriously too deep in the ground. But it doesn't really help with the basic questions here, I am looking for official documentation how the numberings hang together.
0 Likes 0 ·

By the way, I now think I notice that if I set the last parameter of the wheel point.n parameters (the vaguely documented exponential constant for springs) to 2 instead of 1 (which is claimed to be a safe and default value), the test aircraft behaves much better on the ground. With 1, it seemed very unstable, any random small perturbation (wind?) very easily made it start to tilt more and more, and eventually it would even fall over...

0 Likes 0 ·

1 Answer

· Write an Answer
WombiiActual avatar image
WombiiActual answered

I may be able to answer some of these questions based on my experiments with my fire truck chassis. The only place I found that references the actual contact point IDs is the "ASOBO_Contact_Point_Template" that will play the compression/extension animation for each wheel's suspension based on the ID number of the contact point (from flight_model.cfg).

For wheel rotation you're stuck with either left/right/center, and only the center wheel rotation is sent over multiplayer (I have filed a bug report for this). The rotation value for the left/right/center position is determined from the rotation value of a contact point placed on the left side, right side or dead center, so you can't do accurate wheel rotation for each wheel.

The Dev mode debug window shows the wheels in the order of their ID's. Wheel 1 is the first ID that is a contact point of type wheel.

I hope this helps.

Example: 6 wheel truck:

<Component ID="GEARS">
<UseTemplate Name="ASOBO_Contact_Point_Template">
<ID>0</ID>
<ANIM_NAME>Wide_L1_gear</ANIM_NAME>
<ONLY_COMPRESSION>True</ONLY_COMPRESSION>
</UseTemplate>
<UseTemplate Name="ASOBO_Contact_Point_Template">
<ID>1</ID>
<ANIM_NAME>Wide_R1_gear</ANIM_NAME>
<ONLY_COMPRESSION>True</ONLY_COMPRESSION>
</UseTemplate>
<UseTemplate Name="ASOBO_Contact_Point_Template">
<ID>2</ID>
<ANIM_NAME>Wide_lf_gear</ANIM_NAME>
<ONLY_COMPRESSION>True</ONLY_COMPRESSION>
</UseTemplate>
<UseTemplate Name="ASOBO_Contact_Point_Template">
<ID>3</ID>
<ANIM_NAME>Wide_rf_gear</ANIM_NAME>
<ONLY_COMPRESSION>True</ONLY_COMPRESSION>
</UseTemplate>
<UseTemplate Name="ASOBO_Contact_Point_Template">
<ID>10</ID>
<ANIM_NAME>Wide_L2_gear</ANIM_NAME>
<ONLY_COMPRESSION>True</ONLY_COMPRESSION>
</UseTemplate>
<UseTemplate Name="ASOBO_Contact_Point_Template">
<ID>11</ID>
<ANIM_NAME>Wide_R2_gear</ANIM_NAME>
<ONLY_COMPRESSION>True</ONLY_COMPRESSION>
</UseTemplate>
</Component>

<Component ID="GEARS_Tires">
<UseTemplate Name="ASOBO_GEAR_Center_Tire_Template">
<ANIM_NAME>Wide_L1_tire_anim</ANIM_NAME>
<NODE_ID_STILL>LEFT_WHEEL</NODE_ID_STILL>
<NODE_ID_BLURRED>LEFT_WHEEL_BLURRED</NODE_ID_BLURRED>
<NO_STILL_BLURRED_TRANSITION>true</NO_STILL_BLURRED_TRANSITION>
</UseTemplate>
<UseTemplate Name="ASOBO_GEAR_Center_Tire_Template">
<ANIM_NAME>Wide_R1_tire_anim</ANIM_NAME>
<NODE_ID_STILL>RIGHT_WHEEL</NODE_ID_STILL>
<NODE_ID_BLURRED>RIGHT_WHEEL_BLURRED</NODE_ID_BLURRED>
<NO_STILL_BLURRED_TRANSITION>true</NO_STILL_BLURRED_TRANSITION>
</UseTemplate>
<UseTemplate Name="ASOBO_GEAR_Center_Tire_Template">
<ANIM_NAME>l_tire_anim</ANIM_NAME>
<NODE_ID_STILL>LEFT_WHEEL</NODE_ID_STILL>
<NODE_ID_BLURRED>LEFT_WHEEL_BLURRED</NODE_ID_BLURRED>
<NO_STILL_BLURRED_TRANSITION>true</NO_STILL_BLURRED_TRANSITION>
</UseTemplate>
<UseTemplate Name="ASOBO_GEAR_Center_Tire_Template">
<ANIM_NAME>r_tire_anim</ANIM_NAME>
<NODE_ID_STILL>RIGHT_WHEEL</NODE_ID_STILL>
<NODE_ID_BLURRED>RIGHT_WHEEL_BLURRED</NODE_ID_BLURRED>
<NO_STILL_BLURRED_TRANSITION>true</NO_STILL_BLURRED_TRANSITION>
</UseTemplate>
<UseTemplate Name="ASOBO_GEAR_Center_Tire_Template">
<ANIM_NAME>Wide_L2_tire_anim</ANIM_NAME>
<NODE_ID_STILL>LEFT_WHEEL</NODE_ID_STILL>
<NODE_ID_BLURRED>LEFT_WHEEL_BLURRED</NODE_ID_BLURRED>
<NO_STILL_BLURRED_TRANSITION>true</NO_STILL_BLURRED_TRANSITION>
</UseTemplate>
<UseTemplate Name="ASOBO_GEAR_Center_Tire_Template">
<ANIM_NAME>Wide_R2_tire_anim</ANIM_NAME>
<NODE_ID_STILL>RIGHT_WHEEL</NODE_ID_STILL>
<NODE_ID_BLURRED>RIGHT_WHEEL_BLURRED</NODE_ID_BLURRED>
<NO_STILL_BLURRED_TRANSITION>true</NO_STILL_BLURRED_TRANSITION>
</UseTemplate>
10 |10000 characters needed characters left characters exceeded

Up to 5 attachments (including images) can be used with a maximum of 4.8 MiB each and 23.8 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 5 attachments (including images) can be used with a maximum of 4.8 MiB each and 23.8 MiB total.