Unity人工智能实战(原书第2版)
上QQ阅读APP看书,第一时间看更新

1.7 徘徊

徘徊算法对于随机的群体仿真、动物,以及几乎任意类型的需要在空闲时随机移动的NPC都表现得非常优秀。

准备工作

AgentBehaviour类中添加OriToVec函数,用于把方向值转换成向量值。

操作步骤

所有步骤可以看成是一个三大步流程,在这个流程中,首先用一种参数化的随机方式操作内部目标的位置,朝向那个位置点,再做相应的移动:

1. 创建派生自FaceWander类:

2. 定义Awake函数,以便初始化内部目标对象:

3. 定义GetSteering函数:

运行原理

此行为用两个半径值计算接下来的随机位置点、朝向那个随机点,然后把计算出的方向值转换成方向向量,如图1-2所示。

图1-2 创建Wander行为的参数的可视化描述