Exporting DAZ Studio 4 figures to Blender

Information on this is a bit scattered, so here are my findings.

There are two reliable ways to export Daz figures to Blender (and other programs).  One is to export the mesh as a wavefront object (*.obj), the other is to export as a COLLADA file (*.dae).

After experimenting with both, I found that exporting as a collada file was quicker and more reliable because:

  • Textures  are automatically mapped and assigned to materials correctly
  • The model is automatically rigged to an armature (skeleton) which means you can animate and pose it in Blender.
  • I encountered geometry errors using obj.

On the downside:

  • Daz Studio operates in Y-up whereas Blender works in Z-up, everything has to be rotated on the X axis by 90 degrees.  This adds an unnecessary layer of complication to your workflow.
  • The figure’s pose / animation is lost in the process.

Fortunately you can restore this by exporting the pose separately as a BVH mocap file.  It’s a bit of a hassle to correct the rigging, but if you prefer to pose your figure in Daz Studio (or Poser), or have hundreds of stock poser poses saved over the years, this is the way to go.


In Daz Studio:

  • Hide everything in your scene except the model you want to export.
  • Export the scene as *.dae using custom options (without daz enhancements), and tick all of the settings.  Be sure to combine the alpha and diffuse maps into a png file (more on this later).
  • Now export the scene as a bvh file, using the default settings.

In your operating system, navigate to the directory where you exported the files.  You should see a *.dae file, a *.bvh, and a folder which contains the model’s textures.  Move the *.dae file into the newly created folder with your exported textures, open it in notepad and then search for references of “./filename/” and delete them.  (where filename is the name of the *.dae file;  e.g. “./filename/texture.jpg” becomes simply “texture.jpg”)

For more help on exporting, please read this excellent article.

In Blender:

  • Open Blender and import your bvh as an armature.
  • If you select the armature and go to edit mode, you’ll see that some of the child bones (fingers, eyeballs, toes, etc) will not have imported correctly.   Either delete or fix these bones (I would just delete them).
  • Import your *.dae file

Now you have your model with it’s own armature (in a t-pose), and a standalone armature imported as bvh with the pose or animation you want to use. The final process is to use the constrain bone tool to link the two armatures together.  I know it’s not the most elegant solution, and if you know of a better way, by all means let me know. :)

So, under your model’s armature pose node, go through every major bone, and add Copy Rotation and Copy Location constraints.  These should link to the bvh armature’s pose as the target.  This process is fairly tedious and the biggest drawback of using a collada file; however were you to export as an obj, you would now be messing about trying to reassign materials and figure out how to fix or hide geometry errors.

Finally, you might find that some bones (hip, abs, chest) appear twisted out of recognition.  On the rotation option, choose ‘offset’, and then rotate the bone 90 degrees on the X axis to correct the error.  Offset basically combines the values of the source bone with the target bone, which simply means you can make corrections without losing the original pose.

Hair and alpha maps

Daz models use alphas for details like hair and eyelashes.  Alpha maps in Blender are something of a headache for new users like myself, so here’s a quick note on them.

When exporting from Daz, it’s important to select the option that combines the alpha map with the diffuse map – this will give you a png file, with automatic transparency, which is a lot easier to work with in Blender.  One thing to bear in mind though is that if the material doesn’t have a diffuse map (e.g. eyelashes), it won’t create the png, so in this case it might be best to set the alpha map on both the opacity (alpha) channel and the diffuse one before exporting your model.  In fact, this might be the best practise anyway, as you can then set the material’s colour using a shader, rather than a diffuse texture.

With your model and materials loaded, you need to quickly adjust the material and texture settings to enable the alpha to work correctly.  To do so:

  • Enable transparency (Z-transparency) on your material.
  • On the material’s texture, under image, enable premultiply
  • Under influence, enable alpha and set it to -1.0, set Dvar to 0.

That’s it — apparently ‘use alpha’ under image sampling is not necessary.  You might also consider turning ‘traceable’ off, under material options, to reduce render times.  For simplicity, I also recommend exporting hair style objects/figures as a separate *.dae file; that way you can use them for other models.  You can then fit them to your model using the Copy Rotation and Location bone constraints as before.

