pv3d入门及贴图
来源:互联网 发布:淘宝网二手市场 编辑:程序博客网 时间:2024/05/16 16:58
首先,PV3D的3D舞台需要一个容器,用来容纳整个3D舞台。 这个容器至少是Sprite类型的,因为Sprite是AS3或者说Flash9里,显示对象的最小单位,这也是我们的主类一定要继承自Sprite的原因,因为它需要被显示。
然后,需要一个3D舞台。
接着,我们需要在舞台上放一个摄像头,他代表我们的眼睛,他能看到的就是你看到的。
现在我们需要有一个3D对象,把它显示出来我们才算成功。PV3D的所有3D对象都是继承自displayObject3D,就像Flash里的Sprite一样它是最小单位。
考虑到我们程序的通用性,我们的显示对象使用displayObject3D类型,后面初始化时候你可以把它初始化成任意displayObject3D的子类型对象。
光一个3D显示对象还是不够的,它需要有个“皮”,你才能看到它,所以,我们同时需要一个材质贴图 (至少需要一个,如果是立方体,就需要六个面的贴图)。
PV3D中所有材质贴图的基类是MaterialObject3D,所以考虑到通用性…..我就不多说了。
现在我们要让球动起来。 PV3D主要是以帧为单位来控制变化,所以我们需要一个方法可以控制到每一帧。
AS3中我们只要注册一个Event.ENTER_FRAME事件的监听程序就可以监听到每一帧开始的时刻。
然后,我们可以在我们的监听函数里,做我们需要做的,比如计算,或着让显示对象移动旋转等。
而PV3D要求每次舞台发生变化时都要显式的调用舞台对象的renderCamera,重新绘制,否则内容始终是不重绘的。
// 创建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入门及贴图
- pv3d 的 切换贴图 练习
- Unreal 入门-AO贴图
- 八、WebGL入门,纹理贴图
- pv3d测试
- pv3d视频教程
- PV3D手记
- pv3d视频教程
- pv3d笔记
- UE3 贴图支持及设置
- UE3 贴图支持及设置
- Shader中贴图知识汇总: 漫反射贴图、凹凸贴图、高光贴图、 AO贴图、环境贴图、 光照纹理及细节贴图
- Shader中贴图知识汇总: 漫反射贴图、凹凸贴图、高光贴图、 AO贴图、环境贴图、 光照纹理及细节贴图
- OpenGL基本概念入门——纹理贴图
- OpenGL基本概念入门——纹理贴图
- OpenGL基本概念入门——纹理贴图
- Unreal 入门-贴图-关于纹理坐标
- 贴图
- httpd.conf目录
- vc 部分外挂相关代码,不断增加ing
- 杭电 1285 确定比赛名次
- list_entry()宏
- android之Animation使用方法二
- pv3d入门及贴图
- c# Invoke和BeginInvoke 区别
- 绝好的MongoDB学习资料之一. Database
- Oil Deposits
- 启动Android模拟器报 PANIC: Could not open /.android/avd/test.ini 问题解决
- 锯齿
- Java设计模式研究之Flyweight模式
- 绝好的MongoDB学习资料之二. Basic Usage
- sencha-touch1.1中如何对list表item进行选中