您的位置:首页 > 移动开发 > Unity3D

02 Unity3D人工智能AI-离开

2016-10-22 14:50 183 查看
本文固定连接:http://blog.csdn.net/u013108312/article/details/52892258

using UnityEngine;
using System.Collections;

public class SteeringForFlee : Steering {

public GameObject target;
public float fearDistance = 20;

private Vector3 desiredVelocity;
private Vehicle m_vehicle;
private float maxSpeed;

void Start () {
m_vehicle = GetComponent<Vehicle>();
maxSpeed = m_vehicle.maxSpeed;
}

public override Vector3 Force()
{
//if the target is in the fear range, then flee, else ignore it by return 0;
Vector3 tmpPos = new Vector3(transform.position.x, 0, transform.position.z);
Vector3 tmpTargetPos = new Vector3(target.transform.position.x, 0, target.transform.position.z);

if (Vector3.Distance(tmpPos, tmpTargetPos) > fearDistance)
return new Vector3(0,0,0);

desiredVelocity = (transform.position - target.transform.position).normalized * maxSpeed;
return (desiredVelocity - m_vehicle.velocity);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  人工智能 unity3d