图示:
实现:
///<summary>
///当运动体距目标距离超出固定距离靠近(远离)目标移动
///</summary>
public class ClosToTargetSteering : Steering
{
public override Vector3 ComputerFinalForce()
{
var dir = target.transform.position - transform.position;
//如果物体距目标距离小于两物体的初始距离,合力为0
if (dir.magnitude < safeDistance) return Vector3.zero;
exceptForce =(target.transform.position - transform.position).normalized*speed;
if ((safeDistance - dir.magnitude) > 0.2f) return (vehicle.currentForce - exceptForce) * weight;
return (exceptForce - vehicle.currentForce) * weight;
}
}