• 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.

MCX animation FS9 to FSX

Messages
135
Country
ukraine
Greetings, gentlemen. MCX in a strange way recognizes the length of the animation = 100 with a full turn of the arrow 360 degrees. After the conversion, all animations = 100 operate on 1/10 of 360 degrees, that is, barely.
Part of the xanim file:

<Anim name="custom_anim_avar_115v_pitanie_290" guid="c520c44e-f695-41d3-bd5c-2fc3cf4c240b" length="900.000" type="Sim" typeParam="AutoPlay" typeParam2="custom_anim_avar_115v_pitanie_290">
<AnimStream name="Rotation" id="0" partName="node1234" length="100.000"> /working section is incorrect
<Keyframe time="0.000" type="Quaternion" data="0.000000;0.000000;0.000000;1.000000"/>
<Keyframe time="25.000" type="Quaternion" data="0.000000;0.000000;0.707107;0.707107"/>
<Keyframe time="50.000" type="Quaternion" data="0.000000;0.000000;1.000000;0.000000"/>
<Keyframe time="75.000" type="Quaternion" data="0.000000;0.000000;0.707107;-0.707107"/>
<Keyframe time="100.000" type="Quaternion" data="0.000000;0.000000;0.000000;-1.000000"/>
</AnimStream>
</Anim>
and so on
<Anim name="custom_anim_Circuit_general_panel_on_292" guid="2f12b57c-b9bb-47ff-adc7-dbba1c484fd1" length="900.000" type="Sim" typeParam="AutoPlay" typeParam2="custom_anim_Circuit_general_panel_on_292">
<AnimStream name="Rotation" id="0" partName="node1245" length="19.000"> /working section is correct
<Keyframe time="0.000" type="Quaternion" data="-0.707107;0.000000;0.000000;0.707107"/>
<Keyframe time="2.000" type="Quaternion" data="-0.707100;-0.003176;0.003176;0.707100"/>
<Keyframe time="4.000" type="Quaternion" data="-0.707008;-0.011798;0.011798;0.707008"/>
<Keyframe time="6.000" type="Quaternion" data="-0.706682;-0.024499;0.024499;0.706682"/>
<Keyframe time="8.000" type="Quaternion" data="-0.705980;-0.039912;0.039912;0.705979"/>
<Keyframe time="10.000" type="Quaternion" data="-0.704833;-0.056662;0.056662;0.704833"/>
<Keyframe time="12.000" type="Quaternion" data="-0.703289;-0.073381;0.073381;0.703289"/>
<Keyframe time="14.000" type="Quaternion" data="-0.701521;-0.088707;0.088707;0.701521"/>
<Keyframe time="16.000" type="Quaternion" data="-0.699813;-0.101298;0.101298;0.699813"/>
<Keyframe time="18.000" type="Quaternion" data="-0.698526;-0.109823;0.109823;0.698526"/>
<Keyframe time="19.000" type="Quaternion" data="-0.698157;-0.112148;0.112148;0.698157"/>
</AnimStream>
</Anim>
<Anim name="custom_anim_wiperR_149" guid="18595cdb-57bc-4bc0-b50e-7e839b419380" length="900.000" type="Sim" typeParam="AutoPlay" typeParam2="custom_anim_wiperR_149">
<AnimStream name="Rotation" id="0" partName="node809" length="50.000"> /working section is correct
<Keyframe time="0.000" type="Quaternion" data="0.000000;0.000000;0.000000;1.000000"/>
<Keyframe time="17.000" type="Quaternion" data="0.000000;0.000000;-0.004037;0.999992"/>
<Keyframe time="18.000" type="Quaternion" data="0.000000;0.000000;-0.015826;0.999875"/>
<Keyframe time="19.000" type="Quaternion" data="0.000000;0.000000;-0.034876;0.999392"/>
<Keyframe time="20.000" type="Quaternion" data="0.000000;0.000000;-0.060686;0.998157"/>
<Keyframe time="21.000" type="Quaternion" data="0.000000;0.000000;-0.092728;0.995691"/>
<Keyframe time="22.000" type="Quaternion" data="0.000000;0.000000;-0.130440;0.991456"/>
<Keyframe time="23.000" type="Quaternion" data="0.000000;0.000000;-0.173216;0.984884"/>
<Keyframe time="24.000" type="Quaternion" data="0.000000;0.000000;-0.220396;0.975410"/>
<Keyframe time="25.000" type="Quaternion" data="0.000000;0.000000;-0.271266;0.962504"/>
<Keyframe time="26.000" type="Quaternion" data="0.000000;0.000000;-0.325056;0.945695"/>
<Keyframe time="27.000" type="Quaternion" data="0.000000;0.000000;-0.380951;0.924595"/>
<Keyframe time="28.000" type="Quaternion" data="0.000000;0.000000;-0.438102;0.898925"/>
<Keyframe time="29.000" type="Quaternion" data="0.000000;0.000000;-0.495638;0.868529"/>
<Keyframe time="30.000" type="Quaternion" data="0.000000;0.000000;-0.552692;0.833385"/>
<Keyframe time="31.000" type="Quaternion" data="0.000000;0.000000;-0.608419;0.793616"/>
<Keyframe time="32.000" type="Quaternion" data="0.000000;0.000000;-0.662020;0.749486"/>
<Keyframe time="33.000" type="Quaternion" data="0.000000;0.000000;-0.712770;0.701398"/>
<Keyframe time="34.000" type="Quaternion" data="0.000000;0.000000;-0.760035;0.649882"/>
<Keyframe time="35.000" type="Quaternion" data="0.000000;0.000000;-0.803298;0.595578"/>
<Keyframe time="36.000" type="Quaternion" data="0.000000;0.000000;-0.842166;0.539219"/>
<Keyframe time="37.000" type="Quaternion" data="0.000000;0.000000;-0.876387;0.481607"/>
<Keyframe time="38.000" type="Quaternion" data="0.000000;0.000000;-0.905854;0.423589"/>
<Keyframe time="39.000" type="Quaternion" data="0.000000;0.000000;-0.930602;0.366033"/>
<Keyframe time="40.000" type="Quaternion" data="0.000000;0.000000;-0.950800;0.309806"/>
<Keyframe time="41.000" type="Quaternion" data="0.000000;0.000000;-0.966742;0.255752"/>
<Keyframe time="42.000" type="Quaternion" data="0.000000;0.000000;-0.978829;0.204682"/>
<Keyframe time="43.000" type="Quaternion" data="0.000000;0.000000;-0.987542;0.157356"/>
<Keyframe time="44.000" type="Quaternion" data="0.000000;0.000000;-0.993426;0.114480"/>
<Keyframe time="45.000" type="Quaternion" data="0.000000;0.000000;-0.997054;0.076704"/>
<Keyframe time="46.000" type="Quaternion" data="0.000000;0.000000;-0.999004;0.044626"/>
<Keyframe time="47.000" type="Quaternion" data="0.000000;0.000000;-0.999823;0.018800"/>
<Keyframe time="48.000" type="Quaternion" data="0.000000;0.000000;-1.000000;-0.000255"/>
<Keyframe time="49.000" type="Quaternion" data="0.000000;0.000000;-0.999927;-0.012044"/>
<Keyframe time="50.000" type="Quaternion" data="0.000000;0.000000;-0.999871;-0.016081"/>
</AnimStream>
</Anim>
<Anim name="l_gear" guid="E6A307E6-D0D8-4ca0-8A8E-77B7EA22FFB9" length="900.000" type="Sim" typeParam="AutoPlay" typeParam2="l_gear">
<AnimStream name="Rotation" id="0" partName="node50" length="100.000"> /working section is correct
<Keyframe time="0.000" type="Quaternion" data="0.583965;0.000000;0.000000;0.811779"/>
<Keyframe time="2.000" type="Quaternion" data="0.574273;0.000000;0.000000;0.818664"/>
<Keyframe time="4.000" type="Quaternion" data="0.564501;0.000000;0.000000;0.825432"/>
<Keyframe time="6.000" type="Quaternion" data="0.554649;0.000000;0.000000;0.832084"/>
<Keyframe time="8.000" type="Quaternion" data="0.544719;0.000000;0.000000;0.838619"/>
<Keyframe time="10.000" type="Quaternion" data="0.534711;0.000000;0.000000;0.845035"/>
<Keyframe time="12.000" type="Quaternion" data="0.524628;0.000000;0.000000;0.851331"/>
<Keyframe time="14.000" type="Quaternion" data="0.514471;0.000000;0.000000;0.857508"/>
<Keyframe time="16.000" type="Quaternion" data="0.504241;0.000000;0.000000;0.863563"/>
<Keyframe time="18.000" type="Quaternion" data="0.493940;0.000000;0.000000;0.869496"/>
<Keyframe time="20.000" type="Quaternion" data="0.483569;0.000000;0.000000;0.875306"/>
<Keyframe time="22.000" type="Quaternion" data="0.473130;0.000000;0.000000;0.880992"/>
<Keyframe time="24.000" type="Quaternion" data="0.462624;0.000000;0.000000;0.886554"/>
<Keyframe time="26.000" type="Quaternion" data="0.452053;0.000000;0.000000;0.891991"/>
<Keyframe time="28.000" type="Quaternion" data="0.441417;0.000000;0.000000;0.897302"/>
<Keyframe time="30.000" type="Quaternion" data="0.430720;0.000000;0.000000;0.902486"/>
<Keyframe time="32.000" type="Quaternion" data="0.419961;0.000000;0.000000;0.907542"/>
<Keyframe time="34.000" type="Quaternion" data="0.409143;0.000000;0.000000;0.912470"/>
<Keyframe time="36.000" type="Quaternion" data="0.398268;0.000000;0.000000;0.917269"/>
<Keyframe time="38.000" type="Quaternion" data="0.387336;0.000000;0.000000;0.921939"/>
<Keyframe time="40.000" type="Quaternion" data="0.376349;0.000000;0.000000;0.926478"/>
<Keyframe time="42.000" type="Quaternion" data="0.365309;0.000000;0.000000;0.930886"/>
<Keyframe time="44.000" type="Quaternion" data="0.354217;0.000000;0.000000;0.935163"/>
<Keyframe time="46.000" type="Quaternion" data="0.343076;0.000000;0.000000;0.939308"/>
<Keyframe time="48.000" type="Quaternion" data="0.331886;0.000000;0.000000;0.943320"/>
<Keyframe time="50.000" type="Quaternion" data="0.320649;0.000000;0.000000;0.947198"/>
<Keyframe time="52.000" type="Quaternion" data="0.309366;0.000000;0.000000;0.950943"/>
<Keyframe time="54.000" type="Quaternion" data="0.298040;0.000000;0.000000;0.954553"/>
<Keyframe time="56.000" type="Quaternion" data="0.286672;0.000000;0.000000;0.958029"/>
<Keyframe time="58.000" type="Quaternion" data="0.275264;0.000000;0.000000;0.961369"/>
<Keyframe time="60.000" type="Quaternion" data="0.263816;0.000000;0.000000;0.964573"/>
<Keyframe time="62.000" type="Quaternion" data="0.252331;0.000000;0.000000;0.967641"/>
<Keyframe time="64.000" type="Quaternion" data="0.240811;0.000000;0.000000;0.970572"/>
<Keyframe time="66.000" type="Quaternion" data="0.229256;0.000000;0.000000;0.973366"/>
<Keyframe time="68.000" type="Quaternion" data="0.217669;0.000000;0.000000;0.976023"/>
<Keyframe time="70.000" type="Quaternion" data="0.206052;0.000000;0.000000;0.978541"/>
<Keyframe time="72.000" type="Quaternion" data="0.194405;0.000000;0.000000;0.980921"/>
<Keyframe time="74.000" type="Quaternion" data="0.182731;0.000000;0.000000;0.983163"/>
<Keyframe time="76.000" type="Quaternion" data="0.171031;0.000000;0.000000;0.985266"/>
<Keyframe time="78.000" type="Quaternion" data="0.159306;0.000000;0.000000;0.987229"/>
<Keyframe time="80.000" type="Quaternion" data="0.147560;0.000000;0.000000;0.989053"/>
<Keyframe time="82.000" type="Quaternion" data="0.135792;0.000000;0.000000;0.990737"/>
<Keyframe time="84.000" type="Quaternion" data="0.124005;0.000000;0.000000;0.992282"/>
<Keyframe time="86.000" type="Quaternion" data="0.112201;0.000000;0.000000;0.993686"/>
<Keyframe time="88.000" type="Quaternion" data="0.100381;0.000000;0.000000;0.994949"/>
<Keyframe time="90.000" type="Quaternion" data="0.088546;0.000000;0.000000;0.996072"/>
<Keyframe time="92.000" type="Quaternion" data="0.076700;0.000000;0.000000;0.997054"/>
<Keyframe time="94.000" type="Quaternion" data="0.064842;0.000000;0.000000;0.997896"/>
<Keyframe time="96.000" type="Quaternion" data="0.052975;0.000000;0.000000;0.998596"/>
<Keyframe time="98.000" type="Quaternion" data="0.041101;0.000000;0.000000;0.999155"/>
<Keyframe time="100.000" type="Quaternion" data="0.029220;0.000000;0.000000;0.999573"/>
</AnimStream>
and so on
</Anim>
Tell me please what am I doing wrong? Or is it MCX?
 
