DAZ importer

This is the main documentation page for version 1.0 of the DAZ importer. For documentation for the most recent stable version, see http://diffeomorphic.blogspot.se/p/daz-importer-version-11.html.


The DAZ importer is a tool for importing files for DAZ Studio (DAZ User File *.duf, DAZ System File *.dsf) into Blender. It also contains some tools to make the assets more animation friendly.

Links to download pages

Repository: https://bitbucket.org/Diffeomorphic/import-daz

Development version as a zip file:  https://bitbucket.org/Diffeomorphic/import-daz/downloads.
Stable version 0.80: https://www.dropbox.com/s/xcwwxb9bsc72qex/import-daz-stable-080.zip


1. Installing the Blender add-on.
2. Export a character from DAZ Studio to Blender.
3. Solving some import problems.
4. Advanced Setup Panel.
5. Posing Panel.


License information

17 kommentarer:

  1. Hi I really like this plug in, then hope to report or question about this tool,, Would not you make new topic in daz or blender forum?
    because I want ask about import unit things, and I get some problem, when I try to install faciunits, expressions, and want to know correct usage,
    (after import expression and face unit, I can not rotate face nodes,, then
    how I can pose with imported those facial morphs?

    And I really appreciate you offer this plug in, and hope to support this add on seriously, actually this is amazing tool for daz figure and blender user!

    1. Hi Engetu,
      Thank you for the kind words. I have thought of announcing the add-on on blenderartists.org, but not gotten around to do so yet.

      You cannot move the face bones because they are driven by object properties. You animate with the sliders in the T-panel.

  2. when I import facial morphs, there seems to be max count which can import morph (or Ctrl) correctly, then I get error message

    "Error load DAZ fle" Cannot add driver"eCtrlSad", to bone rLipCorner,
    Expression too long

    this message change,, which morphs (Face Unit , expression, or Vismes)
    I first import. if I load Unit first,, usually Unit can load all .
    but expression, and Vismes not load all,, then If I load Visems,
    usually I can load all Visemes, but Can not load expression or Face Units
    correctly (some not correclty loaded)

    Is there way , to choose which morph actually I hope to load?
    or if I hide morphs from daz studio data directories, maybe it work?
    (Can load all morphs which I do not hide) ?

    1. Den här kommentaren har tagits bort av skribenten.

    2. Unfortunately, this is an intrinsic Blender limitation. Each bone is driven by a scripted expression, which is a string at most 256 characters long. In the development version I have manage to squeeze in some more variables, but there are still some that don't fit.

      You can load individual face units etc. with the Import Morph(s) button. They then show up in the Custom Morphs panel. Alas, loading each file individually is a lot of work.

  3. Hi sorry,reply many at once, but I really hope to contact with you about this great add on, but I can not find good way,then sorry I can just reply and ask here at current.

    (I am not native,, then it was very difficult to understand how to add coments here^^; though I had Google + ID already,,)

    When loading "face unit" for G3Fcharacter, I found some ctrl not assign correctly with a few eyelids nodes. then lefteyesclose not work for me,,

    (it seems not assign with middle "upper eyelids" face bone. then only other 5 (bottom 3, and upper Outer, inner eyelids bones) eyelids bones rotate,, )

    and I need to re-adjust "roll" of those facial rigs too.
    maybe,,genesis3female upper eyelids bones are twisted already (-180) about roll, then your add-on generate oppositte direction, I feel.

    (so, when close eye,, upper eyelids rotate up-wards, against lower eyelids) after I adjust those rigs "roll" along to local z-axis UP wards
    , now it work correctly.

    (but still lost assign with left side upper eyelids nodes,,)

    I hope to correct it,, but unfortunately I do not know which .py code I need to modify, and generate those drivers, along to this add-on UI,

    Is there way to add or correct new driver under the "face unit","expression", category, then assign driver for all eye lids nodes?
    (I may hope to import corrective morph then make new driver for import character too,,but hope to use current UI, as same as other loaded controller,,)

    1. The left eyelid problem has been solved in the development version. It turned out that bone names in the morph files do not quite match the names of the G3 bones. Strange, but easily fixed by adding a translation table.

      Roll angles are actually not important when loading poses, because in Daz a pose is specified in world space (more precisely, relative to the armature rather than relative to the bone as in Blender).

  4. Hi thaks reply. About blender character limtiation, OK,, I may plan more carefully, how to manage those morphs with "Common" category or choose morphs which only I need to import.

    Then I made new topic about your plug in in DAZ forum so that,, if you have time to check it please sometimes visit there,,

    I hope many Daz user find your plug-in and offer more clear feed back.
    (maybe we have many questions,, or request,, etc ^^; then hope sometime you check daz forum,, when you have time to reply those questions,, or hope you will make official topoic to contact you easy.


  5. Hi,, I am now planing, if expression dirver path are too long,,make new 2 hidden driver,, then controll those two (just add) b the dirver,, , can not work ?
    to make,, ["eCTRLvEE"] expression

    make two hidden driver ["eCTRLvEE_0"] and ["eCTRLvEE_1"]


    x00 : ["eCTRLCheeksBalloon"]
    x01 : ["eCTRLCheeksBalloonPucker"]
    x02 : ["eCTRLLipBottomUp-DownR"]
    x03 : ["eCTRLLipsPart"]
    x04 : ["eCTRLLipsPucker"]
    x05 : ["eCTRLLipsPuckerWide"]
    x06 : ["eCTRLMouthCornerBackR"]
    x07 : ["eCTRLMouthCornerUp-Down"]
    x08 : ["eCTRLMouthFrown"]
    x09 : ["eCTRLMouthNarrowR"]
    x10 : ["eCTRLMouthOpen"]
    x11 : ["eCTRLMouthOpenWide"]
    x12 : ["eCTRLMouthSide-SideL"]
    x13 : ["eCTRLMouthSide-SideR"]
    x14 : ["eCTRLMouthSmile"]
    x15 : ["eCTRLMouthSmileOpen"]
    x16 : ["eCTRLMouthSmileSimpleR"]
    x17 : ["eCTRLvAA"]
    x18 : ["eCTRLvEE"]

    ["eCTRLvEE_0"] 0.000+(0.0187*x00)+(0.0627*x01)+(-0.0017*x02)+(-0.0006*x03)+(0.0627*x04)+(0.0588*x05)+(-0.0003*x06)+(0.0017*x07)+(-0.0067*x08)+(0.0602*x09)


    T0 : ["eCTRLvEE_0"]
    T1 : ["eCTRLvEE_1"]

    ["eCTRLvEE"]=T0 +T1 .....

    1. Hm, this is an interesting idea, but I'm not sure that the face bones will update properly. A property driving a bone or a shapekey will always work correctly, but a long time ago I tried to drive properties with other properties, and it worked so-so. It depends on which property Blender updates first.

      Will have a look at it though.

    2. This was a challenge, but I think it will work now. The rig properties drive some helper properties, which are used by a handler to update the bones. On my system the number of poses in any category does not exceed the limits (Expressions come close though), and everything seems to update correctly, also in animations.

      As a side benefit, I got to learn about handlers, something that I had never heard of before.

    3. congratulation, and thanks.
      my handle name is "wait in future" in blender org ^^

      I worried if I interupted your quesiton in blender artist org,, but I relieved you found my topic which divided from your question, and answer offered other user, which may solve up-date problem.

      I have not played with python before ,,but after I get your plug-in,, I start learning to play daz figure in blender more flexible.

      "handler" is still difficult for me to code correctly, but if it can solve some problem I expect more your plug-in!

      then only eye-close controlelr seems work as wrong direction.. I know, "eye-close" >> controll L and R eye close. then those two controller >> controll some eyelids controller.

      then after all, when I use close L or R eye, to close eye, those three low eyelids rotate to open way (opostte upper eye lids direction)

      I maybe three eye lids rotate reverse direction, at start point. (generated bones from collada or dsf)

      though it not critical for me, because now you add new face bone layer, or I can controll individual eye lids by controller too,
      but I do not know why those three (l and eye rotate opositte)

  6. Hi Thomas, thank you to reply many. and many up-date.
    and happy new Year ^^

    I may check more about roll angle. I check some test with beta ,but not downaloded recene yet,

    As my test I do not use controller , but eg eye rotate with eye round rigs, then save it as pose.duf then, import it by your plug in with default genesis3 (non morphed non cloth)

    then feel some eye around bone (toay when I test, I feel, lowereye lids bones move opositte way, when I try to close eye. but may need more clear report with recenet beta. and thank you to teach me about " Daz a pose is specified in world space (more precisely, relative to the armature rather than relative to the bone as in Blender)" actually the difference often confuse me,, to set Eular rotation order. hope to know how you convert or set node rotation order, from dsf to Blender amature which fit to blender global axis? (Z up - Y front),, ?

    Any way,, I hope you keep up-date at your own pase.. I really like this add-on, this is really good add on to learn and play blender animation with daz figure. and your generaed rig is very clean,, then I can easy challenge to modify it,, without many complex work or start from scratch.

  7. when you get time,, test please,,

    If you manually rotate "low three eyelids nodes" 30 degree, of left eye up-wards,, to clear see difference, (to close direction) without pose controlelr in ds,, then save as pose preset. the pose preset keep only about those three nodes rotation.

    next load pose.duf as animation,, in blender,, it rotate down wards
    about those three node. and open eye more..
    though,, other most of facial bones (I manually roatte without pose controller) seems work well I feel.

  8. Hello Thomas!
    I am also using your plugin and find it very useful. However there are some troubles I experience when using some related to victoria7 and 4.2 figures.
    If you were available in private post I would like to inform you further and get sme useful instruction.

  9. Hi tnaks many up-date.^^ I know you keep hard work and try to improve many. I just test when you up-date, then see many things are improved.

    then one thing I am afraid about recent up-date things, if you try to keep all morphs for clothing and actor as same as daz studio , and offer it as main option, you know daz studio usually have many hidden JCM and MCM , and work together
    (as hidden property), then it may not work with blender as you expected, without all morph are actually imported and keep relation (DAZ call them as ERC, with formula)

    I know we can make them by driver, or python, but to load all new morph
    as shape keys, and set dirver seems make your smart plug in too complex. though I expect it in future but Blender not made for daz way.

    most of user actually like to use many morphs and mix in daz studio
    it is strong point, make many variety actor with one (some) base shape figure, then rigs are auto fit current morphed shape, and make Actor.

    But to re-produce such Actor in blender, with daz way, (base shape + many morph shape indivdually, and auto-transfer moprhs for fit to clothings, with hidden jcm and mcm , fit rigs to current shape) seems lost stability.

    without Blender can read all DSON and at current daz remove their content
    as encrypted (with DAZ connect) gradually I think. that means, we can not easy export and import from dsf, duf directly. need to change them as different format, which daz may offer.

    then I feel, the option Collada(or obj) is beststable. Actually I prefer collada option to import clothings, and it is really stable already.
    then only import morphs which I really need for current Actor to modify.

    eg I usually make my actor with more than 10 morphs. then if I use your new option,, I really struggle with, to re-produce my Actor in blender,
    as same as before (though your plug in work well, but I think it can not
    re-produce all links of each morph as same as daz studio, and it seems terrible work for you,, to improve plug-in,,)

    and I find some simple problem about cycles mat textures.
    texture nodes (normal, bumptransparent) seems set as color-data, then if I change them as non-color data, (in node), cycles render become much better. hope you check them when you can.

  10. Hello. Thank you for making this plugin. I have a character with several morphs in DAZ, including one that ages the character (adding wrinkles and changing the face shape). A toon render from DAZ is here:


    After importing to Blender using DUF + DAE, the parts of the shirt and pants are torn open. The aging morph, pose, and expression are missing. Basic textures are correct in Blender Internal but missing in Cycles. Could you advise? I'm available at: d.vyd (AT) outlook (DOT) com.