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

Blender to FSX Toolset

Messages
230
Country
ecuador
Hi everyone,

Someone tried to model a clock with hours, minutes, seconds ...?

Personally, my seconds refuse to run correctly! I use the default xml script (needel_clock_hour, ...minute, ...second) : the hours and minutes appear to be correct, but the seconds are absolutely not linear despite a linear interpolation ... For seconds, I've three keyframes : 0=0°, 30=180°, 60=360°; same for the minutes. For hours: 0=0°, 60=180°, 120=360°.

I use Blender2FSX 0703 version because I got the same kind of problems than Dutcheeseblend with the 084 version and I do not have the 0701 version...

Thank you for the help!
 
Messages
75
Country
germany
Hi Chris,

to be honest I did not manage until now, that my second-needle moves at all.
At the moment I'm stuck. Have tried exporting for hours, unfortunately without success.
Hopefully Felix can read from the error message something helpful.

Here is my code for the clock. I use 4 keyframes 0°,90°,180°,270° works fine for H and M.


uhr.jpg


Code:
 <PartInfo>
    <Name>Klemm35_needle_clock_hour</Name>
    <AnimLength>120</AnimLength>
    <Animation>
      <Parameter>
        <Code>(E:LOCAL TIME, hour) 12 % 10 *</Code>
      </Parameter>
    </Animation>
    <MouseRect>
      <TooltipID>TOOLTIPTEXT_CLOCK</TooltipID>
    </MouseRect>
  </PartInfo>

  <PartInfo>
    <Name>Klemm35_needle_clock_min</Name>
    <AnimLength>60</AnimLength>
    <Animation>
      <Parameter>
        <Code>(E:LOCAL TIME, minute) flr 60 %</Code>
      </Parameter>
    </Animation>
  </PartInfo>

<PartInfo>
    <Name>KLemm35_needle_clock_sekunde</Name>
    <AnimLength>60</AnimLength>
    <Animation>
      <Parameter>
        <Code>(E:LOCAL TIME, second) flr 60 %</Code>
      </Parameter>
    </Animation>
</PartInfo>
 
Messages
230
Country
ecuador
Hi Steff,

Thank you for your reply. But unfortunately no solves my problem of second needle: the code I use is very similar to yours, and my needle is exactly twice too fast, and after 28 seconds it returns directly to position zero ... ! And remains there for the next 32 seconds !!! I wonder if there is a problem Blender2 FSX or variable (E: LOCAL TIME, second), which returns values maybe fancy ...

Same problem with version 0.7.01 I just tested ... :banghead:
 
Messages
230
Country
ecuador
Hi Dutcheeseblend,

As I said, I used the original code modeldef.xml:

Code:
<PartInfo>
    <Name>needle_clock_hour</Name>
    <AnimLength>120</AnimLength>
    <Animation>
      <Parameter>
        <Code>(E:LOCAL TIME, hour) 12 % 10 *</Code>
      </Parameter>
    </Animation>
    <MouseRect>p
      <TooltipID>TOOLTIPTEXT_CLOCK</TooltipID>
    </MouseRect>
  </PartInfo>
  <PartInfo>
    <Name>needle_clock_min</Name>
    <AnimLength>60</AnimLength>
    <Animation>
      <Parameter>
        <Code>(E:LOCAL TIME, minute) flr 60 %</Code>
      </Parameter>
    </Animation>
  </PartInfo>
  <PartInfo>
    <Name>needle_clock_second</Name>
    <AnimLength>60</AnimLength>
    <Animation>
      <Parameter>
        <Code>(E:LOCAL TIME, second) flr 60 %</Code>
      </Parameter>
    </Animation>
  </PartInfo>

The hours and minutes work perfectly, but not the seconds ...
 

Dutcheeseblend

Resource contributor
Messages
1,541
Country
netherlands
Thanks, it should be OK as far as I can observe now.
Have you for every animation a line with the name and the unique GUID?

By the way, remove the 'p' behind the MouseRect of the hour animation.

Code:
<PartInfo>
    <Name>needle_clock_hour</Name>
    <AnimLength>120</AnimLength>
    <Animation>
      <Parameter>
        <Code>(E:LOCAL TIME, hour) 12 % 10 *</Code>
      </Parameter>
    </Animation>
    <MouseRect>p
      <TooltipID>TOOLTIPTEXT_CLOCK</TooltipID>
    </MouseRect>
  </PartInfo>
  <PartInfo>
    <Name>needle_clock_min</Name>
    <AnimLength>60</AnimLength>
    <Animation>
      <Parameter>
        <Code>(E:LOCAL TIME, minute) flr 60 %</Code>
      </Parameter>
    </Animation>
  </PartInfo>
  <PartInfo>
    <Name>needle_clock_second</Name>
    <AnimLength>60</AnimLength>
    <Animation>
      <Parameter>
        <Code>(E:LOCAL TIME, second) flr 60 %</Code>
      </Parameter>
    </Animation>
  </PartInfo>
 
Messages
230
Country
ecuador
Hit Dutcheeseblend,

Oups... small mistake copying ... I do not know from where comes this "p"!

BUT...