Last edited:
Hi,

For some animations the key frames are not stored in the MDL file. In that case MCX will make them for you. If it doesn't know the limits of the animation, it will do a full 360 degrees.

I can't see from the XANIM file is this part is such a part though. What animation variable is driving that animation?
 
Hi,

For some animations the key frames are not stored in the MDL file. In that case MCX will make them for you. If it doesn't know the limits of the animation, it will do a full 360 degrees.

I can't see from the XANIM file is this part is such a part though. What animation variable is driving that animation?

Hello. Delighted with your work! This is just great! But there are nuances.
All variables with such animation do not work correctly in all models checked. Ie custom animation arrows assigned to display N2 speed with variable
<Parameter>
<Code> (A: Turb eng2 corrected N2, percent) 18.394 / </ Code>
</ Parameter>
It looks like this in .xanim
<Anim name = "custom_anim_Turb_eng2_corrected_N2_29" guid = "a9. O. 5.
<AnimStream name = "Rotation" id = "0" partName = "node1248" length = "100.000">
<Keyframe time = "0.000" type = "Quaternion" data = "0.000000; 0.000000; 0.000000; 1.000000" />
<Keyframe time = "25.000" type = "Quaternion" data = "0.000000; 0.000000; 0.707107; 0.707107" />
<Keyframe time = "50.000" type = "Quaternion" data = "0.000000; 0.000000; 1.000000; 0.000000" />
<Keyframe time = "75.000" type = "Quaternion" data = "0.000000; 0.000000; 0.707107; -0.707107" />
<Keyframe time = "100.000" type = "Quaternion" data = "0.000000; 0.000000; 0.000000; -1.000000" />
</ AnimStream>
</ Anim>
And in Sime, the arrow is deflected when the digitizer is running on a small gas only by 6 divisions out of 100, it does not even reach 10%, but the variables in Sime show the correct N 2 value 60%
So with all the devices in the VC which animation is 100 frames at 360 degrees.
What I just did not do, changed the number of frames, rearranged the variable to the FSX syntax (A: Turb eng corrected N2:2, percent) 18.394 / ....
 

