DAZ Importer

add-ons

(ThomasL) #101

There is a new Optimize Pose For IK button in the development version. Basically it bends the thigh and shin bones 5 degrees each, to make sure that the knee is slightly bent. Afterwards you also need to Apply Rest Pose.

The rest pose with bent knees makes IK more stable, both for Rigify and MHX. The flip side is that poses will not be imported quite correctly due to the changed rest pose.


(Handel) #102

Right now I only intend to make adult comix and because of the lack of “anatomical” elements for Blender, I am forced to use either IClone or Daz. The competition in this field is big so I am trying to make something at least somewhat more “pro” then the most of the adult comix (too bad the only “anatomical” elements available to Blender are the old MKH genitalia, created by Manuel Bastioni few years ago).
So I decided to use Daz because they have more free stuff I can use AND because I asked a simple question on iClone official forum and no1 cared to answer (quite unlike the questions I asked on Daz forum). So this is serious indication of the number of ppl using iClone AND the attitude of the iClone company toward the users.
Anyway - I am not very advanced user of Blender, but I don’t mean to use it to make exhibition levels stuff but to make relatively simple props (or use the free one if suitable) my knowledge is enough. So the modus operandi I decided to follow is create the scenes in Blender, export to Daz the bare minimum, morph, make the expressions and pose the figures there and export the already posed characters back to the original Blender scene to make the final render w/o any animations.
So I am glad to hear the Thomas script will transfer the textures and the shaders too, and I hope the poses will be transferred w/o any problems too. But I still don’t know how exactly the morphs and everything else of the “anatomical” elements will be transferred, as those elements are not part of the original models but come from 3rd party designers.


(ThomasL) #103

Hi Handel,

Not 100% sure what you’re asking, but here is how I would import morphs to a genitals mesh:

  1. With the genitals selected, press Import Morph(s) and select the .duf file containing the morph. You can also enable the Load All option and use the Include/Exclude options to import multiple poses.

  2. Select the genitals and shift-select the body mesh, and press Merge Anatomy. That should give you a single mesh with anatomical shapekeys driven by rig properties.


(Handel) #104

So I import the model + the genitals as the documentation of the script says; then I select the genitals (in Blender) and make a second import this time importing only the morphs of the 3rd party genitals; after that I merge (in Blender) the imported model mesh and the mesh of the genitals and they should keep the morphs, right?
Must I first export those morphs from Daz as the original model had to be exported?

  1. If I make the poses in Daz and morph the genitals there to correspond to the poses then when I import the model together with the genitals to blender will the imported genitals keep the morphs (which are pre-made in Daz)?

PS. I have version 1.3 installed. Is there a new version?


(ThomasL) #105

So I import the model + the genitals as the documentation of the script says; then I select the genitals (in Blender) and make a second import this time importing only the morphs of the 3rd party genitals; after that I merge (in Blender) the imported model mesh and the mesh of the genitals and they should keep the morphs, right?

Yes, that’s the idea. By default the shapekeys are driven by rig properties, so you should merge all rigs first. The driving properties turn up in the Custom Morphs panel with the rig is selected.

Importing custom morphs is by no means limited to genitals - it works in the same way for clothes, hair, or the character mesh itself, if you want to import something else than the standard facial expressions. However, most meshes cannot be merged with the character with the Merge Anatomy button; the mesh must be a “grafted item”, which is some extra inforrmation included in the duf file.

Must I first export those morphs from Daz as the original model had to be exported?

No, you load the duf/dsf files directly from the morphs directory belonging to the selected mesh. The file selector should open in the right morphs directory, and all relevant morphs should be found in subdirectories.

However, if there are several morph directories belonging to this mesh, starting from different root directories (which you set in the Settings panel), the plugin will choose one of these.

If I make the poses in Daz and morph the genitals there to correspond to the poses then when I import the model together with the genitals to blender will the imported genitals keep the morphs (which are pre-made in Daz)?

No. All morphs are baked to the character mesh.

PS. I have version 1.3 installed. Is there a new version?

