首先,PV3D的3D舞台需要一个容器,用来容纳整个3D舞台。 这个容器至少是Sprite类型的,因为Sprite是AS3或者说Flash9里,显示对象的最小单位,这也是我们的主类一定要继承自Sprite的原因,因为它需要被显示。
// 创建3D舞台的容器
_container = new Sprite();
_container.x = 100;
_container.y = 100;
//将它显示出来
addChild( _container );
然后,需要一个3D舞台。
// 创建3D舞台,并将容器_container 作为参数传入
_scene = new MovieScene3D( _container );
接着,我们需要在舞台上放一个摄像头,他代表我们的眼睛,他能看到的就是你看到的。
// 创建摄像头
_camera = new Camera3D();
_camera.z = -500;
_camera.zoom = 5;
//把摄像头看到的显示出来
_scene.renderCamera(_camera);
现在我们需要有一个3D对象,把它显示出来我们才算成功。PV3D的所有3D对象都是继承自displayObject3D,就像Flash里的Sprite一样它是最小单位。
考虑到我们程序的通用性,我们的显示对象使用displayObject3D类型,后面初始化时候你可以把它初始化成任意displayObject3D的子类型对象。
光一个3D显示对象还是不够的,它需要有个“皮”,你才能看到它,所以,我们同时需要一个材质贴图 (至少需要一个,如果是立方体,就需要六个面的贴图)。
PV3D中所有材质贴图的基类是MaterialObject3D,所以考虑到通用性…..我就不多说了。
//黑色的线框材质
_material = new WireframeMaterial( 0x000000) ;
//弄个球玩玩
_displayObj = new Sphere( _material, 80 , 10 , 10 ) ;
//把显示对象添加到舞台
_scene.addChild ( _displayObj) ;
//把摄像头看到的显示出来
_scene.renderCamera ( _camera) ;
现在我们要让球动起来。 PV3D主要是以帧为单位来控制变化,所以我们需要一个方法可以控制到每一帧。
AS3中我们只要注册一个Event.ENTER_FRAME事件的监听程序就可以监听到每一帧开始的时刻。
然后,我们可以在我们的监听函数里,做我们需要做的,比如计算,或着让显示对象移动旋转等。
而PV3D要求每次舞台发生变化时都要显式的调用舞台对象的renderCamera,重新绘制,否则内容始终是不重绘的。
//加入监听
this.addEventListener(Event.ENTER_FRAME, OnEnterFrame);
//监听执行方法
private function OnEnterFrame(event:Event):void
{
//让显示物体动起来
_displayObj.rotationX += 5;
_displayObj.rotationY += 5;
//舞台更新显示
_scene.renderCamera(_camera);
}
分享到:
相关推荐
使用pv3D 引擎对DAE模型多面贴图,原创
pv3d flash 3d源码 pv3d flash 3d源码 pv3d flash 3d源码
copy@thinlong 博文链接:https://thinlong.iteye.com/blog/426470
PV3D是流行的Flash3D技术,该资料包含了很多PV3D的资料,主要是学习的文档,还包括源码。
pv3d开发包,想学pv3d的朋友一定要下的工具包
pv3d的类和部分simple和3d模型(包括md2,dae,xml格式)和贴图
开源3d引擎 pv3d源文件(AS3.0版)及demo.rar 开源3d引擎 pv3d源文件(AS3.0版)及demo.rar
pv3d简单全景,一个非常简单的pv3d全景图。
pv3d开发工具as3 编写的pv3d开发工具as3 编写的pv3d开发工具as3 编写的pv3d开发工具as3 编写的
flash actionscript3+XML+SWFProfiler+PV3D制作环绕镜面相册.zip
PV3D官网的展示:海底世界http://www.papervision3d.org/
pv3d hlep 英文 chm格式 API帮助文档
使用PV3D编写的太阳系,同时添加了鼠标事件处理,当鼠标移动到地球的时候,地球会停止旋转,鼠标移开继续旋转
flash as3 3D开发引擎pv3D
PV3D-GreatWhite-DOC. chm格式的pv3d api说明。
examples in pv3d 关于pv3d安装,简单运用的各种小实例,适合初学者
pv3d网上搜的资料 供大家享用吧,pv3d是一款很有用的3d引擎,非常厉害
Papervision3D Essentials学习笔记
PV3D 3D 电子书展示平台源码PV3D 3D 电子书展示平台源码
本软件PV3D是一个很著名的Flash 3D免费开源引擎,功能很强大,效率也可以。官方网站是http://www.papervision3d.org/,源代码下载地址是http://code.google.com/p/papervision3d/。目前最新版本是2.0a(Greate White)...