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;
  } 
 
                


