Only the unstable development version. However, it contains some important bug fixes, in particular for cycles materials, so I would recommend that if you can live with that things change a bit (and occasionally become broken).


(Handel) #106

Thanks.
Does this means all the changes to items which are not part of the model body mesh will be reset to the default state, including clothes, hair etc? When in Daz I morph the body and then load a dress it is auto-morphed to fit the body (or manually with “Fit to” command if needed). So those “fit to the body” morph will disappear too? What about the morphs clothing, genitals and such due to the change of the poses (if I understand correctly the poses made in Daz before the exporting will remain)?


(ThomasL) #107

Does this means all the changes to items which are not part of the model body mesh will be reset to the default state, including clothes, hair etc?

No, this is why you need to export a json file with the DAZ Studio plugin that is supplied with the Blender add-on, cf. http://diffeomorphic.blogspot.com/p/export-from-daz-studio.html.

The json file contains the world-space coordinates of all meshes and bones, after all morphs have been applied and transferred to clothes, hair, etc. This information must in principle exist in the Daz files - after all, Daz Studio is able to figure it out - but I did not manage to do it in Blender alone. Fortuntely, the DS api contains functions that return the final world-space coordinates, so writing an extra script on the DS side was quite straightforward.

As a consequence, all morphs and poses are baked to the meshes and rest poses. There is no natural way to distinguish between poses that are part of the character - e.g., long legs obtained by scaling the leg bones - and real poses.

When in Daz I morph the body and then load a dress it is auto-morphed to fit the body (or manually with “Fit to” command if needed). So those “fit to the body” morph will disappear too?

As I said, they are baked into the clothes’ meshes.


(gil_ruso) #108

Hi, Thomas. I have some questions:

-How are the face units/expressions/visemes loaded? At first I thought those were shape keys but I don’t seem to find them in the data object tab/shape keys section. They are also not poses as I can’t find them in the armature/pose library tab either. So what are they? Drivers? Just trying to understand what is their equivalent inside of Blender.

-What are the prettify panel buttons suppose to do?

-Which is the best way to load custom JCMs? I have been able to succesfully load them using the import morph(s) option. Is that the best way or is it better to load them with the import driven pose(s) option? If so, what is the difference?

Thank you very much,


(ThomasL) #109

-How are the face units/expressions/visemes loaded? At first I thought those were shape keys but I don’t seem to find them in the data object tab/shape keys section. They are also not poses as I can’t find them in the armature/pose library tab either. So what are they? Drivers? Just trying to understand what is their equivalent inside of Blender.

For Genesis and G2 characters they are shapekeys. By default they are driven by rig properties, but that can be turned off. For the more modern G3 and G8 characters, facial expressions are poses for the face rig driven by properties. If you select a face bone in pose mode, you see that the location is driven (the bone location is purple and the bone cannot be moved).

If you want to tweak an expression, you should Add Extra Face Bones. This moves the driven bones to layer 32 and creates new face bones parented to the driven ones on layer 8. The new face bones can posed on top of an expression.

-What are the prettify panel buttons suppose to do?

If you save a blend file and open it in a new Blender session, Boolean properties (checkboxes) turn into integers (sliders). The prettify buttons make them Booleans again.

-Which is the best way to load custom JCMs? I have been able to succesfully load them using the import morph(s) option. Is that the best way or is it better to load them with the import driven pose(s) option? If so, what is the difference?

Use the Load Correctives button. That loads JCMs and create drivers based on bone rotations, so you don’t have to dial the values manually. Once the corrective shapekeys have been loaded, you need to transfer them to clothes as well, using the Transfer Correctives button. See http://diffeomorphic.blogspot.com/p/morphs.html and http://diffeomorphic.blogspot.com/2018/03/recent-progress.html

EDIT: Just noted that you wrote custom JCMs. So you mean JCMs not covered by the Load Correctives button. I have never thought about that. Import Morph(s) will load the shapekeys, but I’m not sure it will create the correct drivers. Did it?

Import Driven Pose(s) is for importing morphs that are poses rather than shapekeys. It is useful if you want to pose e.g. the hand with sliders just as you do with the face. It not for loading corrective shapekeys and frankly I have rarely used this button myself.


