动态避障在Unity中的实现
- 首先需要添加一个obstacle(障碍物的layer),这里为第九层
- 接着为我们需要避障的物体添加CollisionAvoidance脚本
- 脚本代码
- 这里使用恒力来实现避障,而不是距离越近力越大的方式
- 通过transform.position 和速度方向上探针的长度来得到ahead
- 将Seek AI 封装成一个方法,并且指定操控力的y为0,避免脱离平面
- 接着在update中进行调用
- 第一种避障的实现演示:
- 第二种避障,直接找出与物体运动速度垂直的向量来作为操控力使物体避障。
- 演示: