Diffeomorphic DAZ Importer version 1.6.0 released
This release consists of four separate parts:
- DAZ Importer, a Blender add-on for importing native DAZ Studio files (*.duf, *.dsf) into Blender. It also contains some tools to make the assets more animation friendly.
- MHX Runtime System, a Blender add-on for posing the MHX rig.
- DAZ HD Morphs, a Blender add-on by Xin for importing HD meshes and morphs into Blender.
- Diffeo HD Exporter, a DAZ Studio plugin by Donald Dade to export HD scenes to Blender.
Download version 1.6.0 from:
https://www.dropbox.com/s/abda1ext7wbst97/import_daz_mhx_rts_v1_6_0.zip
Main documentation page:
https://diffeomorphic.blogspot.com/p/daz-importer-version-16.html
This release is compatible with Blender 2.80 and later. The last version compatible with Blender 2.79 was version 1.5.1.
Major new features in this release:
- New morphing system using intermediate properties which correctly reproduce morphs in DAZ Studio. How to implement this was explained to me by Engetudouiti.
- New morphing system using simple expressions instead of slow python scripts, as suggested by Xin. This improves performance, in particular on GPUs. It also makes it possible to use expressions on systems where the DAZ Importer is not enabled, e.g. render farms, making the stripped runtime system of previous releases obsolete.
- Easy Import makes it possible to import a character and make it animation-ready in a single step, as suggested by Alessandro Padovani.
- Correct FK-IK snapping for the MHX rig, following suggestions by Engetudouiti.
- Tools for dealing with MHX animations, not just single poses.
- Improved user interface for the MHX rig.
- A tool for converting HD morphs to normal or displacement maps (the DAZ HD Morphs add-on by Xin), and tools for importing these maps into Blender and drive them with the morph strength.
- A tool for fast export of HD meshes from DAZ Studio (Diffeo HD Exporter by Donald Dade).
- Basic support for simulations.
- Many bug-fixes and minor improvements.
This release will probably be the final one when it comes to new features. Version 1.0 of the DAZ Importer was released in 2016, but I looked into importing native DAZ files as early as 2011, so the add-on is already ten years old. It has grown into a much more ambitious project than I ever expected, and is quite enough for my own needs. I will continue to fix bugs and adapt the code to new releases of Blender and DAZ Studio, though.
Comments
A colossal thank you for all the work you've put into Diffeomorphic.
Great news Thomas, thank you (and your mates) for your invaluable work and support!
Holy cow! Y'all doing some serious work.
yes
A Big Cheer for Thomas and everyone who helped like Padone, to make Diffeomorphic the best importer it can be
Would still love to buy you guys a: coffee, beer, wine (whatever).
When it's a single tool like Diffeo that enables literally everything I am trying to do, I appreciate your sentiment; After wrapping my head around how much effort they had put into it and how much it does, I myself asked Thomas directly how I could support him.
I can't speak for Thomas/Padone, but after working on Sagan for a while I realized that what I really want from those that use the tool are bug reports, documentation, a cool icon, feedback, anything. The software is free, but the cost is participation. Code is only the most obvious way to contribute, but not the only.
No kidding. I've seen the complexity and attention to detail in his code and I stand in awe of what Thomas has accomplished, and that he persevered and just figured everything out. I tried to do the same thing and quickly said "Man, F this..." at around the third Grand Daz Mystery I encountered. I don't think enough people give him due credit for what a monumental task Diffeo was and continues to be; there are wierd special cases all over the code that show how Thomas had to discover, grok, and code around some inconsistency in Daz Studio.
Dear Thomas,
Thanks a lot for your great work. Highly appreciated!
Hey Thomas,
thank you for all the work.
Does this new morphing allow us to import multiple morphs on a character, which also adjust the rig/bones? (e.g. a height morph, which can be adjusted in Blender)?
Nope, morphing armatures are not supported in blender. This is a blender limitation, it's not from diffeo. That means that most "actor morphs" can't be imported. As well as "pose controls" changing the rest pose. Luckily the latter case is rare. So the intended workflow is to bake the actor morphs into dbz then import the pose morphs.
https://bitbucket.org/Diffeomorphic/import_daz/issues/685/
Could I ask if geografts and geometry shells are exported and poseable (using their own morphs) as they would be in DAZ Studio?
@wolf359 By exporting to dbz, the geometry in the viewport will be baked, this includes any morph applied.
@marble Yep, but you have to import the custom morphs yourself in a second step, aka any geograft morph.
steps:
If you use easy import then transfer standard morphs and merge geografts are done for you. Then you can add the custom morphs later to the merged meshes.
https://diffeomorphic.blogspot.com/2021/07/adding-morphs-after-lashes-and.html
https://diffeomorphic.blogspot.com/2021/03/easy-import.html
Thanks again @Padone - I shall bookmark this for future reference. What's in store for 1.7? ;)
One other thing is that, if you want to convert to MHX or Rigify, you've got to do that after loading your morphs. The rig conversion will make any morphs imported after conversion break things. I've learned this the hard way and thought the plug-in was broken, only to discover my mistake upon closer reading of the manual.
Is it now also possible to import animations from DAZ into Blender?
I animated a character in DAZ and would love import The animated Character in Blender.
Thank you so much for the work!
@florian.schurz Yep, also you can now import missing morphs on the fly, that is, while importing the animation. But this doesn't always work fine so it's better to import the needed morphs first.
https://diffeomorphic.blogspot.com/p/posing-panel-version-16.html
https://bitbucket.org/Diffeomorphic/import_daz/issues/683/
Ok I figured out the animation thing with the oimport action- tool.
Im very happy that visemes and stuff do work but somehow the eyes don't move (they were moving in my original animation)
If you use any morph to animate, including facs or body morphs, then the animation file references to that morph and you have to import it to make the animation work. Or you can bake the animation to bone transforms in daz studio before exporting (edit > figure > bake to transforms).
Also, when you load a pose or animation, you should get a list of the missing morphs in the terminal window. You may have to change the verbosity level in the global settings for that.
So, I tried "Save as Pose Preset" for the first time, and I don't get it. It keeps coming out wrong. I tried with both the Simple IK and the Rigify setup, and it kept going wrong in different ways. The spine bones have no rotation, the shoulders folded in on themselves, etc. I used the buttons to bake the IK to FK and everything, and it didn't work.
What's the simplest, most reliable procedure to get a figure into Blender and then export a pose back to Daz with reasonable fidelity?
@margrave It should work. Please report a bug with your specs, a test scene as simple as possible, and the exact steps to replicate the bug. Does it fail with every figure or just one specific figure ?
Ok Im still having problems with importing Animations. I imported the missing morphs.
The face is animated now and it makes the right movements. But the rest of the body doesn't. Funny thing is there keyframes for the bodymovement in the timeline but nothing happens.
Console doesn't report missing morphes. There are all there.
I tried really all different options in the import-setup but nothing seems to work. Also the "bake to transforms" didn't bring any change.
I would love to make this work, as it's also so much faster than the DaztoBlender Bridge.
Also
Sorry, I'm not creating an account I'll never use again just to post a bug report. Also, I don't see how I could post a test scene since it contains Daz mesh data?
But I did experiment some more. I loaded in the default Genesis 8 Figure, using the Simple DAZ option, and set it to create a Rigify armature. "Merge Materials", "Eliminate Empties", and "Merge Rigs" were already ticked. I also ticked "FACS" and "Merge Lashes". Right now, it appears two bones are not carrying over to Daz when saved as a pose preset. On Rigify's Torso layer, they are "hips" and "chest". Both of these are defaulting to Quaternion while the ones that do carry over ("shoulder", "neck", "torso", etc.) are in YZX Euler. These don't look like IK bones, so there's no option to set it to switch between IK and FK. I did change both to YZX manually, but it still didn't work. The exporter must be reverting them to Quaternion when saving it out?
I downloaded this build yesterday, from the Dropbox link, so it's up-to-date.
@florian.schurz May be you didn't "make all bones posable" ? The two steps are import all morphs then make all bones posable. The reason is that in blender driven bones can't be posed. Otherwise you need to file a bug report same as @margrave.
@margrave You can file the bug report here for Thomas to look at. Also the test scene I was referring to is a daz duf file, not a blender file. That's fine to upload and doesn't break any eula.
Afaik the latest build is only available at his bitbucket repository.
Did I see correctly someone had luck compiling Diffeomorphic on Mac OS? I followed a previous thread where the discussion seemed to end the second one person managed to get it to work. Admittedly, the last time I compiled something it was on the "hello world" level and 25 years ago, but if it's viable, I guess I could learn :)
@N3p3nth3 Diffeo is a python script so doesn't need to be compiled. It should work on mac too.