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.

18 Comments

Add a Comment

Your email address will not be published. Required fields are marked *