本地錨點

錨點示例

這個示例演示了如何創建和銷毀本地以及保存的錨點,以準确跟蹤現實世界中(zhōng)的某個點,有(yǒu)關錨點的基本信息以及 Unreal Engine 中(zhōng)的 ARPin 和 ARPin 本地存儲的工(gōng)作(zuò)原理(lǐ),請參閱 Unreal Engine 文(wén)檔。要使用(yòng)此功能(néng),必須在 OpenXR 插件設置中(zhōng)啓用(yòng)它,設置位置在 項目設置 > Snapdragon Spaces 插件。

 

示例工(gōng)作(zuò)原理(lǐ)

默認情況下,當打開示例時,會在相機前方 1 米處顯示一個白色的指示器。如果在相機前方檢測到碰撞,指示器将變為(wèi)黃色,并移動到碰撞位置。在此示例中(zhōng),用(yòng)戶可(kě)以通過兩種方式将指示器放置在當前位置:點擊控制器上的選擇按鈕,或者在啓用(yòng)注視控制器時使用(yòng)浮動 UI 中(zhōng)的“創建”按鈕

 

當指示器被放置時,首先會顯示一個簡單的白色指示器,表示它不是 ARPin 也沒有(yǒu)被跟蹤。如果底層功能(néng)報告一個被跟蹤的錨點,指示器會變為(wèi)紅色、綠色和藍色,并将一個 ARPin 附加到對象上。如果被跟蹤的指示器不再跟蹤或 ARPin 創建失敗,指示器會變為(wèi)紅色。如果錨點已保存到本地錨點存儲中(zhōng),指示器中(zhōng)心會顯示一個立方體(tǐ)網格組件。

 

用(yòng)戶在此示例中(zhōng)可(kě)以使用(yòng)的選項包括:

● 銷毀所有(yǒu)錨點:一個按鈕,用(yòng)于删除世界中(zhōng)所有(yǒu)本地指示器。此操作(zuò)不會删除存儲中(zhōng)的已保存錨點。

● 加載所有(yǒu)已保存的錨點:一個按鈕,用(yòng)于加載所有(yǒu)已保存的錨點,并将它們顯示為(wèi)世界中(zhōng)的本地指示器。

● 清空存儲:一個按鈕,用(yòng)于從存儲中(zhōng)移除所有(yǒu)已保存的錨點。此操作(zuò)不會清除世界中(zhōng)的本地指示器。

● 将創建的錨點保存到本地存儲:一個複選框,用(yòng)于在創建時将本地指示器保存為(wèi)已保存的錨點。

 

圖片1.png


錨點管理(lǐ)

BP_AnchorManager 藍圖(位于 SnapdragonSpacesSamples 内容 > SnapdragonSpaces > Samples > Anchor > Placeable)負責集中(zhōng)管理(lǐ)創建和銷毀指示器的操作(zuò),該藍圖将事件綁定到角色,以便與示例進行交互(在這種情況下,是控制器上的選擇點擊)。


要啓用(yòng)和禁用(yòng)空間錨點,必須使用(yòng) Toggle Spaces Feature 方法,并将 Spatial Anchor 作(zuò)為(wèi)功能(néng)選項。

 

在 BP_Pawn 中(zhōng),添加了一個 SceneComponent 作(zuò)為(wèi)未放置指示器的根組件,開發人員可(kě)以自定義未放置指示器的一些選項:

 

●  AnchorTag:定義在 BP_Pawn 中(zhōng)的 SceneComponent 上的标簽名(míng)稱,用(yòng)于未放置指示器的根組件。

●  DistanceGizmo:未放置指示器距離相機的距離。

 

要放置指示器,管理(lǐ)器會将指示器從根組件中(zhōng)分(fēn)離,并使用(yòng)其變換來創建 ARPin 指示器。

 

此外,你還可(kě)以學(xué)習如何在 Update Hit 函數中(zhōng)将錨點實現與命中(zhōng)測試結合起來。

 

指示器

BP_Gizmo 藍圖文(wén)件(位于 SnapdragonSpacesSamples 内容 > SnapdragonSpaces > Samples > Anchor > Placeable)負責創建 ARPin。這個操作(zuò)使用(yòng)了 PinComponent 節點,如下圖所示。


警告!

對于 SnapdragonSpaces 插件,必須指定要固定的組件(Component to Pin)以及組件應被固定的變換(Pin to World Transform),如果這兩個輸入中(zhōng)的任何一個為(wèi)空,ARPin 的創建将會失敗。


圖片2.png


如果指示器啓用(yòng)了 bAutoSave 變量,則在分(fēn)配 ARPin 後,錨點将自動保存到錨點存儲中(zhōng)。錨點保存過程是異步進行的。OnSpacesAnchorIsSavedInfoResult 委托用(yòng)于指示保存是否成功,調用(yòng)可(kě)能(néng)返回以下結果:

● 成功:錨點已成功保存到存儲中(zhōng)。

● 一般失敗:由于 OpenXR 失敗,錨點未能(néng)保存。

● 質(zhì)量不足失敗:由于環境質(zhì)量不足,錨點未能(néng)保存。

● 錨點未創建:由于錨點創建尚未完成,錨點未能(néng)保存。

