• 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 v2 AI Ship Animations

OK so then my gauge should look like this:


<Gauge Name="ExitDoor" Version="1.0">


<Element>
<Select>
<Value>
(A:EXIT OPEN, percent) 5 &gt;
if{ 100 (&gt;L:door_0, number) }
els{ 0 (&gt;L:door_0, number) }
</Value>
</Select>
</Element>

</Gauge>


Pretty sure this will not work, however, but we'll see.
 
Didn't work. I really it needs to be a custom animation tag for it to work on an external ai object.
 
I'm going to build myself a test gauge that will identify the AI objects around the user aircraft and use it to send the exit command to one of them.
To clarify, I'm not talking about opening the doors on the user aircraft, I'm going to use SimConnect to command the AI aircraft to open its doors.
I'll let you know how it goes.

Doug
 
For my own reference (as I am needing to refer to these instructions by Essex every time to export a new elevator to test)

http://www.fsdeveloper.com/forum/threads/carrier-animation.16061/#post-753272

-- if you are reading this thread in the future, wanting to animate carrier elevators or some kind of hardened platform on a moving object, you might also be interested in this thread (above). Again, credit to Essex -- no idea how he arrived at this.
 
I'm going to build myself a test gauge that will identify the AI objects around the user aircraft and use it to send the exit command to one of them.
To clarify, I'm not talking about opening the doors on the user aircraft, I'm going to use SimConnect to command the AI aircraft to open its doors.
I'll let you know how it goes.

Doug, would you share the gauge with us? Interested to see how it goes.
 
So assuming then that I was using the gauge from the Victorious 1940 ship, in our previous example, my custom animation tag would looks something like this correct?

<PartInfo>
<Name>CV_Elevator</Name>
<AnimLength>100</AnimLength>
<Animation>
<Parameter>
<Code>
(L:HookPosition, number)
</Code>
<Lag>15</Lag>
</Parameter>
</Animation>
</PartInfo>
 
Victory (partial)!





The thing works!

Not as intended, as it does not drop all the way to bottom of the animation, so I will need to double-check my dodgy animation work. But heck, for today, I'll take it!!
 
Excellent! You can use a gauge to toggle the L:Var directly, so you won't have to worry about assigning a tail hook to a helo.
I will draw your attention to one event/variable combination that is completely unused, yet seems to persist, at least up to and including FSX.
That is RAD_INS Switch. You can fire the toggle event and the variable will change, in any aircraft.

Doug
 
Essex, that aspect works like a champ, just the way you described it. Not changing that at all.

Although I wonder now if that has something to do with my new problem here, which is why the animation only goes about 1/4 of the way down. That has me stumped, not even sure what to change in order to test.
 
Opening the main exit door isn't my favorite method, but it works. Now we can test some alternative methods, like the one Doug suggested above.

EDIT: DAMN I am FIRED UP!!! Whoo-hooo

Thanks for all the help, especially to Sylvain and Didier that helped a bit offline.
 
OK here are my two animation tags that I added into my modeldef.xml file (note that I had to use a separate animation tag with its own GUID for each door):


<Animation name="welldeckdoor1" guid="9e50570a-ca4d-489f-2f0a-024878b2e5b8" length="120" type="Sim" typeParam2="welldeckdoor1" typeParam="AutoPlay" />

<PartInfo>
<Name>welldeckdoor1</Name>
<AnimLength>120</AnimLength>
<Animation>
<Parameter>
<Code>
(L:Welldeckdoor)
</Code>
<Lag>15</Lag>
</Parameter>
</Animation>
</PartInfo>


<Animation name="welldeckdoor2" guid="67cda89a-a2d4-4a55-040d-fae4b226c2a3" length="120" type="Sim" typeParam2="welldeckdoor2" typeParam="AutoPlay" />

<PartInfo>
<Name>welldeckdoor2</Name>
<AnimLength>120</AnimLength>
<Animation>
<Parameter>
<Code>
(L:Welldeckdoor)
</Code>
<Lag>15</Lag>
</Parameter>
</Animation>
</PartInfo>

Actually for those that are trying to use this as a template, one of the issues I had was the naming. Where you see Welldeckdoor1 in three places, all those need to be the same (I think). Somebody more knowledgeable than I (damn near anyone on these forums) will correct me on that, but it did seem to me that was the case.
 
Last edited:
Here is my gauge, which is in a file called 'welldeck.xml' -- nothing much but here it is:

<Gauge Name="Welldeckdoor" Version="1.0">


<Element>
<Select>
<Value>
(A:EXIT OPEN, percent) 5 &gt;
if{ 100 (&gt;L:Welldeckdoor) }
els{ 0 (&gt;L:Welldeckdoor) }
</Value>
</Select>
</Element>

</Gauge>


And lastly, the little entry that goes in your panel.cfg for whatever rotorcraft/aircraft you are using:

gaugeXX=Welldeck.xml, 0,0,0,0
 
OK time for a beer. This is one accomplishment I have been wanting to figure out for a long time now.
 
Alright back to work.

SO let's say I want to use Doug's suggestion and check for RAD SIM SWITCH --- that is a Boolean variable. How would I rewrite my gauge in XML?

So far I have been using a 'Percent Over 100' variable

<Value>
(A:EXIT OPEN, percent) 5 &gt;
if{ 100 (&gt;L:Welldeckdoor) }
els{ 0 (&gt;L:Welldeckdoor) }
</Value>

So I would need to have something like (A:RAD SWIM SWITCH, bool) 1 &gt; --- is that correct?
 
Although I wonder now if that has something to do with my new problem here, which is why the animation only goes about 1/4 of the way down. That has me stumped, not even sure what to change in order to test.

I think the variable is in the range 0-100 whereas your elevator animation is something like 0-400. Therefore you should adjust your elevator animation to be in the range 0-100, and reduce the lag value (mine is set at 9 which still a bit brutal) down accordingly.
 
Sorry, the RAD_INS switch isn't going to work - I can't send it through SimConnect. :oops:
Here is the test gauge I promised. I have been able to open and close the main exit on AI aircraft, as well as move the flaps up and down. I added the wing fold as another test item, as I couldn't get exit 2 to work.
The panel.cfg syntax for the gauge is:
gauge15=dsd_SimConnect_Exit_Control!ExitControl, 516,531,444,98
You might want to put it in its own panel window so that you can undock it.
To use it, scroll through the list of AI objects until you find the one you want. There may be a number of objects available, depending on where you are. The gauge searches for everything within two nautical miles.
Scroll through the list by clicking on the upper part of the gauge - where the ID and title of the current object are displayed.
 

Attachments

Last edited:
Back
Top