Movement.isForward C# (CSharp) 메소드

isForward() 공개 메소드

public isForward ( ) : bool
리턴 bool
    public bool isForward()
    {
        //Debug.Log("YYY" + rb.velocity);
        Vector3 localVel = transform.InverseTransformDirection(rb.velocity);
        if (localVel.z > 0)
            return true;
        //  if (fr.motorTorque > 0)
        //   return true;

          //  if (forwardInput > 0)
           // return true;
        return false;
    }

Usage Example

예제 #1
0
    // Update is called once per frame
    void Update()
    {
        //how much kart needs to be displaced in Time.deltaTime seconds
        posDisp = transform.position - oldposition;
        rotDisp = transform.position - oldrotation;

        //get output in some format that accomplishes the desired displacements in Time.deltaTime seconds
        forwardinput = posDisp.magnitude;
        if (forwardinput < -1)
        {
            forwardinput = -1;
        }
        if (forwardinput > 1)
        {
            forwardinput = 1;
        }

        turninput = rotDisp.y;
        if (turninput < -1)
        {
            turninput = -1;
        }
        if (turninput > 1)
        {
            turninput = 1;
        }

        //orien = transform.rotation.eulerAngles.y;
        orien = m.getWheelOrien();
        velX  = rb.velocity.x;
        velY  = rb.velocity.y;
        speed = rb.velocity.magnitude;
        float MIN_SPEED = 1f;

        //dead zone should be anything less than 1 because 1 means we are moving
        if (speed < MIN_SPEED)
        {
            speed = 0;
        }
        else
        {
            //the motor take in a speed value between 14 and 95.
            //This does the conversion from simulation to motors: ~[0-30]->[14,95]
            speed = 14 + (81 / 30) * speed;
        }
        forward = m.isForward() ? 1 : 0;
        //send that output to ECEs

        oldposition = transform.position;
        oldrotation = transform.rotation.eulerAngles;
    }