手机3D游戏开发.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
手机3D游戏开发

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

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档