Unreal Cook Book:VR應用中的焦點目標拾取

燕良發表於2016-05-19

在目前的VR應用中,特別是Cardboard類遊戲中,經常用到的一個功能就是“檢測玩家視線焦點對準的物體”。在虛幻4中,我們可以使用Line Trace來非常方便的實現這一功能。

 

 

DEMO原始碼

為了演示這個功能的實現方法,我製作一個簡單的DEMO,原始碼請從這裡下載:

https://github.com/neil3d/UnrealCookBook

使用的引擎版本為:4.11.2

開啟專案後,啟動“FocusActor/FocusActorMap.umap”地圖檔案即可執行。

 

在這個DEMO中,當玩家視線對準杯子或者花瓶的時候,物件頂部會出現一個文字。

 

功能實現

在上述DEMO中,我使用“/Game/FocusActor/Blueprints/BP_FocusActor_Player”來實現視線檢測的功能。

 

首先在Tick的時候進行LineTrace:

 

在Line Trace到可互動的物體後,使用一個OnFocusActor自定義事件,來處理焦點物件變化的邏輯:

 

 

 

 

上圖程式碼的基本流程是:先呼叫老的FocusActor的LostFocus事件;再呼叫新的FocusActor的OnFocus事件。

相關文章