When using a unique to import asset as I always do I got a bunch of errors...
I put them in a text file at this link i'm not really sure how to debug the errors i'm gonna throw them into chat GPT and see what I could come up with:
It was the FG modern coffee shop
https://drive.google.com/file/d/1T5rA_Ma4OOsIEstPGljYa9rmvMgZudGP/view?usp=sharing
Comments (25)
-
reporter -
reporter And this is this error isn't being logged via your add on or with silent mode set to false
-
diffeomorphic 1.7.2.1787
I can confirm the issue. An invalid mesh is detected and this is normal it can happen, then there’s a crash. The scene itself appears to be loaded correctly though, but it’s a large scene I can’t tell if something is missing.
https://www.daz3d.com/fg-modern-coffee
steps:
- import the modern coffee scene
Loading C:\Users\Alessandro\Documents\DAZ 3D\Studio\My Library\Scenes\cofee.duf Parsing data Preprocessing... Building objects... Invalid mesh "FG Beverage Dispenser-1". Correcting. Traceback (most recent call last): File "C:\Users\Alessandro\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\error.py", line 222, in execute self.run(context) File "C:\Users\Alessandro\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\main.py", line 225, in run self.loadDazFile(filepath, context) File "C:\Users\Alessandro\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\main.py", line 182, in loadDazFile inst.finalize(context) File "C:\Users\Alessandro\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\node.py", line 487, in finalize self.buildChannels(ob) File "C:\Users\Alessandro\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\camera.py", line 107, in buildChannels value = channel["current_value"] KeyError: 'current_value'
-
- changed status to open
-
If I load the beverage dispenser alone there’s no crash, but a couple of strange warnings are reported. The scene loads and renders correctly as far as I can see.
steps:
- import the beverage dispenser
Loading C:\Users\Alessandro\Documents\DAZ 3D\Studio\My Library\Scenes\dispenser.duf Parsing data Preprocessing... Building objects... 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> Invalid mesh "FG Beverage Dispenser-1". Correcting. File "C:\Users\Alessandro\Documents\DAZ 3D\Studio\My Library\Scenes\dispenser.duf" loaded in 0.235 seconds Draw environment 0 WARN (bpy.rna): C:\Users\blender\git\blender-v360\blender.git\source\blender\python\intern\bpy_rna.c:1343 pyrna_enum_to_py: current value '0' matches no enum in 'Scene', 'Scene', 'DazMorphCatsContent' WARN (bpy.rna): C:\Users\blender\git\blender-v360\blender.git\source\blender\python\intern\bpy_rna.c:1343 pyrna_enum_to_py: current value '0' matches no enum in 'Scene', 'Scene', 'DazMorphCatsContent' Invalid meshes found and corrected. Importing morphs may not work: FG Beverage Dispenser-1
-
reporter you gotta load the whole ready made scene you know there's console errors but the scene does get imported I haven't really checked it out I just went ahead and deleted the beverage dispenser… but here's the console output:
Loading C:/Users/W/AppData/Roaming/Blender Foundation/Blender/3.6/scripts/addons/FAST/daz_studio_save/test.duf Parsing data Preprocessing... Building objects... Invalid mesh "FG Beverage Dispenser-1". Correcting. Error: Python: Traceback (most recent call last): File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\error.py", line 222, in execute self.run(context) File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\main.py", line 225, in run self.loadDazFile(filepath, context) File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\main.py", line 182, in loadDazFile inst.finalize(context) File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\node.py", line 487, in finalize self.buildChannels(ob) File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\camera.py", line 107, in buildChannels value = channel["current_value"] KeyError: 'current_value' Location: C:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\modules\bpy\ops.py:113 Error: Python: Traceback (most recent call last): File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\error.py", line 222, in execute self.run(context) File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\main.py", line 711, in run self.easyImport(context) File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\main.py", line 720, in easyImport bpy.ops.daz.import_daz( File "C:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\modules\bpy\ops.py", line 113, in __call__ ret = _op_call(self.idname_py(), None, kw) RuntimeError: Error: Python: Traceback (most recent call last): File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\error.py", line 222, in execute self.run(context) File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\main.py", line 225, in run self.loadDa... truncated ------------------------ Traceback: Traceback (most recent call last): File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\FAST\fast_operators.py", line 3481, inexecute bpy.ops.daz.easy_import_daz(fitMeshes=manager.diffeomorphic_fit_meshes) File "C:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\modules\bpy\ops.py", line 113, in __call__ ret = _op_call(self.idname_py(), None, kw) RuntimeError: Error: Python: Traceback (most recent call last): File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\error.py", line 222, in execute self.run(context) File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\main.py", line 711, in run self.easyImport(context) File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\main.py", line 720, in easyImport bpy.ops.daz.import_daz( File "C:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\modules\bpy\ops.py", line 113, in __call__ ret = _op_call(self.idname_py(), None, kw) RuntimeError: Error: Python: Traceback (most recent call last): File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\error.py", line 222, in execute self.run(context) File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\main.py", line 225, in run self.loadDazFile(filepath, context) File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\main.py", line 182, in loadDazFile inst.finalize(context) File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\node.py", line 487, in finalize self.buildChannels(ob) File "C:\Users\W\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\camera.py", line 107, in buildChannels value = channel["current_value"] KeyError: 'current_value' Location: C:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\modules\bpy\ops.py:113 Location: C:\Program Files\Blender Foundation\Blender 3.6\3.6\scripts\modules\bpy\ops.py:113
I would like if there was some way to report to the end user like via a message box you know exactly what mesh wasn't invalid mesh so they could go directly to their DAZ studio file and delete it and that would really improve things i've been at it all day and I can't really figure out how to grab the console output above the trace back it's like just one thing that I'm still learning is outputting the entire console output to the file so I could search it…. I'll start again tomorrow on it though...I was going to search for nodes dot PY and finalize is that valid will the line 487 I think it is error always occur when there's an error an invalid mesh error
-
reporter and when I import like an arbitrary old Genesis 3 with driver warnings I don't know if this happens every time but I get two of your message boxes one of them is blank the other one is informative though.
-
The message box doesn’t appear because python crashes. If Thomas can fix the crash then the message box will appear.
-
repo owner I don’t have this asset, but I’m pretty sure that the last commit will fix the crash.
-
repo owner As for the warnings, it is Blender that prints them and I don’t know why, but they seem to be harmless.
-
Commit 1b558f7.
Now there’s a division by zero if we import the coffee scene.
Loading C:\Users\Alessandro\Documents\DAZ 3D\Studio\My Library\Scenes\cofee.duf Parsing data Preprocessing... Building objects... Invalid mesh "FG Beverage Dispenser-1". Correcting. Traceback (most recent call last): File "C:\Users\Alessandro\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\error.py", line 222, in execute self.run(context) File "C:\Users\Alessandro\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\main.py", line 225, in run self.loadDazFile(filepath, context) File "C:\Users\Alessandro\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\main.py", line 182, in loadDazFile inst.finalize(context) File "C:\Users\Alessandro\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\node.py", line 487, in finalize self.buildChannels(ob) File "C:\Users\Alessandro\AppData\Roaming\Blender Foundation\Blender\3.6\scripts\addons\import_daz\camera.py", line 126, in buildChannels self.aspectRatio = value[1]/value[0] ZeroDivisionError: division by zero
-
I can provide the camera setup generating the errors.
-
- attached camera.duf
camera setup generating the division by zero
-
repo owner Unfortunately I cannot import the camera because it is specific to this asset:
Some assets were not found. Check that all DAZ root paths have been set up correctly. /data/Fugazi1968/FG Modern Coffee Shop/Camera 1/Camera 1.dsf
Nevertheless, I think the last commit will do it.
-
reporter Thank you very much…. Yeah, I'll keep trying to find more information about the warnings… It's too bad they don't give better details… I know a programmer hes like the best I've ever met like. I'll run up by him and I'll tell him even high level people like you are wondering too 👍
-
Commit 6ef1f15.
Nope, always division by zero. Here’s the dsf.
note. The underscore is added by Bitbucket when I upload, the original name is “Camera 1.dsf“
note. I had a look at the cameras in daz studio but didn’t notice any strange value that may cause a division by zero, also in
#75we don’t use divisions when converting values to blender, unless something is changed. -
- attached Camera_1.dsf
camera definition
-
update.
If we look at the camera dsf we see that the cameras properties are defined in a extra list named “studio node channels“. Apparently daz studio loads it correctly while the addon gets confused, and this is why we get errors. Hope this helps. Let us know.
-
repo owner Fixed in last commit. I also turned on depth of field if the focus distance is given.
-
reporter Thank you so much for that
-
Commit faf3cba.
bug. camera 1. All cameras work fine but camera 1. For some reason the camera sensor height is set to 64 mm, while in daz studio the frame width is 36 mm. This results in a different zoom factor. The blender sensor height should be the same as the daz frame width as reported in
.#75# camera conversion blender focal lenght = daz focal lenght blender sensor fit = vertical blender sensor height = daz frame width
bug. dof. The depth of field property should be set on or off the same as daz studio, while in blender it is always on. Please note that daz studio sets the focus distance automatically whenever we change a camera parameter, so when there’s a focus distance it doesn’t imply it is correct and intended for dof.
note. When I load the coffee scene, apart the invalid mesh there’s a bunch of “fix mapping“ messages that I don’t know what they are. Are they from blender or from the addon ? The rendering works fine.
-
repo owner Dof is no longer automatically enabled if there is a focus distance.
The Fix mapping warnings can be ignored and should probably be suppressed. The plugin sets the translation, rotation and scale of mapping nodes when they are created, but when the importer has finished the translation value is always reset to zero; rotation and scale remain correct. I have no idea why this happens. To fix it the importer keeps a list with mapping nodes and the correct translations, and set the translation again as a last step.
-
Commit b191dc6.
The dof works fine, thank you for the fix. The sensor bug with camera 1 is not fixed.
As for “fix mapping” I agree these warnings are not useful and should be hidden, unless for debug purposes. As it’s an “internal fix“ and not something wrong in the duf file.
-
repo owner The sensor bug was surprisingly hard, but it should be fixed now.
-
- changed status to resolved
Commit 63e0b1b works fine, thank you for looking into this.
- Log in to comment
The post title should have been when using the unique setting.. In my testing I deleted the beverage dispenser the invalid mesh and everything worked I really like how you guys added those message boxes I thought that was really cool I forgot where I saw them… But if you could output a message box to the end user when this happens like if an invalid mesh comes in a lot of errors come after that because they may not know what's going on and just say an invalid mesh go to daz studio and delete and say the mesh name…. And just for note it was the FG Modern coffee shop ready scene that I loaded