Daz3D to UE4

What are the problems when you import Daz3D model to UE4?

UPDATE Feb 2, 2018: It’s possible to use Daz3D models in UE4, but you will probably need modded version of the Engine (Dual Quaternion skinning). Read more for details.

Daz3D is a program  to create human characters (skeletal mesh). You start with base mesh, modify it, add clothes etc. The program and basic assets are free, some more advanced morphs ans other assets are paid.  There are various morphs for body shapes, face shapes, expressions. Other nice thing that Daz can do is to help you with the skinning of clothes made in some other application. Finally, you can export your characters and clothes in fbx and use them in other programs, like Unreal 4 for example. You can export morphs baked to character or separate, so you can apply them later.

Important thing to note, if you want to use Daz3D characters in a game you need to buy a license which is pretty expensive but can be bought for much less on sale.

UPDATE Feb 2018: that changed. Now you buy interactive license for each product separately.

Good thing with Daz3D is that you can create various looking characters pretty easily. Some quickly made examples rendered in Daz3D. First, default model with few expression morphs applied:

default

And here an example of more or less Asian looking guy made in couple of minutes:

asian


Problems

What are problems when you export a character from Daz3D (Gensis 8) and import to UE4 (4.17)?

Dual Quaternions

Daz3D characters are skinned using Dual Quaternion (DQ) method. Unreal 4 use Classic linear (CL) skinning only. DQ preserves volume better. It means, your character will work and animate more or less correctly in UE4, but when you bend or twist bones a little bit more, like 90°, it will look different and sometimes ugly. For example, crouch pose, with thigh bent at more than 90° may look weird in Unreal.

UPD Feb 2018: After many unsuccessful tries to transform DQ and corresponding morphs to something that UE4 will understand we found a DQ mod for the engine. Which totally solves this problem. Also, if your characters don’t move too much you probably don’t need to worry about it (where “too much” means no rolls/bends of more than 20-30 degrees). So, standing still or walking will maybe work, but crouching or doing pull-ups will probably not. You can always test to see if it work.

Corrective morphs

DQ skinning is not enough to achieve realism. Daz3D characters body looks very realistic thanks to large number of corrective morphs, called JCM (Joint Corrective Morph). For example, for the left thigh there are 4 JCM: two for two leg going forward, one for leg going backward and one for leg rising sideways. Same for other joints.  Daz JCMs are made for DQ skinning, thy wont work correctly with classic skinning. Those morphs can be exported from Daz, but additional work is needed to use them in UE4.

UPD Feb 2018: same as before, use mod. Example of DQ and JCMs in UE4 can be found on this blog, for example here.

Bone rotation axis

When you import Daz3D character in UE4 local rotation axes will not be aligned with bones anymore. For example, X-axis will not point to the next bone but somewhere else. It can be a problem if you want to rotate bones programmatically in UE or read per-axis rotation values and apply corrective morphs exported from Daz. This is because natural rotation axis are lost (twist, bend, side-to-side). If you look in maya, you find that joints have both joint orient and rotation axis set to some value, which is probably the source of the problem. You need to restore them somehow in Unreal.

UPD Feb 2018: This can be solved in maya pretty easily. Read here.

No roughness textures

Daz Genesis 8 character has base color, specular, subsurface and bump map textures. There is no roughness or normal map, but normal map map can be regenerated from bump map. Not really sure what to do for roughness yet.

UPD Feb 2018: Roughness can be approximately calculated from specular.

LOD

Daz character is pretty high poly, 32k triangles. There is no LOD. You will need to generate LOD. If you want to transfer some morphs to higher LODs that can be a problem too.

13 thoughts on “Daz3D to UE4

  1. Great review, thanks. DAZ3D seems to be a good option for people who want to generate NPCs fast (& cheap, at least for local development), but the issues you mentioned might turn out to be deal breakers, especially LODs for crowd generation.

    Maybe you have found how to solve those issues? It would be nice to discuss this on Unreal Forums and find solutions together. There are some tutorials on the internet, but some are outdated and most of them do not deal with the issues you mentioned here.

    And what about MakeHuman or other cheap alternatives to generate UE4 compatible characters for NPC crowds? Have you found anything suitable and better than DAZ3D?

    Like

    1. > Maybe you have found how to solve those issues?

      Some of them. But it all involves a lot of maya.

      Bone rotation axis is easy to fix in maya, I already wrote about it.

      I don’t think DQ/Classic problem can be really 100% solved, but it can be reduced using morphs. Same for Daz corrective morphs, I found a way to port them Ue4 that is kinda working. Two two problems are really going together.

      For LODs, I generate them in maya using mesh reduce. There is some work if you want to reduce morphs too, like for body shapes, but it’s feasible. (I don’t have simplygon, maybe it’s easy whit it)

      For roughness, I didn’t looked at it yet, but I probably will have to soon.

      We looked at MakeHuman, iClone, Mixamo and Autodesk character generator some (long) time ago, but Daz people looked better. Now, maybe there are other advantages to use those other programs, I don’t know. Technically, I would look at the skinning (classic is better for ue4), pbr textures, is LOD available etc..

      Like

      1. Thanks for the reply. It would be great if you could publish a step by step tutorial for achieving acceptable quality DAZ3D characters in UE4. I guess, you might even be able to collect enough donations on Patreon to cover your work efforts for creating a detailed tutorial because I’ve seen this question popping up again and again on Unreal forums.
        There are various bits and hints available but no complete pipeline for starting with a generic Daz Genesis 3 figure and ending with as UE4 compatible character as realistically possible (and feasible).

        I’ve looked also for paid character creation courses on Lynda, Pluralsight etc. – there are some courses for UE4 static content and programming but nothing about character creation; this topic seems somewhat neglected, most probably because of its complexity. LODs, animations, facial animations, lipsync – these topics can get really tricky, but that also means there should be more high quality courses to show how to do it right.

        Like

  2. I’ll do my best of a tutorial next week to explain my vampyre daz – ue4 process. Check my last video on YouTube channel verumbit and click on the forum link in the video descriptions.
    Hope will clear some above tutorial needs and add more knowledge to me with your comments!

    Like

  3. I should point out that as far as the 32k poly count for the character models DAZ has a plugin called Decimator which can reduce this to as low as 5% of it’s original. You can take any object in your DAZ scene in fact, not just characters, and reduce them as low as Nintendo64 poly count if that’s what you need.

    Liked by 1 person

    1. Actually, I have a question about Decimator: how does it handles morphs (jcm, fbm etc)? Does the reduced mesh still has morphs?

      I tried Simplygon and it works all right, but the reduced mesh has no morphs anymore.

      Liked by 1 person

  4. I’m curious about Hair Shader(Material). Did you use ‘Photorealistic Character’ sample for hair? I think Daz3d hair is not for game. cuz it has many polycounts and map is different as well. how did you solve it?

    Liked by 1 person

    1. Hair is a problem. There is few low poly daz hairs, but not too much. The one in screenshots is called ponytail i think. For those screenshots we used unreal hair shader with some daz textures, it’s ok-ish. We also used hair from Paragon assets,

      Liked by 1 person

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s