2016-06-24 22 views
3

我正在創建一個VR遊戲,我想在哪裏繪製目標標線,無論用戶在哪裏尋找。十字線正在世界空間中繪製,並放置在與用戶正在查看的對象相同的深度。 (我使用線跡定位目標表面並將十字線移動到所需的深度)。UE4 UMG小部件通過環境剪輯:VR目標標線

我正在使用UMG小部件在世界空間中繪製十字線。

我的問題是,十字線偶爾會夾住整個世界。在Unity中,我可以設置我的材質着色器來將掩模版塗在其他所有東西上(不管相對深度如何)。但是,我努力在UE4中複製相同的行爲。我在網上閱讀,您可以在半透明材質上設置「禁用深度測試」,但由於我的材料域是「用戶界面」,我不相信這是一種選擇。

我應該如何去達到預期的效果?

回答

0

而不是使用UMG:渲染具有標線紋理的四邊形,然後設置'禁用深度測試'會給出正確的結果。

1

如果我理解正確,你想要在你看的對象之前的十字線?

我會創建一個名爲「reticule」或類似的演員,並且我會添加UMG小部件,以及用於碰撞的盒子或膠囊(膠囊會更平滑)。我會與所有幾何體發生碰撞,以便網格走向跟蹤位置,但與物體發生碰撞,不允許發生剪切。

如果網格開始限制機器人或玩家的移動,則可以禁用當前棋子的碰撞。希望這有助於:)

+0

謝謝邁克爾。這是一個很酷的想法;我沒有想過使用對撞機。 (這種「簡單」的方法是將標線98%的線跡深度,但仍然存在一些邊緣情況,例如,在非常傾斜的表面上。對撞機解決方案避免了這種情況)。我也在考慮完全拋棄UMG,只是用紋理渲染飛機:https://answers.unrealengine.com/questions/63316/oculus-rift-hud-solution.html –