DAZ Importer

Version 1.7.0 Released

Finally, version 1.7.0 of the DAZ Importer and MHX Runtime system has been released. It can be downloaded from https://www.dropbox.com/s/vpku2n8dhqmua37/import_daz_mhx_rts_v1_7_0.zip.

The plugins have been tested with Blender 2.83 and Blender 3.5 under Windows 7 and Windows 10, but should work with intermediate versions as well.

The most signicant new features in this release are:

  • Support for Genesis 9 characters.
  • Support for Blender 3.5, in particular the new mixing nodes.

There are also some other improvements and many bugfixes.

The documentation has moved to the Bitbucket wiki. It is not quite up-to-date, but I didnā€™t want to postpone the release further. Here are links to the wikis:

DAZ Importer
MHX Runtime System

6 Likes

great! good job.
is it still the case that armatur adjustments are not working which characters created with 1.6?

If remember right, you introduced in the dev version there a breaking change which forced me to back to an older version, after Iā€˜m currently in a bug project ad redoing the character is too much work.

Thomas, thank you for the update and your hard work in general. Itā€™s incredible.

Iā€™m using your plugin to make animations for Unity. It works more or less decently, I donā€™t have too many issues, except a couple that could be very helpful.

Is there a way to completely reset an armature? Sometimes when I import a pose and animate it, I cannot import another pose to it. It just doesnā€™t work anymore, until I re-import the whole model again. This is especially egregious with the IK.

Also, I would like to know if thereā€™s a way to ā€œforceā€ the Daz Importer to import poses to armatures that are renamed. If I change the Armatureā€™s name, it stops working. Completely. Sometimes I need to animate two characters at the same time, and right now itā€™s giving me some serious issues.

If you -or anyone for that matter- know some kind of method to make it easier for me? Iā€™d love to hear it.
Maybe baking mhx rig into the normal Genesis 8 rig? Is that even possible?

Again? Thank you so much for this plugin. Itā€™s a life saver.

My solution to the retargeting scheme was simple, in case anybody wants to retarget to a DAZ rig.

I duplicate the bend bones and use those for retargeting; then I drive the bend and twist bones by Copy Rotation constraints. Once the retargeting is done, bake the bend and twist bones with visual keys and turn off the constraints. Working beautifully.

1 Like

Version 1.7.1 Released

Version 1.7.1 of the DAZ Importer and MHX Runtime system has been released. It can be downloaded from https://www.dropbox.com/s/7mj32wh3bnn4rwe/import_daz_mhx_rts_v1_7_1.zip.

This is primarily a bugfix release. A number of serious bugs were discovered right after the 1.7.0 release. Those have now been eliminated, so I recommend everybody to update to the new version. Safely Installing a New Version.

There are also a few new features. The most obvious one is that the user interface has been rearranged. The DAZ Importer now takes up two tabs in the User Interface (N-panel), DAZ Setup and DAZ Runtime. One or both of these tabs can be hidden.

Support for making pose presets has been improved.

The internal working of the MHX rig has been changed. However, there is a conversion tool for old MHX rigs, so they can still be used with the latest release.

5 Likes

Apologies for using this thread of yours - I could not find any other means of contacting you.
I would love to support your work (be it by donations, coding, idea bouncing or just emotionally) - but more importantly, hereā€™s a little something:

When trying to ā€œscan morph databaseā€ I frequently have Blender (3.6.4 and previous versions) crashing due to a well-known issue with JSON decode. The Try-Except frame you are using in loadfromstring does not catch the crash (read from 0), unfortunately, because, Python does not get to raise the issue.
The core issue is that - I havenā€™t figure out why - rawdecode in Pythonā€™s json handler gets a 0-pointer string and does not sanity-check for that. Thatā€™s in json/decoder.py (nothing you can do about it, itā€™s Python).
However, it SHOULD be possible to catch that issue on your importerā€™s side. I checked for an empty string, that didnā€™t do it, though. I am going to try to catch by checking for null as well (unfortunately TESTING takes about 5 hours on my system, I only have a few scenarios where the crash appears reliably).

What helped me was to check for 0 in json/decode.py (in Blenderā€™s 3.10 Python). That completely avoided the check.

Sorry again for abusing this thread.

Hello,
Canā€™t seem to find any relevant thread elsewhere so iā€™ll ask here. Basically when you convert imported daz rig to MHX or Rigify you get same issue which is that all your drivers get messed up. I guess it happens because bone rotations get changed with new rig but drivers remain set for old bone rotations.
Same thing happens if you change rest pose.

Now my work around was to create duplicate bones which are driving shapekeys (mostly bend ones) and parent them to deformation bones of changed rig and then set them as target of drivers, this way all drivers are working correctly and there is no issue with new rig.

But thats rather slow going and its hard to change driver targets if you canā€™t see details and iā€™m useless in anything script related, so if anyone know for more efficient, faster solution iā€™d be glad to know.

Or if diffeomorphic addon it self could create similar setup with additional bone layer for drivers when converting to MHX/Rigify to preserve original daz rotations for max compatibility?

I created an unofficial Diffeo Discord. I suggested it a while back and for very valid reasons the creator wasnā€™t down. However this addon has grown in usage and information is spread all over the place. As well something of the like was recently suggested in the issues section of the Diffeo Bitbucket. So, the Unofficial Diffeo discord. I encourage all esp those who answer questions here to come. Iā€™ve never don this before but I will do what I can to make sure people have a place to discuss DAZ, DIffeo, and anything relatedā€¦ within reason of course.

https://discord.gg/ftMk3MGKg
This invite expires after 30 days. To have a permanent invite I would have to open up the server for discord to scan everything and do what they want. Considering the nature in which Diffeo and DAZ get used sometimes I have opted to not go that route. Mind you this does not mean its a place to share pr0n.

This should be a better/closer to permanent solution since discord has to be a butt head about permanent invite links.

Version 1.7.2 Released

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.

5 Likes

Oh damn. I just noticed this thread. Is there any way I can join the discord? Your invite seems to be expired.

Hey sorry for the late reply. I updated my post above with a more permanent solution that should work.

No worries, appreciate ya! I joined and Iā€™m in.

Happy New Year and thanks!

Iā€™m running into a problem in blender 4 with the Simple Rig from previous blender/diffeo versions. If I open a file from blender 3.6 the bone layers arenā€™t all there in the ctl panel.

It seems like the simple IK rig has changed between versions. If I import a fresh character into 4.0 and add a simple rig all the bone layers are there. Itā€™s just if I open a file made with previous versions.

Iā€™m working around by using bone collections and I purchased RigUI but I really miss having those layer buttons there. Just sayinā€™.

Diffeomorphic still rules in my book, though.

Blender 4 breaks a lot of things, in particular bone layers are replaced with bone collections. Version 1.7.2 and later support Blender 4, earlier versions do not. Files loaded in to Blender 3.x with earlier versions of the addon will probably not work in Blender 4.

They definitely donā€™t work in 4. For anyone reading this, I can tell you that the RigUI addon helped for my older files. Iā€™m not affiliated with the addon, just trying to share helpful info.

Thomas, thanks for the response and thanks for Diffeo.