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

Anyone using Blender?

Messages
203
Country
unitedstates
As far as modeling 3D objects outside of GMax, has anyone looked or worked with Blender (www.blender.org)?

It seems quite a powerful and capable tool with great meshing abilities and support for NURB surfaces. The learning curve looks more like the cliffs of Dover!

Export to .X is supported, but it seems to have some issues.

Just curious as I'm playing with it for FSX modeling. I'll report up here what I find.

E.M.
 
Thanks for the reply!

You are quite correct with the characterization "limited"... It seems that any attemps thus far have yielded cryptic XtoMdl errors from not running at all to triangle errors.

Looks like Blender to GMax isn't much better :D

E.M.
 
It seems that any attemps thus far have yielded cryptic XtoMdl errors from not running at all to triangle errors.
You may need to convert any Bezier or NURBS surfaces to Meshes.
And for each Mesh (in Edit Mode) do Edit->Faces->Convert to Triangles.
(A FSX-specific exporter should be able to do the latter silently during the export).
 
Is there an FSX exporter for Blender? I am learning Blender at the moment and really don't want to go and learn a new program.

Anyway, if anyone has success with Blender let me know. Right now I'm just doing paint jobs. But, I have some aircraft design ambitions as well.
 
Last edited:
One way would be to export to .3DS, load this into GMax. I've read quite a few horror stories about 3DS and GMax (and experienced some of those over the weekend).

Thanks for the tip on triangles, that probably explains why Gmax was telling me last night "is this a valid 3DS file?". I'll try that next.

I saw a July post on SourceForge for a direct Blender export script using Python to FSX (via .X). The trouble is the project has seen no activity since July, no doubt because of the unknowns, and of course the fact FSX is just released in practice this November 2006.

I do have a question along the lines of writing the script (bites foot while writing): is there such as thing as published specs for the specific .X format, with its FS10 extensions and limitations, and the new .XAnim format? This may be wishful thinking... :) ?

Cheers,

E.M.
 
Last edited:
I saw a July post on SourceForge for a direct Blender export script using Python to FSX (via .X).
I can't find that. Do you have a link?

I do have a question along the lines of writing the script (bites foot while writing): is there such as thing as published specs for the specific .X format, with its FS10 extensions and limitations, and the new .XAnim format?
If there is I haven't found it.
 
Here's the link for the project - not much going on I'm afraid.

http://projects.blender.org/mailman/listinfo/fs-blend-devpak-cvs

I'm hoping that the gurus as Aces will publish some specs on metadata for .X and .XAnim with the updated SDK for GMax 1.2. The modeling doc in the FS9 SDK has some information on FS9 metadata "added" to the standard .X hierarchy (a known spec). I can tackle a modified .X script in Python, if only I had specs to go by...

The only sample .X file in the SDK for the "platform" placed at Seatac does seem to have the metadata structure for FSX .X files. The .XAnim file also has some interesting findings.

I did play some more with the file format, and while I could view my Blender model exported to .X in the DirectX SDK's viewer with no errors, the FSX mkmdl blew up almost immediately a non descript exception on mesh order... I did add the GUID info and the other template metadata and got past the GUID message.

:)
 
Last edited:
Update:

I've modified Ben Omari's excellent Python .X exporter that is included with Blender 2.42a. After a crash course in Python, I added the required DX and FSX templates, output of a the GUID and changed the names of objects and materials so they are compatible with .X (in this case, replacing periods with underscores).

Generating GUIDs in Python proves to be a challenge (there is a script out there that does this, but it doesn't use the mac address of the box, it uses the IP which can be duplicated). That by itself may require the use of a second pass through an external app before it ends up processed by XToMDL, or added as a field to the exporter's UI.

Bottom line is that I was able to export my very simple model and compile it to MDL with XToMDL with no errors. The key here is that the meshes must be converted to triangles first (Blender uses quads and triangles) and the normals need to point outward.

Ben's script also extracts bones and hierarchy linkage from Blender, so animation export should be entirely possible once the specs of the output files (.XAnim in particular) are known.

It seems that Blender has all the required information to populate the necessary structures for XToMDL.

The 3DS scripts in the SDK are thankfully in text and provide some insight as how how the mapping and new part names work.

Lastly, XToMDL is actually a .Net 2.0 console application. Any reflector will theoretically shed some light as to how it works internally, in particular what inputs it expects.

I'll continue to post my findings.

Etienne
 
Last edited:
Good work.

Generating GUIDs in Python proves to be a challenge (there is a script out there that does this, but it doesn't use the mac address of the box, it uses the IP which can be duplicated).
I'm not sure that auto-generating a new GUID every time you export is such a good idea anyway. How about allowing the user to enter and store the GUID and FriendlyName in the Blender scene? I would suggest using properties (F4) on an "Empty" object for storing this info. And to read it in python:
Code:
guid=None
name=None
if obj.getType()=='Empty':
  for prop in obj.getAllProperties():
    if prop.type=='STRING' and prop.name.strip().lower()=='guid':
      guid=prop.data
    elif prop.type=='STRING' and prop.name.strip().lower()=='friendlyname':
      name=prop.data
Alternatively, you could just set the name to the Blender file name:
name=Blender.sys.makename(ext="",strip=True).

The key here is that the meshes must be converted to triangles first (Blender uses quads and triangles)
It would be nice if your script secretly decomposed quads into triangles during the export, so that the user doesn't have to care about this. Just out put two triangles instead of one quad. I think that the two triangles should use vertices (0,1,2) and (0,2,3), but you may need to experiment.

and the normals need to point outward.
The DirectX exporter appears to always use the normal of the whole face, which means that you won't get smooth surfaces (ie when the "Set Smooth" button is pressed in Blender). If (face.smooth==True) you should use per-vertex normals (vertex.no) instead of face normals (face.no).
 
Last edited:
Back
Top