設(shè)計(jì)卓越的空間計(jì)算體驗(yàn):探索Vision Pro開發(fā)教程
?
?針對(duì) visionOS 設(shè)計(jì)?
?
用戶佩戴 Apple Vision Pro 時(shí)會(huì)進(jìn)入無(wú)邊際的 3D 空間,在這里他們可以與你的 App 或游戲交互,同時(shí)與周圍保持聯(lián)系。
?

?
當(dāng)你著手為 visionOS 設(shè)計(jì) App 或游戲時(shí),首先要了解該平臺(tái)特有的基本設(shè)備特征和模式。利用這些特征和模式來(lái)指導(dǎo)你的設(shè)計(jì)決策,幫助你打造出富有吸引力的沉浸式體驗(yàn)。
?
空間。Apple Vision Pro 提供了無(wú)限的畫布,用戶可在其中查看窗口、空間容器和 3D 對(duì)象等虛擬內(nèi)容,還可選擇進(jìn)入仿佛置身于不同地點(diǎn)的深度沉浸式體驗(yàn)。
?
沉浸。在 visionOS App 中,用戶可在不同的沉浸程度之間流暢轉(zhuǎn)換。App 默認(rèn)在共享空間中啟動(dòng),在此空間中多個(gè) App 可并排運(yùn)行,用戶可打開、關(guān)閉窗口以及調(diào)整窗口的位置。用戶還可選擇將 App 轉(zhuǎn)換到全空間,在此空間中只會(huì)運(yùn)行這一個(gè) App。在全空間 App 中,用戶可查看與周圍融合的 3D 內(nèi)容,打開端口以查看其他地點(diǎn),或者進(jìn)入另一個(gè)世界。
?
穿透。穿透提供了來(lái)自設(shè)備外部相機(jī)的實(shí)時(shí)視頻,幫助用戶在與虛擬內(nèi)容交互的同時(shí)還可看到其實(shí)際周圍。用戶想看到更多或更少的周圍時(shí),可使用數(shù)碼旋鈕控制穿透量。
?
空間音頻。Apple Vision Pro 結(jié)合聽覺(jué)和視覺(jué)感知技術(shù)來(lái)為用戶周圍的聲波特征建模,可自動(dòng)使音頻在其空間中聽起來(lái)自然。App 從用戶處獲得訪問(wèn)其周圍信息的許可后,可微調(diào)空間音頻以使自定義體驗(yàn)更加身臨其境。
?
聚焦和手勢(shì)。一般而言,用戶會(huì)使用其眼睛和手部來(lái)與 Apple Vision Pro 交互。用戶執(zhí)行大多數(shù)操作的方式是看向虛擬對(duì)象以聚焦其上,并使用輕點(diǎn)等非直接手勢(shì)以激活它。用戶還可使用直接手勢(shì)通過(guò)單指輕觸虛擬對(duì)象來(lái)與之交互。
?
人體工程學(xué)。佩戴 Apple Vision Pro 時(shí),用戶完全依賴設(shè)備相機(jī)來(lái)看到真實(shí)和虛擬的一切事物,因此保持視覺(jué)舒適性至關(guān)重要。為幫助保持舒適,系統(tǒng)會(huì)自動(dòng)相對(duì)于佩戴者的頭部放置內(nèi)容,無(wú)論用戶的身高如何或者是坐著、站著還是躺著。visionOS 會(huì)將內(nèi)容帶到用戶眼前(而非讓用戶移動(dòng)來(lái)觸及內(nèi)容),因此用戶可在保持靜止不動(dòng)的狀態(tài)下與 App 和游戲交互。
?
輔助功能。Apple Vision Pro 支持“旁白”、“切換控制”、“停留控制”、“引導(dǎo)式訪問(wèn)”、“頭控指針”等許多輔助功能技術(shù),因此用戶可使用適合自己的交互方式。與所有平臺(tái)一樣,在 visionOS 中,系統(tǒng)提供的用戶界面組件默認(rèn)內(nèi)建輔助功能支持,系統(tǒng)框架也為你提供了增強(qiáng) App 或游戲中輔助功能的方式。
?
- 最佳實(shí)踐 -
?
優(yōu)秀的 visionOS App 和游戲會(huì)讓用戶覺(jué)得容易上手且十分熟悉,同時(shí)其中的優(yōu)美內(nèi)容、擴(kuò)展功能和引人入勝的冒險(xiǎn)會(huì)為用戶帶來(lái)沉浸其中的非凡體驗(yàn)。
?
積極采用 Apple Vision Pro 的獨(dú)特功能。充分利用空間、空間音頻和沉浸來(lái)讓你的體驗(yàn)身臨其境,同時(shí)以讓用戶在設(shè)備上感到輕松自然的方式集成穿透、聚焦和手勢(shì)。
?
設(shè)計(jì)呈現(xiàn) App 中最獨(dú)特時(shí)刻的方式時(shí),考慮整體的沉浸程度。你可以在以用戶界面為中心的窗口式環(huán)境、全沉浸式環(huán)境或介于兩者之間的某種環(huán)境中呈現(xiàn)體驗(yàn)。為 App 中的每個(gè)關(guān)鍵時(shí)刻找到最適合的最低沉浸程度,不要假設(shè)每個(gè)時(shí)刻都需要完全沉浸。
?
為以用戶界面為中心的受限體驗(yàn)使用窗口。若要幫助用戶執(zhí)行標(biāo)準(zhǔn)任務(wù),首選在空間中使用顯示為平面并包含熟悉控件的標(biāo)準(zhǔn)窗口。在 visionOS 中,用戶可將窗口重新放置在想要的任何位置,且系統(tǒng)的動(dòng)態(tài)縮放可幫助保持窗口內(nèi)容無(wú)論遠(yuǎn)近都清晰易讀。
?
優(yōu)先考慮舒適性。若要幫助用戶在與 App 或游戲交互時(shí)保持舒適和身體放松,請(qǐng)記住以下基本原則。
-
在用戶的視場(chǎng)內(nèi)顯示內(nèi)容,并相對(duì)其頭部放置。避免將內(nèi)容放在用戶必須轉(zhuǎn)頭或改變姿勢(shì)才能進(jìn)行交互的位置。
-
避免顯示眼花繚亂、不和諧、過(guò)快或缺少靜止參考系的動(dòng)態(tài)效果。
-
支持非直接手勢(shì),讓用戶的手放在大腿或身側(cè)時(shí)也能與 App 交互。
-
如果支持直接手勢(shì),請(qǐng)確保交互式內(nèi)容不會(huì)距離過(guò)遠(yuǎn),并且用戶無(wú)需長(zhǎng)時(shí)間與其交互。
-
用戶處于全沉浸式體驗(yàn)中時(shí),避免鼓勵(lì)其過(guò)多移動(dòng)。
幫助用戶與他人共享活動(dòng)。當(dāng)你使用同播共享支持共享活動(dòng)時(shí),用戶可查看其他參與者的空間 Persona,感覺(jué)就像大家都相聚在相同空間中一樣。
?
?窗口?
?
visionOS App 可使用窗口或空間容器在容器中顯示內(nèi)容。一般而言,你可以使用窗口來(lái)呈現(xiàn) 2D 或 3D 內(nèi)容,例如“郵件”中的收件箱或 Safari 瀏覽器中包含 USDZ 對(duì)象的網(wǎng)頁(yè)。若要呈現(xiàn)游戲棋盤或地球儀這樣的 3D 內(nèi)容和對(duì)象,你通??梢允褂每臻g容器。
?
注:系統(tǒng)定義用戶所打開每個(gè)窗口和空間容器的初始位置。在共享空間和全空間中,用戶可以將窗口和空間容器移到新位置。
?
用戶會(huì)立即熟悉 visionOS 中的窗口,因?yàn)檫@些窗口與其他平臺(tái)中已明確的窗口在外觀和行為上都比較類似。例如,visionOS 窗口與垂直平面對(duì)齊,可以與其他 App 窗口一起顯示在共享空間中,并提供可讓用戶移動(dòng)、調(diào)整大小和關(guān)閉的系統(tǒng)定義控件。除了窗口管理控件外,窗口還可以包括共享菜單、標(biāo)簽頁(yè)欄、工具欄以及一個(gè)或多個(gè)裝飾。
?
窗口
?
visionOS 窗口使用稱為玻璃的不可修改背景材質(zhì),可讓光線以及現(xiàn)實(shí)和虛擬對(duì)象透過(guò)顯示。玻璃窗口會(huì)讓用戶覺(jué)得你的內(nèi)容與周圍融為一體,同時(shí)使用鏡面反射和陰影來(lái)傳達(dá)窗口的縮放和位置。使用默認(rèn)樣式創(chuàng)建窗口時(shí),你會(huì)自動(dòng)獲得玻璃背景。
?
窗口的默認(rèn)大小為 1306 × 734 點(diǎn)。窗口首次打開時(shí),系統(tǒng)會(huì)將其放在佩戴者前方約兩米的位置,并看起來(lái)約有三米寬。
?
系統(tǒng)還會(huì)為標(biāo)準(zhǔn)窗口中的視圖和控件添加高光和陰影,從而讓視圖和控件看起來(lái)有深度且更有實(shí)質(zhì)感,尤其是當(dāng)用戶從一定角度查看窗口時(shí)。雖然你可以在標(biāo)準(zhǔn)窗口中顯示 3D 內(nèi)容,但如果內(nèi)容延伸出窗口表面過(guò)遠(yuǎn),系統(tǒng)會(huì)將其截?cái)?。若要顯示更大深度的 3D 內(nèi)容,請(qǐng)使用空間容器。
?
包含 3D 內(nèi)容的窗口
?
優(yōu)先使用標(biāo)準(zhǔn)窗口來(lái)呈現(xiàn)用戶熟悉的界面和支持熟悉的任務(wù)。為讓你的 App 容易上手,應(yīng)顯示用戶慣用的界面并將更多沉浸式體驗(yàn)預(yù)留給所提供的有意義內(nèi)容和活動(dòng)。如果想要展示游戲棋盤這樣的有界 3D 內(nèi)容,應(yīng)考慮使用空間容器。
?
選取空白區(qū)域盡可能少的初始窗口尺寸。太多空白區(qū)域會(huì)讓窗口看起來(lái)過(guò)大,同時(shí)也會(huì)遮擋用戶空間內(nèi)的其他內(nèi)容。
?
盡量使用適合窗口內(nèi)容的默認(rèn)形狀。例如,默認(rèn) Keynote 講演窗口很寬,因?yàn)榛脽羝容^寬;默認(rèn)的 Safari 瀏覽器窗口很長(zhǎng),因?yàn)榇蠖鄶?shù)網(wǎng)頁(yè)長(zhǎng)度要比寬度更大。
?
盡量讓用戶調(diào)整 App 窗口大小。用戶期望能夠在自定義空間時(shí)調(diào)整窗口大小。你可以根據(jù)情況設(shè)置最小和最大尺寸值,以幫助確保在用戶調(diào)整窗口大小時(shí),窗口仍能正常使用且看起來(lái)美觀。
?
在 App 中發(fā)現(xiàn)用戶可能想要沉浸其中的時(shí)刻或內(nèi)容。即使 App 主要使用窗口,也可能有在沉浸環(huán)境下能得到增強(qiáng)的功能。例如,在“照片” App 中,用戶可以在展開的視圖中打開全景照片,產(chǎn)生一種身臨其境的感覺(jué)。
?
始終確保窗口的可視邊界與其內(nèi)含場(chǎng)景尺寸相符。如果場(chǎng)景超過(guò)窗口的可視尺寸,窗口控件會(huì)看起來(lái)位置不對(duì)且窗口外觀可能與用戶期望不一樣,從而讓其難以交互。
?
- 空間容器 -
?
空間容器包含一個(gè)水平底面,幫助你顯示用戶可從任意角度查看的 3D 內(nèi)容,例如地球儀。
?

