Funny walks

I’m updating the Assimp library that ModelConverterX uses to a recent version and in the process I am also trying to read skin and bones animations from other formats using this new version.

I don’t think I have it all right yet, but this video was too funny not to share with you. It directly reminded my of Monty Python. Enjoy and hopefully soon I get the skins and bones to read correctly.

Best wishes!

Cough, cough, man this blog is dusty. I haven’t written here for much too long.

I would like to wish all the users of my tools the best wishes for the holiday season and for 2020!

I am working on a new update for ModelConverterX that adds support for additional formats. The screenshot below shows a snowman loaded from the glTF 2.0 format.

Seasonal textures in MCX

At the moment the Ground Polygon Wizard in MCX only supports seasonal textures when you export using the FS2002 style code. But inspired by this thread on FSDeveloper I have started now to add support for seasonal textures to P3D v4 MDL files as well.

I have some success already with using visibility conditions to switch different versions of a modelpart, where each then has a different texture. And I plan to experiment with using material scripts as well.

My plan is to support this both in the GPW, but also for normal 3D objects. The user will just have to indicate that seasonal textures are desired and specify the season settings for the specific region. MCX will then on export take care of inserting all the code that is needed (either visibility conditions or script based).

Just wanted to let you know this is coming, I still need some time to change the GPW to support these new options though (underwater I need to cleanup some of the code in the old FS2002 style output as well to keep things organised).

Editing animations and transformations

The latest development release of ModelConverterX adds new functionalities to the hierarchy editor. With them you can edit animations and transformations in your model and add new animations and transformations as well.

In this video tutorial I demonstrate how it works:

I hope this new functionality makes it easier to tweak your models. If you have any questions or problems with this new functionality, please post your question on the ModelConverterX forum at FSDeveloper.

Condition variable options

Many scenery and aircraft objects contain some conditional code. For example a bit of the object that is only shown when certain conditions are met. To be able to process such conditions on import of pre-FSX objects MCX needs to know what the value of the variables in these conditions is. So when such conditions are found in the object, you will get a form where you can enter the value of the variables found in the object. See screenshot of this form you can see below.

Sometimes it can be annoying to get this additional form where you need to enter the values. Therefore ModelConverterX has different modes to work with these variables. You can set them in the options. I have now added a new option to this setting. The possible values are:

  • AlwaysTrue: the value of the variable is not checked, the condition is always true.
  • AlwaysFalse: the value of the variable is not checked, the condition is always false.
  • VisibilityCondition: the value of the variable is not checked, a FSX style visibility is made and used to represent the condition.
  • UserSpecified: the form mentioned above is shown where the user can enter the values of the variables. Then using these values it is checked if the condition is true or false.
  • DefaultValues (new): This one works like UserSpecified, but instead of showing the form it uses the default values for the different variables. This are the values that are shown in the form initially as well.

Prepar3D v4.4 PBR materials

I know I haven’t posted on this blog for a while, but it’s time for an announcement that needs to be here on this blog as well.

The development release of ModelConverterX does include support for the new Prepar3D v4.4 PBR materials. This means that MCX can now:

  • Read the material settings from a P3D v4.4 MDL file
  • Write the material settings to a P3D v4.4 MDL/BGL file
  • View and edit the material settings in the material editor

The preview image of MCX does not use the PBR settings, so the preview is still as before. For a pure PBR material it will probably look a bit weird. That’s something for a future update.

In the material editor I have added a special material view filter that will show you only the PBR related attributes. See the screenshot below. If you want to make a PBR material make sure you set the ‘Is PBR material’ attribute to true, else MCX will export as a normal P3D material.

Another thing you need to be aware of is that MCX can not automatically distinguis between the P3D v4.4 and previous v4 SDKs. This means you might manually have to check if the XtoMDL and BGLComp path for both versions are still correct. You can see them in the options.

Let me know if I forgot anything needed for PBR or if you find other issues. It was quite some refactoring to add this, so I might have broken something else by accident.


CreateXMLLibObj changes

In the next development release of scenProc there is a change to the CreateXMLLibObj step, it has some extra attributes. This means that you will have to update your scripts to work in the latest version.

Before the step had the following attributes:

  1. filter
  2. guid
  3. heading attribute
  4. heading offset
  5. altitude
  6. optional options

In the new build the attributes are as follows:

  1. filter
  2. guid
  3. heading attribute
  4. heading offset
  5. altitude
  6. scale
  7. optional options
  8. optional guid attribute

The new attributes allow you to specify the scale of the object (either a value or an attribute name containing the scale value). The new optional attribute for the guid allows you to read the GUID from a feature attribute, instead of the value used in the guid attribute.

All the details are in the updated manual as well.

Material conversions

Lately I have been doing a lot of experimentation with converting objects between FS, AeroFly and X-Plane. Converting objects between the different simulators is possible, but of course there are differences. For example the way materials work is slightly different in each simulator. I have now added an extra material conversion feature to the material editor that can help you with this. When using this feature all materials in the objects will be translated between the selected simulators.

Below is an overview of what the conversion currently does. I’m sure it could be extended further in the future, just let me know if there are things missing.

FS to AeroFly

  • Convert normal map from FS specific form to generic form
  • Remove unsupported textures (fresnel, environment, etc)
  • Remove alpha channel from diffuse when used to blend environment map instead of for transparency.

FS to X-Plane

  • Convert normal map from FS specific form to generic form
  • Remove unsupported textures (fresnel, environment, etc)
  • Remove alpha channel from diffuse when used to blend environment map instead of for transparency.
  • Combine specular and normal texture into one sheet, as used by X-Plane

AeroFly to FS

  • Convert normal map from generic form to FS specific form

X-Plane to FS

  • Convert normal map from generic form to FS specific form
  • Split normal map into normal map and specular map

AeroFly FS2 support in ModelConverterX

I have added two new exporters in ModelConverterX, with these you can export objects to the TGI format for AeroFly or export scenery to the TSC format of AeroFly.

If you save your object in the TGI format, you need to use the AeroFly Content Converter to put it into the sim. ModelConverterX will save the basic geometry and material settings. Animations and levels of detail are not exported, since I haven’t learned how to do that.

If you export your scenery as a TSC file ModelConverterX will also export object placement data to AeroFly. All objects and the textures they used are all saved and the AeroFly Content Converter is automatically called for your scenery. All the object and texture files are put in the folder where you select to save the TSC file. The screenshot below shows some objects I placed with ModelConverterX.

The current implementation should work fine for scenery objects. For ground polygons I probably need to adjust some settings to let them work correctly. That’s something I plan to expand later. So please give the new exporters a try and let me know if there are issues or additional features that I could implement.