question about find NodePath.findAllMatches

Hey everyone,

I am brand new to the forums and generally to Panda3D, so a very quick newbie question.

I have created a level in Maya2012 and given the names bomb_01, bomb_02 etc… to a number of the meshes.

When I load the model up in Panda using loader.loadModel. I try and use .findAllMatches("**/bomb*) on the NodePath to get all those particular nodes …however it always returns an empty list…is there a step I am missing?

when i try and print out the child nodes of the model it only prints one node which is the mesh its self.

Any help with this would be greatly appreciated.

Hi, welcome to Panda!

I’m guessing you have accidentally exported the model from Maya as an animated character, instead of as a static model. When you do this, it writes the syntax " { 1 }" into the egg file, and this tells Panda to optimize the model by default into a single mesh.

For this and other reasons, it’s much better to export the model correctly as a static model. The correct way to do this depends on the precise mechanism by which you exported it.

David

Hi David,
Thank you for your quick reply. I am using the cmd line exporter… (mainly because maya 2012 doesn’t like the .mel script)…the command i am using to export is maya2egg2012 -a model -o outfile.egg infile.mb…

.I thought it it might be something like that but I didnt think I was export it as an actor. thank you for the help… I might see if i can use that utility to pull out named nodes and stop the exporter from combining them

sam

Don’t use “-a model”. This means to create an animated model. (The -a means “animation type”.)

Instead, use “-a none”, or don’t use -a at all, since “-a none” is the default.

David

Hi David,

Thank you for that. It is very appreciated. I got the -a model line from the panda manual. I will try it later today.

Sam