I'm an idiot ...! After three days of searching, I realized suddenly that my needle was not in scale 1: 1: 1: ... After a rescaling, everything works perfectly !!! :D

A thousand apologies for my stupidity! I am sure I will never forget such "small" detail ... :confused:
 
Messages
230
Country
ecuador
Hi everyone !

I solved the problem of the seconds needle... But another feature appears: one of the parts of my left landing gear is where it should not be ...! This piece is driven via a bone. If I remove my needles TAG, ...my landing gear piece finds its right place !!!! :eek:

What is the relationship between a landing gear and a clock needle ... ???
 
Last edited:
Messages
230
Country
ecuador
Hi Dutcheeseblend,

Still there? :D

My bones are not exported in FSX (not skinned mesh). Only animated objects by bones are exported. And I have this problem with only one object, left landing gear! The right one works perfectly. All my items are in 1: 1: 1: ...! My left landing gear is a copy of the right ...

Version 0.7.01 or 0.7.03 : same problem! I really do not understand ...
 
Messages
230
Country
ecuador
As said Felix:

Hello everyone.

As Chrismot and I have discovered, the new version (v0.8.4) of the exporter has problems with IK solvers. This is a huge drawback, as it prevents us from rigging more complex things such as landing gears, etc. I now have two options: 1. reverting to the old behavior which produced big .xanim files (that would be the easy way out) or 2. making it an option to choose whether you want smaller .MDL file size or greater precision for IK solvers.

I hope to get back to you all soon with a solution...

Regards :)

And I use a lot of IK solvers in my landing gear!
 
Messages
230
Country
ecuador
Hello everyone?

I do not know if this is the right place to post my new question: How locking or unlocking a tailwheel, moving the joystick?

I tried the following code that does not work ...! Remember that I am an apprentice in modeling ... especially in the xml :

Code:
<PartInfo>
        <Name>Morane_c_wheel</Name>
        <AnimLength>200</AnimLength>
        <Animation>
            <Parameter>
          <Code>
            (A:YOKE Y POSITION) -8192 &lt; if
            {0(&gt;K:TOGGLE_TAILWHEEL_LOCK)
            (A:GEAR CENTER STEER ANGLE, grads) 0 &gt; if{ (A:GEAR CENTER STEER ANGLE, grads) 0.5 * } els{ (A:GEAR CENTER STEER ANGLE, grads) 0.5 * 200 + }
            1(&gt;K:TOGGLE_TAILWHEEL_LOCK)}
            els{1(&gt;K:TOGGLE_TAILWHEEL_LOCK)}
          </Code>
            </Parameter>
        </Animation>
        <MouseRect>
            <TooltipID>TOOLTIPTEXT_STEER_ANGLE</TooltipID>
        </MouseRect>
    </PartInfo>

My tail wheel works well, but is always unlocked. My goal is that it is locked with joystick back and unlocked with the joystick pushed forward. Any idea how to make this tail wheel ...?

Thank you for your help...
 

Dutcheeseblend

Resource contributor
Messages
1,541
Country
netherlands
Chris, I recommend posting these questions in the modelling or XML Gauges part of the forum, since it's not very B2X specific IMHO.
 

Dutcheeseblend

Resource contributor
Messages
1,541
Country
netherlands
Hi there,
There we go again ;)
I believe the B2X toolset (0.8.3) messes up the animations. I re-exported my D.21 tonight with that toolset, and suddenly some animations were totally out of place. The object origins were fine, but:
- My RPM indicator has now a wrong range, going from 0-4000 in the dead zone instead of the normal zone
- MP indicator the same
- VSI has very strange behavior
- and a few other objects don't do what they should do.
I can give the xml code for these if you want, but I believe the problem is to be found in the toolset. I tried it with 0.7.03 and that works fine.
If you want the files, Felix, let me know.
My main drive for using an 8-series B2X version is the skinned meshes, but the D.21 doesn't feature any (yet, who knows). So for the D.21 I can do it with the old version. It's not a very useful workflow though ;)
I'm sorry, hope this is enough info for you ;)
Regards, Daan

FYI: This problem is still persisting with 8.4.

Regards, Daan
 

Dutcheeseblend

Resource contributor
Messages
1,541
Country
netherlands
Regarding the above-mentioned problem: the 8.4 toolset takes only the animation frames that have a key. 7.01 takes every frame in the .xanim. That's my first conclusion when looking into two xanim files of the same scene, subsequently exported with 8.4 and 7.01.

My manifold pressure indicator model fails in sim because of this. FSX now animates the needle along the shortest way. My MP needle animation Rotation animstrean in 0701:

