游戏AI之群组行为

博客探讨了游戏AI中的群组行为,包括分离、队列和凝聚三个基本规则。每个个体保持与邻居一定距离,群组同步移动,并趋向于群组中心。文章介绍了控制器(头鸟)如何引导个体成员实现群组跟随效果。
摘要由CSDN通过智能技术生成

群组行为指的是多个对象组队同时进行的情况。每个boid需满足分离,队列,凝聚三个基本的规则。

分离:群组中的每个个体都与相邻的个体保持一定的距离。

队列:群组以相同的速度,向相同的方向移动。

凝聚:与群组的中心保持最小距离。

参见:http://www.red3d.com/cwr/boids/

结构:

控制器:即头鸟下有controller类来控制自身的移动。

个体成员:单独的个体,通过引用控制器的位置信息来产生群组跟随的效果。

群组中的个体:

  1 using UnityEngine;
  2 using System.Collections;
  3 
  4 
  5 /// <summary>
  6 /// 该类是对群体中的每个个体行为的约束,即单个的鸟
  7 /// </summary>
  8 public class UnityFlock : MonoBehaviour
  9 {
 10 
 11     //最小速度,转向速度,随机频率,随机力
 12     public float minSpeed = 20.0f;
 13     public float turnSpeed = 20.0f;
 14     public float randomFreq = 20.0f;
 15     public float randomForce = 20.0f;
 16 
 17     //队列属性 :向心力,向心区间,吸引力
 18     public float toOriginForce = 50.0f;
 19     public float toOriginRange = 100.0f;
 20 
 21     public float gravity = 2.0f;
 22 
 23     //分离属性:规避力,规避半径
 24     public float avoidanceForce = 20.0f;
 25     public float avoidanceRadius = 50.0f;
 26     
 27     //凝聚属性:追随速度,追随半径(相对于领导者即头鸟)
 28     public float followVelocity = 4.0f;
 29     public float followRadius = 40.0f;
 30 
 31 
 32     //控制单个个体运动的属性:父对象即头鸟,速度,归一化速度,随机推力,父对象的推力。。。
 33     private Transform origin;
 34     private Vector3 velocity;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值