VR最佳實踐:Oculus設計指南(上)


VR最佳實踐:Oculus設計指南(上)


VR最佳實踐:Oculus設計指南(上)


VR最佳實踐:Oculus設計指南(上)



| 本指南將指導您創作出出色的VR內容/體驗。


VR最佳實踐:Oculus設計指南(上)


VR很棒。

VR給人創造出一種 完全穿越到虛擬(或者你也可以說是“真實的”只不過是用數字技術再現)的三維世界的感覺,打開了一個充滿可能性的世界。VR提供了一種內在而身臨其境的體驗,這是傳統基於屏幕的媒介所無法提供的。本指南將幫助您開發受用戶喜愛的VR體驗。

本指南幫助您知道如何為用戶帶來最佳可行的VR體驗。我們會就如何提供舒適的體驗提出一些具體的建議;不過,VR仍是一種年輕的媒介,所有開發人員都有責任確保其內容符合所有安全和舒適的標準和行業裡的最佳實踐,並與科學研究和行業標準保持同步。

本指南中的建議是設計舒適遊戲或應用程序的起點。 您的應用程序可能與本指南中確定的最佳實踐有不同的要求。本指南不提供關於性能優化或技術開發的建議。有關優化應用程序的信息,請參閱“測試和故障排除>”和“Rift優化應用程序>”指南。

VR的某些方面還沒有得到足夠的研究,無法就如何為所有用戶提供舒適的體驗做出明確的陳述。僅遵循本指南中的建議並不能保證舒適或愉快的體驗。因此,進行迭代用戶測試至關重要。Oculus開發人員社區也期待您的反饋來幫助我們完善這些VR最佳實踐。


安全第一

如果你的VR體驗忽視了基本的最佳實踐,它們可能會導致某些人感到不適。這種不適可以會帶來眼睛疲勞、定向障礙或噁心的症狀,或是這些的組合。因此,遵循下文中的最佳實踐原則 非常重要。

某些類型的圖像能夠令一小部分人群引發光敏性癲癇發作。國際標準組織已發佈ISO 9241-391:2016>作為圖像內容的標準,以降低光敏性癲癇發作的風險。 您有責任審查光敏性癲癇發作和圖像安全性的標準和文獻,並設計符合這些標準的內容。

此外,不建議開發人員或用戶不間斷地過度使用VR(甚至設備也是)。請查看www.oculus.com/warnings 上的健康和安全警告。我們建議您查看所有健康和安全警告,因為它們可能會影響您內容的開發。


實驗,實驗,再實驗

本指南中的建議絕不是可被應用於所有app的唯一機制。我們鼓勵您嘗試不同的方法。也許您的app反倒會受益於我們所建議的對立面。唯一的方法就是實驗。



VR最佳實踐:Oculus設計指南(上)


控制時長、注意休息

允許用戶自己定義的使用持續時間。VR需要用戶在他們的頭上佩戴設備,並且經常站立和/或移動身體,這在其他顯示技術中不存在。 用戶應該始終可以自由地暫停遊戲,然後回到他們離開的確切位置。適時的休息建議(比如保存點或動作中斷)對於可能會忘記時間的用戶來說是一個很好的提醒。

將休息位置/姿態納入您的VR體驗,可以減少用戶長時間遊戲中可能感到的疲勞。


不適感 (discomfort)

用戶使用VR越多,他們感到不適的可能性就越小。這種習得的舒適感是大腦學習去重新解釋先前引起不適的視覺異常的結果。並且用戶動作變得更加穩定和有效以減少vection(相對運動錯覺)(我們將在本指南的“Locomotion”章節更詳細地討論vection)。


優化你的 app,讓加載速度更快

在 VR 中,加載頁面 或 插播式加載 是不可避免的。但應該使用戶經歷儘量少的加載次數。

與傳統的遊戲或應用不同:在等待加載時,用戶可以做一些其他的事,比如玩玩手機或喝杯水。在 VR 中,用戶是被你的加載頁面“俘虜”的。所以,當你不得不展現一個加載頁面時,我們推薦你使用一個3D立方體貼圖。這給在等待加載過程的用戶提供了一個比較好的體驗,同時開發量比較小。



VR最佳實踐:Oculus設計指南(上)




VR最佳實踐:Oculus設計指南(上)


在VR中,如果物體的深度不能被正確表達出來,體驗將大打折扣。立體視覺,即基於每隻眼睛的視差而得知的深度感覺,是最顯著的一種

深度線索,但它只是大腦處理深度信息的許多方式中的一種。

許多視覺深度線索單眼的;也就是說,即使只用一隻眼睛觀看它們,或者出現在平面圖像中,也同樣能傳達出深度感。其中一種這樣的深度線索是 運動視差,它指的是:在頭部運動時,不同距離上的物體的運動速率會不同。(*譯註:在相對位移的時候,近的物體看起來移動的快,遠的物體看起來運動的慢。)

