コード例 #1
0
    //let the motor force do its stuff
    private void Accelerate(WheelPair wheelPair)
    {
        float currentMotorForce = motorForce * motorInput;

        wheelPair.colliderLeftWheel.motorTorque  = currentMotorForce;
        wheelPair.colliderRightWheel.motorTorque = currentMotorForce;
    }
コード例 #2
0
    private void Steer(WheelPair wheelPair)
    {
        float steeringAngle = maxSteerAngle * steeringInput;

        wheelPair.colliderLeftWheel.steerAngle  = steeringAngle;
        wheelPair.colliderRightWheel.steerAngle = steeringAngle;
    }
コード例 #3
0
    public void UpdateWheel(WheelPair wheelPair)
    {
        Quaternion rot;
        Vector3    pos;

        wheelPair.leftWheel.GetWorldPose(out pos, out rot);
        wheelPair.leftWheelMesh.transform.position = pos;
        wheelPair.leftWheelMesh.transform.rotation = rot;
        wheelPair.rightWheel.GetWorldPose(out pos, out rot);
        wheelPair.rightWheelMesh.transform.position = pos;
        wheelPair.rightWheelMesh.transform.rotation = rot;
    }
コード例 #4
0
    //rotate the wheel while the car is moving (animation)
    private void UpdateWheelPairPose(WheelPair wheelPair)
    {
        Vector3 lPos = wheelPair.transformLeftWheel.position;
        Vector3 rPos = wheelPair.transformRightWheel.position;

        Quaternion lQuat = wheelPair.transformLeftWheel.rotation;
        Quaternion rQuat = wheelPair.transformRightWheel.rotation;

        wheelPair.colliderLeftWheel.GetWorldPose(out lPos, out lQuat);
        wheelPair.colliderRightWheel.GetWorldPose(out rPos, out rQuat);

        wheelPair.transformLeftWheel.position  = lPos;
        wheelPair.transformRightWheel.position = rPos;

        wheelPair.transformLeftWheel.rotation  = lQuat;
        wheelPair.transformRightWheel.rotation = rQuat;
    }
コード例 #5
0
 public Wheels(GameObject models, GameObject hubs)
 {
     this.rear  = new WheelPair("Rear", models, hubs);
     this.front = new WheelPair("Front", models, hubs);
 }
コード例 #6
0
 void Start()
 {
     this.pair      = this.gameObject.GetParent().GetOnlyComponent <WheelPair>();
     this.transform = this.gameObject.GetChild("Mesh").transform;
     this.collider  = this.gameObject.GetOnlyComponent <WheelCollider>();
 }
コード例 #7
0
 //use brake
 private void Brake(WheelPair wheelPair)
 {
     wheelPair.colliderLeftWheel.brakeTorque  = breakInput;
     wheelPair.colliderRightWheel.brakeTorque = breakInput;
 }
コード例 #8
0
 //at the moment a fixed value .... later with terrain value or something else?
 private void Decelerate(WheelPair wheelPair)
 {
     wheelPair.colliderLeftWheel.brakeTorque  = decelerationForce;
     wheelPair.colliderRightWheel.brakeTorque = decelerationForce;
 }