Unity GameAI-(7)Wander(自由徘徊)

Wander

  • 原理: 使智能体能有随机的操控力,使它能在场景中国随机移动。
    • 方案一:简单实现方案
    • 方案二: 圆上随机

基于Seek行为,每隔一段时间以后,随机改变它的Target智能体不到达目标点。

Unity GameAI-(7)Wander(自由徘徊)_第1张图片
Paste_Image.png
  • 存在的问题:

    • 有时候将target放置在角色的后面时,角色需要立刻转向,如果连续多次如此,便显得十分不协调
  • 解决方案:

  • 圆上随机。

Reynolds

  • 在角色的前端凸出一个圆圈,目标被限制在该圆圈上,然后智能体移动目标。
  • 每帧给目标添加一个随机的位移,沿着圆周移来移去,创建出一个没有抖动的往复运动。
Unity GameAI-(7)Wander(自由徘徊)_第2张图片
Paste_Image.png
  • 代码实现
Unity GameAI-(7)Wander(自由徘徊)_第3张图片
Paste_Image.png
  • 接着需要在Start中初始化wanderTarget
Paste_Image.png
  • wander核心部分
Unity GameAI-(7)Wander(自由徘徊)_第4张图片
Paste_Image.png
  • 一如既往的Seek行为
Unity GameAI-(7)Wander(自由徘徊)_第5张图片
Paste_Image.png
  • 添加wander
Unity GameAI-(7)Wander(自由徘徊)_第6张图片
Paste_Image.png
  • 实现效果:
Unity GameAI-(7)Wander(自由徘徊)_第7张图片
Paste_Image.png

你可能感兴趣的:(Unity GameAI-(7)Wander(自由徘徊))