• 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 - Skinned meshes mini-tutorial

Hello guys,

I released a new version (0.7.02) today.

After solving the issue described above, I decided that we should have support for constrained animations. That required digging through quite some amount of internal Blender data to find the correct data source for the animation data. But I found it and I'm happy to say that you don't need to bake your animations before export anymore (if you never thought about doing that before... never mind :tapedshut), that is done automatically now.

I have used the Track To and Locked Track constraints while testing. The Track To constraint is perhaps the most difficult to use, because it involves many different coordinate systems. Use World Coordinate system as Target space and as Owner space whenever possible. It is sometimes necessary to check the "Target Z" box and adjust the target object's orientation so that the constrained bone can track it without "jumps". In this case, a jump means a sudden shift in position and/or rotation from one frame to another. The behavior of this constraint in combination with Blender2FSX remains somewhat unpredictable, because there are many settings that are not yet tested. So be careful and don't pull your hair out when using the Track To constraint...

If you encounter any problems with the new skinned animations feature, be sure to let me know here in the Blender subforum.

Happy blending to you all... :)

PS. Now it is time to download and fly the FIRST ALL BLENDER AIRCRAFT released in FSX history! Daan's Fokker D.XXI! Woohoo!
 
Last edited:
Hi,

So there! I immediately downloaded
thank you for all this work, will be happy christmas :santahat:
 
Is there any limit to the number of bones using? And should there be a kind of 'parent-bone' which isn't used for animation? (like in the video, Bone wasn't used)

I just don't get the cowl flap animation exported...
Gear did it yesterday, I'll give it a try now...
 
Is there any limit to the number of bones using?
From the FSX SDK (New Aircraft Procedures):
  • There is a limit of 128 bones per model, and a limit of 22 connected bones. Any one vertex of a model can be influenced by a maximum of four bones. Models will fail if they exceed these limits.
And should there be a kind of 'parent-bone' which isn't used for animation? (like in the video, Bone wasn't used)
No. All bones can be animated. The static bone is necessary if your skinned mesh object has parts that won't be moving at all. Those vertices need a bone/vertex group too or else XToMdl will raise warnings.
 
Hmm, I've only 2x26 + 2x10 =72 bones now. The cowl flap bones are not connected, but placed circular.

Model is being exported fine.

I need to think...
 
@Dutcheeseblend
Connected in the sense of FSX means that one is the parent or sibling of the other; you can disconnect bones in Blender (Alt+P) and still keep the parent-child relationship. This means that FSX would still see them as "connected" bones. I'm simply stating this because if you have 26 bones in one armature, this could be causing issues. If, however, you are using a separate armature for each bone, then your bones are truly disconnected.

I haven't yet tested the impact of skinned meshes on draw calls, but if you have 26 cowl flaps on each engine, then using a skinned mesh would theoretically result in a drastic cut in draw calls (from 26 to 1!). Imagine you could make your whole aircraft into two or three draw calls simply by driving the animations with bones. That should be possible... My test cylinder shows as only one draw call in MCX. So...
 
Ok, I checked but none of them is connected or even parented in that group of 26. BTW my landing gear didn't work either now. I'm a little confused, so it might be time to go to bed ;)

Scaling problem as in the video is eliminated indeed.

WRT the bones limit: I believe that the number for FSX is unlimited now. But that might have to do with the exporter for Max (64-bit version)...

But experimenting with an entire skinned airplane, should be worthwile......
 
Ok, got it! I hope... It is indeed the limits problem. And the limit is... 22 bones per armature (they don't even need to be parented or connected!)!

More observations:

I tested it using a row of cylinders (in one object!) with 32 vertex groups. So 32 bones (just like in your video Felix, but with only 2 per cyl), the upper being animated and tagged, the lower not. After export, the model shows this row of 16 cyls fine, but no animation.
Then reducing the number of bones by deleting. Still the same result of 16 rigid cylinders.
When I had 22 bones, the cylinders (read: vertex groups) of which the bones were deleted, also disappeared. But the other groups animated nicely.

Sorry! :oops:
 
Interesting... Thanks for putting your observations here. I guess bones in the same armature are automatically connected because they are all children of the armature object, hence siblings. Maybe I should look into taking out the armature object from export.:stirthepo But then I'd have to take care of naming the bones automatically, etc... :censored:!

Anyway, keep us posted on your findings.

Regards :)
 
