警告! 本指南假設您已具(jù)備 XR 開發的基礎知識。有(yǒu)關更詳細的内容,請訪問入門文(wén)檔頁(yè)面。 |
Snapdragon Spaces示例包含了針對常見 AR 用(yòng)例的現成藍圖。
核心藍圖
這些藍圖已準備好在 AR 環境中(zhōng)使用(yòng),是示例項目的基礎。
BP_GameMode(位于 SnapdragonSpacesSamples Content > SnapdragonSpaces > Common > Core)定義了體(tǐ)驗的規則。目前,它僅将默認的 Pawn 類設置為(wèi)自定義的 BP_Pawn。為(wèi)了避免在每個地圖中(zhōng)都進行自定義,請前往 Project Settings > Maps & Modes,并覆蓋 Default GameMode。
在 Unreal Engine 中(zhōng),Pawn 是用(yòng)戶的物(wù)理(lǐ)表現,定義了用(yòng)戶如何與世界進行交互,自定義的 BP_Pawn(位于 SnapdragonSpacesSamples Content > SnapdragonSpaces > Common > Core)可(kě)以與注視控制器或 3DoF 控制器一起使用(yòng)進行交互。此外,它還包括了這些交互控制器的實現,方便在編輯器中(zhōng)進行測試。
D_ARSessionConfig(位于 SnapdragonSpacesSamples Content > SnapdragonSpaces > Common > Core)定義了 AR 會話中(zhōng)使用(yòng)的功能(néng)。有(yǒu)關此資産(chǎn)的基本信息,請參閱 Unreal 文(wén)檔,目前,BP_Pawn 定義了示例中(zhōng)使用(yòng)的會話配置。
透視模式(僅适用(yòng)于混合現實設備)
透視模式指的是将物(wù)理(lǐ)環境以圖像的形式呈現給 VR 設備的功能(néng),可(kě)以通過主菜單上的一個新(xīn)小(xiǎo)部件來啓用(yòng)或禁用(yòng)透視模式,該小(xiǎo)部件包含一個“透視模式”複選框,隻有(yǒu)當設備支持透視模式時,用(yòng)戶才能(néng)看到這個小(xiǎo)部件。在 BP_MainMenuWidget 藍圖中(zhōng)的 BeginPlay 函數會使用(yòng)新(xīn)函數 IsPassthroughSupported() 檢查設備是否支持透視模式,該函數會返回一個布爾值,指示 SpacesEngineSubsystem 是否支持透視模式。
WBP_Passthrough 上的複選框會調用(yòng) SpacesEngineSubsystem 中(zhōng)的 SetPassthroughEnabled(bool) 函數,設置 bPassthroughEnabled 的新(xīn)值,從而使用(yòng)戶能(néng)夠顯示或隐藏物(wù)理(lǐ)環境圖像。另一種調用(yòng) SetPassthroughEnabled(bool) 的方法是使用(yòng)綁定到 XRController(L) X 和 XRController(R) A 的 SwitchPassthrough 輸入。
bPassthroughEnabled 的值可(kě)以随時通過 GetPassthroughEnabled() 訪問,或者通過委托 OnChangePassthrough 綁定,在值發生變化時獲取通知。