2016-11-07 52 views
0

保持一個軸被鎖定時出現問題。我有兩種工具可以用來抓取這個模擬物體。保持一個軸的旋轉並將其他對齊到父

Tool grabbing "needle"

我只需要能夠保持自身(局部Y)圍繞其旋轉對準工具的旋轉休息。然而,目前我只能找出如何旋轉所有的軸,像這樣:

Tool having grabbed "needle"

的代碼看起來就像這樣:

case 1: 
this.transform.rotation = leftParent.transform.rotation; 
this.transform.SetParent (leftParent); 
break; 
case 2: 
this.transform.rotation = rightParent.transform.rotation; 
this.transform.SetParent (rightParent); 
break; 

我曾嘗試:

  • 在局部和全局旋轉時使用.Set,保持y和/或w旋轉
  • =新的四元數作爲本地和d全局循環,保持Y和/或W
  • 養育它

請讓我知道如果有什麼明顯我已經錯過了後匹配父旋轉

  • 旋轉針頭後旋轉針。謝謝!

  • 回答

    0

    我想你要找的是什麼Transform.localRotationTranform.localEulerAngles:你可以找到更多關於這些here

    在你的情況,我會做這樣的事情(考慮是按照預期的「手」對象幾何):

    case1 : 
    //Adjust the rotation you want to keep here (I assume on Y axis in your case) 
    transform.SetParent(leftParent); 
    transform.localEulerAngles = new Vector3(0.0f, transform.localEulerAngles.y, 0.0f); 
    break; 
    case2 : 
    //Adjust the rotation you want to keep here (I assume on Y axis in your case) 
    transform.SetParent(rightParent); 
    transform.localEulerAngles = new Vector3(0.0f, transform.localEulerAngles.y, 0.0f); 
    break; 
    

    順便說一句,因爲單獨transform不需要在您的情況this關鍵字指的是附有腳本的變換

    相關問題