混合現實設計:火星計劃頭戴裝置配套應用的設計心得
*本文由Unity Labs的布蘭登·克魯斯曼(Brandon Kruysman) ,楊英華(Yinghua Yang),凱爾·瓦伊迪安納森(Kyle Vaidyanathan)創作。
隸屬於Unity實驗室ATG組的空間性設計團隊目前正在為火星計劃(Project MARS)[詳見文末連結]開發一款頭戴裝置(HMD)的配套應用。火星計劃及其配套應用作為Unity的擴充套件程式,可以幫助開發者構建混合現實與實景增強體驗以及與現實世界進行的智慧互動。頭戴裝置配套應用則將成為Unity電腦客戶端與現實世界之間的橋樑。
Unity電腦客戶端是火星計劃的主要創作環境,其手機和頭戴裝置的配套應用是其移動裝置端的解決方案,它們使設計和開發不再侷限於滑鼠和鍵盤。在頭戴裝置配套應用中,您可以從現實世界快速捕捉周圍環境,然後匯入到Unity電腦客戶端中進行模擬、執行內容編輯、“灰盒”測試、編寫條件和資料查詢等操作。該款應用是基於混合現實編輯器(Editor XR)和混合現實互動工具包開發的,這兩者提供了可重複使用的元件,讓您輕鬆快速的構建互動式和沉浸式體驗。
這篇文章將分享我們的設計流程的見解,旨在展示我們工作背後的想法:在數字世界與現實世界之間建立有意義的聯結,幫助實現更適合實景增強(AR)的介面。
空間性設計的原則
在為傳統螢幕做設計時,其實際呈現情況與設計模擬的情況緊密切合。但是,在為實景增強進行設計時,設計模擬與頭戴裝置實際呈現的情況往往存在明顯差異,極具欺騙性。我們生活在一個無法預測的世界中,我們的虛擬空間需要適應並響應所在的現實環境。因此,在整個設計過程中,我們傾向於與現實世界以1:1的參照比例在頭戴裝置上直接進行3D設計 (而不是使用傳統2D設計工具) 。在我們看來,只有通過這種方法才能真正瞭解使用者的完整應用體驗。
頭戴裝置的各種硬體約束極大的影響我們的決策過程,比如有限的視場角、近裁剪面以及亮度/對比度等。因此,迅速獲得裝置上真實呈現的反饋對我們來說至關重要。實景增強頭戴裝置有限的視場角帶來了許多我們必須面對的設計挑戰。例如,在火星計劃中,針對環境中的特定條件進行創作時,匹配結果可能會散佈在使用者周圍,甚至是在另一個房間中。只有身處大型空間對映裡在裝置上進行原型開發,我們才能瞭解大空間自適性的重要性,並決定提供一個“迷你世界”的功能來幫助使用者看清周圍的匹配情況。如果能夠通過“迷你世界”來從多個角度檢視環境中的所有匹配物件,我們將給您提供更好的空間感知,並降低虛實遮擋的機率。
開發者是我們進行空間計算設計的核心考慮因素,我們以人體為中心,劃分出種種層次,依次探索。比如我們的衣服、物體,以及內部/外部的邊界都是影響我們如何思考潛在空間格局的各種層次。這些層次轉化為我們的空間感知,而空間的感知又很大程度上取決於我們與現實世界的空間比例關係。
在整個設計過程中,空間比例關係是我們經常討論的話題。空間互動介面元素如何響應並適應使用者周圍的這些不同層次?執行給定的任務需要多少空間?在給定比例下適合的操縱方法是什麼?頭戴裝置配套應用主要針對火星計劃那些具備空間性並需要3D操縱或受益於現實世界上下文資訊並置的功能。
距離操縱的設計模擬
設計工作流程
無論對於螢幕還是物理物件,傳統的設計工作流程都無法滿足當前混合現實開發的需求。與其他數字媒體相比,混合現實要求更精確的視覺化效果、更快的迭代速度以及應對不斷變化的外界環境的辦法。我們空間性設計團隊希望通過自定義和設計自己的工作流程來填補傳統流程的空白,目的是更好地瞭解構建混合現實體驗的複雜性。下文將介紹我們嘗試過的一些工作流程以及我們從中獲得的經驗。
紙上原型
為了避免疲勞,空間性設計不僅需要了解物件和空間的比例關係,還需要了解人類身體協調的比例關係。一對一的紙上原型很適合用來測試人體運動和人體工程學。
例如,我們設計並測試了一個虛擬托盤的設計方案。這個托盤會根據使用者的頭部傾斜運動而下降或上升。紙質模型托盤的這種物理原型懸掛在脖子上,位於下巴正下方。在正常工作期間,我們將常用工具放在托盤中,例如手機、眼鏡、筆,等等。在使用紙質托盤一小時後,我們感到每次為拿工具而進行的頸部運動讓人疲乏,而頻繁移動手臂來取放脖子區域附近的工具也很令人勞累。因此,我們選擇不繼續推進這種設計方案。在進行混合現實設計時,構建快速雖粗糙的紙上原型可以節省時間並有助於進行空間方面的思考。
下巴工具托盤設計方案的模擬紙質原型
在虛擬現實中模擬實景增強
傳統2D工具(例如簡報和動畫模型)很難有效評估混合現實的使用者流程。我們沒有建立2D故事板,而是使用在虛擬現實中構建設計模擬。Tvori在編輯互動和設定互動動畫時支援快速迭代。我們使用了時間軸功能來定格攝像機、潛在互動介面元素、虛擬物件和輸入裝置。
使用實景增強視場角檢視在Tvori虛擬現實中構建原型的流程
使用虛擬現實,我們能夠不斷改變虛擬世界的比例關係。我們可以按人類比例親身體驗世界,同時又可以將場景縮小到最小以便於編輯。當我們向團隊中的其他人展示流程時,他們只需戴上虛擬現實頭戴裝置,將比例設定為1:1,然後拖動時間軸。
為了更好地瞭解虛擬元素適合的規模和比例,我們引入了典型的實景增強頭戴裝置視場角“安全區域”,作為在虛擬現實中快速模擬實景增強的有效方法。遮擋人類視角的矩形非常實用:在空間設計師看來,這種約束不僅會影響我們的視覺體驗,還會限制我們的運動(比如手勢),因而會影響體驗的沉浸感。
使用者流程和輸入對映
選單主機板的輸入對映
在整個設計過程中,我們儲存了兩個活動文件,一個用於輸入對映,另一個用於使用者流程。使用者流程文件作為真實資料來源,一直在不斷更新。在這個文件中,我們確定了使用者完成特定任務的方式和位置。比如,任務是在特定工作空間(即混合現實UI的各個部分)中完成還是在現實世界中完成,或者是否可以同時在這兩者中完成?
我們還實施了輸入對映練習,旨在深入瞭解應用中執行的操作及其相應的頻率。這一過程可以簡單描述為執行以下步驟:
列出所有已知操作,並按優先順序對它們進行排列。
寫下每個操作執行的頻率。
確定互動的型別。
隨著複雜程度增加,我們不得不提高原型保真度。通過使用“思維導圖”檢視,我們可以更好地瞭解重疊的輸入以及如何進行相應的調整。對於諸如Magic LeapOne控制器之類的輸入裝置(其中的輸入數量可能受到限制),這種瞭解變得越來越重要。通過要求特定操作必須具有懸停狀態,我們能夠分配輸入,同時避免衝突。對於一般操作,我們決定使用緩衝鍵呼叫上下文選單,並通過主螢幕點選操作來呼叫主選單主機板。另外,為了解決疲勞問題,我們避免了任何需要與觸控板結合來按壓扳機鍵或緩衝鍵的輸入操作。
移動裝置端快速迭代
我們使用Unity建立了3D模型、UI設計和控制器指令碼,旨在將設計快速引入到Magic Leap上。我們的目的是從互動原型的快速迭代中獲得反饋,無需關注如何在流程早期編寫完美的程式碼。除了構建自己的原型外,我們還從更廣泛的混合現實社群開發的許多應用中受到了啟發,我們經常參考這些應用來表達特定互動行為。
大多數互動依賴於“幻數”,例如時間、閾值和距離。構建原型後的第一步是調整這些值,使之符合我們對於互動所期望的感覺。在Unity電腦客戶端中,我們可以在執行模式(Play Mode)下調整值,但我們也希望能夠在執行時構建版本中調整值。為了解決這個問題,我們在應用中構建了一個可重用的簡單設定選單。任何原型指令碼都可以使用一行程式碼來新增值的滑動條或核取方塊,用於調整這些幻數。
下一步是獲取反饋並進行迭代。以下是在其他人測試互動時發現的一些有用訣竅:
開始時儘量少說。如果確實有必要,您可以告訴使用者他們應該嘗試做什麼,還可以簡單解釋如何操作。請記住,使用者使用軟體時 (進行答疑),因此您需要觀察他們在受您影響的情況下如何互動。
您需要找到哪些設計致使使用者困惑、煩躁亦或是驚訝,然後再詢問使用者他們的預期(相對於實際發生了什麼)。
如果使用者在解釋自己的反饋時遇到困難,您可以線上對映或記錄下頭戴裝置的鏡頭捕獲檢視,以便使用者可以演示並指向虛擬物件。
互動介面的比例關係
虛擬物件的比例在現實世界中很難測量,並應該自適應使用者的觀看距離。我們不能將真實比例用作唯一參考,因為由於立體視覺和其他深度線索(例如射線的平移運動),使用者只會覺得互動介面的物理尺寸比實際更大。如果使用者閉上一隻眼睛或在沒有任何其他參考背景的情況下看互動介面,那麼他們將無法分辨出它的尺寸和距離。
我們使用了由Google Daydream團隊為虛擬現實設計開發的距離無關毫米系統(DMM系統)。我們的想法是按比例縮放距離和尺寸。例如,1dmm可以表示放在1米外的1*1mm按鈕的尺寸,也可以表示放在3米外的3*3mm按鈕的尺寸。Google使用dmm系統提供了一組建議的字型和最小的射線投射可點選區域尺寸,例如最小字型為20dmm,最小射線投射可點選區域尺寸為64dmm(包括16dmm填充尺寸)。
但是,當我們使用Magic Leap測試Google建議的尺寸時,我們覺得太大了,因此最終將尺寸又縮小了一些。這可能是因為與Daydream較大的視場角和3自由度手柄相比,Magic Leap的視場角和6自由度手柄更小。與距離成比例縮放時,互動介面將以相同的畫素大小進行渲染,並覆蓋相同的射線投射角度區域,但我們注意到它給人的感覺非常不同。我們很想知道其他同行是否有類似的發現。
視覺設計
此配套應用的空間互動介面設計的核心概念是使用光作為材質。光線和陰影的分層有助於建立更多的觸覺體驗,能夠在實景增強頭戴裝置中增強使用者的深度知覺。最後,只有通過其他材質和表面對光進行具象化,才能感知到光。配套應用中的所有空間互動介面元素都被視為類似於物理結構,並仔細考慮了光源與光平面之間的關係。
採用負陰影技術可以建立此效果。實景增強頭戴裝置使用基於混光的加法顏色空間。黑色以透明形式渲染(因為沒有光線)。位於其他虛擬物件前面的黑色物件將充當遮罩。為了產生陰影視覺效果,必須用光圍繞著較暗的陰影區域。人類的感知系統嚴重依賴於陰影提供的線索來推斷3D物件的運動和深度。如果為這些裝置構建的實景增強應用忽略了合併陰影,則意味著使用者將喪失重要的深度線索。
提供給使用者的深度線索:按鈕懸停陰影(上)和帶紋理的清晰度遮罩(下)
除陰影外,紋理的使用還為使用者提供了線索來了解物件的比例和相對位置。色彩斷層是在基於混光的頭戴裝置中處理顏色時的一個問題,當使用高對比度漸變效果時,經常會出現此問題。鑑於這樣的限制,我們決定將紋理的使用納入到空間互動介面元素的設計中,這不僅是為了擴充套件可用於漸變效果的顏色範圍,也是另一種在創作過程中提高深度知覺的方法。
選單主機板(左)和上下文選單(右)的帶有影象噪聲的靜態陰影紋理對映
空間互動介面元素與光源之間的關係旨在突出介面的潛在行為。這些視覺(以及音訊和物理)形式有助於傳達可見性或向使用者提供輸入反饋。就像在我們日常的空間中一樣,強光可以營造視覺吸引力並突出空間中的物體或特定特徵。通過借鑑現實世界中的這些表現,我們在光源與空間互動介面元素之間建立了各種關係,用於模擬嵌入式和凹入式光照條件。
空間互動介面元素的輸入反饋視覺/運動研究
未來展望
我們一直在尋找和改善新的設計流程。希望這篇文章中分享的心得對您的空間性設計有所幫助;隨時歡迎您來和我們分享自己的心得。對於開發者社群,知識共享至關重要,讓我們一起探索新的方法,將不可能變為可能。
如果您有興趣在自己的專案中使用火星計劃的Magic Leap配套應用,請點選下方連結(或掃碼)參加這個簡單調查,幫助我們更好地瞭解您的需求。我們期待著您的反饋。
https://unitysoftware.co1.qualtr ... /SV_85KJMYAAiShg4zb
作者:Unity Labs
來源:Unity官方平臺
原地址:https://mp.weixin.qq.com/s/5BKTlzEvDQobPFs9ngRYvg
相關文章
- 程式設計心得程式設計
- 反派角色的設計心得
- 實驗設計(DOE)學習心得
- 密碼學課程設計 - 混合密碼的實現密碼學
- Web應用隱形後門的設計與實現Web
- framebuffer應用程式設計實踐程式設計
- Hive:應用設計Hive
- 計算機程式設計心得總結計算機程式設計
- MIMX8MQ5CVAHZAB 設計用於滿足智慧裝置應用MQ
- 7月程式設計心得程式設計
- Linkedlist的應用場景:設計佇列、設計棧佇列
- 設計模式應用場景之Model設計中可以用到的設計模式設計模式
- 女性向設計中的“實用美”—《食物語》視覺包裝設計思路食物語視覺
- 碼農如何學設計 - Web UI 設計學習心得WebUI
- Unity應用架構設計(1)—— MVVM 模式的設計和實施(Part 2)Unity應用架構MVVM模式
- Unity應用架構設計(1)—— MVVM 模式的設計和實施(Part 1)Unity應用架構MVVM模式
- 蘋果計劃明年在印度開設iOS應用設計和開發加速器蘋果iOS
- 銀河惡魔城設計——鏡頭設計和美術設計
- Cobar SQL審計的設計與實現SQL
- CUDA 8的混合精度程式設計程式設計
- 畢業設計應用
- 簡單聊聊裝置指紋設計
- EMC傳動裝置設計說明
- 設計實現SAM--無伺服器應用模型伺服器模型
- Rust 程式設計,用 vector 實現棧Rust程式設計
- 設計、開發一個 Flutter Plugin 的實踐心得FlutterPlugin
- [譯] 設計 QA 在應用程式設計中的重要性程式設計
- Titan 的設計與實現
- LFU 的設計與實現
- 應用架構圖的設計應用架構
- 無人機在火星升空!程式設計師應該感到自豪的日子無人機程式設計師
- [Hook] 跨程式 Binder設計與實現 - 設計篇Hook
- 設計模式 | 裝飾者模式及典型應用設計模式
- 實驗7 檔案應用程式設計程式設計
- 從設計到歸因 - AB Test 實戰心得
- Redis設計與實現Redis
- 《redis設計與實現》Redis
- Java程式設計——伺服器設計方案之應用限流Java程式設計伺服器