(gil_ruso) #110

Hi, Thomas. Thank you very much for your reply. Really appreciate it.

Yes I meant JCMs created by myself and yes, besides importing the original JCMs with the load correctives option I also imported my own JCMs using the import morph option. And it worked like a charm. The drivers were created automatically. I was even able to import all my custom JCMs at once with the “import all” option.


(Miss Bad Wolf) #111

Thank you. I have not read all the replies but will I be able to use this to import Genesis 8 figures? or the Dog 8?


(ThomasL) #112

Yes. G8 has been tested thoroughly. I have not tested the dog, but Daz horse 2 can be imported without problems, so I don’t see any reason why the dog should have any problem.


(loper) #113

i am having two issue

  1. tongue morph not working
  2. rendering on render street (https://render.st/) i got weird face on render.it is because of this error when i use 1.2 version everything works fine

Error in Driver: The following Python expression failed:
‘((18A)+(6B)+(192*C))/1000+evalMorphs(self, 0, “Rot”)’
Traceback (most recent call last):
File “”, line 1, in
NameError: name ‘evalMorphs’ is not defined


(ThomasL) #114

About the second issue: the add-on must be enabled for drivers to work, because it defines the function evalMorphs. Hence you somehow need to include the add-on with the blend file when you submit it for rendering. I don’t know anything about render street (first time I heard about it) and have no idea how to do that or if it is at all possible.

EDIT: If you are editing a still image, it is straightforward to get rid of the offending driver. Just select each mesh in order and apply the armature modifier, and then delete the armature. Since the armature containing the driven bones is gone, there shouldn’t be any driver left that can cause this problem.

This trick won’t work if you are rendering an animation, of course.


(ThomasL) #115

I added a file with a stripped version of the runtime system. It is the stand-alone python file runtime_stripped.py located in a folder with the same name.

  1. Disable the import-daz add-on and press Save User Settings.
  2. Open the file runtime_stripped.py in a text editor window.
  3. Enable the Register checkbox.
  4. Run the script (Run Script)
  5. Save the blend file.
  6. Reload the blend file.

This healed the ugly face at least when I tested. I will write a blog post with illustrations later today.

EDIT: The blog post has now been written:


(mzprox) #116

Hi Thomas!

Thanks for the script, I’m still getting familiar with it (slowly)
If I may have a request: could you modify the rigify-ing workflow so that we can make edits on the metarig before generation?..actually just leaving the metarig there could help… just some help would be nice to be able to reattach the facerig to the main armature. (the daz bones, not the pitchipoy facebones). (My goal is to edit the spine bones, their numbers, the pivot and I’d also edit the vertexweigth( combine some) to make it more similar as the default rig in a game engine). Thanks


(gil_ruso) #117

Just wondering if after converting the rig to rigify or MHX if it may be possible to convert it back to the original Daz rig. If that would be possible then it would be very easy to pose and animate the figure in Blender using the rigify and MHX rigs and then export back the pose and animation to DAZ as mdd. That would be such a great feature to have.


(ThomasL) #118

Short answer: No. Sorry.


#119

Hi
So far the addon has been really great, but one thing I’m wondering is if it is possible to have a bone face rig at all. I understand why the genesis bones are not movable but is there any plans on making a bone driving face rig instead of sliders. It was mentioned that there was a way of adding extra face bones but I can’t seem to find it. I find having a face bone rig more intuitive than sliders.
THX


(ThomasL) #120

The face bones of the G3 and G8 characters are posable until you load facial morphs. After that the face bones become driven by the sliders and cannot be moved. To still be able to pose the face bones on top of the expressions, you need to press Add Extra Face Bones in the Corrections section of the Setup panel. The driven bones end up on bone layer 32 and the posable bones on layer 8.

I usually add extra face bones before loading morphs. It is possible that you can add bones afterwards, but this is not my workflow so to be on the safe side I recommend that you do it first.

No, I have no planes to let bones rather than sliders drive morphs, if that is what you are asking. Since morphs are controlled by sliders in DS, it is natural that an importer creates a similar interface in Blender.