Attachments

  • modeldef.zip
    modeldef.zip
    79.1 KB · Views: 241
  • tu-134.xanim.zip
    tu-134.xanim.zip
    317.5 KB · Views: 226
  • 2018-12-22_163342.png
    2018-12-22_163342.png
    909.7 KB · Views: 276
  • 2018-12-22_164151.png
    2018-12-22_164151.png
    839.4 KB · Views: 280
Hi,

Having a small mdl file with the problem might help in debugging it. Do you have a test file for me?
 
Hi,

Having a small mdl file with the problem might help in debugging it. Do you have a test file for me?
Yes. OK.
I did not make any special changes until I solved these issues. Modeldef is different from the original because it was looking for a solution by changing conditions and variables in model.A3_VCcab.
SCS TU-134A
 
Thanks. This seems to be a very complex aircraft model, debugging it would be easier with a small models that shows the problem, but I'll see if I can find something.
 
It's just that there are many parts with such a problem and all sections that have a frame of 100, and for some reason this is the minimum value table
<AnimStream name = "Rotation" id = "0" partName = "xxxxxx" length = "100.000">
<Keyframe time = "0.000" type = "Quaternion" data = "0.000000; 0.000000; 0.000000; 1.000000" />
<Keyframe time = "25.000" type = "Quaternion" data = "0.000000; 0.000000; 0.707107; 0.707107" />
<Keyframe time = "50.000" type = "Quaternion" data = "0.000000; 0.000000; 1.000000; 0.000000" />
<Keyframe time = "75.000" type = "Quaternion" data = "0.000000; 0.000000; 0.707107; -0.707107" />
<Keyframe time = "100.000" type = "Quaternion" data = "0.000000; 0.000000; 0.000000; -1.000000" />
Sime work as I showed above on the screen.
Thank you for your understanding and desire to help.
 
