Is it possible to create a building model with an interior, then place that into another .egg file with say, land called environment.egg and be able to walk into my interior in-game? Would all collision be passed from the original house .egg into the environment .egg? Or would I have to re-do all collision?
Also can you link me to some decent, working world/level/scene editors for Panda? I’ve been having a look around and haven’t really found much.
Yes, though I don’t know which exporters other than Blender support it. If using Blender its documented in Chicken’s (Blenders egg exporter.) manual, in ‘3.13 Instancing’. Collision will work fine in that scenario. And I’ve just implicitly given one answer to your second question - a lot of people use a 3D modeling tool for building levels, dropping in things such as empties to indicate things the engine should create. There are other alternatives though - create your own (Each game is different after all.) and there is a scene editor being developed in https://discourse.panda3d.org/viewtopic.php?t=5330.
I never said that other exporters can’t do instancing, only that Blender is the only one I know, and I know it can. However, my understanding is that the max exporter is not well maintained, and that is probably too esoteric a feature for it to have. But I’m only guessing, I would like to be proved wrong:-) You can get basic 3D models out of nearly any modeler and into Panda though, it just sometimes requires a little… creativity.
Anyway, why I’m really adding to this thread: to further treeforms comment his script is now available in the Chicken exporter, just by hitting a toggle switch.
It’s not hard to write a MaxScript that’d export the locations and rotations of all your objects to a text file, thus getting you instancing. Thus you could do all your level editing in 3ds max. Using MaxScript you could even write out an .egg file (they are just text files after all) but if you don’t want to bother learning the ins and outs of how .egg files work you just write out the data in a way that makes sense to you and then position objects in your code based on that text file.
Ogitor could be made to work, but it would be very much a square peg in a round hole problem - your chisel would be writing code to import the ogitor output file into panda, your sandpaper having every 3D assets in a format that ogre can load and a format that panda can load. It would take less time to learn to do it another way to put it simply…