(個人)VR實時交互的太極拳學習系統創新實訓第六週(1)

在上週實現瞭如何通過手柄來進行角色的瞬移,但是拿取手柄需要玩家反覆的脫下和帶上頭盔,非常不方便。經過小組討論之後,設想如下:通過頭盔確定需要到達的位置,使用兩個胳膊的碰撞來決定時候需要進行瞬移操作。


首先,將控制移動的位置移動到頭盔上面,在should update facing direction方法中,將當前頭盔的朝向和箭頭的朝向做對比,返回一個bool值。


Make Rotator:第一個參數是左右旋轉,第二個參數是最高點,第三個參數是偏離值;之後返回的是一個旋轉體。


下面這個函數是進行拋物線與地面相交的判斷:start Pos:表示起始位置,launch Velocity:表示發出射線的速度(包括方向),Object types數組表示,需要計算碰撞的類型。輸出值返回了一個碰撞信息,需要通過break hit result方法獲取想要的碰撞信息。


Break hit result方法:


  • 是否發生了被攔截的碰撞
  • 是否是初次碰到
  • 表示指示起始時間和結束時間(0-1)
  • 從發出的地方到碰撞地方的長度
  • 碰撞發生的位置
  • 衝擊點,隨着碰撞物體表面變化的點
  • 碰撞點的法向
  • 和上面那個相同
  • 碰到的物理材質
  • 軌跡碰到的actor
  • 軌跡碰到的原始物體
  • 碰到的骨骼的名字
  • 碰到的最初項目的列表
  • 如果碰撞是三角面片和地形,返回索引值
  • 軌跡開始的方向
  • 軌跡結束的方向

因爲不能移動到垂直平面上:


在nav上投射出玩家需要處於的位置


這裏的輸入point就接到前面輸出的laocation上,之後返回一個映射得到的location,就是在nav網格上處於的位置。


圖中綠色的區域就是navigation網格。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章