Example #1
0
    void FixedUpdate()
    {
        bool  moved = false;
        float yvel  = rb.velocity.y;

        foreach (KeyCode k in backKeys)
        {
            if (Input.GetKey(k))
            {
                rb.velocity = emath.MultiplyVectors(new Vector3(addForceAmount, 0, addForceAmount), -transform.forward);
                moved       = true;
            }
        }
        foreach (KeyCode k in leftKeys)
        {
            if (Input.GetKey(k))
            {
                rb.velocity = emath.MultiplyVectors(new Vector3(addForceAmount, 0, addForceAmount), -transform.right);
                moved       = true;
            }
        }
        foreach (KeyCode k in rightKeys)
        {
            if (Input.GetKey(k))
            {
                rb.velocity = emath.MultiplyVectors(new Vector3(addForceAmount, 0, addForceAmount), transform.right);
                moved       = true;
            }
        }
        foreach (KeyCode k in fowardKeys)
        {
            if (Input.GetKey(k))
            {
                //rb.AddRelativeForce (new Vector3(0, 0, Input.GetKey(sprintKey) ? sprintForceAmount : addForceAmount));
                float vel = (Input.GetKey(sprintKey) ? sprintForceAmount : addForceAmount);
                rb.velocity = emath.MultiplyVectors(new Vector3(vel, 0, vel), transform.forward);
                moved       = true;
            }
        }
        rb.velocity = new Vector3(rb.velocity.x, yvel, rb.velocity.z);
        if (!moved)
        {
            rb.velocity = emath.MultiplyVectors(rb.velocity, Vector3.up);
        }
        if (canJump /* && rb.velocity.y < jumpForceAmount/1*/)
        {
            foreach (KeyCode k in jumpKeys)
            {
                if (Input.GetKey(k))
                {
                    rb.AddRelativeForce(new Vector3(0, jumpForceAmount, 0));
                }
            }
        }
        if (fc.isFlying)
        {
            foreach (KeyCode k in jumpKeys)
            {
                if (Input.GetKey(k))
                {
                    rb.AddRelativeForce(new Vector3(0, flyVerticalForceAmount, 0));
                }
            }
        }
        if (fc.isFlying && Input.GetKey(downKey))
        {
            rb.AddRelativeForce(new Vector3(0, -flyVerticalForceAmount, 0));
        }
    }