如何設計一款人見人愛的HoloLens APP
自HoloLens問世以來,市面上已經出現了一大批「琳琅滿目」用於其開發的APP,但如何才能設計出一個優秀的HoloLens APP呢?接下來,我們將從設計和技術這兩大維度簡單地說一說。
設計的邏輯
開發者在設計之初,首先需要明確的就是APP今後的適用環境及具體用途,能夠為使用者帶來一定的「附加值」;其次,開發者要充分考慮到程序內一些設定的操作手勢是否能夠與符合使用者的肢體習慣,用戶能夠以一種比較自然、輕鬆的方式對HoloLens進行操作。
基於真實世界的混合現實畫面表現
我們認為,一個優秀的APP是可以在原來產品的基礎上為其發展一定的「附加值」,而要想真正在真實世界中產生額外的價值,就必須在真實世界的基礎上添加「有用」的信息,將虛擬世界有效的與現實世界進行結合。
比如,在一個家裝案例的場景中,家裝設計師可以通過建立虛擬世界,將傳統的設計方案直接呈現在真實的房間之中,使設計師直觀看到家裝後的最終效果,來驗證自己的設計是否合理。
便於用戶操作的交互動作
在微軟MRPP的培訓中,有一項啟發開發者進行設計的重要方法就是「Body Storming」,這個有點類似於「Brain Storming」,在「Body Storming」中,開發者們集思廣益,從使用者的角度出發,探索、挖掘用戶在使用時的一些手勢、身體姿勢等,如何才能使用戶以較為舒適的動作去操作HoloLens,這些姿勢、動作要怎樣融入HoloLens APP的操作動作中,這些都是考量優秀的APP的重要條件之一。一個優秀APP最終是可以達成一種自然的交互狀態。
混合現實(MR)的一系列設備從設計之初就從功能出發,緊密結合真實世界的特性也就決定了其在生產、生活中的現實性,這也就是為什麼混合現實不僅可以在娛樂行業大展身手,也可以有效用於生產、生活,只有通過了解真實世界、與真實世界發生交互,才可以真正在使用中提高工作效率。
技術考量
首先,為使全息物體穩定在真實空間,APP開發者需要在虛擬世界中準確地建立空間錨(World Anchor),有關空間錨的相關背景知識可以查閱相關的歷史文章《再談World Anchor 與 Spatial Mapping》。空間錨應該設置在用戶視線最集中的點,這樣才能夠保證整個混合現實中的全息物體的穩定。此外,對於一些比較重要的全息物體,它們的穩定性需要特別保障,這是我們就可以通過添加穩定平面(Stabilization Plane)[1],使這些物體穩定地保持在相對位置。值得注意是,開發者們可以依照物品的重要程度,靈活地為全息物體添加穩定平面來提升其穩定性。
提升畫面的流暢性
要使畫面具備較優的流暢度,幀速(FPS)應保持在60FPS左右。以60FPS渲染時,能夠最大程度上減少渲染後的畫面和用戶看到的畫面之間的時差。但如果是低於30FPS渲染時,用戶就會看到兩次相同的畫面,並且兩次畫面之間有著16.6ms的延遲,引發畫面抖動等問題,嚴重影響到使用者的視覺體驗,甚至會無法正常使用。
為此,開發者需要努力去優化程序和美術表現,充分利用HoloLens的每一分性能,在絢麗的畫面和流暢的幀速之間取得平衡。
用戶體驗很大程度上會受到虛擬世界中全息物體的真實感的影響,影響真實感的因素很多,模型的面數、使用的材質、環境燈光布置等等都會影響真實感。而其中模型面數可能是最直接的因素,面數越多,虛擬物品也就顯得越發的真實。
在使用HoloLens觀看這些高面數物體時,由於像HoloLens這樣的移動設備的處理能力有限,物體面數過高往往會佔用太多效能,甚至完全無法運行,因此需要適當減面來使物體的真實性不受影響。這裡為開發者們推薦一款優化減面的神器——Simplygon,它具備強大的自動減面功能,快速生成與HoloLens所匹配的高質量畫面,掃除開發中的難點與障礙。當然,模型面數越高,使用Simplygon[2] 的效果越好,如果模型本身面數已經不算太高,再減面出來的效果,恐怕就不堪入目了。關於Simplygon最新訊息,可以參考我們上周發布的文章《支持CAD格式3D優化,Simplygon給混合現實開發減減負》。
最後,當你具備以上的思考之後,就離開發一款優秀的HoloLens APP更進了一步。也歡迎大家對HoloLensAPP的開發提出自己的建議與觀點,聚集各方智慧,幫助HoloLens 開發更進一步!
附錄:
[1] 穩定面Stabilization Plane的使用目的是使穩定性最大化,當虛擬場景中所有的全息物體都處於相同的穩定狀態下時,被設定穩定平面的物體可以得到最大程度的穩定性;
[2] Simplygon官方下載地址:https://www.simplygon.com/ ;
TAG:微軟HoloLens |