基于 3D 角色游戏中 AI 引擎的设计研究
基于 3D 角色游戏中 AI 引擎的设计研究
文/耿富成
摘要:本文以人工智能(AI)引擎与游戏场景设计及优化为主要研
究目标,对优化游戏场景搭建技巧进行阐述,并分析 AI 引擎在 3D
角色游戏中的设计思路。通过复杂、高效的 AI 引擎,将游戏中那
种更为饱满、真实的角色行为创造出来,以此不断提升角色游戏中玩家和智能角色的互动。
【关键词】AI 引擎 3D 角色游戏 场景设计
iPhone 平台游戏、Android 平台游戏及网页游戏等在近些年迅猛发展,并逐渐成为对发
展游戏具有带动作用的新生力量。但是,当今很多游戏都处于宣传攻势重于游戏内容品质的
境况,而且玩家在游戏体验过程中,会逐渐提升对游戏操控性与沉浸感需求。 基于这种现象,
使得3D游戏逐渐成为国内游戏主要发展方向。
1 游戏场景的设计
在开发游戏时,贴图和模型的合理搭建能够将炫丽的游戏场景提供给玩家,以此提升游
戏本身意境,并将游戏主题突出出来。所以,怎样快速搭建贴图和模型,确保游戏运行畅通
是在设计游戏过程中亟待研究与解决的重要问题。
1.1 搭建游戏场景规范
一般通过 Unity3D 技术对场景中像地形、草木等基本对象进行直接搭建,但对于游戏中
装饰性物品与主要角色等,必须从 3D 建模软件中导入。对游戏场景进行搭建时,首先要对
游戏环境予以创建,然后放置物品或者角色。Unity3D 在默认状态下的单位为 1,一般会通过
修改应用程序以与该比例相匹配,由此在资源放置时就会比较简单。
本游戏通过 Maya 建模,面片数要保证为 32500 个 Polygon 面片,若大于该数量,那
么物体就无法显现,所以应该对模型与多边形数量进行合理分布。在制作完成一个三维模型
后,其内容主要包括单位、场景尺寸、节点编辑、命名、纹理、模型归类、纹理格式及尺寸、
坐标及材质等一定要与相关制作规范相符。
1.2 优化游戏贴图
作为游戏开发平台,Unity3D 模型材质通常会有很多特殊性需求,并非 Maya 中所
有材质球 Unity3D 都支持,Unity3D 只支持像Lambet、Blin 等标准材质,且还要保证贴图尺
寸为2n,贴图尺寸最大值要在1024×1024以内,烘焙过程中,对 TGA 格式纹理贴图进行设置。
渲染优化时,应该对遮挡剔除技术进行选用,也就是说,如果其它物体遮挡该物体,且在摄
像机镜头外,那么不会对其实施渲染。运行遮挡剔除是用虚拟摄像机在场景中将物体潜在可
视状态创建出来,以此进一步提升游戏运行质量。
2 基于3D角色游戏中AI引擎的设计研究
2.1 构建游戏AI引擎框架
2.1.1 游戏中非玩家角色的动作控制
非玩家角色在游戏中的主要行为包括巡逻、待机、逃跑及攻击等,每个行为下的动画
表现都有所不同,以程序的方式对游戏角色动作进行控制。依照游戏引擎本身特性,于游戏
角色模型中绑定角色动作。此外,角色模型导出设置中,对游戏动画选项进行设置后,再在
3D 引擎中导入,在一定条件下,采用程序控制的方式对动画剪辑进行播放,以此控制角色动作。
2.1.2 状态机反应机制
首先对 AI 引擎智能进行分析:在一定范围内, 游戏AI角色巡逻, 对周边环境进行扫视,
以观察周边有玩家入侵与否, 有时可立于原地,若无外界条件触发则为空闲待机状态,但若在
其可视范围内有玩家,则会主动攻击,围攻玩家,以此对玩家造成伤害,如果其生命力比较
低,则会自动逃跑。根据 AI 角色表现,能够获得 AI 角色的状态及其相互转换。
Idle 状态:该状态为空闲状态,在平静状况下的基本状态。如果无条件触发,AI 角色在
一段时间后就会自动转入 Idle 状态 [3]。Attack 状态:该状态为攻击状态,具体是
攻击出现在其视野中的玩家,对其造成伤害。如果 AI 角色生命力比较低,就会自动向 Escape
状态(即:逃跑状态)转换,如果玩家在其可视范围外, 则会自动向Patrol状态 (即 : 巡逻状态)转换。
2.2 基于3D角色游戏的AI引擎寻路算法
通过特定寻路算法帮助游戏角色寻路,也就是说,根据某种规则对从起始点到终点的路
径进行计算。本文主要分析WayPoint寻路算法,并具体应用于角色游戏中。该寻路算法具体是
将若干个路径点(waypoint)进行标记,采用矢量线连接各路径点,确保游戏 AI 角色可以在
某种规律下沿路径线自动寻路。可手工设置这些路径点, 也可程序自动生成。 路径点寻路时,
游戏场景中,需要获取任意两点路径,可以从目标点与起始点各取一个路径点,对这两个路
径点最短距离进行计算,以此将目标点与起始点最优路径计算出来,这就是角色行走路径。
游戏角色在到达目标点后,必须在其视野中可看到下一最优路径点,由此就能够在最优路径
中进行自由活动 [4]。
3 总结
本研究分析与探讨了基于 3D 角色游戏的游戏场景布置与 AI 引擎的设计与优化。采用三
维建模软件实施建模后,对游戏场景于 Unity3D中进行优化,结合 AI 引擎关键技术、制作过程
及游戏半身,确保能够在游戏中将游戏玩家与职能角色对抗效果充分体现出来,整个游戏主
线是任务关卡形式,因此要合理设计游戏非玩家角色, 必须通过程序对个性化敌人进行设计,
以确保游戏具有真实性、挑战性以及可玩性,
这对 3D 角色游戏的设计与实现极具重要参考价值。
参考文献
[1]JACOBS,S.Game programming gems7[M].北京 : 人民邮电出版社,2010:191-151.
[2]MARK DELOURA.Game programminggems1[M]. 北 京 : 人 民 邮 电 出 版社 ,2010:208-219.
[3] 倪乐波 , 戚鹏 , 遇丽娜等 . Unity3d 产品虚拟展示技术的研究与应用 [J]. 数字技术与应用 ,2010(9):54-55.
[4]FUNGE J D.Artificial intelligence forcomputer games[M]. 北京 : 北京邮电大学出版社 ,2007:158-159.
作者单位西安理工大学大学 陕西省西安市 710048