其他深度線索包括:

  • · 曲線透視(直線延伸到遠方時會匯聚)
  • · 相對比例(物體的距離越遠顯得越小)
  • · 遮擋(近處的物體會阻擋我們看到遠處的物體)
  • · 空中透視(由於大氣的折射特性,遠處物體看起來比近處物體更暗)
  • · 紋理漸變(重複圖案在遠方時會變得更加密集)
  • · 光照(高光和陰影幫助我們感知物體的形狀和位置)


當前一代計算機生成的內容(例如在Unreal和Unity中創建的內容)利用了很多這些深度線索,但我們很容易忽略它們的重要性。 如果實施不當,導致了對深度的感知衝突,會使體驗變得不舒服或難以觀看。


VR最佳實踐:Oculus設計指南(上)


當眼睛專注於VR中的物體時,有兩個問題對於眼睛舒適度至關重要:調節反射輻輳反射調節反射指的是:你的眼睛如何調整晶狀體的形狀以對焦到某特定深度平面上。輻輳反射指的是:眼睛向內旋轉的程度,使兩個眼睛的視線在特定的深度平面處相交。在現實世界中,這兩者彼此密切相關。所以有所謂的調節-輻輳反射:你眼睛的聚散程度會影響晶狀體的調節,反之亦然。

對於調節反射和輻輳反射來說,VR創造了一種不同尋常的情況:調節反射是固定不變的,而輻輳反射會變化。這是由於:立體3D的圖像實際上始終呈現在(光學上的)固定距離的2D屏幕上,但是呈現給每隻眼睛的不同圖像仍然需要眼睛旋轉,因此它們的視線匯聚在不同深度平面上的不同物體上。

為了防止眼睛疲勞,用戶需要

長時間固定眼球觀看的物體(例如,菜單、環境中感興趣的物體)應該至少在0.5米的距離。許多人發現1米是菜單和GUI的舒適距離。

顯然,一個完整的虛擬場景也需要渲染一些在舒適區之外的物體。但只要用戶不需要長時間關注這些物體,那麼(對大多數人來說)它們就不會帶來不適感。

一些VR開發者發現,如果你知道用戶在看哪個對象,那麼景深效果可以同時帶來沉浸感和舒適感。 例如,用戶調出的菜單後,你可以手動模糊掉背後的背景;或者模糊掉在被觀看對象的深度平面之外的對象。這個方法不僅模擬了在現實世界中視覺的自然功能,還可以防止用戶被焦點外的明顯物體分散注意力。

你無法控制一個以不合理方式行事的用戶。一個用戶有可能選擇一整天都盯著(你想讓他看的)物體之外的地方。而你的職責只是避免可能導致不適感的情況出現。


VR最佳實踐:Oculus設計指南(上)



當達到一定距離時,人對深度的感知就不那麼敏感了。

· 很近的時候,立體視覺會讓你知道桌面上的兩個物體中哪一個更近,這種區別可以達到毫米級

· 當距離開始變遠時,這就變得困難了。比如,當你在公園看到遠處的兩棵樹,它們必須相距

幾米以上,才能讓你自信地說出哪一棵更近哪一棵更遠。

· 而在更大的尺度上,比如當對象是山脈時,你可能無法確定兩座山中哪個離你更近,除非它們達到數千米以上的差距。


利用這種對深度感知的相對不敏感性的原理,通過使用“假冒”的紋理圖案來替代全模型3D場景,達到釋放計算能力的目的。

· 例如,你可以簡單地將山丘的平面圖像渲染到左右眼圖像中的單個多邊形上,而不是渲染出整個3D遠山。這個圖像在VR中看起來與傳統的3D遊戲相同。

注意:這些替代圖像的有效性取決於所涉及對象的大小、內部和周圍的深度線索、以及它們出現的上下文環境。你需要對資源進行單獨測試,以確保替代圖像的外觀和感覺正確。替代圖像應該與相機足夠遠,以便可以不顯眼地融合在一起,並且保證真實3D場景和替代圖像之間的界面不會破壞沉浸感。



VR最佳實踐:Oculus設計指南(上)


視差/不同視角

在現實世界中,我們經常遇到每隻眼睛擁有不同視角的情況,一般來說這對我們來說都沒什麼問題。在 VR 中用一隻眼睛看,就像在現實生活中用一隻眼看一樣。事實上,眼睛的

不同視角可能是有益的:

· 假設你是一個特工(在現實生活中或VR中),你試圖隱藏在一片高高的草叢之後。你眼睛的不同視角可以使你“穿過”草叢來監視你周圍的環境,彷彿你面前沒有草一樣。相反,如果在2D視頻遊戲中進行相同操作,可能會使草叢後面的世界被完全遮擋。

儘管如此,VR(像任何其他有立體感的圖像一樣)也會引起一些不舒服的情況。 例如,渲染效果(例如光線失真,粒子效果或光照綻放)應始終在雙眼中展示並且具有正確的視差。不正確地渲染效果會產生“閃爍感”(當某些東西只出現在一隻眼睛中時),或導致(物體)漂在錯誤的深度上(如果關閉了視差,或者後處理效果沒有渲染到物體應該在的深度上)。

確保兩隻眼睛之間的圖像 除了雙眼視差固有的略微不同之外,沒有差別。

