Thursday, December 30, 2021

Using Old Morphs in Version 1.6.1

In version 1.6.0 of the DAZ Importer the new morph system was introduced. It is not compatible with the old morph system from version 1.5.1, but old characters could still be used in version 1.6.0 because code necessary to deal with old morphs was kept. However, in the current development version, which will eventually become 1.6.1, support for the old morphs has been dropped. So morphs made for characters in version 1.5.1 do not work in the current version. Fortunately, there is a way to fix this, using stripped runtime system that was included in the 1.6.0 release.

Here we have created a character in version 1.5.1 ( the last version compatible with Blender 2.79) of the DAZ Importer, and loaded some morphs.
If we append the character into a new Blender file and run the latest version of the DAZ Importer, the morphs do not work. The sliders show up in the Morph panel, but nothing happens if we change them.
To fix this, go to the Scripting tab and open the stripped runtime system which was included in the 1.6.0 release. We need to load the file runtime_stripped_28x.py in the runtime_stripped folder.
Register the script in the Text menu, save the blend file and reload it. This is important because the script does not take effect until the file is reloaded.
And now the old morphs work.

There is an important limitation to this approach. The old and new morph systems do not work together, so the old morphs will stop working if you load new ones in version 1.6.1. If you want to add morphs, you need to go back to version 1.5.1 and load the morphs there.

Before the old morph system was introduced, there was an even older morph system. There was a conversion utility, which was described in the announcement, but I haven't tested to use it.