I need to experiment further with this, since offsets of bones don't seem to be taken into account (I mean, when having a circular array of bones, animate them, export, but in the sim they will have the same origin). But that might also be a workflow issue.
Don't worry about this now, we have skinned animations and that's enough so far ;) thanks!

I need to focus on T.5 rudimentary interior modelling now...
 
Hi everyone,

My English is very basic, and my experience of modeling is only a few months old! But your leadership encourages me to continue, and my efforts are beginning to show results ...

But after the fight a few weeks to reach operating a landing gear in Blender (with a set of bones), my animation does not pass in FSX (the objects of my landing gear yes, but without animation ...!) .

For me it is quite complicated to explain the details of my frame and linfluences bones on the objects. I prefer to submit my .blend file ...
ProjetLandinGear13.blend

Thank you for helping me to solve this problem ...

Chris
 
Last edited:
Ok. You forgot to tag the animations with FSX Animation Tool. Select all the landing gear parts, go to FSX Animation Tool and select "l_gear" or "r_gear" from the list depending on which side your gear is on. Click Assign.
 
Last edited:
OK...! But when you say "all the landing gear parts", you want to say, select each objects or select each bones? At first, I had to tag the first bone that influences the animation of all the other bones (Blender); and some bones being a parent of some objects, I thought the excitement would consist ... automatically!
 
OK...! But when you say "all the landing gear parts", you want to say, select each objects or select each bones? At first, I had to tag the first bone that influences the animation of all the other bones (Blender); and some bones being a parent of some objects, I thought the excitement would consist ... automatically!
No, the problem is: Bones are only exported if you select the "Skinned mesh" option in the exporter. Bone is not exported -> Animation is lost. That's why you have to tag all the objects that do actually get exported. It is a bit complicated, but that's the way it is at the moment.
edit. Actually your assumption is correct. if the parent is animated and tagged, all the children will move with it "automatically". But if the parent (i.e. Bone) is not exported, the children won't move.

Alternative option would be to export the whole landing gear as a skinned mesh, as shown in the tutorial. In this case, you have to use another rigging method. You rigged your parts the old fashioned way by parenting bones to the objects. The new and preferred way (and the way which works for the exporter) is to use the Armature modifier with vertex groups, as shown in the video tutorial.
 
Last edited:
@Chrismot

And you have no material applied to most of the parts. You need to apply a material to all the parts. In the case of a skinned mesh, you have to activate "FSX Material Params" checkbox and check the "Skinned mesh" option.
 
Hi Felix,

After multiple tests, here are my findings:

The method "old" comprising to parent objects with bone and then tagging each objects of the structure works! My landing gear is well positioned with the corresponding animation.

The new "preferred" method gives me some problems! I tried two different approaches:

1.- each object of my landing gear is completed by the modifier *Armature", to be part of a VertexGroups in which there is only "the" bone required for its movement. All the bones have been tagged. My objects and my bones all have a scale 1.1.1. The animation works ... the objects move, but with incorrect positions and strange angles!

2. I have attached all the objects in a single one object (Ctrl-J). Then, as in the video, I assigned each part of the new object to its corresponding bone animation (Vertex Groups). All the bones have been tagged. The animation does not work ... but..., if I load a plane and position it, with landing gear extended or retracted, then loading my plane test, the "general" position of the landing gear looks correct, but with all objects scattered around I don't know what ...! And wihout animations...

Thank you for your work and your help ;)

Chris
 
Back
Top