【贝武易科技专业flex3D开发--www.newflash3d.com】其实papervision3D入门的入门还是挺简单的,它主要是有4个基本元素:
相机;
渲染引擎;
场景;
视图;
导入基本的类模块:
import org.papervision3d.cameras.FreeCamera3D;
import org.papervision3d.render.BasicRenderEngine;
import org.papervision3d.scenes.Scene3D;
import org.papervision3d.view.Viewport3D;
场景里如果需要加入物体,再导一个物体的类:
如DAE(Collada)物体。
import org.papervision3d.objects.parsers.Collada;
其他材质什么的也可以这样导入类。
下面就是生成对应的变量了:
private var viewport:Viewport3D;
private var renderer:BasicRenderEngine;
private var scene:Scene3D;
private var camera:FreeCamera3D;
private var box:Collada;
下一步,生成对象了:
viewport=new Viewport3D(400,400);
renderer=new BasicRenderEngine ;
scene=new Scene3D();
camera=new FreeCamera3D(2,200);
box=new Collada("assets/zuban.DAE",new MaterialsList({all:new BitmapFileMaterial("assets/zuban.jpg")}));
下一步是建立它们之间的关系了:
viewport作为场景承载体加到我们的flex场景画布上去显示出来。
pv3dcanvas.canvas.addChild(viewport);
物体加到scene里去:
scene.addChild(box);
最后执行renderer对象的renderScene()方法来渲染场景,scene,camera,viewport作为它的参数。
renderer.renderScene(scene,camera,viewport);
好了,所有设置完毕,papervision3D可以工作了!
【贝武易科技专业flex3D开发--www.newflash3d.com】
需要补充一点的是,当我们需要导入较大的场景的时候,我们还需要加入一个导入文件是否完毕的检测事件。
import org.papervision3d.events.FileLoadEvent;
具体的应用,请查阅博客的其他文章。