DAZ Importer

If Unreal does not support dual quaternions I think you are out of luck. I don’t think there is any good way to convert dual quaternions to linear blend skinning.

@ThomasL, thanks for adding the ability to import custom JCMs! Just a quick question, though: Should standard JCMs be imported first, followed by the addition of custom JCMs; or, should only the custom ones be imported? I think some custom JCMs are additive (e.g., they are meant to be applied on top of existing standard JCMs), and wasn’t sure whether the Daz Importer took that into account.

@ThomasL Is there documentation explaining the differences between all the options here? image

I couldn’t it.

missing morphs: [‘Genesis8Female’]

what am I missing?

I’m trying to import an animation with morphs (moving and resizing body parts) from DAZ to Blender

  • paths seem ok,
  • file imports correctly to blender,
  • load all available pose morphs
  • actions import but morphs do not animate.

Since the code has evolved this documentation is now scattered over several pages and blog posts. I collected it into a document that will become part of the upcoming 1.5 documention: https://diffeomorphic.blogspot.com/p/import-into-blender-15.html.

3 Likes

If the JCMs have different names it does not matter in which order they are imported; they become two different shapekeys that are both driven by bone rotations. If they have the same name the first will be overwritten by the first.

I don’t know which is correct, it was only recently that I encountered a monster with custom JCMs and I realized that importing them required very little extra code.

Some scene in DAZ contains istance(duplication of objects like trees or grass ), and the importer can only import the original object . What should I do to make the istance objects can also be import correctly into blender?

some light into the issue:

Graph editor properties (don’t seem to be ported to blender.
I’m looking for a way to convert the graph editor curves into keys for every frame.
any idea how to achieve that?

Thanks

@Yatagarasu, this script converts instances to objects (and it’s on sale super cheap right now):

https://www.daz3d.com/instances-to-objects

Just be aware that it won’t be able to handle scenes with insane numbers of instances (for example, it crashed when I took a chance and tried to convert an UltraScenery scene).

The plugin should import instances of meshes correctly. Here are two test files that I just checked with the development version:
https://bitbucket.org/Diffeomorphic/import-daz/issues/attachments/57/Diffeomorphic/import-daz/1588252484.37/57/instances-2.duf
https://bitbucket.org/Diffeomorphic/import-daz/issues/attachments/57/Diffeomorphic/import-daz/1588249225.71/57/instances-3.duf

IIRC there are problems with instances of instances though.

1 Like

Stable version 1.4.2 is now available: https://www.dropbox.com/s/dwsxtaf9r7fmays/import-daz-v1.4.2-20200623.zip.

Announcement: https://diffeomorphic.blogspot.com/2020/06/daz-importer-versions-142-and-15.html

The documentation is not updated for this version. However, it will differ very little from the upcoming version 1.5.

In a few days, the add-on will be renamed, to import_daz instead of import-daz. This makes it possible to invoke the add-on from python code, by adding the line

import import_daz

With the old name, with a hyphen instead of an underscore, this is not possible, because

import import-daz

is not legal python syntax.

5 Likes

The move announced above is now complete. Here is the new home of the Daz Importer:

Repository: https://bitbucket.org/Diffeomorphic/import_daz/
Development version as a zip file: https://bitbucket.org/Diffeomorphic/import_daz/downloads/
Bug tracker: https://bitbucket.org/Diffeomorphic/import_daz/issues?status=new&status=open

And since the move was made in order to facilitate Python scripting, here is a list of the operators defined by the plug-in:

https://diffeomorphic.blogspot.com/p/daz-operators.html

4 Likes

Hi Thomas,

Thanks so much for all your work on this. I’m trying to install 1.4.2, but when I go to install the DAZ script, It shows it’s named something strange under preferences and it doesn’t show up at all in the DAZ file menu. I’m attaching a screenshot of what it looks like. Also, what is the difference between the high def and basic data scripts? Are there instructions somewhere for which one to use when?

It looks like you’ve added the script correctly in the actions pane, but you need to drag it over to the menu section on the right side of that dialog. Daz doesn’t add it to the menu for you, it just makes it available as an action that can be added:

You can see that I have those strange entries in mine too, maybe some product that we both have created them? As far as I can tell, they are harmless - they don’t show up in the actual file menu, at any rate:

image

The export script seems to work fine for me here, just ignore those crazy entries!

1 Like

Aha, thank you so much!

Blender Artists

killarny Luke Graybill
June 30

It looks like you’ve added the script correctly in the actions pane, but you need to drag it over to the menu section on the right side of that dialog. Daz doesn’t add it to the menu for you, it just makes it available as an action that can be added:

image

You can see that I have those strange entries in mine too, maybe some product that we both have created them? As far as I can tell, they are harmless - they don’t show up in the actual file menu, at any rate:

image

The export script seems to work fine for me here, just ignore those crazy entries!

what is the difference between the high def and basic data scripts

Realized you never got an answer on this! As far as I am aware, (and somebody please correct me if I’m wrong) the high def script is an extra step for exporting any HD morphs that you might have enabled on your Daz model. Those don’t get preserved in the normal script because it effectively exports the model at base resolution without the Daz subdivisions active. I’m not 100% sure, but I think the HD morphs apply on top of the subdivided mesh in Daz, which means they are disabled in base resolution.

If you aren’t using any HD morphs, then you don’t need to use the hidef export script at all, but if you are then you’ll end up with a much higher vertex count model once you import it to Blender. What I’ve done with it then is to bake the normals from that model to the base resolution model, and then add it to the base res model shaders.

If you’re unfamiliar with baking normals to another mesh in blender, it’s pretty easy. Also, BlenderGuru has a good video explaining it:

1 Like

If i Change My Daz Content library adress, seem like this:20200703121706_shot

i dont know how setting it.

Thanks for that, and for the links! I haven’t tried baking yet, but now seems to be a good time to learn about it.

Blender Artists

killarny Luke Graybill
July 2

what is the difference between the high def and basic data scripts

Realized you never got an answer on this! As far as I am aware, (and somebody please correct me if I’m wrong) the high def script is an extra step for exporting any HD morphs that you might have enabled on your Daz model. Those don’t get preserved in the normal script because it effectively exports the model at base resolution without the Daz subdivisions active. I’m not 100% sure, but I think the HD morphs apply on top of the subdivided mesh in Daz, which means they are disabled in base resolution.

If you aren’t using any HD morphs, then you don’t need to use the hidef export script at all, but if you are then you’ll end up with a much higher vertex count model once you import it to Blender. What I’ve done with it then is to bake the normals from that model to the base resolution model, and then add it to the base res model shaders.

If you’re unfamiliar with baking normals to another mesh in blender, it’s pretty easy. Also, BlenderGuru has a good video explaining it:

https://www.youtube.com/embed/0r-cGjVKvGw

If i Change My Daz Content library adress, seem like this:

i dont know how setting it.

Howdy @pilotchiao, the online docs cover this process, and despite the images on the docs being from version 1.3 of the script, that section hasn’t changed much and the process is still the same:

Hi!
How about limits for bones rotation? So hard to add it manually…