I wan’t to make a scene in Blender and then export it to Panda3D, but how do I set up collisions and stuff?
Of some objects in my scene, I don’t want them to collide with the character the player will play with.
How can I do this without having to do too much work (I have many, many different scenes with alot of objects in them)
One trick might be to using some naming conventions for the nodes you want to have special properties, for instance “ghost_whatever” for any node that you don’t want the avatar to collide with. Then you can write a special function to load models for you, and call this function instead of loader.loadModel(). This function will load the model normally, then search for any nodes named “ghost_*” and set its collision mask to 0.
def myLoadModel(modelName):
model = loader.loadModel(modelName)
if model:
for ghost in model.findAllMatches('**/ghost*').asList():
ghost.node().setIntoCollideMask(BitMask32(0))
return model