An unplanned new feature: Unwrap Texture Creator

Sometimes working on new features does not go as I expected. For example a few days ago I got the question on the forum is ModelConverterX can also export unwrap textures. So I replied to that user that this feature is on the wishlist (actually it has been on the wishlist since 2013), but that I could not promise that it would be implemented soon.

Within a day another bug in ModelConverterX was reported. Certain FS2004 aircraft model did display fully transparent in the preview. After analysing this bug I found out that it was caused by the way that ModelConverterX combined the diffuse colour alpha with the texture, as in FS2004 you can make the texture transparent without using an alpha channel for it. I had implemented this in such a way that the entire alpha channel would be set to the diffuse colour alpha value, but that was the cause of the bug where the entire aircraft became transparent. The solution was relatively easy, ModelConverterX should only set the alpha channel to the desired value for the parts of the texture that are mapped on the triangles with the diffuse colour alpha value. So I implemented that as a fix.

But hey, wait a second. With the logic to write only to the alpha channel for the areas that are mapped to triangles, I did make the basics for unwrap textures as well. So although I was not planning to implement that 13 year old feature from the wishlist on short notice, due to this unexpected coincidence between the feature request and the bug report, it became very easy to implement that feature as well now. So I made a new editor that allows you to create an unwrap texture and control which elements are shown on it. Below is a screenshot of this editor. You can find it in the special tools menu or in the context menu of the texture list in the material editor texture tab.

Enjoy this new feature, it’s available in the latest development release!

Skin and bone animations via Assimp

Over the last few weeks I have been working hard on making sure that skin and bone animations are imported correctly for the formats that are read via the Assimp library. This means that you can now import such animations from COLLADA and FBX files.

In itself this feature might not sound very useful to most of you probably, but since I got stuck the last few times that I tried to add support for glTF skin and bone animations, I decided to try it with another format first. While working on this feature, I did figure out that some of the ways that I stored the skin and bone animations were not optimal, so I have changed this as well now. With that I am hopeful that I can add support for glTF soon as well (that is probably the next issue I will start to work on).

Below is a little video demonstrating this new feature. I found this test model in the Assimp repository. It probably tells you something about my age that I had no clue what the model is. Just yesterday my son asked me what this Pokemon had to do with flight simulator.

FS2004 scenery MDL tweaks

The last week or so I have been working on a new feature for ModelConverterX that really was a trip back down memory lane. The new feature is that certain ASM tweaks that we used to make for FS2004 can now automatically be applied by ModelConverterX when you export your FS2004 scenery MDL file. These are:

  • No shadow for the object: selected as option on the export object dialogue.
  • Rotate to user for the object: selected as option on the export object dialogue.
  • Seasonal textures: selected in the material editor by setting has seasonal textures attributes to true, the seasonal settings can be set for your object in the seasonal settings editor).
  • Long animation fix, this feature was already available in the animation editor in the special tools menu. That editor has been removed now and instead there is an option in the export object dialogue for it now.

What ModelConverterX does when you use these options is that it will intercept the ASM files that MakeMDL can create and will automatically apply the ASM tweaks for the different features that we used to have to do manually in the old days. After the tweaks have been added ModelConverterX will use BGLC9 to compile the MDL file again with the tweaks included.

You might say that it has taken a long time, but with these few changes most of the MDL Tweaker II features have now been migrated to ModelConverterX. It only took 20 years to do so. The only feature still missing is the conditional display of objects. ModelConverterX uses visibility conditions for that, maybe one day I can link them to the ASM tweak for conditional display on export as well.

ModelConverterX 1.8 stable hotfix1

Yesterday a quite annoying bug in the new ModelConverterX 1.8 stable release was reported that caused the selection mode to not work correctly after the model has been rotated. This bug had been introduced when the new interactive editing was added a while ago, but apparantly was not noticed in the development release. I have fix it now in the development release.

Since this bug has quite some impact on the selection mode and it was found very shortly after the stable release, I have decided to also make a hotfix for the stable release. So a new version of the stable release has also just been put online.

New stable version released: ModelConverterX 1.8

It’s time for an early Christmas gift this year, I have just released a new stable release of ModelConverterX. In version 1.8 all the changes that have been made in the last year are included and if you have tested the development release you will have seen them already. There have been over 100 changes compared to version 1.7, so I am not going to list them all here. But the main new features are:

  • ModelConverterX using .NET 8.0 now, instead of the .NET Framework 4.8 as the previous versions did. So make sure you have the x64 runtimes files for .NET 8.0 installed.
  • A new options dialogue has been implemented. Settings that are related to the import or export of objects have been moved to the import and export dialogues. The remaining general options are shown in a new, more user friendly form.
  • MSFS 2024 MDL objects can be read, as well as the KTX texture format that MSFS 2024 uses.
  • The performance of the LOD Creator has been improved a lot, especially with big and complex objects. And the MSFS 2024 specific LOD structure is supported better.
  • glTF objects using the meshopt compression can be read.
  • It is possible to place and move attached effects and lights interactively in the 3D preview now.
  • A Building Creator Wizard has been added that you can use to quickly generated buildings from a footprint.
  • And many, many more (small) changes.

So enjoy this new release. The development release will be updated to version 1.9 now and I have already started coding some new features. So these will appear soon in the development release.

ModelConverterX 1.8 release candidate

I plan to release a new stable release of ModelConverterX in the near future, this will be version 1.8. You can consider the current development release of ModelConverterX a release candidate for the next stable release. I do not plan to add new features or functions to it any more at this moment. I want to use the next month or so to see if there are still crucial bugs in the development release that should be fixed. So hopefully somewhere before Christmas there will be a new stable release.

Once the new stable release is out, I will update the development release to version 1.9 and start to add new features in it again. Since I do this as a hobby it is hard to plan what I will work on (a sudden post in the forum or a cool idea can easily distract me), but I have two features high on my next-to-do list:

  1. Have another go at support skin and bone animations in the glTF format. I already tried that twice in the last years, but I never got the conversion to the glTF way the information is stored to the ModelConverterX representation working robustly. The ModelConverterX internal representation is very close to how the FSX and P3D MDL files store skin and bone animations.
  2. Update the OpenGL code of the preview. It is about 18 years ago that I started ModelConverterX and in the preview there are still old fixed pipeline elements, while most things have moved to shaders now. I think it is time to get rid of all fixed pipeline code to be more future proof and keep the code easier to maintain. This second item is probably not something that you will notice as a user, it’s more to make my life as the developer easier.

Interactive attached object editing

The latest development release of ModelConverterX contains a cool new feature. You can now position and orientate attached objects, like lights or effects, with the mouse instead of having to type the coordinates in the editor. Although I always liked the precise control entering the numbers gives you (that’s probably the engineer side of me kicking in), I have to admit this interactive way of adding them is much more user friendly.

In the video tutorial below I give a demonstration of the new feature.

Site available again

The scenerydesign.org website is available again. The site has moved to a different IP address, so it might take a little while before the DNS update has propagated everywhere.

On the plus site, you should see faster download speeds for my development releases now.

Downtime

Today there is some maintenance scheduled on the server where the scenerydesign.org website runs on, so this could result in a little downtime somewhere during the day. So if you have trouble reaching the site later today, just try again after a while.

Sneak preview: interactive attached object placement

Yesterday I started to work on a feature that has been on the wishlist for quite a while. I am not fully done yet, but since the results are quite nice already I want to share this preview video. In this video you see an interactive mode to place and orientate an attached object (in this case a light). With this new mode you can just click on the object where you want to light to be and then press on the ground or object to specify the direction it should shine.