正切
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應該要放在手柄下面,作為手柄的子節點,因為箭頭的朝向是相對於手柄朝向的。