PV3D支持导入dae格式的3D模型,并且可以贴图
因为导入的文件格式是DAE,但是空间服务商又没办法设置MIME类型,我想了个办法:把DEA后缀改成服务器允许的 txt
然后AS代码中的也改为TXT后缀,大功告成
下面是代码
package {
import flash.display.Sprite;
import flash.display.Stage;
import flash.display.StageAlign;
import flash.display.StageQuality;
import flash.display.StageScaleMode;
import flash.events.Event;
import org.papervision3d.cameras.Camera3D;
import org.papervision3d.core.math.Number3D;
import org.papervision3d.events.FileLoadEvent;
import org.papervision3d.materials.BitmapFileMaterial;
import org.papervision3d.materials.ColorMaterial;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.parsers.DAE;
import org.papervision3d.render.BasicRenderEngine;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.view.Viewport3D;
public class main extends Sprite
{
private var _viewPort:Viewport3D;
private var _scene:Scene3D;
private var _camera:Camera3D;
private var _render:BasicRenderEngine;
private var _dae:DAE;
public function main()
{
_viewPort = new Viewport3D(425,280);
addChild(_viewPort);
_scene = new Scene3D();
_camera = new Camera3D();
_render = new BasicRenderEngine();
var _materials:MaterialsList = new MaterialsList();
_materials.addMaterial(new BitmapFileMaterial("rust.jpg"), "arrowMaterial3");
_dae = new DAE();
_dae.addEventListener(FileLoadEvent.LOAD_COMPLETE, onloadCompleteHandler);
_dae.addEventListener(FileLoadEvent.LOAD_ERROR, onloadErrorHandler);
_dae.load("arrow2.txt", _materials);
_dae.z = -750;
_dae.rotationX = 45;
}
private function onloadCompleteHandler(e:FileLoadEvent):void
{
_scene.addChild(_dae);
addEventListener(Event.ENTER_FRAME, enterHand);
}
private function onloadErrorHandler(e:FileLoadEvent):void
{
trace("载入出现问题");
}
private function enterHand(e:Event):void
{
//trace(_dae.hitTestPoint(0, 0, -950));
_dae.rotationX = _viewPort.mouseY * 0.5;
_dae.rotationY = _viewPort.mouseX * 0.5;
_render.renderScene(_scene, _camera, _viewPort);
}
}
}
2009-12-9 15:21:33 回复该留言
"因为导入的文件格式是DAE,但是空间服务商又没办法设置MIME类型,我想了个办法:把DEA后缀改成服务器允许的 txt
然后AS代码中的也改为TXT后缀,大功告成"
哈哈,听君一席话,剩下买书钱,真希望能跟您交个朋友~