Exemplo n.º 1
0
        public Vector3 Arrive(Vector3 target)
        {
            Vector3 desired = target - transform.position;

            float distance = desired.magnitude;

            //toTarget.Normalize();
            if (drawGizmos)
            {
                LineDrawer.DrawTarget(target, Color.red);
                LineDrawer.DrawSphere(target, arriveSlowingDistance, 20, Color.yellow);
            }

            if (distance < 1.0f)
            {
                return(Vector3.zero);
            }
            float desiredSpeed = 0;

            if (distance < arriveSlowingDistance)
            {
                desiredSpeed = (distance / arriveSlowingDistance) * maxSpeed * (1.0f - arriveDeceleration);
            }
            else
            {
                desiredSpeed = maxSpeed;
            }
            desired *= desiredSpeed;

            return(desired - velocity);
        }
Exemplo n.º 2
0
 void Update()
 {
     if (drawGizmos)
     {
         LineDrawer.DrawSphere(transform.position, radius, 20, color);
     }
 }
Exemplo n.º 3
0
        public void Update()
        {
            if (drawGizmos)
            {
                LineDrawer.DrawSphere(transform.position, radius, 20, Color.yellow);
            }

            if (GetComponent <Boid>() != null)
            {
                foreach (GameObject o in boids)
                {
                    o.GetComponent <Boid>().sphereCentre = transform.position;
                }
            }
        }
Exemplo n.º 4
0
        Vector3 Flee(Vector3 targetPos)
        {
            Vector3 desiredVelocity;

            desiredVelocity = transform.position - targetPos;
            if (desiredVelocity.magnitude > fleeRange)
            {
                return(Vector3.zero);
            }
            if (drawGizmos)
            {
                LineDrawer.DrawSphere(transform.position, fleeRange, 20, Color.yellow);
            }
            desiredVelocity.Normalize();
            desiredVelocity *= maxSpeed;
            return(desiredVelocity - velocity);
        }