Загрузка моделей в формате ASE


Основные особенности формата ASE:


  • Формат поддерживает только треугольники

  • Формат поддерживает скелетную и точечную анимацию

Подготовка модели в 3D MAX


  • Открываем свою модель в 3D MAX.


  • Нажимаем в меню кнопку File в выпадающем меню выбираем Export...




  • В открывшемся окне Select File to Export:




    • В строке Имя файла: задаем имя файла (например, House)


    • В строке Тип файла: выбираем ASCII Scene Export (*.ASE) и нажимаем кнопку Сохранить



  • В открывшемся окне ASCII Export:




    • В разделе Output Options выделяем Mesh Definition и Materials


    • В разделе Object types выделяем Geometric


    • В разделе Mesh Options выделяем Mapping Coordinates и нажимаем кнопку OK


Так, мы экспортировали модель из 3D MAX в формат ASE, в данном случае получили файл House.ase, самое время перейти к загрузке этой модели в движок.


Загрузка модели


Для начала мы создаем переменную в классе.


private var loader:LoaderASE;


Создадим метод и назовем его например, setupLoading.


private function setupLoading():void

{

this.loader = new LoaderASE();

this.loader.load("resources/House.ase");

this.loader.addEventListener(LoaderEvent.PARSING_COMPLETE, this.onParsingComplete);

}


В этом методе мы создаем экземпляр загрузчика, затем передаем в метод загрузчика load() адрес файла и подписываемся на событие "Разбор файла завершен".


Теперь создадим метод, который будет вызываться по событию "Разбор файла завершен" и назовем его например, onParsingComplete.


private function onParsingComplete(event:LoaderEvent):void

{

var i:int;

var len:int = this.loader.meshs.length;

while (i < len)

{

this.mesh = this.loader.meshs[i];

this.scene.addChild(this.mesh);

i++;

}

this.loader.removeEventListener(LoaderEvent.PARSING_COMPLETE, this.onParsingComplete);

this.loader = null;

}


В методе мы обходим массив созданных объектов this.loader.meshs из файла и добавляем все созданные объекты на сцену, после чего удаляем событие "Разбор файла завершен" и удаляем лоадер.




Этот пример и более полный исходник вы можете скачать.