public float speed = 20.0f;
public float mass = 5.0f;
public float force = 50.0f;
public float minimumDistToAvoid = 20.0f;
private float curSpeed;
private Vector3 targetPoint;
// Use this for initialization
void Start () {
targetPoint = Vector3.zero;
mass = 5.0f;
}
在Update方法中,我们基于AvoidObstacles方法返回的方向向量更新agent实体的位置并对其进行旋转。我们在update方法中所做的第一件事就是获取鼠标点击的位置,以移动我们的AI实体,我们向它正在观察的方向发出一条射线,然后获取这条射线
与地平面的交点,作为目标位置,一旦获取到了目标位置向量,就可以用目标位置向量减去当前位置的向量来计算出目标向量。最后调用AvoidObstacles方法,并将这个目标向量作为参数传入。 void Update () {
RaycastHit hit;
var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
if (Input.GetMouseButtonDown(0) && Physics.Raycast(ray,out hit,100.0f))
{
targetPoint = hit.point;