空間容器
?
空間容器和窗口有一些相似之處:
-
在共享空間中,系統(tǒng)都會(huì)確定空間容器和窗口的初始位置。
-
空間容器提供的管理控件與用戶用于調(diào)整窗口位置或關(guān)閉窗口的控件相同。
-
空間容器可以使用玻璃背景。
空間容器和窗口在系統(tǒng)應(yīng)用的縮放類型上有所區(qū)別:visionOS 會(huì)為窗口自動(dòng)使用動(dòng)態(tài)縮放,而為空間容器使用固定縮放。
?
優(yōu)先使用空間容器顯示豐富的 3D 內(nèi)容。如果想要呈現(xiàn)用戶熟悉的、以用戶界面為中心的界面,通常最好使用窗口。
?
?空間布局?
?
空間布局技術(shù)幫助你充分利用 Apple Vision Pro 的無(wú)邊際畫布,并以極具吸引力且舒適的方式呈現(xiàn)你的內(nèi)容。
?

?
- 視場(chǎng) -
?
用戶的視場(chǎng)是無(wú)需移動(dòng)頭部就能看到的空間。個(gè)人佩戴 Apple Vision Pro 時(shí)視場(chǎng)的維度因各種因素而異,例如用戶配置光密封性的方式以及邊緣視敏度的范圍等等。
?

