...you set root install directory for DAZ contents...
Thank you, Kitakoredaz!
Wish we could get Thomas Larsson over here.
This is, in essence the error message:
Did not find path:
"/data/daz 3d/genesis 2/female/genesis2female.dsf"
Did not find path:
"/data/daz 3d/genesis 2/female/uv sets/daz 3d/base/victoria 5.dsf"
Traceback (most recent call last):
File "/Users/ttelos/Library/Application Support/Blender/2.78/scripts/addons/import-daz/__init__.py", line 275, in execute
getMainAsset(self.filepath, context, self)
File "/Users/ttelos/Library/Application Support/Blender/2.78/scripts/addons/import-daz/main.py", line 57, in getMainAsset
main = parseAssetFile(struct, toplevel=True)
File "/Users/ttelos/Library/Application Support/Blender/2.78/scripts/addons/import-daz/file.py", line 250, in parseAssetFile
return asset.parse(struct)
File "/Users/ttelos/Library/Application Support/Blender/2.78/scripts/addons/import-daz/file.py", line 117, in parse
asset.update(mstruct)
File "/Users/ttelos/Library/Application Support/Blender/2.78/scripts/addons/import-daz/material.py", line 83, in update
self.uv_set.material = self
AttributeError: 'NoneType' object has no attribute 'material'
It calls my attention that it loads the .duf file correctly,
and the corresponding message (in the Mac OS Terminal window, i.e., the underlying Unix)
gives the complete filepath of the .duf file correctly, wherever I place the .duf file, but!
The Did not find path message says /data/... etc., as if it was assuming that
/data/ would be sibling to--? What? The .blend file? The .duf file?
So I repositioned those, to really be siblings to the /data/ folder, but the result is exactly the same.
Also, since the error is triggered from the material.py script, I tried turning off all material options
from inside Blender, but that had no effect.
mCasual's TeleBlender system does an excellent job of translating DAZ materials to Cycles,
Collada export from DAZ Studio transfers the DAZ rig,
so what I was hoping for with the Diffeomorphic script was a nice transfer of facial expressions,
including speech, which, according to Thomas Larsson himself, takes into account
both morph changes and bone changes and translates that into Blender drivers(!)
And,, may better save actor.duf (save as scene) in sub folda of same root contents directory, which genesis2female.dsf installed.
Because this plug in use relative path to load and serch dsf, duf,, as same as daz studio, from root (=DAZ contents root).
then we need to set root path for this plug in, as same as daz studio "Content directory manager".
you can set three root path for this plugin, at current as daz (and poser) contents root.
(maybe daz connect root not work, though I do not know)
Above pic, I save actor.duf scene, (with actor.dae) in one of sub-directory of "I:\myfile\dazstudio4\Mylibrary". (which I set as root path for this plug in and Blender) , and all contents which I used are installed under the Root directory. (Mylibrary)
Hi, can you tell me "full path, of genesis2.dsf" (not about scene.duf, I hope to know your genesis2female.dsf full path in ... /data/ sub directories/) which you installed by DIM?
all python erroer message show, this plug in after all can not find "root path" which you need to set as DAZ library..We have assumption, ” all user use same relative path about each daz base figure.dsf, ”
then plug in can find path, from root.
then you should not move dsf, keep as same as before.. (not try move installed dsf)
My test scene is nothing but one single G2f character, morphed, called Djerine1aLarsson inside DAZ Studio,
and now I saved it as Djerine1aLarsson.duf, sibling to genesis2female.dsf;
when I launch the .blend file, the first message I see from the Diffeomorphic is:
This is before asking to Import a .duf file; after that, it starts with
Loading /Users/ttelos/Tools/3D4D/DAZ Studio/ContentDazStudio/data/daz 3d/genesis 2/female/Djerine1aLarsson.duf
Parsing data
Did not find path:
"/data/daz 3d/genesis 2/female/genesis2female.dsf"
Did not find path:
and on and on, ending with the exact same error message that culminates with material.py at line 83.
Also, I tried saving things in parallel with
How did kitakoredaz get in touch with Thomas Larsson?
On Larsson’s own blogspot he rarely answers comments regarding his DAZ Importer,
which is understandable, given that he is also a full-time theoretical physicist (!).
Momentarily, I searched for "path" in the various .py files,
and found this on line 145 of __init__.py:
filepath = StringProperty(name = "File Path", description = "Filepath used for importing the DAZ file", maxlen=1024,
default="")
That default I changed a couple of times, with no success.
Then again, I find it odd that the reported error is traced to line 83 of material.py
because line 83 is in a function definition in a class definition;
it is not a runtime execution statement.
TTnn, you should not save XXXXX.duf (or scene.duf) under the "/data/" directory. Though duf may better to be saved in sub-folda which use same root directory of "genesis2.dsf" to set "Paths to DAZ library" for this plug in, but it not means, save duf under the "data" (should not) please compare how I save actor.duf, and keep installed path about dsf (in data directory)
Then,, I still think, you seems not correctly set DazPath2, and DazPath3. you need not set those two (keep empty, if you have not used them)
They should not be set as sub directory of each, your DazPath2, and DazPath3 are actually wrong, if you set so. they are not DAZ contents root path. (or they are not DAZ library path)
you only need to set, one "DAZ contents Root" directory as DazPath1.
then try,, delete "DazPath2, DazPath3", but only set DazPath1 as actuall DAZ contents root directory of genesis2female.dsf as "Full Path"
I do not know mac, but mac PC start path "/" , without drive or volume name? because your console, DazPath1 seems set as,,"/Users/ttelos/Tools/3D4D/DAZ Studio/ContentDazStudio" . I (windows user) usually set full path,, like this
"C:\Users\ttelos\Tools\3D4D\DAZ Studio\ContentDazStudio" (it start from volume name "C:\")
If you install DAZ contents (include genesis2 starter essential kit) , by DIM, you can check library path
(you seems customized already) by DIM setting>installation.
you may only need to copy the full path then paste on blender plug in panel. I use "I:/myfile/dazstudio4/Mylibrary" as DAZ contents path for DIM. then copy and paste it to plug in>advanced set up>Paths to library.
Then,, I often report or request on "bit bucket" of this plug in,,, which Larson offer link to download plug-in. then get reply .
And, you may need not tweak, __init__.py though I understand, what you try, but file path need to be read from Blender UI property, which you set, then overwite it. Now I feel, if there is problem to input file path for Mac,, but I can not test it.
And I keep up-date plug-in frequently then, your __initi__.py is different from me, I did not test RC (Stable version 1.1 release cnadidtate) much.
recommend try most recent beta, from download pages link. (Bitbucket), then if you hope to report problem and contact him, use "issues" of Bitbucket (may need to make Account I think) (I usually keep another self modified version which stable for me, with recent beta to test and report)
The variable filepath is used initially to find the .duf file to be processed.
Said file is always found, no matter where I put it.
The problem arises when looking for assets, and,
weak programmer that I am, I cannot find a point where I might orient the scripts in that regard,
even under the guidance of the Traceback, because I see a mixture of Blender API calls,
Standard Library calls (such as os.path etc.), and DAZ-specific calls,
and the lines that have to do with assets try to read files based on variables called id or ref or struct,
but I don’t see where those are initialized.
Amen: I just downloaded a version updated March 10th,
and what I notice is, it now has an option to import DAZ Studio files or Poser files (wow!),
but the scripts still don’t understand where to find the blessed .dsf file.
Yes, thank you, I also tried giving only one path to the DAZ library, namely /Users/ttelos/Tools/3D4D/DAZ\ Studio/ContentDazStudio/
which is the folder that contains /data/ and /Runtime/ : the result is still the same.
Excellent job! I search for a way to get Genesis 3 to Cinema 4D and the python code might be very helpful.
Some joints/bones of Genesis 3 have a pre-orientation. Is this addressed in this plugin? The joint controlled morphs are tied to these pre-rotations...
One minor annoyance (even though installing the Blender add-on will still work) is if you install the diffeomorphic zip file with the randomly generarted - extension Blender will complain with you install from the zip so instead extract the contents and rename the top level folder of the contents just extract and use 7-zip to create a new extensionless zip file for diffiomorphic.
Well, I tried to delete the addon from Blender with the version number and it failed to delete the addon. I am using Blender 2.73c. So I closed Blender and deleted the addon manually. The addon is located in <System Drive>\Users\<My Username>\AppData\Roaming\Blender Foundation\Blender\2.78\scripts\addons\Diffeomorphic-import-daz*
Then I reinstalled using the renamed version. I don't keep multiple versions installed in Blender.
I use to import in Blender via dae/fbx but this plugin seems to have some geat features, such as hair conversion to particles, rig conversion to rigify, and automatic proxy generation. I have to say that the dae/fbx approach seems easier though, there is a lot of "fitting" work that is needed with this plugin to get a working character.
The main problem I meet with dae/fbx is the importing of bending morphs. That make all the difference between the realistic elbows and knees that I get in DS, and the fake toon bendings that I get in Blender with dae/fbx importing. It's not clear to me if/how this plugin is going to deal with bending morphs, going to do some tests ..
And by the way, overall it's really impressive !!!
I use to import in Blender via dae/fbx but this plugin seems to have some geat features, such as hair conversion to particles, rig conversion to rigify, and automatic proxy generation. I have to say that the dae/fbx approach seems easier though, there is a lot of "fitting" work that is needed with this plugin to get a working character.
The main problem I meet with dae/fbx is the importing of bending morphs. That make all the difference between the realistic elbows and knees that I get in DS, and the fake toon bendings that I get in Blender with dae/fbx importing. It's not clear to me if/how this plugin is going to deal with bending morphs, going to do some tests ..
And by the way, overall it's really impressive !!!
Are these bending morphs the so-called JCMs for Joint Control Morphs?
@nonesuch00 Yes I mean the JCMs. As kitakoredaz says, unfortunately this plugin doesn't seem to handle them.
@kitakoredaz Actually my worflow is very simple, really nothing special.
DS EXPORT
1) create your character in DS, apply shapes, hair, clothing and items.
2) export the character as collada, with all morphs baked.
export the needed face morphs as a separate fbx file.
BLENDER IMPORT
1) import the character from the collada file.
import the face morphs from the fbx file and apply them to the character.
2) create some ik chains for the bones, and some drivers for the face morphs.
3) optionally convert materials to cycles using the materials utils addon.
The only "trick" I have to use in this workflow is to remove duplicated bones, because the merge bones option in the DS exporter doesn't seem to work fine, so I avoid it. To delete the duplicated bones do as follows.
1) select the armature and go to edit mode
2) select pattern *.00* and delete bones
The DAZ 3D company might consider to pay the author of this Blender plugin and extent the plugin to correctly handle DAZ 3D JCM and handle other DAZ Studio features better. Maybe even DAZ Studio can write a plugin for Blender to handle DAZ Studio format natively in Blender.
This would be very nice for animators and game makers.
Comments
Is there anything this program won't do? Thanks for the information, I don't know how I missed it.
Thanks for pointing this out
Wow, awesome
Agreed. Except, I get
Did not find path: /data/daz 3d/genesis 2/female/genesis2female.dsf
no matter what I say in the paths field,
and no matter where i place the .duf file.
Any ideas? I'm on Mac OS 10.12.3
[Sorry, this message got repeated: see below.]
Thank you, Kitakoredaz!
Wish we could get Thomas Larsson over here.
This is, in essence the error message:
It calls my attention that it loads the .duf file correctly,
and the corresponding message (in the Mac OS Terminal window, i.e., the underlying Unix)
gives the complete filepath of the .duf file correctly, wherever I place the .duf file, but!
The Did not find path message says /data/... etc., as if it was assuming that
/data/ would be sibling to--? What? The .blend file? The .duf file?
So I repositioned those, to really be siblings to the /data/ folder, but the result is exactly the same.
Also, since the error is triggered from the material.py script, I tried turning off all material options
from inside Blender, but that had no effect.
mCasual's TeleBlender system does an excellent job of translating DAZ materials to Cycles,
Collada export from DAZ Studio transfers the DAZ rig,
so what I was hoping for with the Diffeomorphic script was a nice transfer of facial expressions,
including speech, which, according to Thomas Larsson himself, takes into account
both morph changes and bone changes and translates that into Blender drivers(!)
And,, may better save actor.duf (save as scene) in sub folda of same root contents directory, which genesis2female.dsf installed.
Because this plug in use relative path to load and serch dsf, duf,, as same as daz studio, from root (=DAZ contents root).
then we need to set root path for this plug in, as same as daz studio "Content directory manager".
you can set three root path for this plugin, at current as daz (and poser) contents root.
(maybe daz connect root not work, though I do not know)
Above pic, I save actor.duf scene, (with actor.dae) in one of sub-directory of "I:\myfile\dazstudio4\Mylibrary". (which I set as root path for this plug in and Blender) , and all contents which I used are installed under the Root directory. (Mylibrary)
Hi, can you tell me "full path, of genesis2.dsf" (not about scene.duf, I hope to know your genesis2female.dsf full path in ... /data/ sub directories/) which you installed by DIM?
all python erroer message show, this plug in after all can not find "root path" which you need to set as DAZ library..We have assumption, ” all user use same relative path about each daz base figure.dsf, ”
then plug in can find path, from root.
then you should not move dsf, keep as same as before.. (not try move installed dsf)
Thank you, Kitakoredaz!
My test scene is nothing but one single G2f character, morphed, called Djerine1aLarsson inside DAZ Studio,
and now I saved it as Djerine1aLarsson.duf, sibling to genesis2female.dsf;
when I launch the .blend file, the first message I see from the Diffeomorphic is:
This is before asking to Import a .duf file; after that, it starts with
and on and on, ending with the exact same error message that culminates with
material.py
at line 83.Also, I tried saving things in parallel with
and the response is similar.
How did kitakoredaz get in touch with Thomas Larsson?
On Larsson’s own blogspot he rarely answers comments regarding his DAZ Importer,
which is understandable, given that he is also a full-time theoretical physicist (!).
Momentarily, I searched for "path" in the various .py files,
and found this on line 145 of __init__.py:
That
default
I changed a couple of times, with no success.Then again, I find it odd that the reported error is traced to line 83 of
material.py
because line 83 is in a function definition in a class definition;
it is not a runtime execution statement.
TTnn, you should not save XXXXX.duf (or scene.duf) under the "/data/" directory. Though duf may better to be saved in sub-folda which use same root directory of "genesis2.dsf" to set "Paths to DAZ library" for this plug in, but it not means, save duf under the "data" (should not) please compare how I save actor.duf, and keep installed path about dsf (in data directory)
Then,, I still think, you seems not correctly set DazPath2, and DazPath3. you need not set those two (keep empty, if you have not used them)
They should not be set as sub directory of each, your DazPath2, and DazPath3 are actually wrong, if you set so. they are not DAZ contents root path. (or they are not DAZ library path)
you only need to set, one "DAZ contents Root" directory as DazPath1.
then try,, delete "DazPath2, DazPath3", but only set DazPath1 as actuall DAZ contents root directory of genesis2female.dsf as "Full Path"
I do not know mac, but mac PC start path "/" , without drive or volume name? because your console, DazPath1 seems set as,,"/Users/ttelos/Tools/3D4D/DAZ Studio/ContentDazStudio" . I (windows user) usually set full path,, like this
"C:\Users\ttelos\Tools\3D4D\DAZ Studio\ContentDazStudio" (it start from volume name "C:\")
If you install DAZ contents (include genesis2 starter essential kit) , by DIM, you can check library path
(you seems customized already) by DIM setting>installation.
you may only need to copy the full path then paste on blender plug in panel. I use "I:/myfile/dazstudio4/Mylibrary" as DAZ contents path for DIM. then copy and paste it to plug in>advanced set up>Paths to library.
Then,, I often report or request on "bit bucket" of this plug in,,, which Larson offer link to download plug-in. then get reply .
And, you may need not tweak, __init__.py though I understand, what you try, but file path need to be read from Blender UI property, which you set, then overwite it. Now I feel, if there is problem to input file path for Mac,, but I can not test it.
And I keep up-date plug-in frequently then, your __initi__.py is different from me, I did not test RC (Stable version 1.1 release cnadidtate) much.
recommend try most recent beta, from download pages link. (Bitbucket), then if you hope to report problem and contact him, use "issues" of Bitbucket (may need to make Account I think) (I usually keep another self modified version which stable for me, with recent beta to test and report)
Thank you again, KitaKoreDaz!
The variable
filepath
is used initially to find the .duf file to be processed.Said file is always found, no matter where I put it.
The problem arises when looking for assets, and,
weak programmer that I am, I cannot find a point where I might orient the scripts in that regard,
even under the guidance of the Traceback, because I see a mixture of Blender API calls,
Standard Library calls (such as os.path etc.), and DAZ-specific calls,
and the lines that have to do with assets try to read files based on variables called
id
orref
orstruct
,but I don’t see where those are initialized.
Amen: I just downloaded a version updated March 10th,
and what I notice is, it now has an option to import DAZ Studio files or Poser files (wow!),
but the scripts still don’t understand where to find the blessed .dsf file.
Yes, thank you, I also tried giving only one path to the DAZ library, namely
/Users/ttelos/Tools/3D4D/DAZ\ Studio/ContentDazStudio/
which is the folder that contains
/data/
and/Runtime/ :
the result is still the same.Anyway, I just opened Issue #8, as you suggested:
https://bitbucket.org/Diffeomorphic/import-daz/issues/8/dsf-asset-file-not-found
with a link to this conversation here.
Excellent job! I search for a way to get Genesis 3 to Cinema 4D and the python code might be very helpful.
Some joints/bones of Genesis 3 have a pre-orientation. Is this addressed in this plugin? The joint controlled morphs are tied to these pre-rotations...
One minor annoyance (even though installing the Blender add-on will still work) is if you install the diffeomorphic zip file with the randomly generarted - extension Blender will complain with you install from the zip so instead extract the contents and rename the top level folder of the contents just extract and use 7-zip to create a new extensionless zip file for diffiomorphic.
eg.
1. download diffeomorphic-import-daz-7a7e6e8fc4eb.zip
2. extract diffeomorphic-import-daz-7a7e6e8fc4eb.zip to diffeomorphic-import-daz-7a7e6e8fc4eb
3. rename diffeomorphic-import-daz-7a7e6e8fc4eb to diffeomorphic-import-daz
4. 7-zip diffeomorphic-import-daz into a new zip file called diffeomorphic-import-daz.zip
5. follow the instrctions already provided here - http://diffeomorphic.blogspot.se/p/installing-blender-add-on.html
6. follow the instructions in this thread and here http://diffeomorphic.blogspot.se/p/daz-importer.html for configuring diffeomorphic
Well, I tried to delete the addon from Blender with the version number and it failed to delete the addon. I am using Blender 2.73c. So I closed Blender and deleted the addon manually. The addon is located in <System Drive>\Users\<My Username>\AppData\Roaming\Blender Foundation\Blender\2.78\scripts\addons\Diffeomorphic-import-daz*
Then I reinstalled using the renamed version. I don't keep multiple versions installed in Blender.
kitakoredaz,
Is my understanding correct - You posed your figure in Blender after importing it as Collada?
I use to import in Blender via dae/fbx but this plugin seems to have some geat features, such as hair conversion to particles, rig conversion to rigify, and automatic proxy generation. I have to say that the dae/fbx approach seems easier though, there is a lot of "fitting" work that is needed with this plugin to get a working character.
The main problem I meet with dae/fbx is the importing of bending morphs. That make all the difference between the realistic elbows and knees that I get in DS, and the fake toon bendings that I get in Blender with dae/fbx importing. It's not clear to me if/how this plugin is going to deal with bending morphs, going to do some tests ..
And by the way, overall it's really impressive !!!
Are these bending morphs the so-called JCMs for Joint Control Morphs?
@nonesuch00 Yes I mean the JCMs. As kitakoredaz says, unfortunately this plugin doesn't seem to handle them.
@kitakoredaz Actually my worflow is very simple, really nothing special.
DS EXPORT
1) create your character in DS, apply shapes, hair, clothing and items.
2) export the character as collada, with all morphs baked.
export the needed face morphs as a separate fbx file.
BLENDER IMPORT
1) import the character from the collada file.
import the face morphs from the fbx file and apply them to the character.
2) create some ik chains for the bones, and some drivers for the face morphs.
3) optionally convert materials to cycles using the materials utils addon.
The only "trick" I have to use in this workflow is to remove duplicated bones, because the merge bones option in the DS exporter doesn't seem to work fine, so I avoid it. To delete the duplicated bones do as follows.
1) select the armature and go to edit mode
2) select pattern *.00* and delete bones
The DAZ 3D company might consider to pay the author of this Blender plugin and extent the plugin to correctly handle DAZ 3D JCM and handle other DAZ Studio features better. Maybe even DAZ Studio can write a plugin for Blender to handle DAZ Studio format natively in Blender.
This would be very nice for animators and game makers.