理解立體圖像 避免錯覺

在複雜的3D環境中,這通常不是問題,但一定要給用戶的大腦

足夠的信息 以將立體圖像融合在一起。通常情況下,利用3D場景的線條和邊界就足夠了。然而,當你使用大幅重複圖案或紋理時,需要非常謹慎,因為這可能導致人們以意料之外的方式去融合圖像。還要注意深度上的視錯覺(例如,凹臉錯覺>,凹面看起來會是凸的)會導致誤解,特別是在單眼深度線索稀疏的情況下。


VR最佳實踐:Oculus設計指南(上)


HUD(Head Up Display,平視顯示器)

我們不鼓勵使用傳統的HUD(*譯註:指綁定在camera上的信息界面)在VR中顯示信息。相反,最好將信息在虛擬環境或用戶化身中呈現出來。某些傳統HUD方式如果經過深思熟慮的重新設計,也可以有好效果。不過如果只將HUD從非VR遊戲移植到VR內容中,就會帶來新的問題:使 VR 遊戲變得不切實際甚至令人不適。

如果你選擇使用一些HUD元素,請注意以下問題:

  1. 不要用HUD遮擋場景。這在非立體遊戲中不是問題,因為用戶可以容易地設想HUD實際上在其他一切元素之前。在 VR 中,當場景中的元素比HUD的深度平面更接近用戶時,作為深度線索的雙眼視差(投射到每隻眼睛的圖像之間的微小差異)會帶來矛盾。基於遮擋,HUD被認為比場景元素更接近,因為它覆蓋了它背後的一切,但是雙眼視差表明HUD比它遮擋的場景元素更遠。當用戶試圖融合HUD和場景中的畫面時,就會變得困難並造成不適感。
  2. 不要在場景“後面”繪製任何元素。準星、字幕和其他“漂浮”類的UI元素都普遍遵循這條規則。這條規則也常見於,一個本該在牆後面(按其與camera的距離算)而事實上被繪製在牆的前面的物體,因為它以疊加來實現。這會帶來深度線索的衝突,可能會令人不適。


VR最佳實踐:Oculus設計指南(上)


相反,我們建議你將信息構建到環境中。用戶可以移動頭部以直觀的方式檢索信息。

· 例如,與其用HUD展示迷你地圖和指南針,不如讓玩家能向下瞥時看到一個實際地圖或指南針。也可以在玩家的虛擬手或手錶中,展示一些重要信息。

這並不是說現實主義是必須的——比如敵人的血槽可以浮在他們頭上。重要的是:以清晰舒適的方式呈現信息,同時不會干擾玩家感知到一個清晰的環境、或是他們試圖收集的信息。

定位準星是遊戲的常見元素,也是一個很好的範例來看看應該如何將傳統信息在VR中展示。準星對於準確瞄準來說非常重要,但如果簡單地將其貼在一個固定深度平面上,將不會是玩家在遊戲中所期望的。例如,如果將準星渲染在與眼睛會聚位置不同的深度上,會被視為重影。如果想使準星和在傳統遊戲中的相同,必須將其直接繪製到瞄準的對象上——假設這是用戶眼睛的會聚處。準星本身可以是固定尺寸的並有近大遠小的效果,或者也可以對其進行編程以保持看到的總是同一個尺寸——這點主要從美術角度決定。


VR最佳實踐:Oculus設計指南(上)



將重要的遊戲元素都放在用戶的直接(看到的)視線中。在用戶“沉浸線”之外顯示的UI或元素更有可能被遺漏。

參考鏈接:http://buildmedia.com/portfolio-items/what-are-survey-accurate-visual-simulations/

VR最佳實踐:Oculus設計指南(上)


你應該考慮用戶的高度,或用戶視點(POV)的高度,因為這可能是導致不適的一個因素。用戶的POV越低,地面的變化就看起來越快,產生更強烈的光流。這可能會產生令人不舒服的感覺,其原因與爬樓梯不舒服的原因相同:這樣會在視野中產生強烈的光流

在開發VR app時,你可以選擇將camera的原點放在地板上或人眼上(分別稱為“地板”和“眼睛”原點)。這兩種方式都有一定的優點和缺點。

· 以地板為原點:將使人們的視點與他們在現實生活中的地面處於同一高度。雖然說,將VR中視點高度與人在真實世界的高度統一,可以增加沉浸感。但是,你無法控制虛擬世界中人的身高。如果你想要渲染出一個虛擬身體,你需要為不同身高的人構建不同高度。

· 以人眼為原點:這意味著你可以在虛擬世界中控制用戶的高度。當你要渲染某特定高度的虛擬身體時,或當你需要提供與人們的真實體驗不同的視角時,這個方式非常有用(例如,你可以向人們展示從孩子的眼睛看世界的樣子)。然而,當使用視點作為原點時,你就不知道物理地板的位置了。這使得涉及到低位或從地面撿起東西的交互 變得複雜。由於你實際上並不知道用戶的身高,因此你可能希望在app的開頭添加重定位步驟,以準確記錄用戶的真實世界高度。

"


分享到:


相關文章: