舊版本

遷移指南

雙渲染融合遷移指南

從 Snapdragon Spaces 版本 0.23.0 開始,雙渲染融合不再作(zuò)為(wèi)單獨的 tarball 包提供。現在,樣本和插件組件已包含在 Snapdragon SDK 包中(zhōng)。請參考設置指南,了解如何将樣本引入新(xīn)項目或使用(yòng)舊版雙渲染融合的項目中(zhōng)。

 

遷移步驟

1、如果項目使用(yòng)的是 0.13.0 至 0.19.1 版本中(zhōng)的預制件,請确保這些預制件已解包,并且不是樣本文(wén)件夾中(zhōng)預制件的變體(tǐ)。

2、如果項目中(zhōng)已經導入了樣本,請删除雙渲染融合樣本文(wén)件夾。

 

圖片37.png


3、将新(xīn)的 Snapdragon Spaces SDK 版本導入到現有(yǒu)項目中(zhōng)。

4、按照設置指南中(zhōng)的“導入樣本”部分(fēn),導入新(xīn)的雙渲染融合樣本。

5、參考設置指南,添加場景中(zhōng)可(kě)能(néng)缺少的組件,并特别關注故障排除部分(fēn)。

 

圖片38.png

 

版本差異


0.13.0 至 0.19.1 版本0.23.0 及以後版本
屏幕方向Lifecycle.csFusionScreenSetup.cs
場景邏輯功能(néng)(退出、切換或切換場景)Lifecycle.csFusionSceneManager.cs
自動啓動 XR 和管理(lǐ) XR 相機DynamicOpenXRLoader.csDynamicOpenXRLoader
OpenXR 生命周期事件DynamicOpenXRLoader.csFusionLifecycleEvents.cs
Spaces Glass 狀态-SpacesGlassStatus.cs
Fusion Editor Simulator 組件FusionLogic.csFusionSimulator.cs


版本0.13.0到0.21.0

舊版本雙渲染融合

免責聲明


圖片39.png


前提條件

 

圖片40.png

 

安(ān)裝(zhuāng) Unity 編輯器時,必須添加 Android Build Support 模塊,以便能(néng)夠導出 .apk 文(wén)件。該模塊也可(kě)以在安(ān)裝(zhuāng)後通過 Unity Hub 添加。

 

開始新(xīn)的 3D Unity 項目

創建一個新(xīn)的 3D(或 3D URP)Unity 項目,或使用(yòng)現有(yǒu)的 Unity 項目。

 

圖片41.png

 

導入 Snapdragon Spaces 包

Snapdragon Spaces for Unity SDK 以 tarball 文(wén)件形式提供。

 

請按照 Unity 的說明,通過 Unity 包管理(lǐ)器将 tarball (.tgz) 文(wén)件導入到項目中(zhōng)。該文(wén)件位于 Unity 包文(wén)件夾中(zhōng)。

 

圖片42.png

 

注意!

導入包後,Unity 可(kě)能(néng)會彈出提示以啓用(yòng)新(xīn)的輸入系統。點擊“是”以确保 OpenXR 和 XR Interaction Toolkit 包的完整功能(néng)。如果還需要使用(yòng)舊的輸入系統,可(kě)以在 Player > Other Settings > Configuration 中(zhōng)将 Active Input Handling 設置為(wèi)“Both”。

 

 圖片43.png


導入雙渲染融合包

在 Snapdragon Spaces SDK for Unity 版本 0.13.0 到 0.21.0 之間,雙渲染融合公(gōng)測版作(zuò)為(wèi)實驗性包提供。啓用(yòng)此功能(néng)的文(wén)件以單獨的 Unity 包 tarball 形式提供,您可(kě)以在 Snapdragon Spaces for Unity SDK 下載頁(yè)面找到。

 

請按照 Unity 的說明,通過 Unity 包管理(lǐ)器将 tarball (.tgz) 文(wén)件導入項目。該文(wén)件可(kě)以在雙渲染融合包下載頁(yè)面找到。

 

建議同時通過包管理(lǐ)器導入 Fusion Samples 示例包。

 

更改項目設置

要啓用(yòng) Snapdragon Spaces OpenXR 插件,請進入 Edit > Project Settings > XR Plug-in Management 下的項目設置,打開 Android 标簽頁(yè)。

勾選 OpenXR 插件,但暫時不要勾選 Snapdragon Spaces 功能(néng)組。

 