注:系統(tǒng)不會(huì)提供有關(guān)用戶視場(chǎng)的信息。
?
將重要內(nèi)容居中放在視場(chǎng)內(nèi)。visionOS 默認(rèn)會(huì)直接在用戶面前啟動(dòng) App,將其放在用戶的視場(chǎng)中。當(dāng)用戶需要長(zhǎng)時(shí)間與內(nèi)容交互時(shí),你應(yīng)該將內(nèi)容舒適地放在其視場(chǎng)內(nèi)。
?
垂直觀看
?
斜角觀看
?
避免將內(nèi)容錨定到佩戴者頭部。雖然通常想要 App 保留在視場(chǎng)內(nèi),但如果錨定的內(nèi)容在用戶面前保持靜止,這會(huì)讓用戶感到卡頓、受限且不舒服,尤其是當(dāng)內(nèi)容遮擋了很多穿透且降低了用戶周圍的明顯穩(wěn)定性。相反,請(qǐng)將內(nèi)容錨定在用戶的空間中,讓用戶自由且自然地看向各處并查看不同位置的不同對(duì)象。
?
- 深度 -
?
用戶依賴距離、遮擋和陰影等視覺(jué)提示來(lái)感知深度和理解周圍。在 Apple Vision Pro 中,系統(tǒng)自動(dòng)使用色溫、反射和陰影等視覺(jué)效果來(lái)幫助用戶感知虛擬內(nèi)容的深度。當(dāng)用戶在空間中移動(dòng)虛擬對(duì)象或者更改自身相對(duì)于該對(duì)象的位置時(shí),視覺(jué)效果會(huì)更改對(duì)象的外觀深度,讓體驗(yàn)更加逼真。
?
因?yàn)橛脩艨梢詮娜魏谓嵌炔榭茨愕膬?nèi)容,在整個(gè)界面(甚至在標(biāo)準(zhǔn)窗口)中融合少量深度可幫助讓其看起來(lái)更加自然。使用 SwiftUI 時(shí),系統(tǒng)會(huì)在 2D 窗口的視圖中添加視覺(jué)效果,讓其看起來(lái)具有深度。
?

?
如果需要呈現(xiàn)包含額外深度的內(nèi)容,你可以使用 RealityKit 創(chuàng)建 3D 對(duì)象。你可以在任意位置顯示 3D 對(duì)象,也可以使用顯示 3D 內(nèi)容的空間容器組件??臻g容器與窗口類似,但沒(méi)有可見(jiàn)的框架。
?

?
提供精確傳達(dá)內(nèi)容深度的視覺(jué)提示。如果視覺(jué)提示缺失或者與用戶的真實(shí)世界體驗(yàn)相沖突,用戶可能會(huì)在視覺(jué)上感到不適。
?
使用深度傳達(dá)層級(jí)結(jié)構(gòu)。深度可幫助對(duì)象看起來(lái)相較于周圍內(nèi)容更為突出,讓其更加顯而易見(jiàn)。用戶通常也會(huì)注意到深度變化:例如,當(dāng)表單顯示在窗口上方時(shí),窗口會(huì)沿著 z 軸后退,從而讓表單浮現(xiàn)出來(lái)并在視覺(jué)上更為突出。
?
一般而言,避免為文本添加深度。看起來(lái)懸浮在背景上方的文本不僅難以閱讀,還會(huì)降低用戶的速度,有時(shí)還會(huì)導(dǎo)致視覺(jué)不適。
?
確保深度可提供價(jià)值。一般而言,你可以使用深度帶來(lái)清晰感和愉悅感,但無(wú)需在每個(gè)地方都使用。在設(shè)計(jì)中添加深度時(shí),考慮對(duì)象的大小和相對(duì)重要性。深度非常適合用于從視覺(jué)上分離 App 中大型且重要的元素,例如讓標(biāo)簽頁(yè)欄或工具欄從窗口中突出顯示,但可能不適合用于小型對(duì)象。例如,使用深度讓按鈕的符號(hào)從其背景中突出顯示可能會(huì)降低按鈕的辨識(shí)度和易用性。另外檢查在整個(gè) App 中使用不同深度的頻率。用戶需要調(diào)整眼睛的焦點(diǎn)來(lái)感知每個(gè)不同深度,調(diào)整過(guò)于頻繁或過(guò)快會(huì)讓用戶感到疲勞。
?
- 縮放 -
?
visionOS 定義了兩種類型的縮放,既保留了深度的外觀又優(yōu)化了可用性。
?
動(dòng)態(tài)縮放幫助內(nèi)容保持清晰可辨且充滿交互性,而不管內(nèi)容距離用戶的遠(yuǎn)近。具體而言,visionOS 會(huì)在窗口遠(yuǎn)離佩戴者時(shí)自動(dòng)放大窗口,在靠近時(shí)縮小窗口,從而讓窗口在所有距離上看起來(lái)都大小相同。
?

