public void update_steering() { //steer right if(Input.GetKey(KeyCode.D)){ FR.steerAngle = 30; FL.steerAngle = 30; if(current_tilt != tilt_state.right){ if(current_tilt == tilt_state.left){ bikeModel.transform.Rotate(new Vector3(0,0,-20)); } bikeModel.transform.Rotate(new Vector3(0,0,-20)); current_tilt = tilt_state.right; } } //steer left else if(Input.GetKey(KeyCode.A)){ FR.steerAngle = -30; FL.steerAngle = -30; if(current_tilt != tilt_state.left){ if(current_tilt == tilt_state.right){ bikeModel.transform.Rotate(new Vector3(0,0,20)); } bikeModel.transform.Rotate(new Vector3(0,0,20)); current_tilt = tilt_state.left; } } //steer straight else{ FR.steerAngle = 0; FL.steerAngle = 0; if(current_tilt != tilt_state.normal){ if(current_tilt == tilt_state.left) bikeModel.transform.Rotate(new Vector3(0,0,-20)); if(current_tilt == tilt_state.right) bikeModel.transform.Rotate(new Vector3(0,0,20)); current_tilt = tilt_state.normal; } } }
// Use this for initialization void Start() { wheelColliders = GetComponentsInChildren<WheelCollider>(); foreach (WheelCollider wc in wheelColliders){ if( wc.name == "Wheel_FR")FR = wc; else if(wc.name == "Wheel_FL")FL = wc; else if(wc.name == "Wheel_BR")BR = wc; else if(wc.name == "Wheel_BL")BL = wc; } current_tilt = tilt_state.normal; rb = GetComponent<Rigidbody>(); }