Piercings on G8F not parenting to body and stay afloat ** aka better rigid followers **
After importing the model into blender using the addon, i tried parenting the piercings to armature using Ctrl + P (tried with empty groups and with automatic weights) and also tried parenting to body as well with both methods and both did not work.
as you can see in the picture below, after doing a pose, the hair braid jewellery and earrings and piercings stay afloat instead of moving with the pose.
What am i missing or doing wrong here?
Comments (71)
-
-
- changed status to invalid
-
reporter @padone
I am ofcourse exporting the figured with all the accessories parented properly, but i did not see them parented in blender when imported.
If i do parent it vertices, should i parent each accessory to vertex/vertices close to it or to a common one?
-
That’s odd. Be sure to update to the latest dev version, then post a simple test scene in duf format with just one item parented to a base figure, also link the product pages if you use anything but the base packs. I’ll give a look.
Can you parent successfully any prop or primitive ?
-
reporter - changed status to open
-
reporter @padone
I am using the latest dev version from bitbucket. I will do a simple test as you asked and share my findings.
-
reporter I used a simple base G8f figure with the following assets attached to it DAZ.
- https://www.daz3d.com/mrl-amara-braids-for-genesis-3-and-8-female-s Used the G8F version hair with accessories attached to hair.
- https://www.daz3d.com/dforce-v-neck-dress-outfit-and-hair-for-genesis-8-and-81-females Used V Neck necklace.
- https://www.daz3d.com/make-me-punk-shaders-and-decals Clicked on “Make Me Punk ! Piercings LOAD ALL“ for G8F from accessories tab.
- https://www.daz3d.com/alternative-piercing-pack-for-genesis-8-female Clicked on Accessories tab and loaded “AP Nipple Left 01”, “AP Nipple Left 02”,”AP Nipple Right 01” and “AP Nipple Right 02”.
Saved the DAZ file. Exported as DBZ and imported into DAZ and saw the following errors. I am using the latest version of the dev plugin and i got the following errors:
Read prefs: "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\config\userpref.blend" Loading DAZ Importer v 4.1.0 DAZ loaded Register DAZ Importer Load settings from C:/Users/Balkazzaar/Documents/DAZ Importer/import_daz_settings.json Loading BVH Retargeter BVH Retargeter loaded Load settings from "C:\Users\Balkazzaar/Documents/DAZ Importer/retarget_bvh_settings.json" Loading MHX RTS v 4.1.0 MHX RTS loaded Reloading external rigs... Reloading external metarigs... Loading E:\My DAZ3D Library\Scenes\test.duf Parsing data Preprocessing... Fitting objects with dbz file... Building objects... Traceback (most recent call last): File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\error.py", line 223, in execute self.run(context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\main.py", line 287, in run self.loadDazFile(filepath, context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\main.py", line 184, in loadDazFile asset.postbuild() File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\cycles.py", line 130, in postbuild self.tree.postbuild() File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\cycles.py", line 2137, in postbuild marked = pruneNodeTree(self, active) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\tree.py", line 624, in pruneNodeTree makeDazImages(tree) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\tree.py", line 746, in makeDazImages cnode = copyNode(node, ctree) ^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\tree.py", line 838, in copyNode copy_attributes( input_attributes, inp, new_node.inputs[i] ) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\tree.py", line 820, in copy_attributes setattr( new_prop, attr, getattr( old_prop, attr ) ) ValueError: bpy_struct: item.attr = val: sequence expected at dimension 1, not 'float' Error: Python: Traceback (most recent call last): File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\error.py", line 223, in execute self.run(context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\main.py", line 287, in run self.loadDazFile(filepath, context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\main.py", line 184, in loadDazFile asset.postbuild() File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\cycles.py", line 130, in postbuild self.tree.postbuild() File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\cycles.py", line 2137, in postbuild marked = pruneNodeTree(self, active) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\BlenderTraceback (most recent call last): File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\error.py", line 223, in execute self.run(context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\main.py", line 758, in run self.easyImport(context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\main.py", line 767, in easyImport bpy.ops.daz.import_daz_manually( File "C:\Program Files\Blender Foundation\Blender 4.1\4.1\scripts\modules\bpy\ops.py", line 109, in __call__ ret = _op_call(self.idname_py(), kw) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ RuntimeError: Error: Python: Traceback (most recent call last): File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\error.py", line 223, in execute self.run(context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\main.py", line 287, in run self.loadDazFile(filepath, context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\main.py", line 184, in loadDazFile asset.postbuild() File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\cycles.py", line 130, in postbuild self.tree.postbuild() File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\cycles.py", line 2137, in postbuild marked = pruneNodeTree(self, active) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\tree.py", line 624, in pruneNodeTree makeDazImages(tree) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\tree.py", line 746, in makeDazImages cnode = copyNode(node, ctree) ^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\tree.py", line 838, in copyNode copy_attributes( input_attributes, inp, new_node.inputs[i] ) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\tree.py", line 820, in copy_attributes setattr( new_prop, attr, getattr( old_prop, attr ) ) ValueError: bpy_struct: item.attr = val: sequence expected at dimension 1, not 'float' Location: C:\Program Files\Blender Foundation\Blender 4.1\4.1\scripts\modules\bpy\ops.py:109
-
reporter @padone
If you need anything else, please let me know. I can share the scene file with the assets as a zip file if you need.
-
reporter Duplicate which is unresolved and similar to https://bitbucket.org/Diffeomorphic/import_daz/issues/62/viewport-shading-render-floating-objects
-
repo owner As for the crash it is the same as in
#2083, which was fixed after the release of 4.1.0. But it happens late in the import process and I don’t think it affects parenting. -
4.1.0.2152
https://www.daz3d.com/alternative-piercing-pack-for-genesis-8-female
I can’t reproduce the issue here, parenting is imported just fine. Test scene included piercing.duf.
steps:
- easy import the test scene piercing.duf with the default preset
-
- attached piercing.duf
test scene for piercing
-
4.1.0.2153, blender 3.6 and 4.1
update. bug for Thomas. rigid follow.
The parenting works fine in that it follows the head, so the issue reported by Balkazar doesn’t apply. However, the piercings don’t follow the face expressions. In daz studio we have a rigid follow, that should be imported in blender as a vertex parenting, see
.#1423If I set vertex parenting by hand then the piercings follow the face expressions.
steps:
- easy import the test scene piercing.duf with the default preset plus expressions
- check the expressions, the piercings don’t follow
steps to fix:
- select all the piercings
- clear parent: alt-p clear and keep transform
- shift select the figure mesh
- make parent: ctrl-p vertex triangle
-
reporter ok. I will download the latest commit and try again and let you know.
-
repo owner Vertex parenting is implemented in last commit. It sort of was implemented before, but it wasn’t used in this case because the piercings are parented to the head bone rather than to the figure itself.
The piercings are parented to a single vertex, namely the first of the six vertices listed in the duf file. Triangles are not used, because that caused unwanted extra rotations when doing the parenting without operators. This could cause incorrect movements in some cases, but it is better than nothing and works quite well for the piercings.
-
4.1.0.2155
That doesn’t work fine, because the piercings rotate when we rotate the head, instead of staying attached to the face. When we have a rigid follow it doesn’t really matter what the object is parented to in daz studio, because in blender it will be parented to the mesh anyway. See my steps above for a correct solution.
p.s. In some way with the last commit it seems you also managed to break the vertex parenting in blender, that I wouldn’t dream it is possible. That is, even if we try to fix it by hand it doesn't work anymore. Reverting to the previous commit and fixing by hand works fine.
-
repo owner Fixed in last commit. Now all rigid followers are just collected during the import phase, and then parenting is done with operators in a final step. Seems to work, although the needle on the left upper lip sometimes disappear under the skin.
-
Commit 390ea06.
Nope. I mean the piercings work fine this time, but something breaks vertex parenting. That is, if we clear parent then redo the vertex parenting by hand it doesn’t work anymore. This doesn’t happen with commit f72d86e where the manual fix works fine and we can redo it at will.
If this can be a clue there’s some strange relation lines in the imported mesh that shouldn’t be there. At least it doesn’t happen when we do it by hand. Did you clear parents before doing vertex parenting as my steps above ?
-
repo owner To really see what is imported, use manual import instead of easy import. The piercing meshes are parented to empties that are vertex parented to the mesh. To get the result of easy import, first eliminate empties then merge rigs.
-
Commit 390ea06.
Nope. Here it works fine if I do it by hand with the standard import, no strange lines are generated and I can redo the parenting any time. The empties are vertex parented as you noted but this doesn’t really matter.
steps:
- standard import the test scene
- select all empties and delete, this leaves all the piercings with no parents
- merge rigs
- select all the piercings then vertex parent
-
repo owner Manual import cleared parents before vertex parenting, but the eliminate empties tool did not. Fixed now.
The strange lines come from the Apply Transforms option in easy import. Easy import no longer applies transforms of vertex parented objects.
-
Commit 46d27d8 works great you got it. Thank you for the fix.
If Balkazar has nothing to add we can close as resolved.
-
note. important. about apply transforms.
Unless there’s a reason to, I believe apply transforms should only apply the scale, not location and rotation. Otherwise the pivot points of objects is changed. This is especially noticeable when we import multiple figures at different positions in the scene. Applying the scale makes sense if we want to bake the figure size.
I see that parented objects are excluded from apply transforms, to preserve the pivot points. But we could apply the scale for them too.
As a consequence we could also rename “apply transforms“ as “apply scale“. Of course we could just disable “apply transforms“ in the import options and eventually apply scale by hand where needed. I’m just wondering if there’s any reason to keep “apply transforms“ as it is. Let us know.
-
repo owner There are a number of tools that won’t work correctly with object transforms. Basically anything that uses operators that act on transformed objects; make hair, merge geografts and transfer shapekeys come to mind, but there might be others as well. Transforms are applied to avoid error messages with these tools, but as you said there are tradeoffs.
-
repo owner Apply transforms is disabled in the last commit, and the code has been extracted to a separate tool in the Corrections panel.
-
I am under the impression that recently you enhanced some tools to work with transformations, that wasn’t possible before. Anyway I agree that having apply turned off and eventually the tools to warn is a better default, so we know when and why apply is needed.
-
reporter @Alessandro Padovani @Thomas Larsson
I downloaded the latest commit and this time i used my original character itself with some tattoos and an outfit as well and i m still get the error and also viewport shows all white shading instead of the usual beige and red color shading.
Using Blender 4.1
Below are the errors i saw in the blender console.
Read prefs: "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\config\userpref.blend" Loading DAZ Importer v 4.1.0 DAZ loaded Register DAZ Importer Load settings from C:/Users/Balkazzaar/Documents/DAZ Importer/import_daz_settings.json Loading BVH Retargeter BVH Retargeter loaded Load settings from "C:\Users\Balkazzaar/Documents/DAZ Importer/retarget_bvh_settings.json" Loading MHX RTS v 4.1.0 MHX RTS loaded Reloading external rigs... Reloading external metarigs... Loading E:\My DAZ3D Library\Scenes\testpiercingg8f.duf Parsing data Smashing character 547204 Smashing character 460003 Smashing character 1148586 Preprocessing... Missing shell material Material: GoldenPalace_2254_GP_Torso Node: Shell Inst: Piercings Shell: Genesis 8 Female UV set: Default UVs Missing shell material Material: GoldenPalace_2254_GP_Vagina Node: Shell Inst: Piercings Shell: Genesis 8 Female UV set: Default UVs Missing shell material Material: GoldenPalace_2254_GP_Labia Minora Node: Shell Inst: Piercings Shell: Genesis 8 Female UV set: Default UVs Missing shell material Material: GoldenPalace_2254_GP_Rectum Node: Shell Inst: Piercings Shell: Genesis 8 Female UV set: Default UVs Missing shell material Material: GoldenPalace_2254_GP_Torso Node: Shell Inst: GoldenPalace_Shell Shell: Genesis 8 Female UV set: Golden Palace Missing shell material Material: GoldenPalace_2254_GP_Vagina Node: Shell Inst: GoldenPalace_Shell Shell: Genesis 8 Female UV set: Golden Palace Missing shell material Material: GoldenPalace_2254_GP_Labia Minora Node: Shell Inst: GoldenPalace_Shell Shell: Genesis 8 Female UV set: Golden Palace Missing shell material Material: GoldenPalace_2254_GP_Rectum Node: Shell Inst: GoldenPalace_Shell Shell: Genesis 8 Female UV set: Golden Palace Fitting objects with dbz file... Building objects... Duplicate geometry definition: <Geometry /data/daz%203d/genesis%208/female/genesis8female.dsf#geometry Genesis8Female ['geometry-4', 'geometry-1']> Material "Face_Eye Mask" not found in geometry Genesis8Female Ignore <Instance Tonemapper%20Options-1 L:Tonemapper Options 0 N: Tonemapper Options P: None R: None> Ignore <Instance Environment%20Options-1 L:Environment Options 0 N: Environment Options P: None R: None> Traceback (most recent call last): File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\error.py", line 223, in execute self.run(context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\main.py", line 290, in run self.loadDazFile(filepath, context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\main.py", line 182, in loadDazFile inst.finalize(context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\node.py", line 504, in finalize follows = LS.rigidFollow.get(mesh.name) ^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'name' Error: Python: Traceback (most recent call last): File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\error.py", line 223, in execute self.run(context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\main.py", line 290, in run self.loadDazFile(filepath, context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\main.py", line 182, in loadDazFile inst.finalize(context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\node.py", line 504, in finalize follows = LS.rigidFollow.get(mesh.name) ^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'name' Location: C:\Program Files\Blender Foundation\Blender 4.1\4.1\scripts\modules\bpy\ops.py:109 Traceback (most recent call last): File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\error.py", line 223, in execute self.run(context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\main.py", line 761, in run self.easyImport(context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\main.py", line 770, in easyImport bpy.ops.daz.import_daz_manually( File "C:\Program Files\Blender Foundation\Blender 4.1\4.1\scripts\modules\bpy\ops.py", line 109, in __call__ ret = _op_call(self.idname_py(), kw) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ RuntimeError: Error: Python: Traceback (most recent call last): File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\error.py", line 223, in execute self.run(context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\main.py", line 290, in run self.loadDazFile(filepath, context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\main.py", line 182, in loadDazFile inst.finalize(context) File "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\scripts\addons\import_daz\node.py", line 504, in finalize follows = LS.rigidFollow.get(mesh.name) ^^^^^^^^^ AttributeError: 'NoneType' object has no attribute 'name' Location: C:\Program Files\Blender Foundation\Blender 4.1\4.1\scripts\modules\bpy\ops.py:109
I am attaching the Daz scene and the generated dbz files to this ticket for your perusal, so that you can see the issue hopefully this time.
The file name is testpiercingg8f. The DAZ file looks as shown below. Please let me know if you need the product names of the tattoos i used. Hopefully the errors will reveal the product names.
-
reporter - attached testpiercingg8f.duf
- attached testpiercingg8f.dbz
-
You should try to make the test scene as simple as possible, if the issue is the piercings then include a test scene using only them, please exclude everything that is not needed. Unless you notice that the piercings alone work fine and you need that exact combination to trigger the issue.
p.s. From your log my guess is that you may have a messed up content folder, in this case you should also have errors in the daz log when you load the scene, then daz studio could be more “forgiving“ than blender handling duplicate files. Be sure that your content folders are the same in daz and blender.
https://bitbucket.org/Diffeomorphic/import_daz/wiki/Install/Save the DAZ root paths
Then this is only a guess of mine. Thomas can understand better what’s going on in the log.
-
4.1.0.2158
bug for @Thomas. rigid follower parented to shell.
I stripped down the test scene provided by Balkazar of items I can’t read, leaving only the piercings, and I noticed the rigid followers are parented to an invisible shell. Now I have no idea why Balkazar did that, it makes no sense to me, but this way the importer is confused and python crashes.
steps:
- easy import the test scene testpiercings-g8f-r2.duf
Again, we should not really care what a rigid follower is parented to in daz studio, we only need to know what the “follow target” is that’s a rigid follow property, that’s the geometry the item will be parented to in blender.
-
- attached testpiercing-g8f-r2.duf
Balkazar’s test scene stripped down
-
repo owner I have tested Balkazar’s original file, and while I don’t get exactly this error, I got others, which have been fixed in the last commit.
One error was caused by pruning the node tree when the code still had references to some nodes. If those nodes are pruned, anything could happen. This is avoided by moving pruning to the very end of manual import.
The imported file contains lots of hidden empties that are rigid followers. They have to be unhidden before they can be vertex parented, because parenting is done with operators which only work on unhidden objects. This has been fixed, but the plugin uses operators in many other places, and I’m not sure that it unhides things everywhere.
-
repo owner Update. In the previous commit only a few of the empties actually followed the mesh. In the last commit all of them should work.
-
reporter @Alessandro Padovani
Now I have no idea why Balkazar did that, it makes no sense to me, but this way the importer is confused and python crashes.
I did not do this myself. In the https://www.daz3d.com/make-me-punk-shaders-and-decals product, there is single click function which will put ALL the piercings on the figure. I guess they figured to parent it to a shell like you said. This was not done by me, its the product itself. What i dont get is that how come these same errors did not show up in the earlier iteration, because its the same thing i did that scene file too..
-
Commit 33c9d47.
Works almost fine, but a couple notes, in the stripped test scene testpiercing-g8f-r2.duf:
bug. rigid follower with multiple items. Some piercings move when we move the head, same as happened before. In daz studio there’s two items parented to the same rigid follower, only one works fine while the other doesn’t. Probably you don’t clear parents for all.
bug. right nipple rod. The right nipple rod has a wrong position in rest pose, no idea why. The left nipple rod is fine which should be the same.
-
repo owner The right ear dagger looks fine here. Or at least it looks like it does in DS, the upper and lower parts do not quite fit together there either.
However, you must import the file with dbz fitting. The piercings end up in weird places if they are imported with one of the unmorphed options. But this shouldn’t be a problem in this case since you normally import characters with dbz fitting.
-
reporter @Alessandro Padovani
Regarding the nipple rod/nipple rings not parenting or being in the wrong position, i had no control over it. In DAZ, when i clicked the button to put the nipple rod/nipple ring, it would never be in the right place. Either the nipple ring/nipple rod would be behind the breast /nipple mesh and not visible, or it would on the breast mesh away from the nipple area…so only solution was to manually adjust the position of these assets using the mouse or the x/y/z coordinates…i dont even think they were parented properly…
What about the rings or jewellery on the hair braids not getting parented? Is the whole import process failing because of one error and hence all the parenting fails?
-
@Thomas the ear daggers are fine in rest pose, but they move if we move the head, as described above. Did you move the head ?
@Balkazar Here the braid rings are parented fine, though some favorites don’t seem to work, but I understand favorites have some limits depending on the morphs, so this may be expected. Also the braid rings are parented to bones they don’t use rigid followers, the braid bones are in the custom layer.
steps:
- import with daz favorites for the braids
- test the braids morphs
-
reporter @Alessandro Padovani
At no point in this ticket, i mentioned that i use favorites. I did not use any favorites here and never have and dont intend to.
So i dont exactly know or understand what cause or why the braid rings are not parenting. I have not tried the latest commit since your/ @Thomas Larsson 's fix.
Can the braid rings be parented without using favorites? or does it have to use favorites?
-
repo owner
In the Options panel there is now info about the parent vertices and a button that selects them.
Blender doesn’t seem to do a very good job at selecting parent vertices, which leads to bad deformation. E.g. the dagger disappears when the character opens her jaw. Here are the parent vertices for the upper and lower dagger, respectively. I get the same vertices when doing manual parenting.
-
repo owner In this case it is probably better to disable Eliminate Empties in easy import, and hide all empties instead. Since empties are just single points it should be easier for Blender to find the parent vertices.
Now I see that the empty corresponding to the dagger meshes is not located at the right place. That may be the cause of the problem.
-
@Thomas Thank you for looking into this. Yes, I can confirm that reparenting by hand works fine. In this case the automatic parenting can’t guess what “good” vertices are to keep the dagger in place, but we can always reparent by hand.
This doesn’t explain why the nipple rod is out of place in rest pose though.
note. important. reference vertices.
In the duf file there’s reference vertices for the rigid follow nodes, which we could use to get the three vertices for blender, at least this way we know that they’re inside the intended selection and this will work better than the automatic parenting. May still need manual correction in some extreme cases.
Let us know.
https://www.daz3d.com/forums/discussion/203481/setting-up-items-with-rigid-follow-nodes-tutorial
p.s. I’d go with the first and last and a middle vertices to try and cover the whole daz selection.
-
repo owner Using the reference verts is not straightforward. If you change the parent verts after parenting, the dagger jumps to another position. There doesn’t seem to be any way to specify the vertices when using the operator, so this would require doing parenting without operators. The plugin does that with objects that have bone parents, but it doesn’t seem to work with vertex parents.
But if the empty is located properly, it should be easier for Blender to find good parent vertices.
I will probably disable the eliminate empties option by default, and let users use the corresponding button if they need to.
-
If it helps, below it’s how we can do it with operators. Otherwise if you can import the reference vertices as vertex groups I can do some tests. Then if we don’t find anything better we can be happy with fixing it by hand when needed, that’s not terrible anyway.
Let us know.
parent to selected vertices:
- object mode
- select source (the object to be parented)
- select target as active (the parent object)
- edit mode
- select three vertices on target (the daz reference vertices should be valid at this point)
- ctrl-p make vertex parent
- object mode
-
repo owner This issue was tricky. For some reason the G8F armature is distorted, but the empties and eyelash armature is not. If we import the file with unmorphed mesh fitting, both armature are undistorted.
So the empties where not placed correctly relative to the G8F armature. Now the empties are also included in the dbz file, so they are placed in the right positions.
-
repo owner Since the export_to_blender.dsa script has changed, it must be copied to the DS scripts folder before exporting the dbz file. The HD export script will be updated later. The eliminate empties option in easy import has been disabled. I tried to select body vertices before vertex parenting the piercings, but Blender ignored that and choose bad parent verts anyway. Empties seem to work better.
-
Commit ee8b59a.
Works amazing even for complex cases you got it, that seems perfect at least in my tests. A couple notes.
empties should not be needed. In my steps above you have to select only three vertices for the vertex parent to work, not the whole daz selection. Did you select three vertices ?
The empties location is not relevant in any way for rigid followers. In this case the empties are just placeholders for the rigid followers, what matters is the “follow maps” and the “follow items” which are children of the rigid followers. In blender the “follow items“ baked in the dbz can be vertex parented using the “follow maps“.
That said having the baked location for empties may be useful for other cases, as objects parented to empties for animation. Just not for rigid followers.
scale empties. When empties are really needed, you may want to scale them to a better size for daz figures. This is done when creating the empty.
bug. right nipple rod. The right nipple rod in my test scene testpiercing-g8f-r2.duf stills out of place.
p.s. On a comparison with the daz scene it seems there’s also a wrong rotation, this is odd since the mesh is baked in the dbz, unless empties come into play. Again the left rod is fine.
-
repo owner There is something fishy about this piercing, because the corresponding empty is misplaced in DS too. Although the mesh is in the right position.
Perhaps one should scale the empties to be 1 cm, which is the basic unit in DS.
I don’t get vertex parenting to work properly even when I do it manually.
- Unparent the piercing mesh.
- Select three verts in the body mesh.
- Parent to three vertices.
- Check the parent vertices with the Select Parent Vertices button described above (and which I forgot to upload yesterday).
The parent verts are not the same as the ones I selected first. Unless I’m doing something wrong.
-
explanation. You are right that the empty position does matter, I was misleading about this. In my test scene I moved the empty from its original position, instead of moving the piercing item, this causes the strange behavior in blender. In daz studio the original position of the empty is created with the rigid follow and it is its pivot point. Then if we move the empty it will rotate around its pivot.
https://www.daz3d.com/forums/discussion/203481/setting-up-items-with-rigid-follow-nodes-tutorial
# final transformation for rigid followers empty rest position (pivot) > empty scene position (translation) > item position
Now unfortunately the empty pivot is not included in the duf file as far as I can see. We only have the empty location in word coordinates and the rigid vertices on the mesh.
proof. Test scene included rigid-test.duf, I created a rigid follow then moved it from its original location aka its pivot. In daz studio, when I open the mouth with the jaw bone the empty rotates around the pivot, while in blender it doesn't.
possible solution. It is to be said that moving the empty in daz studio is probably my mistake, I guess the rigid follow is supposed to stay in its original position and we only move the parented items if needed. In this situation it is as I "misleaded" before, that is, the empty does not matter and we can vertex parent the items.
In any case vertex parenting the empties does not work if we moved them from their pivot. And there's no information in the duf file to fix this. So we can ignore the empties as a simplified solution which works fine if the empty is not moved from the pivot. Though the pivot could probably be the middle point of the rigid vertices, but I’d not bother about this.
manual steps. As for the manual steps I don't know what to say, they work fine here. That is, "select parent vertices" does show the last vertices I selected and does follow correctly if I change them. You have to follow exactly my steps reported above though, that are not the same as you described, but I suppose you just simplified the description and you did follow my steps correctly, if not please do.
Of course you have to select the item, not the empty.
-
- attached rigid-test.duf
test for rigid follower with "misplaced" node
-
Below there’s some reference if the manual steps don’t work for you. Hope it helps. Let me know.
-
repo owner I did get vertex parenting to work manually, but there was another problem with doing it in code: the vertex selection can not be changed in edit mode, so it is not possible to select the parent vertices. Instead we must create a bmesh from the editmode mesh, set the relevant bmesh vertices, and finally update the mesh from the bmesh. This is implemented in the last commit when eliminating empties, so emiminating empties is now enabled by default again. It is not yet done during manual import though.
-
If it helps, they say you have to do vertex selection in object mode. This way converting to bmesh is not necessary.
-
repo owner No, I do that in lots of places, but it didn’t work here. Creating a bmesh object is not that bad. The docs say that it is freed automatically when it isn’t used anymore.
-
Commit e57a6ff works fine, thank you for your work on this. I have a minor note.
If we open the mouth we see that the right rings don’t move fine. Looking at the parent vertices we see they are selected inside the lips thus the strange movement. This may be fine it is expected for extreme cases that we may have to reparent by hand. I’m just wondering if you selected the first and last and middle vertices of the daz selection as I suggested, to try and cover most of the selection area. Let me know.
-
repo owner No, so far it is only the eliminate empties tool that explicitly select vertices. It should be done for the original parenting of the empties, but it hasn’t been done yet. It will have to wait until next week because now I’m off to celebrate the summer solstice.
-
repo owner Actually, I did find some time before leaving. The plugin now use three of the daz reference vertices for parenting.
As for the three right rings, they are parented to the “Lip Right” empty, which has vertex parents [7144, 7150, 12906]. In the duf file the reference vertices are [ 7144, 7145, 7148, 7149, 7150, 7277, 12894, 12905, 12906 ]. Perhaps we could make a better selection than just first, last, middle. E.g. we could choose the three vertices that maximizes the area of the triangle.
-
Commit f3a3b97 works great here. Thank you for your work on this. As for maximizing the triangle area I don’t have a strong opinion, I guess it depends on the daz selection what’s better. Probably maximizing the area would select vertices far away to each other, missing a middle point and possibly rotating “too much“ compared to the underlying geometry. But tests should be done on this.
Thank you again and have a nice vacation, here in Italy we celebrate on August 15.
@Balkazar. Favorites is for morphs, not for parenting. The rings on the braids are not rigid follows, they parent to bones so there should be no issues. Be sure to update both the addon and the daz script since Thomas changed both. Anyway eventually this would be another issue similar to
#2101.So if there’s nothing to add about rigid follows we can close as resolved.
-
reporter @Padone
I will try out the latest commit and let you know.
-
reporter @Alessandro Padovani @Thomas Larsson
I downloaded the latest commit, updated the blender side, updated the daz side of the scripts (both clean installs)
Tested the same file i shared with you, and am still seeing the issue.
Below is the Blender Console output.
Read prefs: "C:\Users\Balkazzaar\AppData\Roaming\Blender Foundation\Blender\4.1\config\userpref.blend" Loading DAZ Importer v 4.1.0 DAZ loaded Register DAZ Importer Load settings from C:/Users/Balkazzaar/Documents/DAZ Importer/import_daz_settings.json Loading BVH Retargeter BVH Retargeter loaded Load settings from "C:\Users\Balkazzaar/Documents/DAZ Importer/retarget_bvh_settings.json" Loading MHX RTS v 4.1.0 MHX RTS loaded Reloading external rigs... Reloading external metarigs... Loading E:\My DAZ3D Library\Scenes\testpiercingg8f.duf Parsing data Smashing character 547204 Smashing character 460003 Smashing character 1148586 Fitting objects with dbz file... Preprocessing... Missing shell material Material: GoldenPalace_2254_GP_Torso Node: Shell Inst: Piercings Shell: Genesis 8 Female UV set: Default UVs Missing shell material Material: GoldenPalace_2254_GP_Vagina Node: Shell Inst: Piercings Shell: Genesis 8 Female UV set: Default UVs Missing shell material Material: GoldenPalace_2254_GP_Labia Minora Node: Shell Inst: Piercings Shell: Genesis 8 Female UV set: Default UVs Missing shell material Material: GoldenPalace_2254_GP_Rectum Node: Shell Inst: Piercings Shell: Genesis 8 Female UV set: Default UVs Missing shell material Material: GoldenPalace_2254_GP_Torso Node: Shell Inst: GoldenPalace_Shell Shell: Genesis 8 Female UV set: Golden Palace Missing shell material Material: GoldenPalace_2254_GP_Vagina Node: Shell Inst: GoldenPalace_Shell Shell: Genesis 8 Female UV set: Golden Palace Missing shell material Material: GoldenPalace_2254_GP_Labia Minora Node: Shell Inst: GoldenPalace_Shell Shell: Genesis 8 Female UV set: Golden Palace Missing shell material Material: GoldenPalace_2254_GP_Rectum Node: Shell Inst: GoldenPalace_Shell Shell: Genesis 8 Female UV set: Golden Palace Building objects... Duplicate geometry definition: <Geometry /data/daz%203d/genesis%208/female/genesis8female.dsf#geometry Genesis8Female ['geometry-4', 'geometry-1']> Material "Face_Eye Mask" not found in geometry Genesis8Female Ignore <Instance Tonemapper%20Options-1 L:Tonemapper Options 0 N: Tonemapper Options P: None R: None> Ignore <Instance Environment%20Options-1 L:Environment Options 0 N: Environment Options P: None R: None> Remove UV layer Default UVs File "E:\My DAZ3D Library\Scenes\testpiercingg8f.duf" loaded in 152.845 seconds Draw environment 0 Draw Dome turned off WARN (bpy.rna): C:\Users\blender\git\blender-v410\blender.git\source\blender\python\intern\bpy_rna.cc:1366 pyrna_enum_to_py: current value '0' matches no enum in 'Scene', 'Scene', 'DazMorphCatsContent' WARN (bpy.rna): C:\Users\blender\git\blender-v410\blender.git\source\blender\python\intern\bpy_rna.cc:1366 pyrna_enum_to_py: current value '0' matches no enum in 'Scene', 'Scene', 'DazMorphCatsContent' Some assets were not found. Check that all DAZ root paths have been set up correctly. /data/daz 3d/genesis 8/female/morphs/g8 female george data/deepsea/george/jcms/jcmgeorgeshoulderupr/rshldrbend_ctrlmd_n_zrotate_40.dsf /data/daz 3d/genesis 8/female/morphs/g8 female george data/deepsea/george/jcms/jcmgeorgeshoulderupl/lshldrbend_ctrlmd_n_zrotate_n40.dsf /data/daz 3d/genesis 8/female/morphs/k.h. image studio/ultima/ultimate natural bend morphs for victoria 8.dsf Unsupported or partially supported shaders found: support/DAZ/Uber/shaderDefinitions/surface/omUberSurfaceDef.dse V3D Tanned Skins G8 Cast Iron Transfer to clothes Transfer to face meshes Main character: True Merge rigs Mesh with no vertex groups: RingBraid1 Mesh with no vertex groups: RingBraid2 Mesh with no vertex groups: Rings LHS Mesh with no vertex groups: Rings RHS Merge materials Load Units to Genesis 8 Female Mesh (121 morphs) * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * = = * = = * = = * * * * * * * * = = * = = * = = * * * * * = = * * * * * * = = * * * = = * = = * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * = = * = = * = = * = = * = = * = = * = = * Load Units to Genesis 8 Female Eyelashes (0 morphs) Units loaded in 1.2 seconds Load Expressions to Genesis 8 Female Mesh (80 morphs) = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * = = * * * = = * = = * * = = * * = = * * = = * * Load Expressions to Genesis 8 Female Eyelashes (0 morphs) Expressions loaded in 6.5 seconds Load Visemes to Genesis 8 Female Mesh (17 morphs) * * * * * * * * * * * * * * * * * Load Visemes to Genesis 8 Female Eyelashes (0 morphs) Visemes loaded in 0.8 seconds Load Head to Genesis 8 Female Mesh (134 morphs) * * * * * * * * * * * * * = * = * = * * * * * * * * * * * = * * *Baked PHMEyelashesCurl = 0 * * *Baked PHMEyelashesLengthLower = 0 *Baked PHMEyelashesLengthUpper = 0 * * * * = * * * * = * = * * * * * * * * * * * * = * * * * * * * * * * * * = * * * * * * * * * * * * * = * = * * * * * = * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * = * = * = * = * * * * * * * * = * * Load Head to Genesis 8 Female Eyelashes (6 morphs) * * * * * * Head loaded in 8.0 seconds Load Facs to Genesis 8 Female Mesh (159 morphs) = = * = = * * * = = * = = * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * = * = * = * = * = * * * = * * * = * * * = * * * = * * * = * * * * * * * * * = * = * * * * * * * * * * * * * * * * * * * * * * * = = * * * * * * * * * * * * * * * * = = * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * = = * = = * * * * * * * * * * Load Facs to Genesis 8 Female Eyelashes (0 morphs) Facs loaded in 6.7 seconds Load Facsdetails to Genesis 8 Female Mesh (0 morphs) Load Facsdetails to Genesis 8 Female Eyelashes (0 morphs) Facsdetails loaded in 0.0 seconds Load Facsexpr to Genesis 8 Female Mesh (8 morphs) * * * * * * * * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Load Facsexpr to Genesis 8 Female Eyelashes (0 morphs) Facsexpr loaded in 0.5 seconds Load Body to Genesis 8 Female Mesh (99 morphs) * * = * * * = * = * = * * * * * = * = * = * = = * * * * * * = = * = = * = = * = = * = = * = = * * * * * * * = = * = * = * * * = = * = = * * = = * * * = = * * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * * = = * = = * = * = * * * = = * = = * * = = * * * = = * * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * * = = * Load Body to Genesis 8 Female Eyelashes (0 morphs) Body loaded in 0.9 seconds Load Jcms to Genesis 8 Female Mesh (101 morphs) * * * * * * * * * = * = * * * * * * * * * = * = * = * = * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Load Jcms to Genesis 8 Female Eyelashes (0 morphs) Jcms loaded in 5.4 seconds Load Flexions to Genesis 8 Female Mesh (14 morphs) * * * * * * * * * * * * * * Load Flexions to Genesis 8 Female Eyelashes (0 morphs) Flexions loaded in 0.8 seconds Transfer to geografts Transfer morphs Genesis 8 Female Mesh => Golden Palace Gens 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + * * * * * * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + - - - - 0 0 Morphs transferred in 5.3 seconds Transfer to clothes Transfer morphs Genesis 8 Female Mesh => G8F Swimsuit 26 + + + + + + + + + + 0 0 + + + + + + + + + 0 0 0 0 0 0 0 0 0 0 0 0 - + 0 0 0 0 0 0 0 0 0 0 0 0 + + + + + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + + + + + + + + + + + + + + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + + 0 0 - - 0 0 Transfer morphs Genesis 8 Female Mesh => V Neck Dress Necklace + + + + 0 0 0 0 0 0 0 0 0 - - + + + + + + 0 0 0 0 0 0 0 0 0 0 0 0 - - 0 0 0 0 0 0 0 0 0 0 0 0 + + + + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + + + + + + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + 0 0 0 0 0 0 0 0 Transfer morphs Genesis 8 Female Mesh => Car Wash Girl Shoes 0 0 0 0 0 0 0 0 0 0 + + 0 0 0 0 0 0 0 0 0 * * + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 * * 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Morphs transferred in 13.0 seconds Transfer to face meshes Transfer morphs Genesis 8 Female Mesh => Genesis 8 Female Eyelashes + 0 0 0 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + 0 0 0 0 0 0 + + 0 0 0 0 0 0 0 0 + + + + + + + + + + + - + + + - - + + - - + + + + + + - + - + - 0 0 0 0 0 0 0 - 0 0 + + 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 + + - - + - + 0 + - - + 0 0 0 - + - 0 - 0 0 0 - 0 0 0 0 0 0 0 0 0 0 0 - 0 + + + + + + - - + + + + + + + + 0 0 0 0 0 0 - 0 0 - - 0 - 0 0 0 - + + 0 0 + + 0 + + 0 0 0 0 0 + + 0 0 + + + + + + + + + + + + + + + + + + + + + + + + + + 0 0 0 0 0 - - - - - 0 0 - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Transfer morphs Genesis 8 Female Mesh => AshlynBrows + 0 0 0 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + 0 0 0 0 0 0 0 0 0 + - - 0 0 0 0 0 0 0 0 + 0 0 0 - + - - + + + 0 + + + + + 0 + 0 0 + + + + + + + + + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 0 0 0 0 + + + 0 + 0 + 0 0 - 0 + 0 0 0 0 + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + 0 + + + + + + 0 0 + + + + - - + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - - 0 0 0 0 0 + + 0 0 0 0 0 + + 0 0 0 0 0 - - 0 0 + - 0 0 0 - - 0 - + - + + + + + + + + 0 0 0 0 0 - - - - - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Morphs transferred in 110.5 seconds Make all bones posable WARN (bke.object): C:\Users\blender\git\blender-v410\blender.git\source\blender\blenkernel\intern\object.cc:3065 ob_parbone: Parent Bone: 'head(drv)' for Object: 'Rings RHS' doesn't exist WARN (bke.object): C:\Users\blender\git\blender-v410\blender.git\source\blender\blenkernel\intern\object.cc:3065 ob_parbone: Parent Bone: 'head(drv)' for Object: 'Rings LHS' doesn't exist Make All Bones Posable completed in 5.7 seconds File E:\My DAZ3D Library\Scenes\testpiercingg8f.duf loaded in 328.564 seconds
-
You have to re-export the scene from daz studio. Your test file works fine for us.
p.s. Your log reports missing files so you have to reimport the daz content folders. This is a install issue on your side, not a bug and has nothing to do with rigid followers.
https://bitbucket.org/Diffeomorphic/import_daz/wiki/Install/Save the DAZ root paths
-
reporter @Padone
I downloaded the latest commit, updated the blender side, updated the daz side of the scripts (both clean installs)
In the above statement, i did do that. Did re-install on the daz export script and the blender size and re-export, the scene file.
I saved all root paths again.
Duplicate geometry definition: <Geometry /data/daz%203d/genesis%208/female/genesis8female.dsf#geometry Genesis8Female ['geometry-4', 'geometry-1']> Material "Face_Eye Mask" not found in geometry Genesis8Female Ignore <Instance Tonemapper%20Options-1 L:Tonemapper Options 0 N: Tonemapper Options P: None R: None> Ignore <Instance Environment%20Options-1 L:Environment Options 0 N: Environment Options P: None R: None> Remove UV layer Default UVs File "E:\My PC\My DAZ3D Library\Scenes\testpiercingg8f.duf" loaded in 197.457 seconds Draw environment 0 Draw Dome turned off WARN (bpy.rna): C:\Users\blender\git\blender-v410\blender.git\source\blender\python\intern\bpy_rna.cc:1366 pyrna_enum_to_py: current value '0' matches no enum in 'Scene', 'Scene', 'DazMorphCatsContent' WARN (bpy.rna): C:\Users\blender\git\blender-v410\blender.git\source\blender\python\intern\bpy_rna.cc:1366 pyrna_enum_to_py: current value '0' matches no enum in 'Scene', 'Scene', 'DazMorphCatsContent' Some assets were not found. Check that all DAZ root paths have been set up correctly. /data/daz 3d/genesis 8/female/morphs/g8 female george data/deepsea/george/jcms/jcmgeorgeshoulderupr/rshldrbend_ctrlmd_n_zrotate_40.dsf /data/daz 3d/genesis 8/female/morphs/g8 female george data/deepsea/george/jcms/jcmgeorgeshoulderupl/lshldrbend_ctrlmd_n_zrotate_n40.dsf /data/daz 3d/genesis 8/female/morphs/k.h. image studio/ultima/ultimate natural bend morphs for victoria 8.dsf Unsupported or partially supported shaders found: support/DAZ/Uber/shaderDefinitions/surface/omUberSurfaceDef.dse V3D Tanned Skins G8 Cast Iron
Regarding the above errors in the console, i will try to explain one or few errors at a time.
The below errors for example, i dont even have those folders in my DAZ library. Why is the scene file storing dead references?
Some assets were not found. Check that all DAZ root paths have been set up correctly. /data/daz 3d/genesis 8/female/morphs/g8 female george data/deepsea/george/jcms/jcmgeorgeshoulderupr/rshldrbend_ctrlmd_n_zrotate_40.dsf /data/daz 3d/genesis 8/female/morphs/g8 female george data/deepsea/george/jcms/jcmgeorgeshoulderupl/lshldrbend_ctrlmd_n_zrotate_n40.dsf /data/daz 3d/genesis 8/female/morphs/k.h. image studio/ultima/ultimate natural bend morphs for victoria 8.dsf
Unsupported or partially supported shaders found: support/DAZ/Uber/shaderDefinitions/surface/omUberSurfaceDef.dse V3D Tanned Skins G8 Cast Iron
As for the above errors, i checked the Runtime/Textures folder and also Runtime/Support folder and cannot even find these files anywhere in my library after also doing an entire library search.
Also, what do the below errors even mean? Face_eye_mask? I do not even know where its finding all this?
Building objects... Duplicate geometry definition: <Geometry /data/daz%203d/genesis%208/female/genesis8female.dsf#geometry Genesis8Female ['geometry-4', 'geometry-1']> Material "Face_Eye Mask" not found in geometry Genesis8Female Ignore <Instance Tonemapper%20Options-1 L:Tonemapper Options 0 N: Tonemapper Options P: None R: None> Ignore <Instance Environment%20Options-1 L:Environment Options 0 N: Environment Options P: None R: None> Remove UV layer Default UVs File "E:\My PC\My DAZ3D Library\Scenes\testpiercingg8f.duf" loaded in 197.457 seconds
I swear, i have followed the instructions to a T. After saving root paths, i even opened the daz importer menu and loaded all json file to load all root paths for the blender side of things.
Below is my import-daz-paths.json file and the daz importer global settings. please tell me if something is missing or i am doing wrong.
I am using Windows 10 and Blender 4.1
Does that help in anyway?
How can the same scene run in your machines and then throw the same errors again with the updated code? i am so done and frustrated with this.
-
It’s the duplicate geometry that seems most interesting. If you use daz connect you may have duplicated content there, in this case I’m not sure how the addon handles this. You better wait for Thomas on monday who may have some ideas about.
-
reporter @Padone
CC:@Thomas Larsson
That would actually make a lot of sense.
It may be the one thing different between your setup and mine.
Whenever i open any DAZ scene or create a new G8F character, i get the Duplicate Formula message and then the scene loads.
But i am so damn frustrated as to why, the test scene works for you guys and not me. I swear, i have not made a single change to the scene file.
-
@Balkazar There’s a fix in
#2101for parented bones, that may be your case too.In any case the issue with rigid followers is fixed here. The errors you get in the console are about the daz content folders. There’s some users having a massive daz library spread across a lot of content folders mixed between dim and connect, in this situation the addon is prone to be confused.
The best way to work with blender is to use a single content folder where you only install the assets you need for the current project. Then when you change the project you change the content folder. Indeed this is also the best way for daz studio since it speeds up and simplifies things a lot, as daz studio itself often has issues with a large database. Personally I work this way and this is essentially the solution to your errors. Unless @Thomas has other ideas.
-
reporter @Alessandro Padovani
My DAZ library used to be massive. When i say massive, even loading a basic G8F figure took 45 minutes. It was nearly a TB.
After several years of iterations, i have rebuilt my library from scratch which has only the absolute necessary files and addons i need for DAZ. Now loading a basic G8F takes 2 to 3 mins max. My library is not massive anymore.
Keeping a separate folder for each project like you ask is very much tedious and counterproductive and defeats the purpose of the plugin.
-
I’m afraid there’s no other way to try and keep the content folder clean and free of errors. Unfortunately any odd asset installed can easily corrupt one or more base figures, and the more assets you have the harder it is to find out the culprit. This is the same in daz studio. Though admittedly the addon may be more “sensible” to errors due to its simplified management of the content folder.
If there’s nothing to add, since @Thomas has no additional clues and rigid followers are fixed, I’d close as resolved.
-
reporter @Diffeomorphic
Please tell me there is some solution to this issue.
Or will this plugin’s purpose be to import only basic or minimalistic models?
All i added were piercings from one asset.
Does not make sense to mark it as resolved.
-
While I understand your need for a solution, this is an error in your daz content folder, not a bug in the addon. Your test scene will work fine if you reinstall the assets in a clean content folder. It works for us.
Anyway I’ll wait for a reasonable time a reply by @Thomas, before closing. Usually when Thomas doesn’t answer it means he’s not interested.
-
- changed status to resolved
-
- changed title to Piercings on G8F not parenting to body and stay afloat ** aka better rigid followers **
- Log in to comment
The importer will parent the items for you if you export them with the figure from daz studio. Otherwise you can parent to bones. Otherwise you can parent to vertices. If you just parent to the armature of course they will not follow.