動(dòng)態(tài)縮放
?
固定縮放意味著對(duì)象無(wú)論距離用戶的遠(yuǎn)近如何,都會(huì)保持相同比例。固定縮放對(duì)象會(huì)在沿著 z 軸逐漸遠(yuǎn)離觀看者時(shí)看起來(lái)越來(lái)越小,這與用戶現(xiàn)實(shí)環(huán)境中的對(duì)象類似:遠(yuǎn)處的對(duì)象比近處的對(duì)象看起來(lái)要更小。
?

固定縮放
?
為了支持動(dòng)態(tài)縮放和深度外觀,visionOS 將一個(gè)點(diǎn)定義為一個(gè)角度,這一點(diǎn)與其他平臺(tái)不同:其他平臺(tái)將一個(gè)點(diǎn)定義為一定數(shù)量的像素,該數(shù)量因 2D 顯示器的分辨率不同而有所差異。
?
如果想要虛擬對(duì)象看起來(lái)和現(xiàn)實(shí)對(duì)象完全一樣,考慮使用固定縮放。例如,你不妨為提供的產(chǎn)品維持實(shí)物大小的比例,這樣產(chǎn)品會(huì)在用戶的空間中看起來(lái)更加逼真。交互式內(nèi)容需要縮放以在其逐漸靠近或遠(yuǎn)離時(shí)保持易用性,因此應(yīng)謹(jǐn)慎應(yīng)用固定縮放,請(qǐng)將固定縮放保留給需要它的非交互式對(duì)象。
?
- 最佳實(shí)踐 -
?
避免顯示過(guò)多窗口。窗口過(guò)多會(huì)遮擋用戶的周圍,讓其感到壓抑、受限,甚至不舒服。同時(shí)也讓用戶難以將焦點(diǎn)移至想要的內(nèi)容,除非調(diào)整多個(gè)窗口的大小或位置。
?
首選標(biāo)準(zhǔn)的非直接手勢(shì)。用戶可以使用非直接手勢(shì),無(wú)需將手移入視場(chǎng)中。相比之下,使用直接手勢(shì)需要用戶通過(guò)手指輕觸虛擬對(duì)象,這樣做可能會(huì)讓用戶感到疲勞,當(dāng)對(duì)象位于用戶視線中或上方時(shí)尤其如此。在 visionOS 中,用戶使用非直接手勢(shì)來(lái)執(zhí)行他們熟知的標(biāo)準(zhǔn)手勢(shì)。如果優(yōu)先采用非直接手勢(shì),則無(wú)論對(duì)象的距離如何,用戶都可以使用非直接手勢(shì)與所能聚焦的任何對(duì)象交互。如果支持直接手勢(shì),考慮將其用于鼓勵(lì)仔細(xì)檢查或短時(shí)間操作的附近對(duì)象。
?
借助數(shù)碼旋鈕來(lái)幫助用戶將窗口重新放在視場(chǎng)中間。當(dāng)用戶移動(dòng)或轉(zhuǎn)動(dòng)頭部時(shí),內(nèi)容可能不再出現(xiàn)在用戶期望的位置。如果出現(xiàn)這種情況,用戶可以按下數(shù)碼旋鈕將面前的內(nèi)容重新放在中間。你的 App 無(wú)需執(zhí)行任何操作來(lái)支持這種行為。
?
在交互式組件周圍保留足夠的空間以便用戶輕松聚焦。當(dāng)用戶使用眼睛聚焦交互式元素時(shí),visionOS 會(huì)顯示視覺(jué)懸停效果幫助用戶確認(rèn)該元素就是用戶想要的元素來(lái)做出響應(yīng)。在交互式組件周圍保留足夠的空間至關(guān)重要,這樣用戶可輕松、舒適地聚焦組件,同時(shí)可防止懸停效果擠壓其他內(nèi)容。例如,放置按鈕以使其中心至少相距 60 點(diǎn)。
?
讓用戶通過(guò)極少量或無(wú)需身體活動(dòng)來(lái)使用你的 App。除非某些身體活動(dòng)對(duì)于體驗(yàn)不可或缺,否則請(qǐng)幫助用戶在保持不動(dòng)的情況下享受體驗(yàn)。
?
使用地面來(lái)幫助你放置大型沉浸式體驗(yàn)。如果沉浸式體驗(yàn)包括從地面向上延伸的內(nèi)容,請(qǐng)使用平坦的水平面來(lái)放置內(nèi)容。將此平面與地面對(duì)齊有助于內(nèi)容與用戶的周圍無(wú)縫融合并提供更直觀的體驗(yàn)。
?
?沉浸式體驗(yàn)?
?
在 visionOS 中,你可以設(shè)計(jì)延伸出窗口和空間容器的 App 和游戲,并讓用戶沉浸在你的內(nèi)容中。
?

?
在 visionOS 中,用戶可在共享空間中同時(shí)運(yùn)行多個(gè) App,或者在全空間中一次專注于單個(gè) App。你的 App 默認(rèn)在共享空間中啟動(dòng),在此空間中用戶可像 Mac 上一樣在多個(gè)運(yùn)行中的 App 之間切換。想要更沉浸地體驗(yàn)時(shí),用戶可將你的 App 轉(zhuǎn)換到全空間,在此空間中其他 App 會(huì)隱藏,你的 App 可在任意位置顯示內(nèi)容。
?
- 沉浸和穿透 -
?
visionOS 支持一定范圍的沉浸程度,可幫助你向用戶提供多種 App 或游戲體驗(yàn)方式。在此范圍內(nèi),用戶現(xiàn)實(shí)環(huán)境的可見(jiàn)度在體驗(yàn)的沉浸效果方面起著關(guān)鍵作用。
?

?
佩戴 Apple Vision Pro 時(shí),用戶可使用穿透看到現(xiàn)實(shí)環(huán)境,此功能提供了來(lái)自設(shè)備外部相機(jī)的實(shí)時(shí)視頻。
?
為更改可看到周圍的多少,用戶使用數(shù)碼旋鈕調(diào)整穿透量。例如,在想要與附近的實(shí)際物體交互或閱讀其他設(shè)備上的文本時(shí),用戶可能會(huì)增加穿透,在想要呈現(xiàn)某種環(huán)境時(shí),可能會(huì)減少穿透。
?

