How are actors placed in the scene graph?

I have an actor in the scene graph and the following hierarchy is shown in the direct session panel:
PandaNode render
PandaNode Eve
Character __Actor_modelRoot
GeomNode

Which of those are actual nodepaths and which one is the actual Actor nodepath?

For me the natural way to compose this would be:
render (nodepath)
eve (nodepath,actor)
geomnode (nodepath,geomnode)

Where there would not be an “intermediary” step such as Character __Actor_modelRoot

Could someone clarify this structure?

Not at all sure what you’re asking. The Actor is a NodePath. But NodePath is just a handle to a PandaNode.

The root of an Actor includes several nodes that are necessary for rendering the Actor properly. This includes at least one GeomNode. Sometimes there are additional GeomNodes, depending on the complexity of the character. There is also at least one Character node, which contains the pointers to the joints and whatnot. Sometimes there are additional Character nodes, depending on the complexity of the character. Furthermore, there might be additional nodes, depending on the options you specify; for instance, if you specify multiple levels of detail, there will be an LODNode; and if you specify flattenable = 0, there will be a ModelNode.

In short, an Actor is a complex piece of business, and might involve multiple nodes. It’s more than just a collection of vertices. Fortunately, because of Panda’s design, you generally don’t need to be concerned with the additional nodes if you don’t want to think about them. If you’d rather think of the Actor as just a single, monolithic node, then just do all of your operations on the toplevel node, and never look at the nodes below it.

David