Sunday, December 17, 2023

New Way to do Morphing Armatures

In DAZ Studio there are ERC morphs that change the rest pose of an armature. The DAZ Importer has supported such morphs for some time, see the blog posts on Morphing Armatures and Morphing Armatures and Rendering. Basically, the plugin enters edit mode at each frame and changes the rest pose. This method has several drawbacks: it is slow, it does not work with the standard animation tools, and it cannot be exported to game engines.

Recently @AlternateDreams in the DAZ forum suggested an alternative way to do morphing armatures. Basically the idea is to apply the morphed armature as a pose, then use a corrective shapekey to fix the mesh. The corrective shapekey is easily generated in Blender using the armature deformation as base, as explained in the video below.

https://www.youtube.com/watch?v=Qoboh-da_9Q

This new way of doing morphing armatures has now been added to the DAZ Importer.

The generation of ERC morphs is controlled by the global setting ERC Method. It can take three values:
  • None: ERC morphs are ignored (the default).
  • Translation: ERC morphs are approximated with translations and a compensating shapekeys (the new way).
  • Armature: ERC morphs change the rest post (the old way).

We set it to Translation.

Select a Genesis 8 Male and import the Massive Monster as a custom morph. We also transfer the shapekeys to the clothes.
Dr Jekyll and mr Hyde, perhaps. Note that the morph moves the bones apart. It only moves the bone heads, but the length and orientation of the bones remain unchanged.
Because the bone orientation does not change, we can still import poses and get a reasonable result.
Here are the shapekeys. From the original shapekey to the left, we subtract the influence of the bone translations in the middle, and get the shapekey to the right. This shapekey, together with the deformation from the bone translations, gives back the original deformation.

The new way of doing morphing armature has several advantages: it doesn't require any special buttons or hooks, it works with file linking, and it can be exported to game engines. However, it doesn't work with advanced rigs like MHX or Rigify, and it is only an approximation that can sometimes give erroneous results. Therefore it is disabled for FACS and other standard morphs.


Thursday, December 7, 2023

Version 1.7.3 Released

Stable version 1.7.3 of the DAZ Importer and MHX Runtime system is a bugfix release. In particular, it fixes a bug that prevented older characters to be imported under Blender 4. This version can be downloaded from https://www.dropbox.com/scl/fi/3hdkujzb7yvgqsx226zpz/import_daz_mhx_rts_v1_7_3.zip?rlkey=oqugyrheyn2sma3zmxmxd2m3d.

Friday, December 1, 2023

Version 1.7.2 Released

Update:

Version 1.7.2 contained a bug that prevented older characters to be imported under Blender 4. That is fixed in stable version 1.7.3, which can be downloaded from https://www.dropbox.com/scl/fi/3hdkujzb7yvgqsx226zpz/import_daz_mhx_rts_v1_7_3.zip?rlkey=oqugyrheyn2sma3zmxmxd2m3d.

Original post:

Version 1.7.2 of the DAZ Importer and MHX Runtime system has been released. It can be downloaded from https://www.dropbox.com/scl/fi/avm8al0hvr9hcr3lr78xd/import_daz_mhx_rts_v1_7_2.zip?rlkey=ytanxu07xotsozcuhhv1pa7tb.

The main improvements in this release are:

  • Support for Blender 4 (bone collections, principled shader version 2, hair curves).
  • Major performance boost for morph loading.
  • Improved support for older rigs with triax weights.
  • Bugfixes. 

This release has been tested with Blender 2.83, 3.6 and 4.0, but should  run on intermediate Blender versions too.