Android平台下3D游戏引擎技术的研究及应用综述.pdf
《Android平台下3D游戏引擎技术的研究及应用综述.pdf》由会员分享,可在线阅读,更多相关《Android平台下3D游戏引擎技术的研究及应用综述.pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、DO I:1 0 3 9 6 9 j i s s n 1 0 0 1-3 8 2 4 2 0 1 2 0 5 0 0 6 A n d r o i d平台下 3 D游戏 引擎技术 的研究及应 用综述 李红波,吴雨芯,赵 宽,李宏浩(重庆邮电大学 网络智能研究所,重庆 4 0 0 0 6 5)摘要:A n d r o i d游戏近几年受到疯狂追捧,但手机资源的局限给3 D游戏引擎提 出了更高要求。结合 A n d r o i d平台 下3 D游戏引擎的现状,阐述了游戏引擎结构的演变,对A n d r o i d平台主流引擎进行 了对比和分析,并对引擎中涉及 场景渲染的包括游戏地形渲染、碰撞检测、遮
2、挡剔除及可见性裁剪在内的多项关键技术进行了简介和分析,同时介 绍了给游戏锦上添花的粒子系统和人工智能技术,总结了引擎渲染存在的问题并给出解决方法。关键词:A n d r o i d;3 D游戏;游戏引擎;碰撞检测;遮挡剔除;可见性裁剪 中图分类号:T N 9 2 9 文献标识码:A 文章编号:1 0 0 5 3 8 2 4(2 0 1 2)0 5-0 0 2 8-0 6 0 引 言 A n d r o i d游 戏近 几 年 已受 到疯 狂 的追 捧,A n d r o i d手机用户数量也在 急速增加,这使得 A n d r o i d 手机应用和硬件优化供不应求。不久前 A n d r o
3、 i d平 板电脑的问世以及小米手机的疯狂抢购,更是让众 多开发商看到 了商机。A n d r o i d市场应用的大量需 求和硬 件技术 的飞速 发展,使得在手机 上开发 3 D 游戏成为必要 和可能。而一款 3 D游戏 引擎 的架 构 剖和渲染系统直接决定了它今后的市场走势和 整体质量层次,所以对游戏引擎渲染及关键技术的 研究显得很有必要。由于玩家要求 的提高,游戏采用的技术越来越 复杂,手机资源有限这一局限给游戏产业界带来了 极大的挑战。游戏引擎提供 了游戏开发 的主要 技 术框架,使开发者能够将主要精力放在游戏 的可玩 性和内容上。一款优秀 的游戏 引擎 能够有效地提 高游戏 的开发效
4、率并缩短开发周期。游戏引擎近 几年得到了快速发展,例如,北京 数位红推 出的龙 骨 J、浙江大学的 C A P小型 3 D游戏引擎、电子科技 大学的网络游戏引擎等。但是,目前 国内仍缺乏成 熟的自主研发的商用游戏引擎,现有引擎大部分是 利用开源引擎进行 的个性化定制。国外公 司的游 收稿 日期:2 0 1 2-08-0 1 28 一D I GIT A L COMMUNICA T I ON 2 0 1 2 1 0 戏引擎授权费用高昂,这无疑给 3 D游戏开发带来 了很大的经济压力。因此,必须掌握游戏引擎核心 技术,加大研究力度。然而,开发并维护一个功能强大 的 3 D游戏 引 擎并不是件容易的事
5、。因此,慢慢 出现 以开发及维 护 3 D游戏引擎为主的公司。3 D游戏引擎 的发 展 会 E t 趋成熟,游戏开发 的困难度也将 随着 3 D游戏 引擎的成熟而逐渐 降低,同时将使得游戏开发厂商 将开发重心放在游戏 内容及游戏设计上。因此,未 来游戏厂商将可 以摆脱 3 D绘 图程序设计复 杂、沟 通不易、跨平台等困扰,更容易地设计 出画面华丽、内容充实的游戏。1 3 D游戏 引擎构 架的演变 1 1 传统游戏引擎的结构 传统的引擎基本上是针对单机 的 2 D游戏进行 开发。它是在对部分通用技术细节进行 整理和封 装的基础上,形成一个面 向游戏应用 的应用程序接 口(A P I)函数 J,使
6、游戏开发人员不必再关心底层 技术的实现 细节,大大 降低 了开 发人员 的工 作难 度,减少 了工作量,缩短开发周期。传 统游戏 引擎 一般包含渲染、地 图编辑工具、物 理学、碰撞 检测 等,其常用的渲染接口一般是 D i r e c t X和 O p e n G L,而 游戏场景是游戏渲染最核心 的部 分。场景模块作 为游戏引擎的核心部分,是游戏开发者们调用最多 的一个模块。为了进一步提高游戏开发者 的效率,游戏引擎模块 的高 隐藏性和游戏 引擎 的可拓展性 显得至关重要。常见的游戏引擎结构如图 1 所示。图 1 传统游戏 引擎结构 1 2当前 3 D游戏引擎结构的转变 随着手机硬件 的发展
7、,智能手机 的处理能力得 到很大的提高。针对不同的开发需求,游戏引擎也 发生 了很大 的改变,以达到更高 的游戏效果体 验。主要发展趋势如下。1)向专业化、大规模化转变。随着各平台对 O p e n G L E S支持能力的加强,更 多显示 芯 片对 A n d r o i d的支 持,越 来 越 多在 P C,P S P,P S 3,X B O X 3 6 0等各游戏平台 占有领先地位 的 专业游戏公司将向 A n d r o i d等手机平台领域快速渗 透,使得游戏的规划更加 向专业化方 向发展。2)从 2 D向 3 D转变。由于 3 D描绘 的技术更新越来越快,使得游戏 的开发难度 日渐
8、升高,因此将常用 的部分慢慢地抽 离出来以提高重用性是一个 降低 开发成本 的好方 法,这些模块集合起来之后便形成为 3 D游戏引擎 的雏形。3 D游戏引擎的优点就在于提供稳定 的游 戏开发平台,具 有最新 的动画或绘 图功能,以及 与 游戏引擎互相搭 配的游戏制作 工具及跨平 台等强 大功能。因此,利用 3 D游戏引擎来开发游戏 已经 成为一股新的游戏开发趋势。3)从单机向网络化转变。随着各平台对无线通信网络、Wi F i 网络、蓝牙 网络 的良好支持,游戏将创新 出更好 的游戏性和用 户体验。网络游戏、多人游戏、联 机对战等将进一 步强化玩家对游戏 的粘着度,并且容易通过对道具 等的控制产
9、 生营利模式。玩家之 间对 交互能力 的 需求也会促成未来 的游戏 向网络 化发展进程 的加 快。相信不久 的将来,游戏可能成为推动手机硬件 性能提升的主要动力,也会是手机娱乐特性 最好 的 体现之一。综上所述,游戏的性能随着用户 的要求越来越 高,唯一支撑游戏运行 的核心就是引擎。目前针对 不同的游戏开发需求,需要对引擎做不同的扩展,新增的粒子系统、人工智能让游戏的特效画面更加 华丽。可以毫不夸张地说,正是游戏 的发展促进 了 3 D引擎 的转变。其 3 D游戏引擎体系结构如图 2。图 2 3 D游戏 引擎体 系结构 1 3 An d r o i d平台主流引擎对 比和分析 目前 A n d
10、 r o i d平台上比较成熟的 3 D游戏引擎还 很少,大部分是 自主开发的开源游戏 引擎。主要有 A n e,R o k o n,L Ga me,An d E n g i n e,L i b g d x,J p c t,A l i e n 3 d,C a t c a k e 等,而非开源的商业游戏引擎能用在 A n d r o i d平台上的只有 U n i t y T e c h n o l o g i e s 开发的U n i t y 3 D。在这些开源 的引擎当 中,其 中 A n e,R o k o n,L G a m e,A n d E n g i n e,l i b g d x
11、为 2 D游戏 引擎,主要针对 一些 2 D手机游戏的开发,j p c t,A l i e n 3 d,C a t c a k e和 U n i t y 3 D为 3 D游戏引擎,各引擎对比如表 1。表 1 A n d r o i d平台开源游戏引擎对比 一29 续表 1 2 3 D引擎关键技术 对任何一款游戏 引擎而言,它必须具备一整套 游戏开发所需的基本组件和模块,部分引擎针对特 定的个性化游戏,可适 当做 出扩展。其 中,数据量 最大、耗费资源最多、用 时最长的便是游戏场景渲 染。渲染效率的高低直接影响游戏响应时间,渲染 画面的效果直接影响用户体验,所以渲染器是引擎 中最关键 的模块。它
12、包 括游戏 地形渲 染、碰撞检 测、遮挡剔 除与可见性裁剪 等组 件,以及 给游戏锦 上添花的粒 子系统 和人 工智能组件。针对手机 资 源的局限性,需要对渲染 过程做出优化,优化效 率 与整合程度直接决定了游戏的整体质量层次。2 1 L OD地形渲染 在 3 D游戏开发中,会遇到不同规模的室外地形 渲染,这些由大量网格组成的地形渲染是影响游戏速 度的重要因素。目前地形渲染技术 主要有 V o x e l 和 L O D 2种。L O D(1 e v e l o f d e t a i l)即层次细节,是一 种使用多边形 的 3 D渲染技术,它根据一定 的规则 来简化物体 的细节,可以根据需要
13、来选择不同细节 程度的表现。例如,离观察者近时选择较高的细节 程度,距离更远时则选择较低 的细节程 度,以此控 制场景的渲染,更加方便地使用显卡的硬件加速功 能并提高渲染速度。当对大规模 的地形进行绘制时,把整个地形作 为一整块来处理是不合适 的,需要分块处理,根据 每块到视点的距离来给每块赋予不同的细节等级,一3 0 一D l GlT A L COMMU NI C A T I ON 2 0 1 2 1 0 离视点近的细节等级高,远 的细节等级低。其算法 基本思路是把地形一分为二,然后对 于每一个三角 形,从它的顶点到对面边 的中点分割 三角形为 2个 新的正等边 三角形,分割是递归 进行的,
14、直 到达 到 希望的细节等级,其分割过程如图 3。图 3三 角 形分 副 渲染三角 网格 时,由于视点 不断 的变化,需要 对三角形进行 分割 合并操 作,也就是删 除或者添 加一些顶点,目的是让远近不 同距离的地形产生不 同的细节等级,减少三角 面的渲染数量。然而,这 样不连续 的分割便产 生 了 T形 裂缝 问题。所 以,L O D渲染算法应避免在裂缝 的基础上分割 合并三 角形。2 2 碰撞检测 游戏场景中通常包含有静态物体和动态物体,物 体的移动难免会产生碰撞,所以 3 D游戏中碰撞检测 显得至关重要。目前成功商业 3 D游戏普遍采用的碰 撞检测方法是包装盒方式,此方式是当今各种物理引
15、 擎和碰撞检测流行的做法,是采用一个描述用的正方 体或者球型体包裹住 3 D物体对象整体(或者是主要 部分),之后根据“描述用”包装盒的距离、位置等信 息来计算是否发生碰撞,主要类型如下。1)与坐标 轴对 齐的包 围盒(a x i si g n e d b o u n d i n g b o x,A A B B):是一个正立方体结构,它的3条轴 向量分别平行于世界坐标 的坐标轴,所 以仅用 2个 点的坐标就能完整地描述一个 A AB B包围盒。它的 构建很简单,只需要遍 历所有顶点,分别取 出最大 和最小的 值、Y值、值(共 6个值),求得最大和最 小的 2个顶点,连接这 2个顶点的线段 的中
16、点,便是 包围盒的中心。2)有向包围盒(o r i e n t e d b o u n d i n g box,O B B):本 质 匕 是个最贴近物体的长方体,它用来描述几何节 点的包 围盒信息,2 个 O B B包围盒之间的相交检i 贝 0 是 整个碰撞检测系统的最后一个环节,它将具体确认相 应的2个几何节点是否相交。O B B包围盒通过 3个 向量和这 3个方向上分别的长度进行构建,它的计算 关键是寻找最佳方向,并确定在该方 向上包 围对象的 包围盒的最小尺寸,其空间结构如图4。图 4 OB B 空 间 结构 图 3)包 围球(b o u n d i n g s p h e r e,B
17、S):是包含该对 象 的最小球体,计算给定对象 A的包 围球,先需分 别计算基本几何元素集合中所有元素的顶点的 坐 标、Y坐标、坐标均值,以此确定包围球 的球 心,再 由球心与 3个最大值坐标所确定的点间的距离计算 半径,从而完成包 围球 的构建。层次包 围盒方法是 目前应用最广泛 的碰撞 检 测方法。各种碰撞检测算法各有优势,应针对不同 的应用场合选择 不同的方法,尽 可能做到简单、紧 密、实时。这些方法对静态环境下 2个包 围盒之间 的碰撞检测 比较有效,但对于动态环境下多个虚拟 对象问的碰撞检测问题,显得有些吃力。2 3 遮挡检测及可见性裁剪 如今,硬件技术得 到了提升,智 能手机 的处
18、理 能力有 了很 大的改观。但是,如果把一个 3 D游戏 场景里所包含的所有 网格数据送入缓存进行 渲染,很 明显 这对手机 来说几 乎是不 可能完 成 的任务。所 以,必须剔除一些不可见 的网格或者 三角面,提 高渲染速 度,即涉及 到进 行遮 挡检测 与 可见性判 断。目前常见 的裁 剪方法 有背 面裁剪、视 锥体裁 剪、遮挡裁剪、细节裁剪、人 口裁剪等。它们的基 本思想都是将没有用 的三角面裁剪掉,其 中视锥体 裁剪和遮挡裁剪在很多场合都是统一起来的。遮挡裁剪一般在视锥体裁剪算法之后执行。大 部分视锥体裁剪算法采用视锥与节点的相交测试来 确定相应节点的可见性,因为相交测试的开销比遮挡 查
19、询要小很多。遮挡查询大包围体的节点,效率会很 低,相反相交测试这样的节点效率会很高。因此,可 以采用八叉树进行空间划分与排序 j,这样节点深 度层次越深,包含 的物体数量越少,被 遮挡 的可能 性就越大。如图 5所示,视锥体 内部 的节点被遮挡 的可能性很 大,可 以在遍 历下层节 点 时进行 遮挡 查 询 在进行遮挡判断时,根据地形的可见 区场景的 复杂程度,可采用分层 的方法,即包含物体 的个 数 多少和浏览 的类 型决定 是否进行遮挡判 断。若 地 形上物体少,分布稀疏,相互问的遮挡不多,进行遮 挡判断并不能明显减少绘制 的多边形 面片数,且耗 费了时间。另外,对地形进 行全局高空浏览
20、时,如 果物体之间存在遮挡关 系的情况相对较少,此时利 用遮挡裁剪也不能有效减少绘制的面片个数,通常 利用 L O D模型来提高绘制速度。图 5场景 中物体被遮挡示意 图 2 4 粒子系统 在 3 D游戏中,为了增强用户真实感和体验度,需要提高游戏中特效的逼真度,粒子系统很好地展 现了这一功能,它将大量 的粒子单元集合在一起,通过对其属性特征参数 的控制来表现物体 的物理 特性。所谓粒子是有着形状、大小、颜 色、透 明度、位置及速度等属性 的几何 单元。一个粒子具体 的 属性,取决于其具体的运用。目前粒子 系统 主要应用于模拟 自然环境 中火 焰(图 6)、雨雪(图 7)、云雾、水流 、爆炸、
21、发光 轨迹(图 8)等。此外,它不仅仅是应用于游戏效果 的设计,也更多地应用于各学科 中动态单元行为对 整体系统的影响,能很好地体现不规则模糊物体的 动态性和随机性。图 6 火焰粒子特效 一31 图 7 雨雪粒子特效 图 8 发光轨迹粒子特效 随着计算硬件设备 的 日益发展,特别是显卡性 能的突飞猛进,以前多用于描述非整体的物体描述 的粒子系统现在也开始用于对整体物体的表面建 模。当前,粒子系统用于可形变物体容积的可视化 模拟,也是 比较热 门的研究。在 这方 面的研究 中,主要引入了粒子间的相互作用力,以保证模拟物体 的整体性。例如,在粒子 系统对 肌 肉的建模领域,Mo r a d e A
22、 mr a n i 和 B e h z a d S h a r i a t 提出应用粒子系统 模拟人体器官的动态行为,如人体脑部、肺部等。这些结果有利于医学方面对于手术的模拟实施。在粒子系统运用 于手机方面主要还是涉及游 戏渲染技术。由于手机 的硬件条件受到限制,在手 机上运用粒子系统要对粒子系统本身进行优化,即 在不严重影响视觉效果的前提下可 以适 当对程序 进行简化。利用 当前手机 的各种传感器设 备,加上 粒子效果模拟现实 自然环境 的逼真特点和灵活性,在便携式设备上设计实用性、真实性、方便 性、功能 性的应用成为可能。2 5 人 工智 能 人工智能(a r t i fi c i a l
23、 i n t e l l i g e n c e)用 于控 制游戏 中各种活动对象的行为方式,使 它们的逻辑表现符 合常理。人工智能 的应用要恰到好处,使游戏 的难 度适中,可玩性高。游戏 中常见 的人工智能技术包 一3 2 一DIGIT AL COMMU NI C A T I ON 2 0 1 2 1 0 括有 限状态机、脚本语 言、模糊逻辑、决策树、神 经网络、遗传算法、群体行为 的模拟 等。不 同类型 游戏对应用人工智能技术 的复杂程度有不 同的要 求,例如即时策略类游戏需要实 时解决数千个对象 的动态路径发现问题;第 一人称射击游戏需要进一 步提高 N P C(n o n p l a
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Android 平台 游戏 引擎 技术 研究 应用 综述
限制150内