Yes, but I can't solve it from the XANIM file. For that I would have to see what code is in the MDL itself and how it is parsed in MCX. With so many different animations in the object it is hard to find the right one that has the problem.
 
This is what else noticed. All FS9 mdl animations, in which the animation tables are defined not in the first, but in the second row of the SceneGraphNode with the table 0.0, 25.0, 50.0, 75.0, 100.0, work after the conversion, as I indicated above, is not correct.
2018-12-23_004052.png


But a section of a similar table that was converted from FSX mdl of another aircraft. and it works correctly.

2018-12-23_011815.png
 
Last edited:
You keep showing the same. Those bits are 360 degree animations. Instead of pointing at the effect all the time, we need to figure out where they come from.
 
Did you make the FS2004 model yourself? It would help to isolate the problem part in there. After converting to FSX I can't see anymore how it is stored in the FS2004 mdl.
 
Model is not me. This is a free model from the SСS team. They broke up about two years ago, and I continued their work after transferring the model to FSХ / P3Dv3 for a while. With the permission of the authors and representatives of the SCS! I gave her a new life, restoring and improving the work of many devices, adding a huge number of modifications and additions, the virtual crew, which revived the atmosphere of this aircraft, bringing it closer to the original. When communicating with the authors, it turned out that the originals of the source code of the external model and VC were lost and it is impossible to restore them. Because now I am making a new model, which will be later. But if it were possible to restore some more functions for FSX / P3Dv3, as well as launch it in P3Dv4, it would be very cool for Tu-134 fans in the new simulator. Many requests come to me with requests to convert this particular model to v4. I can write a new 64-bit code, especially since the main code is Gau in ХML, and they work fine on 64-bit systems.
I can choose an arrow with animation in the new model and convert it to FS9 MDL, but for this I will install 3D MAX 7 or Gmax from this SDK version. As soon as I do this, I will immediately post it here.
 
