I recently discovered that maxwells yabee exporter and its ancestors were failing due to a None reference. You can fix this pretty simple with the following code in egg_writer.py.
for node in bpy.data.materials[0].node_tree.nodes: # HERE IS THE ISSUE.
if node.name == "Principled BSDF":
principled_bsdf = node
basecol = list(principled_bsdf.inputs["Base Color"].default_value)
metallic = principled_bsdf.inputs["Metallic"].default_value
roughness = principled_bsdf.inputs["Roughness"].default_value
To:
for node in nodeTree.nodes: # HERE IS THE CHANGE, simply use the nodeTree from the correct index above in scope.
if node.name == "Principled BSDF":
principled_bsdf = node
basecol = list(principled_bsdf.inputs["Base Color"].default_value)
metallic = principled_bsdf.inputs["Metallic"].default_value
roughness = principled_bsdf.inputs["Roughness"].default_value
Another note, It was not at all obvious to me how to originally evaluate a stack trace from blender. The message in the UI simply said “see console for back trace”. The problem with that ui design is that there is indeed a console for logs in blender in the scripting tab. This was not giving extra detail. If you want the raw output of blender in STDOUT, open in on the terminal and not through the desktop icon! This will get you more info. Cheers.
Keep in mind, i didnt test much beyond static objects and simple materials, that was my use case at the time. So with your insight, maybe test other things!
If you are asking about applying tags via the object properties windows, yeah, thats very useful. My thought was you could use it to specify different meta data that then could be acted on in code. Since i plan to allow my users to make plugins, thats a great way to have custom data injected for custom game modes.
While i have you here, the old yabee exporter for 2.7 used the blender game objects properties for specifying the collision egg syntax info (from what i read in fireclaws book). They removed the blender game engine code to my knowledge. (You may want to fix that piece in your readme)
Can that be done with the object properties windows the same way as tags?
The blend2bam exporter does it with an invisible collisions collection naming schema.
Im trying to collect the knowledge of peoples workflows and 3d format tricks so i can add it to the docs, if the team agrees and allows me to.
Are we talking about the same thing? I was indeed talking about the custom properties section you linked. I though these attributes just ended up as tag sections in the egg files. Is there another window for properties specific to panda nodes? Sorry for being confusing.