• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

P3D v5 How to use data to drive an airplane's animation?

Messages
17
Country
china
Hello, I am new to aircraft design.
I would like to know how to drive the animation of the plane with data.

Specifically, I need to control the speed of many propellers,
I added new prop_slow in Modeldef.xml file,
These animations work just fine in ModelConverterX.

I edited the Modeldef.xml in MCX to make the animation connect to the PROP ROTATION ANGLE data.

Next I want to modify the speed of the propeller in P3D through the SimConnect interface,
But it seems to have failed,
The animation also doesn't work as expected with the data.

Can someone tell me why?
How did you animate the airplane?


Attached is my edited Modeldef.xml file,
But I think my problem is that I can't set data into P3D.
(The aircraft's latitude, longitude, high speed and other data are OK, but the propeller rotation angle seems to be impossible to set.)
 

Attachments

  • modeldef_6props.zip
    742 bytes · Views: 71

=rk=

Resource contributor
Messages
4,485
Country
us-washington
Hi! There are three animation states to work with; prop_still, prop_slow and prop_blurred. For each state, you can use any animation you like, so long as the prop_slow animation is a single rotation of the propellers, prop_still is a fixed version of prop_slow and prop_blurred has not propellers at all, but is a transparent disk, with the appearance of a blurred propeller, that rotates about the same speed as prop_slow. There is no propeller pitch angle at all and there is no way, with the default render engine, to apply _more_ fidelity to propellers.

To do so using SimConnect, you would have to make a distinct module, that is controlled more like a navigation display, than like the default propeller animation system, so that when speed increases, propeller pitch goes flatter, kind of thing. Except in cases of engine startup, these subtle differences are unlikely to be visible in the sim.

So, while it is true that one cannot "feather a prop," one can configure prop_slow to appear feathered, which would not matter as a representation of prop_still and still be relatively undetectable in prop_slow, therefore stopping an engine in flight, would show the propeller still and feathered.
 
Messages
17
Country
china
Hi! There are three animation states to work with; prop_still, prop_slow and prop_blurred. For each state, you can use any animation you like, so long as the prop_slow animation is a single rotation of the propellers, prop_still is a fixed version of prop_slow and prop_blurred has not propellers at all, but is a transparent disk, with the appearance of a blurred propeller, that rotates about the same speed as prop_slow. There is no propeller pitch angle at all and there is no way, with the default render engine, to apply _more_ fidelity to propellers.

To do so using SimConnect, you would have to make a distinct module, that is controlled more like a navigation display, than like the default propeller animation system, so that when speed increases, propeller pitch goes flatter, kind of thing. Except in cases of engine startup, these subtle differences are unlikely to be visible in the sim.

So, while it is true that one cannot "feather a prop," one can configure prop_slow to appear feathered, which would not matter as a representation of prop_still and still be relatively undetectable in prop_slow, therefore stopping an engine in flight, would show the propeller still and feathered.
Thanks! I do have a host software to simulate the aircraft.
I just don't know how to use simulation data to control animations through the program.

Sorry, I should have asked more clearly, can I drive animations by SimConnect_SetDataOnSimObject setting the PROP ROTATION ANGLE: index?
 
Messages
17
Country
china
Have you already seen the SimConnect documentation?



If it helps.

Miscellaneous Variables:​

Simulation VariableDescriptionUnitsSettableMultiplayer
PROP ROTATION ANGLEProp rotation angleRadiansY-

Yes, I have seen it. I successfully set the latitude and longitude of the aircraft via SimConnect_SetDataOnSimObject.
But I use the same method to set PROP ROTATION ANGLE: index, it failed.
It seems like no matter how I set it, the data is always 0.
 
Last edited:

=rk=

Resource contributor
Messages
4,485
Country
us-washington
I am pretty sure the variable affects performance, not graphic representation, on the basis that the render engine lacks the fidelity to display that detail. Have you already created the animation sequence that represents blade pitch changes? The simulator will not do this.
 
Messages
17
Country
china
I am pretty sure the variable affects performance, not graphic representation, on the basis that the render engine lacks the fidelity to display that detail. Have you already created the animation sequence that represents blade pitch changes? The simulator will not do this.
I created a 100 frame animation for each propeller in 3DsMax.
There are five keyframes:
0: 0 degrees,
25: 90 degrees,
50: 180 degrees,
75: 270 degrees,
100: 360 degrees.

Do you mean this?
 

=rk=

Resource contributor
Messages
4,485
Country
us-washington
That looks like a spin rotation, for prop_still and prop_slow animations, is that correct? If so, then blade pitch would be a rotation from zero degrees to 90 degrees, or thereabouts, on an axis perpendicular to the spin.
 
Messages
17
Country
china
That looks like a spin rotation, for prop_still and prop_slow animations, is that correct? If so, then blade pitch would be a rotation from zero degrees to 90 degrees, or thereabouts, on an axis perpendicular to the spin.
This confuses me a bit.
Should I add another invisible blade pitch animation in 3DsMax?

Or should I use PROP_PITCH_SET in Event ID to set the propeller pitch?

If so, how can I write Lua script to map the data and animation?
 

=rk=

Resource contributor
Messages
4,485
Country
us-washington
You can point the pitch trigger to existing animations, for testing.
 
Top