public override Vector3 Steer() { if (wanderTarget.magnitude == 0) { wanderTarget = RandomUtil.Position(Vector3.zero, Vector3.one * wanderRadius, Quaternion.identity); } return(SteeringUtil.Wander(self, wanderDistance, wanderRadius, wanderJitter, ref wanderTarget)); }
public override Vector3 Steer() { var currentWaypoint = GetCurrentWaypoint(); var distance = Vector3.Distance(self.position, currentWaypoint); if (distance < waypointSeekDistance) { SetNextWaypoint(); } if (!Finished()) { return(SteeringUtil.Seek(self.position, self.velocity, currentWaypoint, maxSpeed)); } else { return(Vector3.zero); } }
public override Vector3 Steer() { return(SteeringUtil.Seek(self.position, self.velocity, target.position, maxSpeed)); }
public override Vector3 Steer() { return(SteeringUtil.Arrive(self.position, self.velocity, target.position, maxSpeed, arrivalDistance)); }