Blender Blender2P3D/FSX


Resource contributor
Hey Dietmar,
Hello @Vitus
I just tried your last version and I encountered the following:
  1. My scenery object ended up slightly misplaced: Blender's floating point resolution isn't precise enough.
  2. Bump scale isn't properly exported, but alway one
  3. How do I specify material colors when not using a texture? (especially done for specular colors on less important objects to save performance)
  4. Is it possible to hide the options that are not available with the selected sdk?
  5. Can the node tree be customized? As I prefer to use unconverted png textures for modeling (more flexible workflow in texture creation) I always have to remove the normal map rechanneling and UV flipping nodes, jus as an example, but I do that over and over again on every material. Others may like it that way on the other hand. Maybe a single slider could fix that? I also thought of node group to improve the overview. It could look somewhat like this:
View attachment 56468

Keep up the good work!

Hi David,
1. I am working on a new version right now and after some consultation we have decided to switch the lat/lon variables back to strings. It's a bit of a bummer, because I liked the fact that you couldn't input gibberish before, only numbers. But Blender uses 32bit floats for ALL custom floating point variables. And to make things worse it seems like there's some conversion going on in the background that looses more precision.... So long story short: the switch back to string will resolve that, at the cost of a syntax check.
2. I'll look into it! It's possible that I forgot some of the variables when converting to the new Blender version.
3. It's currently not possible, but the support for "flat", textureless materials will be possible in the next version!
4. To a certain extend, yes. I am currently going through a list of things that will be hidden from the material ui, depending on which SDK is selected. The one thing I cannot easily hide is the main switch between Specular and PBR material. So it will still be possible to select PBR, while using the FSX:A SDK in the future - however the exporter will point out the error in your ways if you choose this combination anyway :)
5. You can customize the shader graph to a certain extend. The limits are outlined in the wiki, but the tldr is: don't delete the principled bsdf/specular node! And if you use mixRGB node to combine different texture maps in your shader, make sure to keep the original image texture nodes! When those nodes are initialized, they are being given an internal name which can identify them in the exporter.

I hope this helps and sorry for the late reply!


Resource contributor
@Dietmar: your installation procedure shouldn't be an issue, Blender is really straight forward when it comes to this anyway. Blender simply loads anything you drop into %APPDATA%\Blender Foundation\Blender\<version number>\scripts\addons\ - no additional registration or config file is needed. That makes the update process very robust. So in other words: you did everything correct :)
I was intrigued by your shader graph, it never occurred to me to test using one single texture node and link it to all three inputs. So I did, and to my surprise it worked fine on my end. I must wonder however, why you're doing it? If you're looking for a simple, flat material, just use the diffuse slot and nothing else! Let me know if that works and we move on from there!


Resource contributor
Oh and I failed to mention:
I am working on the implementation of the Prepar3D version 5 SDK. So stay tuned for that update, it won't take long until it's done! If any one here found some major changes to the .x file format, or anything else that might affect our toolset, please let me know! @Pyscen pointed out that there's a new option coming in the PBR material, where you can utilize the B channel of the metallic map to control the reflection of the material. If you guys find something else, let me know and I'll try to accommodate it.
I have the same problem as above.

I am currently using Blender 2.82 and updated from your 0.97.10 to 0.97.30...

Skip that, I just got notified that the thread had updated since I opened/started to write this. Was helping my youngest with school work and I guess I had it opened longer than I thought.

I'll switch back to 0.97.10 for now.

I do want to say thanks for all the work. It is nice to see my model in FSX finally. It has given me the drive to finish it and finally see it flying.


Resource contributor
Hi Vitus,
here my new findings:

1. I de_installed the my current 0.97.20 update, re-moved my current material setting ( deleted the Blender file ) and saved Blender .
2. I reopened Blender and all was clean. No update no material settings.
3. I installed 0.97.10 , activated it , and did a complete new definition of my material which is base on my single image texture. Below the
shader layout as being generated by Blender ( no modifications from my end):


4. I exported the file , checked the log box also , got the .mdl file , installed in FSX and all worked OK. The log file showed the correct version and the
name of the log file was BlenderP3DFSXLog.txt

5. I closed and saved Blender .

6. I re_opened Blender , did again my export to .mdl and all worked OK.

7. Now I installed 0.97.20 did my export to .mdl and it worked OK . However the log file was still the .10 version .

8. I saved Blender and re_opened it again, did my export, and my texture was gone !! My log file showed the correct version in the text however the name of the
was now A320_Model-log.txt. Means the log file has now used my friendly name being defined in the P3DFSX Properties panel.
I discovered the same thing for the .30 version. As soon as the log file has the friendly name included the texture is gone. May be that rings a bell on your considerations.

So, all what I can say for the time being is, that the version .10 works without any problems. Hope this helps.


PS: My simple shader layout as being shown in my previous post was just to test if for a simple single texture file just one shader node works, and it does.

A new slot reflectance appear in the SDK P3D v5 for PBR texture, this slot did'nt exist in v4.5.
Then this slot isn't use, the PBR seams more darker in the simu (not use => color black).

Source: New discussion on P3D v5 on SOH


Resource contributor
Hi guys,
I just uploaded an updated version of the toolset, but as always it awaits moderation before it'll be accessible to you. In the meantime, here's the changelog:
  • Support for the Prepar3d v5 SDK
  • New way of selection and the storage of the SDK information
  • Included the "reflection map" option for PBR materials (b-channel of the metallic texture)
  • Fixed the issue with material without textures not being exported
  • Changed lat and lon values back to string to deal with the precision problem
  • Limited the emmissive mode of PBR material to "additive" and "additivenightonly", as per sdk.
  • Added forks for the z-bias parameter, depending on the selected SDK
  • Added metallic and smoothness values to the .x file, reading the inverted default value of the bsdf node.
  • "Other Texture Info" is now only available for the applicable SDK (p3dv4 & p3dv5).

