Coincidentally I just started working on a multi-scene project as well, and I was wondering the same thing. You can use <node3d>.copy or <node3d>.clone to duplicate your objects to different scenes, but it's a pain in the ass to set all positions and orientations for every object in every scene independently.
Of course you could make a function like:
Code:
def cloneToScene2():
objects = viz.Scene1.getChildren()
for object in objects:
object2 = object.clone(scene=2)
object2.setPosition(object.getPosition())
object2.setEuler(object.getEuler())
.. but it's not a very pretty solution imo, so if there's a better/faster built-in way to do this, I'd like to know about that as well.
In my case I only have to view one scene at the time, so I just move objects from scene to scene
Code:
def changeScene(scene):
for object in objects_to_move:
object.setParent(viz.WORLD, scene)
Also very helpful for viewing the proximity manager debug nodes at all times, because for some reason they only render in the main scene by default.