Thanks for reading, I hope this helps a bit.

Further reading:

Exporting from Daz to Blender 2.5: http://www.4colorgrafix.net/2011/06/dazstudio-blender2-5/

Exporting bvh files:  http://www.ipisoft.com/en/wiki/index.php?title=Animation_export_and_motion_transfer#COLLADA

Alpha maps in Blender: http://wiki.blender.org/index.php/Doc:2.4/Tutorials/Textures/Use_Alpha_for_Object_Transparency

6 thoughts on “Exporting DAZ Studio 4 figures to Blender

  1. What I need to know is the exact opposite of this… I payed a friend to create and rig me a model based on proportions I drew of a character. I just don’t have teh time on my hands, being a student and a parent, to learn how to navigate blender, and I’d like to transport the model into a more user-friendly program like Daz, which is more appropriate for me anyway, since I just need to pose, not animate. I have the model, saved it as an obj, and imported to DAZ, but it doesn’t seem to recognize the bones and the plane it was on in blender imported too, so that’s not good… I wish I could find a tutorial on this but it’s all about DAZ to blender not the other way around.

  2. Hi Rebecca. Yeah, rigging characters is always a pain; especially the high polygon models. I can’t remember off the top of my head, but I think Daz studio now has a way to do this inside the program, but I’ve never experimented with it. For quick, one off renders, I’ll rig and pose the model in another program (e.g. Milkshape3d which is good for low polygon models), and then export/import into Daz as an obj or 3ds. If you just want your model to work within D|S, your best bet is to ask in the Daz studio forums: http://www.daz3d.com/forums/viewforum/16/ Sorry I can’t be of more help. :(

  3. hi,
    i have a solution to your armature problem. you dont have to use constraints to link the 2 armatures. you can swap out the bvh data of any rig.
    1. select the armature you want to aply the bvh data to.
    2. go to your dopesheet view, change the mode to action editor. you should now have a dropdown menu where you can select your bvh data

  4. Hi Jon I found your post very useful but I ran into a problem. All I need is import the mesh into blender I dont care about the skeleton because Im gonna rig it to a different armature in Blender anyway. I tried both methods from http://www.4colorgrafix.net/2011/06/dazstudio-blender2-5/ .
    So far exporting from DAZ as .obj I can successfully reassign materials to the mesh and they are correctly displayed in blender after importing, but Im getting geometry errors and non mainfolded vertices and edges on the eyelashes and eyes.
    However with the .dae method the mesh works better in blender but I am not able to reassign materials correctly; I mean materials and textures are loaded into blender within the scene but are not linked to the mesh and texture just dont show up. Any advice?

    • Hi Christian, off the top of my head, I’m not sure. I took a short break from CG since writing this post, and I’m a little rusty. Time permitting, I’ll try to run through the tutorial with the latest version D|S and blender this weekend, to make sure everything is up-to-date. I also want to update it to take into account piet’s advice.

      Don’t forget that after exporting the dae file to move it to the same folder as your exported textures. You then need to edit the file in notepad or similar, and change the texture paths (steps 2 and 3 from that http://www.4colorgrafix.net/ article). If that doesn’t work, can you please let me know which version of D|S and blender you’re using?

  5. Hi there again Jon thanks for reply, I am using the last version of DAz Studio, the one free on their site, Pro 64 Bit and the last one of Blender as well, Blender 2.64.0 64 bit.After some work I was able to correct the .obj geometry exporting as mutiple objects and then removing doubles and recalculating normals for every mesh object. now I can also see UVmap textures on the model while working. For the collada method, I did exactly as requested by the tutorial I successfully moved the dae files and edited it as requested and actually materials and textures are loaded into blender I just cant manage to see them on the model while working but after I wrote here I tried to render anyway and in the rendered image they are correctly rendered. I am a real newbie to 3d rendering… anyway for my purposes only things I need are:
    -get in blender a model with a correct geometry, that I am going to rig to a different armature.
    -being able to use the original UVtextures because I suck in 2d editing too
    With a little work, seems that I will go on with the .obj for now and see if this method meets my requirements. I wonder if using 64 bit versions of the ptograms could be buggy itself

Comments are closed.