en造数据结构与算法C# 用Unity实现简单的群组行为算法 之 聚集-CSDN博客
en造数据结构与算法C# 用Unity实现简单的群组行为算法 之 聚集-CSDN博客
演示
思路
1.检测
自然是沿用前两节的检测范围
2.对齐朝向
对齐朝向就是邻居鸟的forward加起来再除总数得到平均数
3.对齐速度
对齐速度自然就是对齐力,所以也是邻居鸟的加和平均数
代码
//得到鸟群的方向和速度birdForward += bird.transform.forward;birdVelocity += bird.GetComponent<Rigidbody>().velocity;
//求取平均速度if (birdNeighbors.Count > 0) {alignmentForce = birdVelocity / birdNeighbors.Count;}
施加对齐力
//rb.AddForce(alignmentForce, ForceMode.VelocityChange);
//给予鸟朝向if (birdForward.magnitude > 0) {this.transform.forward = birdForward.normalized;}