● 錨點存儲失敗:由于錨點存儲無效,錨點未能(néng)保存。

● 錨點無效:由于錨點值無效,錨點未能(néng)保存。

● 錨點已銷毀:由于錨點正在等待銷毀,錨點未能(néng)保存。

 

在藍圖的每次 tick 中(zhōng),會處理(lǐ) Pin 狀态的管理(lǐ)。

 

最後,當指示器被銷毀且存在有(yǒu)效的 ARPin 時,會手動移除 Pin。


加載和保存錨點


警告!

确保檢查環境,以生成更好的跟蹤地圖,從而減少保存和加載時間。一次性保存多(duō)個錨點會阻塞主線(xiàn)程,因此應使用(yòng)回調來保存任何後續的錨點。


OpenXR 接口提供了加載和保存 ARPins 到本地存儲的功能(néng)。在使用(yòng) Snapdragon Spaces 插件時,這些操作(zuò)會在異步線(xiàn)程中(zhōng)進行,以避免應用(yòng)程序凍結。因此,開發人員需要注意:

● 從本地存儲加載 ARPins

○ 從本地存儲中(zhōng)加載所有(yǒu) ARPins。該節點返回一個包含名(míng)稱和 ARPins 的映射。此時,這些 ARPins 尚未加載,其狀态将顯示為(wèi)“未跟蹤”,直到異步線(xiàn)程完成加載。當加載完成後,ARPin 的狀态将自動更新(xīn)。


圖片3.png

 

● 将 ARPin 保存到本地存儲

○ 将 ARPin 保存到本地存儲。此節點使用(yòng)名(míng)稱作(zuò)為(wèi) ID 來保存 ARPin(該名(míng)稱會在加載節點中(zhōng)返回)。開發人員應使用(yòng) On Spaces Anchor Is Saved 委托來了解保存操作(zuò)是否成功完成。

 

圖片4.png


Snapdragon Spaces 插件提供了額外的功能(néng)來幫助管理(lǐ)藍圖中(zhōng)的已保存錨點:

● 獲取已保存錨點名(míng)稱

○ 返回存儲中(zhōng)所有(yǒu)已保存錨點的名(míng)稱。

● 獲取 ARPin 的已保存錨點名(míng)稱

○ 返回用(yòng)于在存儲中(zhōng)保存 ARPin 的名(míng)稱。

 

圖片5.png

在教室伦流澡到高潮H强圩动漫 欧美片巜欲性高 久久影院午夜理论片无码 共妻大肉大捧一进一出年代文 国产电影一曲二曲三曲图片 国产熟妇与子伦HD 最好看的2019中文大全在线观看 无敌琪琪电影观看免费版 四虎影音 巜人妻私密按摩师2 欧美尺码日本尺码专线 亚洲成人av 火热的领居中文字 青青河边草中文字幕MV 女儿的朋友中字头2简介 美丽姑娘高清视频免费中国观看 人妻被下春药BD日本电影 丰满人妻中伦妇伦精品APP 看片免费APP网站 领导扒开我奶罩吸我奶头视频 成全看免费观看完整版 女佣的味道HD中字在线观看 日韩无码专区 国产重口老太伦视频 狂野少女免费完整版中文 在线观看特色大片免费网站 麻花传剧原创MV在线看完整版视频 三年成全免费高清大全 女儿的男朋友63中汉字三义 性按摩玩人妻HD中文字幕 很黄的吸乳A片三男一女 女儿的男朋友63中汉字三义 成全影视大全在线播放 欧洲最强RAPPER免费高清 处破女八A片60钟粉嫩 被三个室友狂躁到早上男男 今夜无人入睡免费观看第7集 秘密列车电影免费完整版播放 少妇按摩做爰5 丰满少妇猛烈进入A片99A 最好看的中文字幕国语电视剧 我的漂亮的瘦子5美国 香蕉AV777XXX色综合一区 9I看片成人免费 大地中文在线观看免费高清 樱花视频在线观看电视剧全集免费 医院的特殊待遇4 姑娘视频在线观看中国电影 强伦人妻一区二区三区视频18 国精品人妻无码一区二区三区软件 私人生活艾伦里克曼 再深点灬舒服灬太大了添小书 人禽乱H交H高文 欧美搡BBBBB摔BBBBB 姐妹4完整版在线观看 强公把我次次高潮HD 少女在线观看高清完整版免费动漫 少女视频哔哩哔哩MV免费观看 性饥渴寡妇肉乱2 免费真人视频APP 老孙头的春天林初晴 少妇按摩做爰5 三年片在线观看大全国语 成人视频在线观看 大龟慢慢挺进张娟征的休 二人世界高清免费版在线观看 今夜很长想把你做进我的梦里 天美麻花果冻视频大全英文版 少妇高潮灌满白浆毛片免费看 大地资源中文在线观看免费版高清 甜蜜惩罚我是看守专用宠12集 无码国产精品一区二区色情男同 小S货又想挨C了叫大声点视频 女人下边被舔全过视频的网址 小姑娘完整中文在线观看 一面亲一面膜下最新版 善良的小峓子HD无删减播放一区 成全电影大全免费观看完整版国语 被男妓的舌头伺候到高潮 妈妈的男朋友