注:App 不會(huì)收到有關(guān)當(dāng)前穿透級(jí)別或其何時(shí)更改的直接信息,這意味著你無(wú)法得知用戶可看到多少周圍。
?
考慮使用以下技術(shù),讓用戶沉浸在你的體驗(yàn)中并幫助其與你的內(nèi)容交互。
-
在共享空間中時(shí),調(diào)暗穿透。你可以要求系統(tǒng)巧妙地調(diào)暗穿透和其他可見(jiàn)內(nèi)容,以盡量減少干擾并突出特定窗口或空間容器,但不隱藏其他 App。
-
在全空間中顯示 3D 內(nèi)容。App 轉(zhuǎn)換到全空間中時(shí),除了標(biāo)準(zhǔn)窗口和空間容器中的內(nèi)容,你還可以顯示不受窗口所限的 3D 內(nèi)容。
-
整合用戶的周圍。在全空間中運(yùn)行時(shí),你的 App 還可請(qǐng)求訪問(wèn)附近實(shí)際物體和房間布局的相關(guān)信息,以幫助你顯示與用戶周圍融合的虛擬內(nèi)容。
-
創(chuàng)建端口。在全空間中運(yùn)行的 App 可使用端口提供更有沉浸感的體驗(yàn),但不會(huì)完全將用戶從其周圍中移除。端口打開時(shí),用戶能以約 180 度視野查看沉浸式內(nèi)容,還可使用數(shù)碼旋鈕調(diào)整端口大小。
-
創(chuàng)建全沉浸式體驗(yàn)。為提供全沉浸式體驗(yàn),在全空間中運(yùn)行的 App 可在顯示完全環(huán)繞用戶的內(nèi)容時(shí)要求系統(tǒng)隱藏穿透,從而讓用戶置身于全新地點(diǎn)。
visionOS 在用戶使用 App 期間執(zhí)行以下行為。
-
如果用戶移動(dòng)超過(guò)約一米,系統(tǒng)會(huì)自動(dòng)將所有顯示內(nèi)容變?yōu)榘胪该?,以幫助其在周圍中找到方向?/p>
-
全沉浸式體驗(yàn)開始時(shí),系統(tǒng)會(huì)定義一個(gè)不可見(jiàn)區(qū)域,該區(qū)域從佩戴者頭部初始位置起延伸 1.5 米。如果頭部移出了該區(qū)域,體驗(yàn)會(huì)自動(dòng)停止,穿透會(huì)重新啟用以幫助用戶避免撞到現(xiàn)實(shí)環(huán)境中的物體。
-
用戶過(guò)于靠近實(shí)際物體或移動(dòng)過(guò)快時(shí),系統(tǒng)可停止沉浸式體驗(yàn)。
?
- 最佳實(shí)踐 -
?
提供使用 App 的多種方式。除了讓用戶自由選擇其體驗(yàn),將 App 設(shè)計(jì)為支持輔助功能,供用戶用于個(gè)性化其與設(shè)備的交互方式也至關(guān)重要。
?
將沉浸感留給有意義的時(shí)刻和內(nèi)容。沉浸感并非對(duì)每種任務(wù)都有用,沉浸式任務(wù)也并非都需要完全沉浸。雖然用戶有時(shí)想要進(jìn)入完全不同的世界,但在使用 App 期間通常想要密切注意其周圍,也可能希望能夠同時(shí)使用其他 App 和系統(tǒng)功能。設(shè)法讓用戶沉浸在作為你 App 特色的單獨(dú)任務(wù)和內(nèi)容中,而不應(yīng)假設(shè) App 在大多數(shù)時(shí)間內(nèi)都需要完全沉浸。例如,用戶可在共享空間中使用熟悉的 App 窗口瀏覽其“照片”相簿,但在想要檢查單張照片時(shí),可暫時(shí)轉(zhuǎn)換到全空間中更有沉浸感的體驗(yàn),并在其中放大照片和欣賞細(xì)節(jié)。
?
幫助用戶體驗(yàn) App 中的關(guān)鍵時(shí)刻,無(wú)論沉浸程度如何。調(diào)暗、動(dòng)態(tài)效果、縮放和空間音頻等提示有助于吸引用戶注意內(nèi)容的特定區(qū)域,無(wú)論是位于共享空間的窗口中還是全空間的完全沉浸式體驗(yàn)中。首先使用溫和引導(dǎo)用戶注意力的微小提示,只有在你的 App 中有意義時(shí)才加強(qiáng)提示。
?
優(yōu)先讓用戶選擇何時(shí)進(jìn)入更有沉浸感的體驗(yàn)。你不應(yīng)未經(jīng)用戶同意就將其帶到更有沉浸感的體驗(yàn)中,也不應(yīng)出其不意地顯示大窗口或?qū)ο蠖鴩樀接脩?。?qǐng)?zhí)峁┟鞔_的進(jìn)入和退出控件,以便用戶決定何時(shí)更進(jìn)一步沉浸在你的內(nèi)容中。
?
在體驗(yàn)之間設(shè)計(jì)可預(yù)測(cè)的平滑過(guò)渡。提供可讓用戶從視覺(jué)上追蹤變化的平緩過(guò)渡,以幫助其為不同體驗(yàn)做好準(zhǔn)備。避免可能讓用戶迷失方向或感到不適的突發(fā)刺眼過(guò)渡。
?
讓用戶輕松退出沉浸式體驗(yàn)。例如,Keynote 講演提供了顯眼的“退出”按鈕,來(lái)幫助用戶離開劇院體驗(yàn)并返回幻燈片查看窗口。請(qǐng)確保你的按鈕清晰表達(dá)會(huì)將用戶帶回之前沉浸感較弱的環(huán)境還是退出體驗(yàn)(如游戲)。如果退出沉浸式體驗(yàn)會(huì)同時(shí)退出 App,請(qǐng)考慮提供控件來(lái)讓用戶暫?;蛘呋氐娇稍谕顺銮按鎯?chǔ)其進(jìn)度的位置。
?
用戶處于全沉浸式體驗(yàn)中時(shí),避免鼓勵(lì)其移動(dòng)。在全沉浸式體驗(yàn)中,系統(tǒng)會(huì)隱藏穿透,用戶在體驗(yàn)?zāi)愕膬?nèi)容時(shí)可能會(huì)失去對(duì)周圍的關(guān)注。在用戶使用你的 App 時(shí),鼓勵(lì)其確保安全舒適至關(guān)重要。幫助用戶停留在某個(gè)位置的一種方式是將內(nèi)容帶到用戶面前,而不要等待其移向內(nèi)容。
?
如果想融合 App 內(nèi)容與用戶的周圍,可采用 ARKit。例如,你不妨將虛擬內(nèi)容整合進(jìn)用戶的周圍,或者使用佩戴者的手部姿態(tài)來(lái)影響體驗(yàn)。如果需要訪問(wèn)這些類型的敏感數(shù)據(jù),你必須請(qǐng)求用戶許可。
?
在可讓用戶融合虛擬對(duì)象和其周圍的 App 中,幫助用戶避免完全遮擋穿透。用戶通常會(huì)憑借穿透的存在來(lái)決定是否要在周圍小心移動(dòng)。如果用戶放置虛擬對(duì)象的方式可能導(dǎo)致其看不到附近的實(shí)際物體,用戶可能無(wú)法意識(shí)到在周圍移動(dòng)會(huì)出現(xiàn)問(wèn)題。若要幫助用戶避免這種情況,你需要使用正確的 API 來(lái)實(shí)現(xiàn)沉浸式體驗(yàn),以便系統(tǒng)正確響應(yīng)用戶的移動(dòng)。
?
關(guān)注用戶的視覺(jué)舒適度。例如,雖然 App 在全空間中運(yùn)行時(shí)你可以將 3D 內(nèi)容放在任何位置,但優(yōu)先將其放在用戶的視場(chǎng)內(nèi)。App 在全空間中運(yùn)行時(shí),還應(yīng)確保以舒適方式顯示動(dòng)態(tài)效果,因?yàn)橛脩艨赡軣o(wú)法使用其慣用的參考系。
?
?同播共享?
?
同播共享可以幫助多位用戶在進(jìn)行 FaceTime 通話或“信息”對(duì)話時(shí)共享各種活動(dòng),例如看電影、聽音樂(lè)、玩游戲或在白板上構(gòu)思創(chuàng)意。
?

