解決UE4使用HTC vive瞬移和瞬移後的位置偏移問題

       最近重拾UE4的開發,照樣是藍圖,唉···愧對程序這個偉大的職業······················

       在網上各種查使用HTC手柄瞬移的教程到處都是,我選擇的是其中的一種(各種抄換個說法就是原創···2333),先掛上參考教程:參考教程。在參考(抄)過程中發現了其中的一些不恰當或者說是不太合適的地方,並修改了一下,歡迎討論。

       首先在大佬的文章中利用封裝的類輸出HIT碰撞信息,我這裏進行了修改只是記錄了碰撞的點,不再保存碰撞信息,索然性能影響不大,但是改一下就算自己原創了不是嘛  大笑   大笑,下邊貼圖,滿足碰撞記錄碰撞點,不滿足條件記錄0,其實沒什麼用,



這個就是修改後的藍圖,有點亂,各位大佬海涵················2333333333333

       修改後是遊戲中可以正常瞬移了,但是當玩家沒有站在vive定位空間中心的時候瞬移,會發現玩家站到了牆裏或者是其他地方,並沒有在瞬移的選中目標點,這是爲什麼呢?經過幾輪測試,發現一個悲哀的結果,瞬移的時候主玩家藍圖的根節點CapsuleComponent雖然確實在碰撞點,但是不要忘記玩家瞬移的時候相機相對於根節點CapsuleComponent是有相對位移的,玩家移動位置其實動的只是相機的位置,並沒有動根節點,這就造成了位置偏差,思前想後本想在瞬移的時候將相機和手柄“歸零”,但是當玩家姿態不是直立時依然存在穿牆的危險,最後只能選擇折中的辦法即:將相機位於碰撞點的上方,根節點根據相對偏差移到其他地方,當然,這樣處理當玩家存在重力時就可能造成玩家墜落,但是VR好像不太適合用重力。

      處理結果:

        寫在最後:看到文章的你有更好的辦法請回復教教本小白······························偷笑

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