2015-04-06 43 views
0

我正在爲團隊中的我的遊戲創建一個基本的汽車輪轂4.6。我得到steerAngle我的車輪使用eulerAngles.z轉向。但是有一個問題,只要我順時針轉動轉向角然後角度就是360,359,358等&我想要-1,-2,-3等東西。有什麼辦法可以做到這一點?Unity中的負歐拉角球

BTW這是我到目前爲止已經完成:

float steerAngle = (steering.transform.eulerAngles.z); 
    frontLeftWheel.steerAngle = steerAngle; 
    frontRightwheel.steerAngle = steerAngle; 

回答

0
if (steerAngle > 180) 
    steerAngle -= 360; 
+0

三江源這麼多!我不能相信這是多麼容易:) –

0

你能創建一個擴展方法來實現這一目標?

frontLeftWheel.steerAngle = steerAngle.Adjusted(); 

...

public static class Extensions 
{ 
    private const float MAX_VAL = 360.0; 
    public static float AdjustedAngle(
     this Vector3 eulerAngle, int idx = 2) 
    { 
     /* idx 0 = x 
       1 = y 
       2 = z */ 
     //float axesVal = idx == 0 
     // ? eulerAngle.x 
     // : idx == 1 ? eulerAngle.y : eulerAngle.z; 

     /* need to differentiate between a valid 359, 
      and an invalid 359, which should be returned as 
      359 - 360 or -1 */ 
     //var valid = <do some work>; 

     // return valid ? axesVal : axesVal - MAX_VAL; 
    } 
}