Здравствуйте, давно мучаюсь с одной проблемкой и чувствую без подсказки тут не обойтись.
Пытаюсь загрузить 3d-модель формата .dae на которую назначено несколько текстур, но при компилировании отображается только одна из всех, а остальные области модели становятся невидимыми.
Модель рисовала в 3d max и на каждую группу модели назначала свою определенную текстуру, т.е в моем случае это модель танка и колеса я обтягиваю одним изображение, а уже пушку например другим изображением, размер изображений как положено(1024х1024, 512х1024). При экспорте в .dae формат пути к изображениям в xml-файле прописаны правильно. В чем еще может быть загвоздка даже не знаю, очень нужна помощь..
ниже привожу код загрузки:
Код AS3:
var rootContainer:Object3D = new Object3D();
var camera:Camera3D;
var stage3D:Stage3D;
var mesh:Mesh;
var simpleController:SimpleObjectController;
var tank:Mesh = new Mesh;
var loaderCollada:URLLoader = new URLLoader();
loaderCollada.dataFormat = URLLoaderDataFormat.TEXT;
loaderCollada.load(new URLRequest("tank.DAE"));
loaderCollada.addEventListener(Event.COMPLETE, onColladaLoad);
private function onColladaLoad(e:Event):void { //когда модель загружена парсим ее
var parser:ParserCollada = new ParserCollada();
parser.parse(XML((e.target as URLLoader).data));
for (var i:int = 0; i < parser.objects.length; i++) {
mesh = parser.objects[i] as Mesh;
if (mesh != null) {
tank.addChild(mesh);
rootContainer.addChild(tank);
} }
// загрузка текстур
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;
material.renderChannel = "diffuse";
if (material != null) {
var diffuse:TextureResource = material.textures["diffuse"];
if (diffuse != null) {
textures.push(diffuse);
surface.material = new TextureMaterial(diffuse);
}}}
var texturesLoader:TexturesLoader = new TexturesLoader(stage3D.context3D);
texturesLoader.loadResources(textures);
PS: При заливке модели одним цветом, структура отображается полностью, т.е проблема не в каркасе модели