Code:
<AnimStream id="0" length="90.000000" name="Rotation" partName="MP_gauge_needle">
      <Keyframe data="-0.000000;-0.000000;0.000000;1.000000" time="0.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.026177;0.000000;0.999657" time="1.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.052336;0.000000;0.998630" time="2.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.078459;0.000000;0.996917" time="3.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.104529;0.000000;0.994522" time="4.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.130526;0.000000;0.991445" time="5.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.156435;0.000000;0.987688" time="6.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.182236;0.000000;0.983255" time="7.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.207912;0.000000;0.978148" time="8.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.233446;0.000000;0.972370" time="9.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.258819;0.000000;0.965926" time="10.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.284016;0.000000;0.958820" time="11.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.309017;0.000000;0.951057" time="12.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.333807;0.000000;0.942641" time="13.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.358368;0.000000;0.933580" time="14.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.382684;0.000000;0.923880" time="15.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.406737;0.000000;0.913545" time="16.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.430511;0.000000;0.902585" time="17.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.453991;0.000000;0.891006" time="18.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.477159;0.000000;0.878817" time="19.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.500000;0.000000;0.866025" time="20.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.522499;0.000000;0.852640" time="21.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.544639;0.000000;0.838670" time="22.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.566407;0.000000;0.824126" time="23.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.587785;0.000000;0.809017" time="24.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.608762;0.000000;0.793353" time="25.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.629321;0.000000;0.777146" time="26.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.649448;0.000000;0.760406" time="27.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.669131;0.000000;0.743145" time="28.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.688355;0.000000;0.725374" time="29.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.707107;0.000000;0.707107" time="30.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.725375;0.000000;0.688354" time="31.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.743145;0.000000;0.669130" time="32.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.760406;0.000000;0.649448" time="33.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.777146;0.000000;0.629320" time="34.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.793354;0.000000;0.608761" time="35.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.809017;0.000000;0.587785" time="36.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.824126;0.000000;0.566406" time="37.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.838671;0.000000;0.544639" time="38.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.852640;0.000000;0.522498" time="39.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.866026;0.000000;0.500000" time="40.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.878817;0.000000;0.477158" time="41.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.891007;0.000000;0.453990" time="42.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.902586;0.000000;0.430511" time="43.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.913546;0.000000;0.406736" time="44.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.923880;0.000000;0.382683" time="45.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.933581;0.000000;0.358367" time="46.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.942642;0.000000;0.333806" time="47.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.951057;0.000000;0.309016" time="48.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.958820;0.000000;0.284015" time="49.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.965926;0.000000;0.258819" time="50.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.972370;0.000000;0.233445" time="51.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.978148;0.000000;0.207911" time="52.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.983255;0.000000;0.182235" time="53.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.987689;0.000000;0.156434" time="54.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.991445;0.000000;0.130526" time="55.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.994522;0.000000;0.104528" time="56.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.996917;0.000000;0.078458" time="57.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.998630;0.000000;0.052335" time="58.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.999657;0.000000;0.026176" time="59.000000" type="Quaternion" />
      <Keyframe data="-0.000000;1.000000;0.000000;-0.000001" time="60.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.999657;0.000000;-0.026178" time="61.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.998629;0.000000;-0.052337" time="62.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.996917;0.000000;-0.078460" time="63.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.994522;0.000000;-0.104529" time="64.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.991445;0.000000;-0.130527" time="65.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.987688;0.000000;-0.156435" time="66.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.983255;0.000000;-0.182236" time="67.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.978147;0.000000;-0.207912" time="68.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.972370;0.000000;-0.233446" time="69.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.965926;0.000000;-0.258820" time="70.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.958820;0.000000;-0.284016" time="71.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.951056;0.000000;-0.309018" time="72.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.942641;0.000000;-0.333808" time="73.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.933580;0.000000;-0.358369" time="74.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.923879;0.000000;-0.382684" time="75.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.913545;0.000000;-0.406738" time="76.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.902585;0.000000;-0.430512" time="77.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.891006;0.000000;-0.453991" time="78.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.878817;0.000000;-0.477159" time="79.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.866025;0.000000;-0.500001" time="80.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.852640;0.000000;-0.522499" time="81.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.838670;0.000000;-0.544640" time="82.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.824126;0.000000;-0.566407" time="83.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.809016;0.000000;-0.587786" time="84.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.793353;0.000000;-0.608762" time="85.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.777145;0.000000;-0.629321" time="86.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.760405;0.000000;-0.649449" time="87.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.743144;0.000000;-0.669131" time="88.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.725374;0.000000;-0.688355" time="89.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.707106;0.000000;-0.707108" time="90.000000" type="Quaternion" />
    </AnimStream>

In human language: the MP indicator rotates clockwise from -135 deg to +135 deg. It has to travel 270 degrees.

Next on, the same thing, minutes later with 0840:

Code:
<AnimStream id="0" length="90.000000" name="Rotation" partName="MP_gauge_needle">
      <Keyframe data="-0.000000;-0.000000;0.000000;1.000000" time="0.000000" type="Quaternion" />
      <Keyframe data="-0.000000;0.707106;0.000000;-0.707108" time="90.000000" type="Quaternion" />
    </AnimStream>

And this one could both rotate clockwise from -135 to +135 (270 deg total travel) AND counter-clockwise from -135 to +135 (90 deg total travel).

The latter is better since it's more compact, of course. We should use a workaround for this now, so in my case I need to add a keyframe between the two outer keyframes.

For more complex animations I still need to find out what it can be (for example, my tailwheel is in the 0 deg position on right turns, in the 180 deg position on left turns).

Hope this helps anybody :)
 
Top