I just had the same issue and I found out the fix. Each object you
load gets placed inside an ObjectContainer3D. If an loaded resource
contains multiple objects they will all be placed inside 1
ObjectContainer3D. In the above example you get the child at index 0.
This means you only copy the first Mesh inside the ObjectContainer3D.
A more elegant approuch would be to copy all the elements and place
them inside an new ObjectContainer3D.
Atleast thats my suggestion.
from my head:
private function onResourceRetrieved(e : ResourceEvent) : void
{
container = ObjectContainer3D(e.resource); //acces old container
view.scene.addChild(container); //add old container
var clone:ObjectContainer3D = new ObjectContainer3D(); //make new
container
for(var i:int; i < container.numChildren; i++)
{
//I dont know if a container can have a container inside of
itself (when a loaded obj not created yourself).
//In 3ds max you can nest container so maybe you need to make
a recursive loop to clone all meshes inside all containers.
var mesh:Mesh = _container.getChildAt(i).clone() as Mesh;
//you can also acces the old materials and clone/apply them to
the copied mesh if needed.
clone.addChild(mesh);
//add a clone from the mesh to the new cloned
ObjectContainer3D
}
clone.x = 400; //reposition clone
view.scene.addChild(clone); // add clone to stage