圖片44.png


接着,點擊 OpenXR 菜單項以顯示不同的 OpenXR 功能(néng)選項。注意新(xīn)的“雙渲染融合功能(néng)”,勾選 Base Runtime Feature 和 Dual Render Fusion Feature。點擊 Dual Render Fusion 旁邊的紅色感歎号,以打開項目驗證器。

 

圖片45.png


項目驗證器将顯示多(duō)個修複選項,用(yòng)于更新(xīn) Unity 項目和當前打開的場景,因此請确保在項目中(zhōng)打開了正确的場景。

 

雙渲染融合功能(néng)驗證器

請注意驗證器中(zhōng)前綴為(wèi) [Dual Render Fusion (Experimental)] 的選項。應該首先解決這些問題,以更新(xīn)項目和當前場景,然後再選擇“全部修複”來處理(lǐ)項目中(zhōng)的其他(tā)問題。(這是因為(wèi)雙渲染融合的驗證器選項可(kě)以解決一些其他(tā)默認的 Spaces 驗證器問題。)

 

 圖片46.png

 

完成雙渲染融合驗證後,點擊剩餘條目旁邊的修複按鈕,以應用(yòng)所需的項目設置。一些修複可(kě)能(néng)需要重新(xīn)啓動編輯器,這是正常的。

 

圖片47.png


此時,雙渲染融合應該已經正确啓用(yòng),可(kě)以進行啓動。有(yǒu)關更多(duō)信息和高級配置功能(néng),請參見下文(wén)。

 

配置雙渲染融合設置

雙渲染融合功能(néng)的可(kě)用(yòng)設置包括

 

圖片48.png

 

1、驗證打開的場景:啓用(yòng)此設置時,Unity 場景驗證器将檢查當前打開的場景中(zhōng)是否正确配置了 XR 相機和智能(néng)手機相機。如果項目的構建系統沒有(yǒu)完整的功能(néng)場景(如附加場景),請禁用(yòng)此設置,以避免構建阻塞。

 

雙渲染融合示例

通過包管理(lǐ)器可(kě)以獲取一系列示例場景和代碼腳本:


圖片49.png

 

1、Controller Prefab Sample Scene:這是一個示例場景,用(yòng)于将 Android Companion Controller 适配到 Unity Prefab 中(zhōng),并完全控制設置和退出按鈕。有(yǒu)關更多(duō)詳細信息,請參見下文(wén)的 Companion Controller 部分(fēn)。

 

2、CubeManipulation:一個簡單的場景,包含一個立方體(tǐ),可(kě)以通過一個、兩個或三個手指在觸控闆上移動,用(yòng)于創建響應式多(duō)點觸控界面。

 

3、LandscapeUISampleScene:一個簡單的場景,包含一個橫向畫布,其中(zhōng)包含可(kě)交互的 UI 元素,用(yòng)于操作(zuò)立方體(tǐ)。

 

4、OpenXRLoadingTest:一個演示如何在智能(néng)手機上立即啓動應用(yòng)程序,并在與眼鏡建立連接後啓用(yòng) OpenXR 的場景。有(yǒu)關更多(duō)詳細信息,請參見下文(wén)的 Dynamic OpenXR Loader 部分(fēn)。

 

5、PortraitUISampleScene:一個簡單的場景,包含一個縱向畫布,其中(zhōng)包含可(kě)交互的 UI 元素。

 

伴侶控制器

有(yǒu)些開發者可(kě)能(néng)希望将現有(yǒu)的 Snapdragon Spaces 項目遷移到雙渲染融合,并利用(yòng)伴侶控制器的陀螺儀 3DOF 指向功能(néng)。請按照以下步驟将其添加到項目中(zhōng):

 

要在 Unity 中(zhōng)複制伴侶控制器,需要一些資産(chǎn)和腳本。

1、如果需要,請按照提示導入 TextMeshPro。

2、将 CanvasControllerCompanion Prefab 從示例中(zhōng)拖到層級視圖中(zhōng)。

3、由于 Prefab 中(zhōng)不包含 XR 相機,需要将兩個 GameObject 連接到 XR 相機。如果沒有(yǒu)設置,這些對象會自動檢測 XR Origin 或 AR Session Origin 以使用(yòng)附加的相機。也可(kě)以手動設置:

 

在 ControllerPositionHeadMirror 中(zhōng)設置 Ar Camera 字段。

 

圖片50.png


在 GyroRotationReceiver 中(zhōng)設置 Ar Camera 字段。


圖片51.png 


确保将輸入系統設置為(wèi)“Both”,以啓用(yòng)陀螺儀控制。

 

圖片52.png


5、将 ControllerPrefabInputActions 作(zuò)為(wèi)附加的 Action Asset 添加到 Input Action Manager 中(zhōng)。如果層級視圖中(zhōng)沒有(yǒu) Input Action Manager,請創建一個 GameObject 并添加該組件。

 

圖片53.png


6、要使用(yòng)菜單按鈕功能(néng),可(kě)以直接使用(yòng)标準的 Unity 輸入系統,并在層級視圖中(zhōng)的菜單按鈕對象上添加 On Click() 事件。

 

圖片54.png


7、要在設置菜單中(zhōng)添加更多(duō)選項,請暫時啓用(yòng)“Settings Overlay” GameObject,并将菜單項添加到“Scroll Box”列表中(zhōng)。(目前,“About”按鈕沒有(yǒu)功能(néng),僅作(zuò)為(wèi)示例存在。)

 

 圖片55.png

 

動态 OpenXR 加載器

動态 OpenXR 加載器是一個實驗性示例腳本,允許應用(yòng)程序在眼鏡連接後加載 OpenXR,類似于耳機的工(gōng)作(zuò)方式。此腳本會檢測第二個顯示器的存在,并在配置時啓動 OpenXR。提供了多(duō)個回調函數,用(yòng)于控制 OpenXR 開始連接時用(yòng)戶界面的行為(wèi)。有(yǒu)關如何使用(yòng)此腳本的示例,請參見 OpenXRLoadingTest 示例。

 

注意事項!

1、目前不建議在啓用(yòng)手部跟蹤功能(néng)的應用(yòng)程序中(zhōng)使用(yòng)此功能(néng),由于動态 OpenXR 加載器與手部跟蹤功能(néng)存在并發兼容性問題,使用(yòng)此功能(néng)在應用(yòng)程序初始化過程之外啓動 OpenXR 可(kě)能(néng)會導緻應用(yòng)程序在嘗試加載時突然退出。此問題将在未來版本中(zhōng)修複。


2、當 OpenXR 開始連接時,主線(xiàn)程會短暫阻塞。建議顯示一些用(yòng)戶界面元素,以提示 OpenXR 正在連接,并在加載完成後顯示确認狀态。

 

功能(néng)驗證配置

雙渲染融合功能(néng)驗證器用(yòng)于輕松配置 Unity 項目和所選場景,以啓用(yòng)雙渲染融合。以下是驗證列表。


範圍驗證項描述原因
項目禁用(yòng)自定義啓動器禁用(yòng)“Base Runtime Feature”中(zhōng)的“Launch on Viewer”和“Launch Controller on Host”複選框雙渲染融合需要禁用(yòng)自定義啓動器功能(néng)(參見頭戴式架構)
場景需要 AR 會話原點确保場景中(zhōng)有(yǒu) AR 會話原點(或 XR 原點)以及相關的 XR 攝像頭AR Foundation 需要一個 XR 攝像頭
場景需要 AR 會話确保場景中(zhōng)有(yǒu) AR 會話和 AR 輸入管理(lǐ)器AR Foundation 需要一個 AR 會話
場景需要移動攝像頭确保場景中(zhōng)有(yǒu)一個表示移動設備屏幕的 Unity 攝像頭雙渲染融合需要一個移動顯示器進行渲染
場景主攝像頭标簽确保隻有(yǒu) XR 攝像頭或其他(tā)非紋理(lǐ)渲染的攝像頭被标記為(wèi)“主攝像頭”,而不是兩個都标記如果有(yǒu)兩個攝像頭被标記為(wèi)“主攝像頭”,可(kě)能(néng)會導緻渲染錯誤或幹擾其他(tā)依賴項
場景攝像頭渲染優先級确保移動攝像頭的渲染在 XR 攝像頭之後進行如果 XR 攝像頭在移動攝像頭之前渲染,移動顯示器可(kě)能(néng)會被 XR 攝像頭的圖像覆蓋
場景攝像頭視角目标确保 XR 攝像頭的視角目标設置為(wèi)“Both”,而其他(tā)所有(yǒu)攝像頭設置為(wèi)“None”攝像頭視角目标決定了每個攝像頭将渲染到哪個顯示器上
場景移動攝像頭視角目标(URP)顯示警告,提醒檢查移動攝像頭的視角目标是否設置為(wèi)“None”URP 不能(néng)像内置渲染管線(xiàn)那樣程序化地設置視角目标,因此需要手動檢查
場景攝像頭顯示目标如果 XR 攝像頭的目标顯示器不是顯示器 1,則建議添加一個 Fusion Logic GameObject 和組件為(wèi)了使雙渲染融合能(néng)夠正确地渲染到兩個設備,兩個顯示目标必須設置為(wèi)顯示器 1。XR 攝像頭默認設置為(wèi)目标顯示器 2,而“Fusion Logic”會在運行時将目标設置為(wèi)正确的顯示器
場景音頻監聽器如果場景中(zhōng)有(yǒu)多(duō)個音頻監聽器,建議關閉其中(zhōng)一個多(duō)個音頻監聽器同時存在會導緻 Unity 出現問題
場景事件系統要求如果場景中(zhōng)沒有(yǒu)事件系統,則需要添加一個事件系統和默認輸入模塊這是為(wèi)了确保觸控 UI 能(néng)夠正确處理(lǐ)


應用(yòng)程序在後台運行

雙渲染融合架構的一個缺點是,應用(yòng)程序不能(néng)像頭戴式架構那樣在後台運行,同時其他(tā)應用(yòng)程序在前台運行。可(kě)以通過使用(yòng) Android 的畫中(zhōng)畫模式來克服這一限制,這種方式利用(yòng)了标準的 Android 架構選項。

大地中文资源6 三年中文在线观看免费大全 成人永久免费CRM 成全看免费观看完整版 今天高清视频免费播放动漫 中文字幕在线观看 情欲荡乳办公室HD 《金瓶艳史》无删减在线观看 99热在线观看 国产破苞第一次 久久99精品国产麻豆婷婷洗澡 《被按摩的人妻中文字幕》 人乱AN乱ALV老人乱 初尝滋味的少妇2 Xx性欧美肥妇精品久久久久久 免费看电影网站 一区二区视频 私人家庭影院在线 人妻洗澡被强公日日澡电影 将手脚绑上刷子刷尿孔文章 特种兵初尝禁果H高肉1V1 好姑娘国语免费高清 成长的秘密免费观看 粗大的内捧猛烈进出在线视频 隔着校服揉H奶水H 丰满的继牳伦理 日本人妻伦在线中文字幕 翁H狠狠躁死你H 少妇性BBB搡BBB爽爽爽视頻 高雅人妻被迫沦为玩物 男人添女人荫蒂视频观看 甜蜜惩罚我是看守专用宠12集 中日韩高清无专码区2021 领导扒开我奶罩吸我奶头视频 秘书两个奶头被吃到高潮H 欧美家庭影院 三年片在线观看完整版免费高清 禁欲教官开了她腿H 性生交大图片费看 性史性农村DVD毛片 亚洲性爱视频 教授和乖乖女H灌满阮阮 漂亮人妻互换HD中字 初次爱你插曲闯进我的世界 日本爽快片18禁片免费久久 免费观看又色又爽又黄的崩锅 女员工的滋味 最好看免费观看高清电影大全 天美传媒有限公司宣传片 三年片国语免费观看影视大全 特黄AAAAAAA片免费视频 蜜桃网站 边做饭边被躁高H徐婉婉 大地资源第二页中文高清版 丰满少妇猛烈进入A片99A 今天高清视频免费播放动漫 小萍的性荡生活40章 护士长办公室被躁BD视频 少妇按摩做爰5 男JI大巴进入女人身体 性少妇VIDEOSEXFREEXXX片中国 年轻的妺妺3按摩 小奶狗腹肌体育生天台放烟花 多人灌满精子怀孕高H 交换H圆房~H嗯啊乱叫 三个人一起躁我吃奶头80分钟 好想C1V1骨科双男主 敌伦交换第十一部分 欧美性A片人与善交A片 黄瓜视频下载 亚洲W欧洲无码SSS222 被各个室友爆炒了 妻子6免费完整高清电视剧看 罚男仆夹震蛋器憋尿虐乳双性 色婷婷AV一区二区三区之红樱桃 成全电影大全在线观看国语高清 人妻换人妻互换A片爽文 乱系列140肉艳1一12 苏酥的被CAO日常NP 被伴郎的内捧猛烈进出H