1 / 16
文档名称:

手机3D游戏开发.ppt

格式:ppt   大小:197KB   页数:16页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

手机3D游戏开发.ppt

上传人:mh900965 2018/4/2 文件大小:197 KB

下载得到文件列表

手机3D游戏开发.ppt

相关文档

文档介绍

文档介绍:手机3D游戏开发
谢云翔编
附二: 手机3D游戏开发
手机3D图像开发基础
Java 3D API介绍
手机3D图像开发基础
1、3D游戏现状与前景
2004年图形芯片巨头ATI公司发布面向手机的新款处理器-Imageon2300系列。该芯片能够实现3D游戏。从此手机3D游戏开始步入市场。随着3G时代的到来,面向无线上网在线3D游戏的网络支持日渐成熟,手机的3D游戏时代也随之到来。
2、3D技术介绍:JSR184(M3G)
为在Java平台提供3D技术支持,Sun公司提出了Java 3D技术。Java 3D是对Java技术在显示三维图形方面的扩展。 3D游戏开发API是由JSR-184开发包提供的。
手机3D图像开发基础
JSR-184开发包(Mobile 3D Graphics,M3G)为Java移动应用程序定义了一个简洁的3D API接口。M3G被设计成轻量级别,整个API完整实现不超过50K。
正如二维游戏开发需要图片资源一样,3D游戏也需要使用三维模型数据。JSR184支持的3D模型数据文件是后缀名为“.m3g”的文件。一般都是使用3D动画软件构造好数据模型,再通过代码显示。
M3G被广泛应用到游戏、地图、动画等领域,因此为了支持这些应用,M3G支持二种3D模式:快速模式(Immediate Mode)和保留模式(Retained Mode)。
手机3D图像开发基础
在快速模式下,开发者必须手动渲染每一帧,动画速度快,但代码繁琐,开发者需要为3D动画的底层细节如着色等编写代码。在保留模式下,开发者只需设置关键帧,具体细节如何显示无需开发者了解,代码简单,但速度慢。一般可以混合使用这二种模式。
作为一个厂商可选包,M3G主要目的就是为了在J2ME平台上架构一个符合JSR标准的运行在受限移动设备上的接口并可移植到具有3D图形显示的高端移动设备上。
目前,最流行的商业动画制作软件应是3D Studio Max,它支持输出模型或场景图到M3G格式。
注:JSR -- Java Specification Requests (Java特定需求规范)
手机3D图像开发基础
3、M3G图像开发基础
1)场景:使用JSR-184开发包的API绘制的图称为场景。它包括了多个几何形状的三维控件,每个场景由若干个场景图构成。。。,可以通过World类直接给场景画面进行渲染。
一个World类对象能够包含任何数量的网格(Mesh类)、视点(Camera类)、光照(Light类)等。一个World对象可以理解为节点树的最顶层容器,包含一个场景图模型的多个节点(Node),通过连续播放和着色形成连贯的3D图像。
手机3D图像开发基础
2)Loader类:。,所有继承自Object3D的子类对象将自动获得已经被Loader类序列化的二进制数据。
3)Graphics3D类:,通过Graphics3D接口把World对象里面的节点进行处理,并形成一幅完整3D图像显示在手机屏幕上。其所有着色操作都是在其中的render()方法中实现。
手机3D图像开发基础
4)简单3D动画开发步骤
在一个MIDlet中显示一幅3D画面的基本流程如下:
创建一个Graphics3D对象: Graphics3D g3d = ();
读取资源文件:Object root[] = ("/"); World world = (World) root[0];
把Graphics3D对象绑定到一个2D图像对象中: (g)
其中g来源于Canvas的paint方法的Graphics类型的参数
手机3D图像开发基础
设置3D动画播放所需要的参数,如World、Node等
通过Graphics3D对象渲染和显示场景:(world);
释放资源:();
参见实例:

2