?
系統(tǒng)會(huì)同步所有參與設(shè)備上的 App 播放以支持無(wú)縫媒體和內(nèi)容共享,讓每個(gè)人都能同時(shí)享受體驗(yàn)。在 visionOS 中,同播共享可幫助一起位于相同虛擬空間中的用戶享受這類體驗(yàn)。
?
當(dāng)有人在 FaceTime 通話期間共享內(nèi)容時(shí),系統(tǒng)會(huì)讓每位參與者啟動(dòng)對(duì)應(yīng) App 以開始體驗(yàn)。如果用戶尚未安裝該 App,同播共享提醒會(huì)鼓勵(lì)用戶從 App Store 下載。如果以通用購(gòu)買項(xiàng)目形式提供平臺(tái)特定版本的 App,用戶可以進(jìn)行一次購(gòu)買并在你支持的所有平臺(tái)之間使用你的 App 及其 App 內(nèi)購(gòu)買項(xiàng)目。
?
- 最佳實(shí)踐 -
?
告知用戶你支持同播共享。用戶通常希望可共享媒體播放體驗(yàn),因此請(qǐng)?jiān)诮缑嬷兄该鞔斯δ堋@?,你可以使?shareplay SF 符號(hào)來(lái)標(biāo)識(shí) App 中支持同播共享的內(nèi)容或體驗(yàn)。
?
如果 App 的一部分需要訂閱,請(qǐng)考慮幫助未訂閱參與者快速加入群組活動(dòng)的方式。例如,你可以向非訂閱者提供臨時(shí)訪問(wèn)許可,或者讓現(xiàn)有訂閱者向朋友發(fā)送一次性通行證。為了使家庭成員能夠輕松地在同播共享體驗(yàn)中共享你的內(nèi)容,你可以支持家人共享。如果用戶可以在同播共享體驗(yàn)期間開始訂閱,請(qǐng)?zhí)峁┳?cè)流程的簡(jiǎn)化版本,以便用戶加入活動(dòng)而無(wú)需讓其他人等待。
?
盡量支持畫中畫 (PiP)。在 iPhone 和 iPad 上,用戶可以在畫中畫窗口中打開共享視頻。在 Mac 上,共享視頻會(huì)在后臺(tái)窗口中打開,用戶可以在想觀看時(shí)將窗口前置。
?
正確使用術(shù)語(yǔ)同播共享。你可以將同播共享用作名詞(如在“加入同播共享”中),在描述界面中的直接操作時(shí),也可以將其用作動(dòng)詞。例如,在允許用戶共享電影觀看活動(dòng)的按鈕或表單中,可以使用“同播共享電影”等短語(yǔ)。避免結(jié)合形容詞使用“同播共享”;例如,在 visionOS App 中,不要添加虛擬的或空間的這類詞。避免以任何方式更改術(shù)語(yǔ)同播共享;例如,不要使用同播已共享、同播和共享或同播正在共享等變體。
?
- 共享活動(dòng) -
?
活動(dòng)是 App 定義的可共享體驗(yàn)類型。例如,允許用戶觀看視頻的 App 可能會(huì)為觀看每種類型的內(nèi)容(例如電影、電視節(jié)目和上傳的視頻)定義單獨(dú)的活動(dòng),并為每項(xiàng)活動(dòng)顯示不同的描述。你可以定義盡可能多的適用于你 App 的不同活動(dòng)。有關(guān)開發(fā)者指南,請(qǐng)參閱 Inviting Participants to Share an Activity。
?
簡(jiǎn)要描述每項(xiàng)活動(dòng)。當(dāng)用戶收到參與活動(dòng)的邀請(qǐng)時(shí),你的描述會(huì)幫助用戶了解其即將共享的體驗(yàn)。例如,視頻觀看 App 可能會(huì)將其描述性電影視圖與電影觀看活動(dòng)關(guān)聯(lián)。在這種情況下,描述性視圖可能會(huì)顯示電影的名稱、情節(jié)摘要和海報(bào)圖像。編寫簡(jiǎn)單、有意義的描述,該描述應(yīng)足夠短以避免截?cái)唷?/p>
?
輕松開始共享活動(dòng)。如果用戶開始可共享活動(dòng)時(shí)沒(méi)有可用的會(huì)話,你可以顯示允許其開始群組活動(dòng)的用戶界面。作為響應(yīng),系統(tǒng)會(huì)詢問(wèn)用戶是希望共享體驗(yàn)還是繼續(xù)獨(dú)自體驗(yàn)。
?

