Week8¶
游戏基础技术¶
游戏引擎:制作游戏的基础工具。
包含动画系统、物理引擎、渲染系统、交互系统、玩法系统等。
游戏中的AI模拟玩家行为和与玩家进行交互,需要实现AI的逻辑和动画,使用物理引擎提供真实的感知反馈,使用渲染使其呈现丰富的视觉效果,通过良好的交互来促进游玩体验。
游戏AI基础¶
要求:代入感;难度合理;逻辑合理;“真实”
四大主题:环境感知;知识管理(记忆);行为模型(决策);寻路。
四大主题¶
环境感知¶
视觉:物理SceneQuery
听觉:Navmesh或其他数据
将复杂环境数据转化为简单中间数据。
知识管理¶
储存一些结果,通过黑板(Blackboard)来作为数据共享,保存感应结果、寻路结果、分帧Plan的部分Plan结果。
行为模型¶
通过感知和记忆(数据),利用一些逻辑(如行为树)来辅助决策。
寻路¶
深度优先遍历和广度优先遍历等算法。常用算法:A*算法。
Navmesh是应用最广泛的寻路系统之一。工作流程:体素化、区域生成算法、生成轮廓、创建凸多边形、创建细节多边形(三角形)。
状态机¶
由有限状态和状态间的切换组成,本质是图。随着复杂度变高,状态机会很难管理。
优化:分层有限状态机¶
设计多层状态,便于清晰地管理。如顶层状态有战斗状态和非战斗状态,非战斗状态下可以站立、行走,战斗状态下可以攻击、防御和施法等。
行为树¶
从根节点开始向下执行。包含顺序节点、选择节点、并行节点三种控制节点,和执行特定操作的行为节点
AI技术¶
线性神经网络:原因和结果的关联性是线性的。
神经网络:通过梯度下降逼近真实值。
强化学习:从基础强化学习演变到基于深度神经网络的深化学习。马尔科夫决策过程。
UNREAL实现¶
UE行为树¶
创建敌人角色(BP_ThirdPersonCharacter),创建敌人控制器,关联角色和控制器,右键创建行为树。
巡逻:环境-找到目标点-记住目标点-移动到目标点
创建NavMesh。