教えて頂いたのでメモメモ

collada(.dae)ファイルって方言が多いようです。
Blender(2.6.3)で書き出したものをそのままAlternativa3Dの公式サンプル(parsersexample/ParsersExample.as)で読ませようとするとうまくできませんでした。
(公式サンプルに含まれているcolladaファイルは問題なく表示されるので、Blenderでのcollada書き出しがalternativa3D的にはイマイチみたい)


該当箇所はここの8行目

//parsersexample/ParsersExample.as内のonColladaLoadメソッド抜粋
private function onColladaLoad(e:Event):void {
	// Model parsing
	// Парсинг модели
	var parser:ParserCollada = new ParserCollada();
	parser.parse(XML((e.target as URLLoader).data), "parsersexample/", true);
	trace(parser.objects);
	var mesh:Mesh = parser.getObjectByName("Cylinder01") as Mesh;
	mesh.x = 0;
	scene.addChild(mesh);

	// Загрузка ресурсов
	uploadResources(mesh.getResources(false, Geometry));
	
	// Собираем текстуры и назначаем материалы
	var textures:Vector.<ExternalTextureResource> = new Vector.<ExternalTextureResource>();
	for (var i:int = 0; i < mesh.numSurfaces; i++) {
		var surface:Surface = mesh.getSurface(i);
		var material:ParserMaterial = surface.material as ParserMaterial;
		if (material != null) {
			var diffuse:ExternalTextureResource = material.textures["diffuse"];
			if (diffuse != null) {
				textures.push(diffuse);
				surface.material = new TextureMaterial(diffuse);
			}
		}
	}

	// Loading of textures
	// Загрузка текстур
	var texturesLoader:TexturesLoader = new TexturesLoader(stage3D.context3D);
	texturesLoader.loadResources(textures);
}

parser.getObjectByName(“Cylinder01″)でオブジェクトの名前を拾おうとしてますが、Blenderで書き出したcolladaファイルはこの名前が含まれていないのでエラーになります。
とりあえずはcolladaファイルの中身を以下のように修正すればOK。

<library_visual_scenes>タグの中<node id=”hoge” type=”NODE”>にid属性と同じ値を持ったname属性を追加。
<node id=”hoge” name=”hoge” type=”NODE”> こんな感じ
Blender側で用意したオブジェクトの数だけ修正してあげましょう。