Hi,

If you don't have the sources to export a part with the problem as FS2004 MDL than I think it will not help. If you use MCX to first get the model into somewhere else the problem is already there :)
 
Hi,
No not MCX. The arrow will be located in the same place as the original, and MDL will have the characteristics of a model with a virtual cabin FS 2004, with animation, etc.
 
I had a look at the two small files you posted before, but both are in the FSX format already. Did you succeed to isolate a part in FS2004 format? Else I will try to have a look at the complete model.
 
I had a look at the two small files you posted before, but both are in the FSX format already. Did you succeed to isolate a part in FS2004 format? Else I will try to have a look at the complete model.
Hi Arno!
I did not do a separate MDL with an arrow using the FS9 SDK tools, there are some nuances in installing the SDK and 3DM7, I will try to do this in Windows 7 on the laptop. I'm working on it. Thank you for taking the time and participating.
 
As for the SCS model, I have full agreement with the creators of the model, and before opening and using this model, I honestly contacted the representative of this team and established a relationship. There was an attempt to transfer this model to P3D v4, but to no avail due to disturbed world coordinates. The model as such is not used in the new Tu-134 and is made completely new, with animation, textures and devices. I assure you that all the nuances of decency and licensing in relation to the project participants are observed. And do not compare me with pirates who illegally use other people's work without demand and approvals.
 
Back
Top