and if you do something like that?
private function onLoadComplete(e:LoaderEvent):void
{
var merge:Merge = new Merge(false, false, true);
var tc:ObjectContainer3D = new ObjectContainer3D();
var copy:Mesh
var tree:Mesh = Mesh(AssetLibrary.getAsset('obj0', 'treeNS')).clone() as
Mesh;
var geometry:Geometry = new Geometry();
var geomTree:Geometry = tree.geometry;
var vertices.Vector.<Number> = geomTree[0].vertexData.concat();
var normals.Vector.<Number> = geomTree[0].vertexNormalData.concat();
var indices.Vector.<uint> = geomTree[0].indexData.concat();
var uvs.Vector.<Number> = geomTree[0].UVData.concat();
var subGeom:SubGeometry = new SubGeometry();
geometry.addSubGeometry(subGeom);
subGeom.autoDeriveVertexNormals = false;
subGeom.autoDeriveVertexTangents = true;
subGeom.updateVertexData(vertices);
subGeom.updateIndexData(indices);
subGeom.updateUVData(uvs);
subGeom.updateVertexNormalData(normals);
for (var i:int = 1; i <= 5; i++)
{
copy = new Mesh(tree.material,geometry);
copy.z = -750 + i * 250;
tc.addChild(copy);
}
view.scene.addChild(merge.applyToContainer(tc))
trace(copy.subMeshes.length); //traces1
trace (view.scene.numChildren) //traces 1
}
fabrice
On May 17, 2011, at 4:40 PM, John Brookes wrote:
> Apply version works
> ApplyToContainer is same as the problem above.
>
> private function onLoadComplete(e:LoaderEvent):void
> {
> var merge:Merge = new Merge(false, false, false);
>
> var tree:Mesh = Mesh(AssetLibrary.getAsset('obj0', 'treeNS')).clone() as
> Mesh;
> var base:Mesh = new Plane(tree.material);
>
> for (var i:int = 1; i <= 5; i++)
> {
>
> tree.z = -750 + i * 250;
> merge.apply(base, tree);
> }
>
> view.scene.addChild(base)
>
> trace(base.subMeshes.length); //traces1
> trace (view.scene.numChildren) //traces 1
> }
>
> I see 5
>
> ######
>
>
> private function onLoadComplete(e:LoaderEvent):void
> {
> var merge:Merge = new Merge(false, false, true);
> var tc:ObjectContainer3D = new ObjectContainer3D();
> var copy:Mesh
> var tree:Mesh = Mesh(AssetLibrary.getAsset('obj0', 'treeNS')).clone() as
> Mesh;
>
>
> for (var i:int = 1; i <= 5; i++)
> {
> copy = new Mesh(tree.material,tree.geometry);
> copy.z = -750 + i * 250;
> tc.addChild(copy);
> }
>
>
> view.scene.addChild(merge.applyToContainer(tc))
>
> trace(copy.subMeshes.length); //traces1
> trace (view.scene.numChildren) //traces 1
> }
>
> I see 11