[UE4]計算箭頭方向:正切、SetRelativeRotation、RotationFromXVector、Get MotionController Thumbstick X


  

正切

正弦函數 sinθ=y/r
余弦函數 cosθ=x/r
正切函數 tanθ=y/x
余切函數 cotθ=x/y
正割函數 secθ=r/x
余割函數 cscθ=r/y
 
已知y和x,求角度θ:arctan(y/x),arctan是反正切,tanθ=y/x,θ=arctan(y/x)。
UE4提供有arctan反正切等常用數學函數。

  

 

UE4提供了更直接的函數,可以把角度很方便的計算出來。

  1、表示角度有2種方式:Vector、Rotator。Vector本身也是可以表示方向,Vector包含方向和大小。

  2、Vector和Rotator是可以互相轉換的。

    

  3、手指在手柄圓盤上的位置就是坐標,可以映射到UE4中坐標,然后調用RotationFromXVector,就可以把手指所在位置直接轉換成角度。

  4、分析手柄原本坐標與UE4坐標的對應關系。視角的方向正好是X軸,橫軸是Y軸;

     

  5、可以通過MotionController thumbstick X和MotionController thumbstick Y事件得到手指在手柄圓盤上的位置。thumbstick X和thumbstick Y事件是每一幀都會被調用,如果手指沒有觸摸手柄圓盤,則Axis Value的值為0。

    

  6、UE4提供了2個函數可以更直接地獲得手指在手柄圓盤上的位置:Get MotionController Thumbstick X、Get MotionController Thumbstick Y

    

   7、SetWorldrotation和SetRelativeRotation。我們拿着手柄的時候,大拇指停留在手柄圓盤的右上角,箭頭朝向就應該是相對於手柄右上角,手拿着手柄轉動的時候,但是大拇指相對於手柄圓盤的位置是不變的,

    箭頭相對於手柄的朝向是發生變化的,箭頭的絕對朝向和絕對位置都是發生變化的,但是相對於手柄圓盤的朝向和位置是不變的。

    箭頭的朝向是相對於手柄朝向的。因此我們要使用相對Rotation來設置,也就是SetRelativeRotation。

    

    

    

     

    Arrow應該要放在手柄下面,作為手柄的子節點,因為箭頭的朝向是相對於手柄朝向的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM