2025-04-07 NO.3 Quest3 MR 配置

文章目錄

  • 1 MR 介紹
    • 1.1 透視
    • 1.2 場景理解
    • 1.3 空間設置
  • 2 配置 MR 環境
    • 2.1 場景配置
    • 2.2 MR 配置
  • 3 運行測試

配置環境:

  • Windows 11
  • Unity 6000.0.42f1
  • Meta SDK v74.0.2
  • Quest3

1 MR 介紹

1.1 透視

? 透視(Passthrough)是將應用的背景從虛擬的圖層替換成現實圖層,類似于 P 圖更換背景,虛擬物體相當于疊加在現實圖層之上的元素。

? 在單純的透視下,虛擬物體和現實物體二者之間并不會進行交互。

image-20250407195617353

1.2 場景理解

? 場景理解(Scene Understanding,Meta 用 Scene API 實現)能用 2D 平面或 3D 立方體來代表現實物體的位置和范圍。在系統中,現實世界由不同的 2D 平面和 3D 立方體組成。

? 此外,場景理解用語義標簽來標識不同的 2D 平面或 3D 立方體,讓系統理解標識出的東西具體代表哪一種現實中的物體。

image-20250407195718818

? 加上場景理解,設備能夠理解現實環境,分辨出現實物體在什么位置。通過場景理解,識別出的現實物體和虛擬物體均屬于 MR 世界中的一部分,因此能夠實現虛擬物體和現實物體之間的交互。

場景模型(Scene Model)

? Scene Model 由許多場景錨點(Scene Anchor)組成。每個 Scene Anchor 存儲數據組件(Component),這些數據組件可能存儲著不同種類的數據,用來表示幾何和語義信息。

? Scene Anchor 的內部結構類似于 ECS 結構

  • C:Component。包含數據。
  • E:Entity。是一系列 Component 組件的集合。相當于一個 ID 標識物體。
  • S:System。用來處理 Component 的數據,執行邏輯(因為 ECS 使用面向數據的思想,所以最終處理的還是 Component 中的數據)。
image-20250407200039874

場景錨點(Scene Anchor)

? 在 Scene Model 中,每個 Scene Anchor 相當于一個 Entity。一個 Scene Anchor 中包含不同種類的 Component 組件,不同種類的組件里存儲著不同類型的數據。

  • 如果用于表示整個房間,Scene Anchor 需包含 RoomLayout 組件和 AnchorContainer 組件。
    • RoomLayout:表示整個房間布局,包含天花板,地板,墻壁的布局(這三個元素可以構成一個房間)。
    • AnchorContainer:包含房間內的所有Scene Anchor。
  • 如果用于表示房間內單獨的物體,Scene Anchor 需包含 Locatable 組件,Bounded2D 或者 Bounded3D 組件(取決于物體是 2D 平面還是 3D 物體),Semantic Classification(語義分
    類)組件。
    • Locatable:定位物體,表示物體在房間中的位置。
    • Bounded2D/3D:表示物體的邊界框,一個 Scene Anchor 也可以同時擁有 2D 和 3D 組件(桌子,桌面可以用 2D,整個桌子可以用 3D)。
    • Semantic Classification:用標簽來表示物體是哪一種。

空間錨點(Spatial Anchor)

? Scene Anchor 和 Spatial Anchor 的區別:

  • Scene Anchor 由 Quest 系統創建,受系統管理。
  • Spatial Anchor 由應用本身創建,受用戶管理。

1.3 空間設置

? 空間設置(Space Setup,以前稱為場景捕獲)是捕獲場景模型的過程,由 Quest 系統管理,因此在設備上運行的所有應用都可以訪問相同的環境數據。

? 空間設置是一個用戶引導的過程:

  1. 在設置之前,需要先允許應用訪問設備的空間數據。
  2. 開啟權限后,自動掃描環境,獲取空間網格,提取空間信息(如地板和天花板的高度,墻壁的位置)。
  3. 最后由用戶修正錯誤(校準墻壁位置)和添加缺失信息(房間物體)。

? 空間設置無法在串流模式下進行。在 Quest 中,依次點擊“設置”->“實際空間”->“空間設置”進行設置。

image-20250407201458743

2 配置 MR 環境

? 前置條件:

  1. 配置 Meta SDK 開發環境。參考:2025-03-17 NO.1 Quest3 開發環境配置教程_quest3 unity 開發流程-CSDN博客。
  2. 熟悉 Quest3 抓取物體操作。參考:2025-04-06 NO.2 Quest3 基礎配置與打包-CSDN博客。

2.1 場景配置

? 創建新場景 MRDemo,刪除 Main Camera,并添加 OVRCameraRig,并更改 Gravity Factor 改為 0,防止玩家下墜。(具體操作參考條件 2)。

image-20250407202532871

? 選擇菜單欄中的“Meta”,依次點擊“Tools”->“Building Blocks”。

image-20250407202739665

? 找到 Passthrough 模塊,將其拖拽到 Hierarchy 窗口中。

image-20250407202859894

? 拖拽這一步會自動將 OVRCameraRig 下 CenterEyeAnchor 的相機背景改為純黑色。

image-20250407202859894

? 拖拽后會創建 Passthrough 物體,該物體的 OVR Passthrough Layer 腳本上定義了 Placement,用于將現實場景放于哪個圖層(相對于虛擬場景)。

image-20250407203100630

? 最后,創建一個 Cube,并添加 Hand Grab 功能(具體操作參考條件 2)。

image-20250407203825961

2.2 MR 配置

? 點擊 OVRCameraRig,設置 OVRManager.cs 腳本:

  • Passthrough Support:Supported
  • Boundary Visibility Support:Supported
  • Enable Passthrough:勾選
  • Should Boundary Visibility Be Suppressed:勾選

? Boundary Visibility 原本是為 VR 應用設計的,在 VR 中用戶看到的是完全虛擬環境,看不到現實環境,Boundary Visibility 能在一定程度上避免用戶與現實物體相撞。但在 MR 應用中,用戶大多數情況下能看到現實環境,所以安全邊界顯得有些多余,并且影響體驗感。

? 注意:只有開啟了 Passthrough 透視功能的 MR 應用才能關閉安全邊界,如果是純 VR 應用則無法關閉。

image-20250407203929997

? 選擇菜單欄中的“Meta”,依次點擊“Tools”->“Update AndroidManifest.xml”,更新安卓配置信息。

image-20250407204319054

3 運行測試

? 運行 Unity,可以看到現實世界中有一個立方體位于眼前。但是在 Unity 的 Game 窗口是看不到現實場景的。

image-20250407204634010

? 可以借助 Meta Quest Developer Hub 進行投屏查看。安裝鏈接:Homepage | Meta Horizon OS Developers。

image-20250407205020922

? 安裝后,進入 Device Manager,點擊 Cast 進行投屏。

image-20250407205049643

? 在投屏界面中可看到現實場景。

image-20250407205259324

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/76045.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/76045.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/76045.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何在 GitHub 上開源一個小項目:從創建到長期維護的完整指南

如何在 GitHub 上開源一個小項目:從創建到長期維護的完整指南 適用于 個人開發者、團隊合作、企業開源,涵蓋 Git 基礎、GitHub 配置、最佳實踐、社區互動、自動化 CI/CD 及長期維護策略。 📌 1. 注冊 GitHub 賬戶 如果你還沒有 GitHub 賬戶&…

【技術報告】GPT-4o 原生圖像生成的應用與分析

【技術報告】GPT-4o 原生圖像生成的應用與分析 1. GPT-4o 原生圖像生成簡介1.1 文本渲染能力1.2 多輪對話迭代1.3 指令遵循能力1.4 上下文學習能力1.5 跨模態知識調用1.6 逼真畫質與多元風格1.7 局限性與安全性 2. GPT-4o 技術報告2.1 引言2.2 安全挑戰、評估與緩解措施2.2.1 安…

React中的跨組件通信

在React中,跨組件通信有幾種常見的方式。每種方式適用于不同的場景,下面是幾種常見的跨組件通信方法: 1. 通過父子組件傳遞 Props 父組件可以通過 props 將數據傳遞給子組件,子組件只能接收和使用這些數據。 父組件&#xff08…

系統與網絡安全------Windows系統安全(8)

資料整理于網絡資料、書本資料、AI,僅供個人學習參考。 DNS DNS概述 為什么需要DNS系統 www.baidu.com與119.75.217.56,哪個更好記? 互聯網中的114查號臺/導航員 DNS(Domian Name System,域名系統)的功…

[ctfshow web入門] web16

信息收集 提示:對于測試用的探針,使用完畢后要及時刪除,可能會造成信息泄露 試試url/phpinfo.php url/phpsysinfo.php url/tz.php tz.php能用 點擊phpinfo,查看phpinfo信息,搜索flag,發現flag被保存為變量…

Go基礎一(Maps Functions 可變參數 閉包 遞歸 Range 指針 字符串和符文 結構體)

Maps 1.創建map make(map[鍵類型]值類型) 2.設置鍵值對 name[key]value; 3. name[key]獲取鍵值 3.1 key不存在 則返回 0 4.len()方法 返回 map 上 鍵值對數量 len(name) 5.delete()方法 從map中刪除 鍵值對 delete(name,key) 6.clear()方法 map中刪除所有鍵值對 clear(name) 7…

? 2025最新 | YOLO 獲取 COCO 指標終極指南 | 從標簽轉換到 COCOAPI 評估 (訓練/驗證) 全覆蓋【B 站教程詳解】

? YOLO 輕松獲取論文 COCO 指標:AP(small,medium,large )| 從標簽轉換到 COCOAPI 評估 (訓練/驗證) 全覆蓋 文章目錄 一、摘要二、為什么需要 COCO 指標評估 YOLO 模型?三、核心挑戰與解決方案 (視頻教程核…

ResNet改進(18):添加 CPCA通道先驗卷積注意力機制

1. CPCA 模塊 CPCA(Channel Prior Convolutional Attention)是一種結合通道先驗信息的卷積注意力機制,旨在通過顯式建模通道間關系來增強特征表示能力。 核心思想 CPCA的核心思想是將通道注意力機制與卷積操作相結合,同時引入通道先驗知識,通過以下方式優化特征學習: 通…

SpringMVC的簡單介紹

SpringMVC的簡單介紹 SpringMVC 是一個基于 Java 的 Web 框架,是 Spring Framework 中用于構建 Web 應用的一個核心模塊。它采用了 模型-視圖-控制器 (MVC) 設計模式,能夠幫助開發者更加清晰地分離業務邏輯、用戶界面和請求處理,從而提高應用…

MES生產工單管理系統,Java+Vue,含源碼與文檔,實現生產工單全流程管理,提升制造執行效率與精準度

前言: MES生產工單管理系統是制造業數字化轉型的核心工具,通過集成生產、數據、庫存等模塊,實現全流程數字化管理。以下是對各核心功能的詳細解析: 一、生產管理 工單全生命周期管理 創建與派發:根據銷售訂單或生產計…

Redis常見問題排查與解決方案指南

Redis作為高性能的內存數據庫,廣泛應用于緩存、隊列、實時統計等場景。但在實際使用中,開發者和運維人員常會遇到性能下降、內存溢出、主從同步失敗等問題。本文將針對高頻問題進行詳細分析,并提供對應的解決方案和預防措施,助你快…

目標跟蹤Deepsort算法學習2025.4.7

一.DeepSORT概述 1.1 算法定義 DeepSORT(Deep Learning and Sorting)是一種先進的多目標跟蹤算法,它結合了深度學習和傳統的目標跟蹤技術,在復雜環境下實現了高精度和魯棒性的目標跟蹤。該算法的核心思想是通過融合目標的外觀特征和運動特征,實現對多個目標的持續跟蹤,…

從零開始開發HarmonyOS應用并上架

開發環境搭建(1-2天) 硬件準備 操作系統:Windows 10 64位 或 macOS 10.13 內存:8GB以上(推薦16GB) 硬盤:至少10GB可用空間 軟件安裝 下載 DevEco Studio 3.1(官網:…

Linux | 無頭 Linux 服務器安裝和設置

注:本文為 “Headless Linux” 相關文章合輯。 機翻未校。 How to Install and Set Up Headless Linux Server 如何安裝和設置無頭 Linux 服務器 Winnie Ondara Last Updated: January 31, 2023 A vast majority of Linux users are familiar with a Linux desk…

AI賦能數據庫管理“最后一公里”,融合架構重塑數據庫承載成本效能——zCloud 6.7與zData X 3.3正式發布

點擊藍字 關注我們 在數據驅動的新時代,數據庫的多元化和智能化已成不可逆的趨勢。3月31日,云和恩墨以“奇點時刻數智躍遷”為主題舉辦線上發布會,云和恩墨創始人兼總經理蓋國強、公司數據庫和生態產品群總經理熊軍共同帶來 zCloud 6.7與 zD…

I have something to say about Vue Node.js

關于Vue Node.js,我真的說了很多次了,讓我難以理解為啥這么粗糙的東西能流行一起。真瘋狂的世界。 vue讓感覺就像玩貓德一樣的,如此的瘋狂,天哪。睡覺了 Node.js v13 window7_nodejsv13-CSDN博客

【橘子大模型】使用streamlit來構建自己的聊天機器人(下)

一、簡介 我們之前完成了一個簡易的聊天機器人,但是還留下了一些問題沒有解決,比如如何開啟新的會話。如何切換session_id,如何把對話做成流式的輸出。這些我們就會在今天來完成。 二、關于新的會話和session_id from dotenv import load_…

php-cgi參數注入攻擊經歷淺談

起因: 阿里云服務器再次警告出現挖礦程序。上一次服務器被攻擊后,怕有惡意程序殘留,第一時間重裝了系統,也沒有詳查攻擊入口。不過事后還是做了一些防范,這臺留作公網訪問的服務器上并未保留業務數據,只作…

自動駕駛中的實時挑戰:如何優化車輛動力學模型

自動駕駛中的實時優化:自行車模型與雙軌模型的計算復雜度權衡 在自動駕駛領域,車輛動力學建模是實現精準控制和路徑規劃的關鍵。自行車模型和雙軌模型作為兩種主流的建模方法,在實時性需求下如何平衡計算復雜度與精確度,是工程師們必須面對的挑戰。本文將深入探討這兩種模…

Hybrid 架構的概念,以及如何優化Hybrid 通信方案,提升頁面加載速度和渲染性能

1. 什么是 Hybrid 架構? Hybrid(混合)架構是指 結合 Web 技術和 Native(原生)技術 的移動應用開發模式,通常由以下部分組成: Web 部分:使用 HTML、CSS、JavaScript(或前…