コード例 #1
0
    private void PhysicsMovement(Vector3 direction)
    {
        Vector3 force;

        if (CurrentHorizontalSpeed() > speedlimit)
        {
            force = Vector3.zero;
        }
        else
        {
            force = direction.normalized * engine.CalculateEnginePower(); // * Time.deltaTime;
        }
        rbody.AddForce(force);
        rbody.angularVelocity = new Vector3(0, 0, 0);
    }
コード例 #2
0
    private void PhysicsMovement(Vector3 direction)
    {
        Vector3 force;

        if (currentHorizontalSpeed > speedlimit)
        {
            force = Vector3.zero;
        }
        else
        {
            force = direction.normalized * engine.CalculateEnginePower(); // * Time.deltaTime;
        }

        if (GetAngleonAxis(transform.forward) > maxSlope)
        {
            // 1 is here so we never divide by a value less then 1
            force = force / maxSlope;
        }

        //test no y direction acceration
        //force.y = 0;
        rbody.AddForce(force);
        rbody.angularVelocity = new Vector3(0, 0, 0);
    }