?
在顯示活動(dòng)之前,幫助用戶準(zhǔn)備好加入會(huì)話。例如,如果用戶必須登錄、下載內(nèi)容或付款才能參與,請(qǐng)?jiān)陲@示活動(dòng)用戶界面之前顯示可幫助其執(zhí)行這些任務(wù)的視圖。使這些任務(wù)盡可能簡(jiǎn)單輕松,以便用戶快速加入群組活動(dòng)。
?
盡量推遲可能會(huì)延遲共享活動(dòng)的 App 任務(wù)。例如,如果你的 App 需要了解參與者的個(gè)人資料,請(qǐng)考慮在方便時(shí)(例如,播放暫停或結(jié)束時(shí))請(qǐng)求提供這些信息。
?
- visionOS -
?
用戶期望大多數(shù) visionOS App 支持同播共享。在佩戴 Apple Vision Pro 時(shí),用戶可以選擇 FaceTime 通話中的“空間”選項(xiàng)來(lái)與他人共享內(nèi)容和活動(dòng)。
?
在共享活動(dòng)中,F(xiàn)aceTime 通話可在每位佩戴者的空間中顯示其他參與者的形象(稱為“空間 Persona”),從而讓每位參與者覺(jué)得他們?cè)谙嗤攸c(diǎn)共享同一體驗(yàn)。在 FaceTime 通話的共享體驗(yàn)期間,用戶可以通過(guò)其空間 Persona 以自然方式與彼此交互。例如,用戶可以直接對(duì)他人說(shuō)話或做出手勢(shì),辨別出何時(shí)有人正在關(guān)注自己,以及知道哪位用戶正在使用共享工具或資源。
?
visionOS 使用共享環(huán)境的概念來(lái)描述共享活動(dòng)的特征,幫助用戶覺(jué)得自己與他人真實(shí)存在并同時(shí)通過(guò)相同內(nèi)容保持關(guān)聯(lián)。共享環(huán)境可幫助用戶確信他們正與其他人一樣體驗(yàn)相同的內(nèi)容。
?
當(dāng)用戶覺(jué)得自己正在真實(shí)共享體驗(yàn)時(shí),社會(huì)動(dòng)力學(xué)可鼓勵(lì)逼真、直觀的交互。例如,用戶可通過(guò)口頭和非口頭方式溝通來(lái)制定計(jì)劃、輪流執(zhí)行操作和共享資源。
?
注:在共享活動(dòng)期間,系統(tǒng)會(huì)通過(guò)遮擋佩戴者相關(guān)的部分視覺(jué)細(xì)節(jié)來(lái)幫助保護(hù)用戶的隱私。此外,用戶也可以根據(jù)需要調(diào)整自己的空間 Persona。雖然系統(tǒng)會(huì)以肩并肩形式放置空間 Persona 并支持握手或“擊掌慶?!边@樣的共享手勢(shì),但空間 Persona 會(huì)保持分開。
?
選取適合你共享活動(dòng)的空間 Persona 模板。設(shè)計(jì)共享活動(dòng)時(shí),你可以使用空間 Persona 模板指定布局以在共享活動(dòng)空間中排列空間 Persona。系統(tǒng)提供了三種空間 Persona 模板:并排式、圍繞式和會(huì)話式。
?
并排式模板沿著曲線段以并排形式排列參與者,所有參與者都面向共享內(nèi)容。并排式模板讓每個(gè)人都能清楚地看到內(nèi)容,可很好地用于幫助用戶一起觀看媒體。因?yàn)橛脩粼诖伺帕蟹绞较虏⒎敲鎸?duì)面,所以并排式模板比其他空間 Persona 模板鼓勵(lì)用戶進(jìn)行的非口頭交互要更少。
?

?
系統(tǒng)應(yīng)用的圍繞式模板以共享內(nèi)容為中心將參與者排成一圈。當(dāng)內(nèi)容為 3D 時(shí),此空間 Persona 模板特別適用,因?yàn)槊课粎⑴c者可從不同角度觀看內(nèi)容。在圍繞式模板中,參與者面對(duì)面,就好像圍坐在桌前,鼓勵(lì)用戶進(jìn)行口頭和非口頭交互。
?

?
會(huì)話式模板也將參與者圍繞某個(gè)中心點(diǎn)進(jìn)行分組,但將你的內(nèi)容沿圓圈放置,而非放在中心位置。這種放置方式導(dǎo)致并非每個(gè)人都能從相同視角看到內(nèi)容,且可能不方便與之交互。如果體驗(yàn)更注重用戶相聚在一起,同時(shí) App 在后臺(tái)執(zhí)行音樂(lè)播放這樣的任務(wù),可考慮使用會(huì)話式排列方式。
?

