flee static method

Vector3 flee(
  1. Vector3 currentPos,
  2. Vector3 currentVel,
  3. Vector3 threatPos, {
  4. double maxSpeed = 5.0,
  5. double maxForce = 10.0,
})

Computes a steering force directing the entity away from threatPos.

Implementation

static vm.Vector3 flee(
  vm.Vector3 currentPos,
  vm.Vector3 currentVel,
  vm.Vector3 threatPos, {
  double maxSpeed = 5.0,
  double maxForce = 10.0,
}) {
  final desired = (currentPos - threatPos);
  if (desired.length2 == 0) return vm.Vector3.zero();
  final desiredVel = desired.normalized() * maxSpeed;
  final force = desiredVel - currentVel;
  return truncate(force, maxForce);
}