Beispiel #1
0
    void Start()

    {
        //Default to default values.
        velocity          = Vector3.zero;
        recursiveSteering = new RecursiveSteering();
    }
Beispiel #2
0
    public override RecursiveSteering GetRecursiveSteering()
    {
        RecursiveSteering recursiveSteering = new RecursiveSteering();

        recursiveSteering.linear = transform.position - target.transform.position;
        recursiveSteering.linear.Normalize();
        recursiveSteering.linear = recursiveSteering.linear * perc.maxAccel;

        return(recursiveSteering);
    }
Beispiel #3
0
    /*Finally, we implement the LateUpdate function, which takes care of updating the
     * steering for the next frame according to the current frame's calculations:*/

    public virtual void LateUpdate()
    {
        velocity += recursiveSteering.linear * Time.deltaTime;
        rotation += recursiveSteering.angular * Time.deltaTime;

        if (velocity.magnitude > maxSpeed)
        {
            velocity.Normalize();
            velocity = velocity * maxSpeed;
        }

        if (recursiveSteering.angular == 0.0f)
        {
            rotation = 0.0f;
        }

        if (recursiveSteering.linear.sqrMagntitude == 0.0f)
        {
            velocity = Vector3.zero;
        }

        recursiveSteering = new RecursiveSteering();
    }
Beispiel #4
0
 public void SetSteering(RecursiveSteering steering)
 {
     this.steering = steering;
 }