【flash】pv3d制作3d模型查看器



禁止转载

禁止转载

禁止转载

禁止转载



不知道为什么开发flash 的好像特别少,这里用到的是pv3d引擎


1.引擎的导入

首先要下载下来然后放到一个文件夹里。新建一个flash

【flash】pv3d制作3d模型查看器_第1张图片

【flash】pv3d制作3d模型查看器_第2张图片

至于为什么要插入这个地址我也很懵,不过如果把pv3d的文件夹用src文件夹包裹起来,然后写相对路径也是可以的。

把关联加进来之后就可以用pv3d 的数据了

现在新建一个flash3.0,从这里新建一个类

【flash】pv3d制作3d模型查看器_第3张图片

前面写类名

类里面写

package {
import flash.events.*;
 import flash.display.Bitmap; 
    import org.papervision3d.materials.BitmapFileMaterial; 
import org.papervision3d.events.*;
import org.papervision3d.core.proto.MaterialObject3D
import org.papervision3d.objects.parsers.Max3DS; 
import org.papervision3d.materials.WireframeMaterial;
import org.papervision3d.materials.utils.MaterialsList;
import org.papervision3d.objects.DisplayObject3D;
import org.papervision3d.objects.primitives.Cube;
import org.papervision3d.view.BasicView;
public class RotatingCubeExample extends BasicView
{
private var model:DisplayObject3D;
/*private var rotX:Number = 0.1;
private var rotY:Number = 0.1;//鼠标移动的时候旋转速度
private var camPitch:Number = 0;//初始旋转角度
private var camYaw:Number = 1;
private var easeOut:Number = 0.1;*/
private var rotX:Number = 0.1;
private var rotY:Number = 0.1;
private var camPitch:Number = 90;
private var camYaw:Number = 270;
private var easeOut:Number = 0.1; 
public function RotatingCubeExample()
{
stage.frameRate = 40;
init(); 
startRendering();
}
private function init():void
{
 //把摄像机移到中心位置,PV3D摄像机的默认位置是camera.z=-1000
 camera.z=-1900;

 //摄象机的缩放参数,
 //camera.zoom=.8;

 //摄象机的焦距
 camera.focus=14;
model = new Max3DS();
model.addEventListener(FileLoadEvent.LOAD_COMPLETE,modelLoaded);
Max3DS(model).load("assets/qiu.3ds", null, "./assets/");
}
private function modelLoaded(e:FileLoadEvent):void
{
scene.addChild(model);
}
override protected function onRenderTick(e:Event=null):void
{
var xDist:Number = mouseX - stage.stageWidth * 0.5;
var yDist:Number = mouseY - stage.stageHeight * 0.5;
camPitch += ((yDist * rotX) - camPitch + 90)* easeOut;
camYaw += ((xDist * rotY) - camYaw + 270) * easeOut;
camera.orbit(camPitch, camYaw);
super.onRenderTick();
}
} 
}

把fla文件和as文件都放到引擎的同级目录,在同级目录新建一个assets文件夹,把3dmax的模型导出成3ds格式存放在此文件夹,还有贴图文件。


你可能感兴趣的:(flash)