Вы можете записать файл .DAE, используя ExportCollada export () статический метод:
trace(ExportCollada.export(yourDisplayObject3D));
Я собрал очень простой пример здесь :
Запустите тест и дважды щелкните по сцене, чтобы сохранить плоскость в виде файла .dae на диск.
Обновление
Вложенные объекты также работают так, как вы можете видеть здесь :
Вы упомянули эту строку:
mesh = scene.addChild(new PaperPlane(new FlatShadeMaterial(light,0xFFFF00,0xFF6600),3));
Это просто ленивый способ сделать несколько вещей в одной строке:
- создать новый объект PaperPlane
- добавить его на сцену
- назначить объект PaperPlane переменной сетки
Это, вероятно, имеет больше смысла, как это:
var mesh:DisplayObject3D = new PaperPlane(new FlatShadeMaterial(light,0xFFFF00,0xFF6600),3);
scene.addChild(mesh);
Ваш модифицированный фрагмент:
mesh = container.addChild(new PaperPlane(new FlatShadeMaterial(light,0xFFFF00,0xFF6600),3));
говорит, что сетка равна DisplayObject3D, возвращаемому путем добавления плоскости бумаги в контейнер, который является плоскостью бумаги, поэтому, если вы экспортируете сетку, вы экспортируете только плоскость.
Если вы экспортируете контейнер, вы должны получить dae со всеми дочерними элементами этого контейнера.
Может быть проще изменить эту строку:
data.writeUTFBytes(ExportCollada.export(mesh));
на это:
data.writeUTFBytes(ExportCollada.export(container));//assuming container is visible here