I have tried your code and with some changes it works.
The parts of the car have all different meshes seat.3ds, interior.3ds, smartroadster.3ds.
And the changed code
private function initObjects():void
{
AssetLibrary.enableParser(Max3DSParser);
AssetLibrary.addEventListener(AssetEvent.ASSET_COMPLETE, onAssetComplete);
AssetLibrary.load(new URLRequest(“assets/smartroadster.3ds”), null, “car”);
AssetLibrary.load(new URLRequest(“assets/seat.3ds”), null, “seat”);
AssetLibrary.load(new URLRequest(“assets/interior.3ds”), null, “interior”);
smartRoadster = new ObjectContainer3D();
scene.addChild(smartRoadster);
smartRoadster.z = -1000;
cameraController.lookAtObject = smartRoadster;
//create a ground plane
groundMaterial = new BitmapMaterial((new groundColor()).bitmapData, true, true, true);
groundMaterial.lights = [sunLight, skyLight];
groundMaterial.shadowMethod = filteredShadowMapMethod;
ground = new Plane(groundMaterial, 5000, 5000);
ground.geometry.scaleUV(1, 1);
ground.castsShadows = true;
scene.addChild(ground);
}
private function onAssetComplete(event:AssetEvent):void
{
if(event.asset.assetType == AssetType.MESH)
{
//create material object and assign it to our mesh
smartMaterial = new BitmapMaterial(new smartColor().bitmapData);
smartMaterial.bothSides = true;
smartMaterial.shadowMethod = filteredShadowMapMethod;
smartMaterial.lights = [sunLight, skyLight];
//smartMaterial.gloss = 50;
smartMaterial.specular = 0.8;
smartMaterial.ambientColor = 0xFFFFFF;
smartMaterial.ambient = 0.5;
//create mesh 2 object, assign object and material
casingMesh = event.asset as Mesh;
casingMesh.material = smartMaterial;
casingMesh.castsShadows = true;
casingMesh.scale(100);
casingMesh.y = 200;
smartRoadster.addChild(casingMesh);
//register our mesh as the lookAt target
//default to breathe sequence
}
if(event.asset.name ==“seat”)
{
//create material object and assign it to our mesh
seatMaterial = new BitmapMaterial(new seatColor().bitmapData);
seatMaterial.bothSides = true;
seatMaterial.shadowMethod = filteredShadowMapMethod;
seatMaterial.lights = [sunLight, skyLight];
//smartMaterial.gloss = 50;
seatMaterial.specular = 0.2;
seatMaterial.ambientColor = 0xFFFFFF;
seatMaterial.ambient = 0.5;
//create mesh object and assign our animation object and material object
seatMesh = event.asset as Mesh;
seatMesh.material = seatMaterial;
seatMesh.castsShadows = true;
seatMesh.scale(1);
seatMesh.y = 150;
seatMesh.x = -60;
smartRoadster.addChild(seatMesh);
}
if(event.asset.name ==“interior”)
{
//create material object and assign it to our mesh
interiorMaterial = new BitmapMaterial(new interiorColor().bitmapData);
interiorMaterial.bothSides = true;
interiorMaterial.shadowMethod = filteredShadowMapMethod;
interiorMaterial.lights = [sunLight, skyLight];
//smartMaterial.gloss = 50;
interiorMaterial.specular = 0.2;
interiorMaterial.ambientColor = 0xFFFFFF;
interiorMaterial.ambient = 0.5;
//create mesh object and assign our animation object and material object
interiorMesh = event.asset as Mesh;
interiorMesh.material = interiorMaterial;
interiorMesh.castsShadows = true;
interiorMesh.scale(1);
interiorMesh.y = 200;
interiorMesh.x = 0;
smartRoadster.addChild(interiorMesh);
}
}