Besides the P3Dv5 support, the update addresses some of the issues you pointed out before. I think I fixed the issue that didn't allow texture-less material to export, but please let me know if you'll still have issues after the update. It should now be possible to completely remove all texture nodes from the shader and simply set the RGB color value for the various inputs. Or a mix-and-match of both methods. For example you could leave the diffuse texture node of a specular material, but delete the specularity map and set the color value via the color picker. The scene should export with those values without a hitch.

I combined the variables that stored the SDK information and put it all into one enumerated list. That means that you know select the SDK directly from ONE drop-down list, instead of the previous drop-down-and-button combination. This meant that I had to replace all the places at which the SDK is referenced to make sure that the new variable is used. I think I found all those places, but if you experience some error message about a sdk-variable not being found, please let me know! It's possible that I missed a spot.

@Lagaffe Yep, that parameter is in the new version and should be set accordingly when a scene gets exported to .x/.mdl now. I am still completely puzzled by the use of this map. So far it makes no sense to me, since in a proper PBR material, the smoothness/roughness map should take care of the reflectiveness of the material. It feels like a step backwards.

In regards to the lat/lon settings of the scenery panel: after looking into how Blender stores floating point variables I decided to convert those two variables back to strings. Blender stores all custom float properties as 32bit floating point variables and to make things worse it seems like Blender is also converting those values back and forth in the background which leads to even less precision of those variables. Since you need quite a high resolution for latitude and longitude, this just doesn't do the trick for us. Now, the two values are strings again, meaning you can essentially type anything in the two edit boxes - for better and worse. But at least it should solve the resolution problem you guys were reporting. I didn't touch the other values, I think that for something like altitude, heading, etc. the provided resolution is good enough. But let me know if there's any other issues with the scenery panel along these lines.

The other changes are mainly to unclutter the material interface. Some of the parameters are now only visible when a SDK is selected which support said parameters.
Hi @Vitus,

In the new version 0.98 that I just tested, several objects, without texture or "empty", used for animations, seem to cause problems when exporting:

No attribut Blender.jpg

Am I doing something wrong, or is it a problem with the toolset...?


Resource contributor
Quick FYI from some feedback I received:

1. It looks like the addon is currently not really compatible with languages other than English. There's a problem with the main node in the shader, which will not be detected if the name doesn't match what the exporter is looking for. So if you're having trouble with your material not exporting, try switching to English, reset all your materials and try again. I'll try to address this at a later date, maybe I can just give the node an English name and thus avoid the problem all together.
2. If you get an XML-parsing error when initializing the SDK, it's likely to due to the recent changes to the scenery panel in conjunction with the quick-save location function. If this affects you, navigate to %APPDATA%\Blender Foundation\Blender\<version number>\config and delete the p3dlocations.xml file to reset those quick-save locations.


Resource contributor
Am I doing something wrong, or is it a problem with the toolset...?
Ugh, usually my first guess would be that my Spaghetti code is causing the issue. However in your case I'll go ahead and blame you :laughing:

Honestly, I don't know why this error pops up, it doesn't make much sense to me.

I setup a scene like this:

Both of the objects, the Empty and the cube are animated with location keyframes. They have different animation tags attached and the scene exported with no problems.

Could it be that there's an issue with the modeldef.xml. Something that prevents the tags to be attached properly?
Hi @Vitus,

In the new version 0.98 that I just tested, several objects, without texture or "empty", used for animations, seem to cause problems when exporting:

Am I doing something wrong, or is it a problem with the toolset...?
I got that same error and traced it back to one or more of my materials not having the new Speculat Material or PBR Material assigned to the material. I had one that it was but when I looked into the Shader Editor, there was no nodes assigned. Make sure your material has one of the 2 needed for FSX/P3D and that "Use Nodes" is selected. That may help, it did with me.
I got that same error and traced it back to one or more of my materials not having the new Speculat Material or PBR Material assigned to the material. I had one that it was but when I looked into the Shader Editor, there was no nodes assigned. Make sure your material has one of the 2 needed for FSX/P3D and that "Use Nodes" is selected. That may help, it did with me.
That's right...! So a material is really necessary... Thank you for your answer...!


Resource contributor
Aaaaah right! Yes, all mesh-objects need a material assigned to them for the scene to export. But keep in mind that you can leave the texture slots blank, or even remove them entirely.


Resource contributor
FYI: more screw-uping on my part:
BThe setup routine for both P3Dv2 and P3Dv3 doesn't set the modeldef.xml paths right, and as a result the initialization will fail. The problem will be resolved in the next update, in the meantime do the following if you want to export to P3Dv2/v3:
- select the SDK
- click initialize and ignore the error
- manually locate the modeldef.xml
- $$ PROFIT $$
Good morning, everyone,

Has anyone tried to export transparent textures...?

I just tried to export a transparent texture for the canopy : the same texture as the one used in Blender 2.79, Specular material with values in the FSX/P3D material rigorously identical ... My texture appeared opaque in P3Dv4! I then tried the PBR material: same problem!

I specify that in Blender, Specular or PBR material, the texture appears quite transparent...

Any help is welcome...!


Resource contributor
Hi Chris,
Could you please take a screenshot of the properties of the wannabe-transparent material in modelconverterx? I hope that that helps to determine whether its a problem with the texture or the way the model got exported. I never ran any tests with transparent material, just checked that the properties were set as they should be, so I might have missed something.
Have been struggling with the same problem in P3D5.
The combinations are infinite but I think the setting we need is in there somewhere.
Am using specular materials for glass until I can find that elusive PBR setup.
Any help is welcome...!