?
為啟動(dòng)直接進(jìn)入共享活動(dòng)做好準(zhǔn)備。當(dāng)一位用戶在 FaceTime 通話中與他人共享你的活動(dòng)時(shí),系統(tǒng)會(huì)自動(dòng)為所有用戶啟動(dòng)你的 App 以盡量減少分歧。在這種情況下,你應(yīng)避免顯示任何與共享活動(dòng)無(wú)關(guān)的窗口。例如,如果用戶在加入活動(dòng)之前需要登錄,請(qǐng)務(wù)必在可自動(dòng)關(guān)閉的窗口中呈現(xiàn)此任務(wù),該窗口在用戶完成提供所需的輸入后立即消失。
?
幫助但不要強(qiáng)迫用戶一起進(jìn)入共享活動(dòng)。當(dāng)一位參與者更改其沉浸度時(shí),系統(tǒng)會(huì)提醒你,以便你可以為每位用戶同步此體驗(yàn)。在同步之前,檢查更改某位用戶的沉浸度是否會(huì)打斷其當(dāng)前工作;如果會(huì),請(qǐng)為其提供加入更新體驗(yàn)的選擇。例如,如果某位用戶正在非共享窗口中編輯內(nèi)容,你可以顯示提醒,讓用戶選擇轉(zhuǎn)換。有關(guān)指南,請(qǐng)參閱沉浸式體驗(yàn)。
?
當(dāng)新參與者加入時(shí),流暢地更新共享活動(dòng)。當(dāng)某位用戶加入進(jìn)行中的活動(dòng)時(shí),你需要在不打斷其他用戶體驗(yàn)的前提下讓用戶融入其中。例如,更新共享的沉浸式內(nèi)容以保持所有參與者同步,這一點(diǎn)很重要。另外,考慮設(shè)計(jì)出在排列中容納最多五位參與者的方法,并根據(jù)需要更新其位置。
?
- 維持共享環(huán)境 -
如果在全空間中運(yùn)行共享活動(dòng),系統(tǒng)會(huì)使用單個(gè)坐標(biāo)系統(tǒng)來(lái)排列你的內(nèi)容和所有參與者,自動(dòng)為每位用戶同步你 App 的大小、位置和方向,從而幫助 App 維持共享環(huán)境。你負(fù)責(zé)以增強(qiáng)共享體驗(yàn)感的方式顯示對(duì)象、播放聲音和支持交互。
?
確保每個(gè)人看到的 App 狀態(tài)相同。如果 App 的狀態(tài)不止一種(例如,同時(shí)提供極簡(jiǎn)和影院般觀看模式的媒體 App),你需要避免讓不同參與者看到不同的狀態(tài),因?yàn)檫@樣做會(huì)降低用戶在共享空間中的凝聚感。當(dāng)某位用戶需要暫時(shí)退出共享活動(dòng)的情況除外。
?
使用空間音頻來(lái)豐富共享活動(dòng)。播放空間音頻可幫助你增強(qiáng)共享體驗(yàn)的真實(shí)感。
?
盡量讓用戶發(fā)現(xiàn)自然、社會(huì)化的方法來(lái)解決可能在共享體驗(yàn)中產(chǎn)生的混亂或沖突。例如,如果一次只有一位參與者可以使用虛擬工具,應(yīng)避免顯示工具使用控件或通知這樣的用戶界面,而應(yīng)讓想要使用工具的用戶對(duì)著群組說(shuō)話或做出手勢(shì)。如果在共享活動(dòng)期間產(chǎn)生沖突(例如,多位用戶嘗試同時(shí)更改相同內(nèi)容),應(yīng)考慮采用最后的更改有效這樣的簡(jiǎn)單規(guī)則,并讓用戶使用該規(guī)則來(lái)定義可被群組接受的行為。
?
幫助用戶將私人內(nèi)容和共享內(nèi)容分開。系統(tǒng)默認(rèn)會(huì)明確區(qū)分共享窗口和非共享窗口。例如,當(dāng)用戶使用“音樂(lè)”共同欣賞歌曲時(shí),共享的“音樂(lè)”窗口會(huì)作為新窗口顯示在每位用戶面前,而任何個(gè)人打開的資料庫(kù)窗口仍會(huì)保持獨(dú)立且不共享。如果 App 可以打開多個(gè)窗口,幫助用戶共享正確的窗口并讓其輕松區(qū)分共享和非共享窗口。盡量也讓用戶將想要共享的內(nèi)容從私人窗口拖到共享窗口中。
?
- 調(diào)整共享環(huán)境 -
有時(shí)候調(diào)整共享活動(dòng)的共享環(huán)境比較合理,這樣每位參與者都可自定義各自的體驗(yàn),例如為了更加舒適或使用輔助功能。在其他情況下,嚴(yán)格維持共享環(huán)境可能會(huì)降低共享體驗(yàn)帶給用戶的愉悅感。例如,當(dāng)內(nèi)容只有一個(gè)理想的觀看角度時(shí),每位參與者可能需要各自的內(nèi)容版本。
?
讓用戶個(gè)性化自己的體驗(yàn),而不更改他人的體驗(yàn)。例如,用戶可能需要調(diào)整音量或字幕等各種設(shè)置來(lái)訪問(wèn)視圖和交互操作或者讓自己更舒適。
?
考慮何時(shí)為每位參與者提供共享內(nèi)容的獨(dú)特視角。某些內(nèi)容只有用戶從特定視角觀看時(shí)效果才最好。例如,用戶可以在標(biāo)準(zhǔn)窗口中共享空間拍攝并在其周圍顯示其他用戶的空間 Persona。但是,為了感知空間拍攝中的深度,每個(gè)人需要從合適的角度觀看。在這種情況下,即使其他用戶繼續(xù)查看標(biāo)準(zhǔn)窗口和彼此,某位用戶也可以暫時(shí)轉(zhuǎn)換到全空間以隱藏其他參與者并確保自己以合適的角度觀看。如果按用戶提供共享內(nèi)容的不同版本比較合理,請(qǐng)務(wù)必繼續(xù)同步用戶的位置和 App 環(huán)境以維持共享體驗(yàn)。
?
讓用戶輕松退出和重新加入共享活動(dòng)。用戶有時(shí)候需要在你的 App 或其他 App 中執(zhí)行不相關(guān)的任務(wù),或者需要與現(xiàn)實(shí)環(huán)境交互。在這種情況下,你需要呈現(xiàn)可讓用戶快速重新加入共享活動(dòng)的控件或其他組件。此外,你可能需要繼續(xù)顯示共享內(nèi)容,以便用戶在隱藏其空間 Persona 的同時(shí)能夠繼續(xù)了解正在進(jìn)行的共享體驗(yàn)。
?
資料來(lái)源:Apple
