Вы должны быть в состоянии. Вот простой старый пример того, как экспортировать сетку из Papervision в формат Collada :
package {
import flash.net.FileReference;
import flash.display.*;
import flash.events.MouseEvent;
import flash.utils.ByteArray;
import org.papervision3d.core.io.exporters.ExportCollada;
import org.papervision3d.lights.PointLight3D;
import org.papervision3d.view.BasicView;
import org.papervision3d.materials.shadematerials.FlatShadeMaterial;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.objects.primitives.PaperPlane;
import org.papervision3d.objects.special.UCS;
public class PV3DExportTest extends BasicView {
private var mesh:DisplayObject3D;
public function PV3DExportTest() {
super(640,480,false,false,"Debug");
scene.addChild(new UCS(1000));
var light:PointLight3D = scene.addChild(new PointLight3D()) as PointLight3D; light.x = light.y = light.z = 100;
mesh = scene.addChild(new PaperPlane(new FlatShadeMaterial(light,0xFFFF00,0xFF6600),3));mesh.rotationY = 160;mesh.rotationX = 30;
startRendering();
stage.doubleClickEnabled = true;
stage.addEventListener(MouseEvent.DOUBLE_CLICK,save);
}
private function save(event:MouseEvent):void{
var data:ByteArray = new ByteArray();
data.writeUTFBytes(ExportCollada.export(mesh));
new FileReference().save(data,'mesh.dae');
}
}
}
Вы можете видеть, что он работает здесь .
Вам нужно будет проверить, экспортирует ли библиотека, которую вы собираетесь использовать, в формат файла 3D, который может сохранить необходимые вам данные (цвета / материалы / и т. Д.) И, если нет, реализовать ваши собственные. Как только это будет сделано, передача данных должна быть тривиальной. Есть несколько вариантов, так что метод зависит от ваших настроек.