Translate, rotate or scale a mesh group

Hi everyone !

I’m currently thinking about how I’ll move the objects in my game.

My game will be placed in a spacecraft. You are inside of it, in a 3D cockpit. I want to move some switches, gauges, etc.

By reading the manual, I saw that Panda3D uses a lot of skeleton. I am not very familiar with these, and I’m not sure that it would be efficient to use skeletons.

I though about creating nodes for every switches using a model each time, but I think that it would be very time consuming.

I started programming using Orbiter’s API (available here : ). In this API, we can simply get a mesh group (the mesh is divided in groups, I think that it is the case of EGG/BAM files), and translate/rotate/scale it like we want.

Does Panda3D offers this possibility ? If not, what would be the best technique to move my switches and gauges ?

I’m not entirely sure what you’re asking, but a mesh group is pretty much the same thing as a node in Panda. If you create a special group, it ought to be converted in Panda as its own node. It is possible that you might need to flag it specially so that Panda does not optimize the node away when it loads, but that’s only a detail.

The specific details depend mostly on the software you use to model, and the conversion software you use.


I checked the manual once again and I think that I find out what you’re talking about. Are you talking about this … of_a_Model ?

I did not understand this part but I read it a couple of times and I think that I understand.

My model is unanimated so the parts should be separated like in Blender. Then, I can use the find() function to create a NodePath of a group of the model. Finally, I can manipulate it like any model (set_pos(), set_hpr(), etc).

I think that I’m right now. English is not my native language, I speak French. But anyway, Panda3D documentation is much better than a lot of other API’s documentation (who said WinAPI ? :unamused: )

Thank you again David !


I’ve just tried it and it works like a charm !