Oculus Story Studio 講解 VR 中的場景定位:怎樣讓玩家感受虛實合一?
日前,Oculus公司旗下Story Studio(故事工作室)的場景設計師John Ballantyne發表博文,講述了他們面對定位追蹤的VR體驗,要將虛擬環境與真實世界同步時,虛擬場景設計所遇到的困難與挑戰,並且提到他們的解決辦法。全文內容可參考以下。
Story Studio面臨最大的挑戰是,如何在定位追蹤的VR體驗中設計無縫體驗。定位追蹤是關鍵,而且特別重要,甚至是Rift的體驗精髓之所在。通過定位追蹤系統,你在真實世界的動作,可被還原到VR的虛擬體驗中,從而形成極強的沉浸感。它將用户真實身體與虛擬世界直接相連,以獲得更多本能反應和意猶未盡的體驗。
然而,對體驗設計師來説,定位追蹤也讓我進一步失去對鏡頭的控制,其程度甚至超過了我們對電子遊戲中鏡頭的控制。在現實世界中,你想到哪兒,就能到哪兒,而動作被映射到虛擬世界後,虛擬建模下可以容易地移動你的位置。不過,具體説明前,可以先回顧下Oculsu Rift的定位追蹤系統。
Oculus Rift的定位追蹤原理
雷鋒網(搜索“雷鋒網”公眾號關注)曾發文《HTC vive、Oculus rift、PS VR,三大頭顯都是如何做定位的?|深度》。文中詳細講述了三大頭顯的定位原理,並做了比較。其中Oculus的頭盔上隱藏着一些的紅外燈(標記點),這些紅外燈會發射紅外線,這時與頭盔配套的兩台外部攝像頭便能實時探測到這些紅外線。追蹤系統使用探測到的紅外線數據,以確定你與攝像頭的相對位置。而攝像頭的位置和現實空間的佈局決定了你可被追蹤的區域。
不同於追蹤區域,你與攝像頭的相對位置就是VR體驗設置中,你可被追蹤的實際空間。這個空間可大於追蹤區域(理想情況下)或比追蹤區域小一些(特別情況下)。可供體驗的空間則會影響虛擬世界的界限範圍,以及牆、沙發等等。
目前,我們堅持1:1的真實和虛擬人物對應移動。但也可以使用其他方式操作虛擬人物移動,如遊戲手柄移動,或命令控制瞬間移動,這些可能比較方便些。
儘管,我們已經看到許多相當不錯的方式,在VR中實現位置移動。但我們多數的敏感成員們依舊感到不舒服,或者説追蹤系統減弱了體驗中的臨在感。而這個部分則需要在VR中積極探索。
開始一項體驗
當體驗開始時,你在虛擬世界中所處的位置是哪裏?顯然,該問題比我們想的有趣得多。更沒有料到,一個簡單的方案竟然花費了數週時間。
而這在電影或遊戲中,根本不能稱之為問題。通常的做法是,首先確定電影或遊戲中的地點,讓你進入到我們構建的世界,然後,把你放在那裏。我們尋找一個搭建良好的場景,給你足夠的背景環境來理解,這是個什麼樣的體驗,或這是怎樣的世界。但我們希望在具有定位追蹤的VR體驗中,能夠實現同樣的事情,不過,實踐起來卻稍有些難度。
為了便於理解這個難題,以及它對VR定位追蹤的意義所在,可以先來看看我們先前所做的各種嘗試。
找到你的追蹤中心點
在你的世界,你要設計一個點作為你抵達的地方,然後體驗開始。從概念上説,一般情況下我們知道,想要你去的地兒,以及想要你面對的方向。所以,就把你準確地放在那裏。概念上確實是這樣,但結果,能否成功地進行定位追蹤,這與你和追蹤區域中心的遠近息息相關。
下圖中,點狀線代表着追蹤區域的範圍,實線代表你虛擬空間的範圍。藍色圈則是你與這兩塊區域的相對位置。
圖1:在定位追蹤系的VR體驗中,只有用户(藍色圓圈)站在追蹤區域的中心,才能到虛擬房間中,需要去的位置。
在理想情況下(如上圖),體驗一開始,你站在追蹤區域的中心點。你能以同等距離向各個方向移動,直到“撞上”追蹤區域的邊緣,從而無法在虛擬空間中移動。你將擁有最大限度的自由,去探索所處的虛擬空間。
而在壞的情況下(如下圖),一開始體驗,你站在追蹤區域的中心點。但受到實際追蹤情況的限制,你只能從那些邊界移開。在此時,你受到限制,只能在75%的虛擬空間中走動。進一步説,大部分的追蹤區域會映射到虛擬世界中,然而你可能無法到達“本應追蹤的區域”。
圖2:壞的情況是,不關心用户真實世界的位置,只將他們放在虛擬房間。而如果他們位於追蹤區域的中心,多數範圍的虛擬空間是無法抵達的。
實現虛擬與現實1:1同步
為矯正上述的問題,我們要盡力在追蹤範圍內,將虛擬和現實空間實現同步。這或許能避免你能去的或想去的地方,與實際追蹤範圍內你能去的地方之間,出現不匹配的尷尬。
其實,這點很容易完成。Unreal Engine和和Unity均帶有默認功能。Oculus SDK的報告能顯示追蹤區域中心的偏值。如果你確認攝像頭會一直放在距離“出生點”(Spawn Point)相同偏值的位置,虛擬和現實空間便會實現同步。從追蹤區中心獲得的偏值,會與你完美開始的位置偏值相一致。
這時,不管你站在追蹤區域的哪個位置,你都能以同樣的機會探索虛擬空間(如下圖所示)。每個位置探索虛擬世界的中心點與你體驗時的出生點密切相關。在所有方向上,你探索虛擬世界的空間範圍均等。
圖3:如果追蹤區域與虛擬空間實現同步,所有抵達你設計的虛擬房間的用户將會完全進入這個空間。然而,虛擬圖像定位的問題卻還沒解決。
該方法修正了我們設置場景時,無法到達某些虛擬區域的問題,但仍有兩處重要功能我們還未掌握,也是VR體驗必不可少的:定位和注視方向。為解決追蹤問題,我們無法控制圖像定位。顯然,實際情況還要更糟一些。
我們設計的體驗具有很多遊戲邏輯機制,以及虛擬建模。新的解決方案使用户可能在遊戲機制內,或虛擬建模內抵達VR體驗場景(如下圖)。
圖4:在更多特殊環境下,虛擬空間與追蹤區域的同步要複雜的多,因為虛擬房間並不是空無一物。 傷心臉的用户可能走到了虛擬建模內,或是遊戲機制部分(彩色區域)。
假如追蹤區域足夠大,或是VR體驗時到達的空間與追蹤區域相比,要小一些,你甚至可以將出生點設置在體驗外部。
在VR中指引用户
為了處理圖像定位,並保證虛擬空間與追蹤區域間的同步,我們給體驗增加了前廳(antechamber)。前廳的目的是指引你,走到某個位置,獲得實際體驗的有效定位方式。
理論上來看,我們設計的前廳很簡單。進入VR後,你所處的環境絕大部分是空房間。房間一片漆黑,但有一小束聚光燈照在地面上,照出一片小圓圈。靠近聚光燈處有一個講台,要是距離講台稍遠些,則會顯現“到這來”(Come Here)的字樣。你一走過去,或者説你開始走近,又會出現“看這裏”(Look Here)。當你走的足夠近,並看向講台時,畫面漸漸消失,我們將你傳送到第一個主要VR體驗房間。
這裏我們採用的技巧是,傳送點所在的位置與理想的出生定位點相吻合。一旦移動到傳送點處,向下看它,你便幾乎準確地處於出生點,並面對一個已知的方向。在該點上將你轉移到體驗的第一關足夠安全,因為我們準確地了解,你在追蹤區域內所處的位置,同時我們相信,你處於最佳的位置,並在良好的定位下,開始體驗之旅(如下圖)。
圖5:如果我們把用户與虛擬建模部分(講台)在一個校準房間內,實現同步(左),即可確定,用户體驗時將以恰當的取景定位到達(右)
設計場景指引的小技巧
在一個體驗中,不同環境之間來回轉換,會出現相同的問題,就像最初的用户出生點:無法進入遊戲空間,建模內到達出現問題,或是較差的圖像定位。而以上的處理方法,可被更廣泛地用來確保虛擬房間之間,效果良好的場景轉換。
比如,先確保,隨後進入的房間是在追蹤區域內,你可以放置像傳送點一樣的觸發器,以控制玩家的定位,該觸發器也許是傳送門,將你轉移到下一級體驗。
圖6:“傳送點”不必與追蹤區中心同步。如果我們想讓用户到達一個具體的位置(右邊),我們可以在先前房間中同樣的位置,放置一個傳送點。
在其他情況下,也有可能使用“隱形”傳送點。有時候為了緊鄰的關卡處於良好的位置,某個關卡中的虛擬建模會限制你。
圖7:除了具體明確的校準建模,通過考慮“毗鄰”房間內如何設計場景,我們可以控制用户的定位。
有趣的是,在這種限制情況下,我們發現VR體驗內的場景設置相互影響。某個房間的佈局將約束下一個房間可能形成的佈局,反之亦然。不得不説,在VR中控制玩家的定位,就像在電影中控制觀眾的視線。
我們討論了很多在虛擬現實中將人們傳送到其他環境的話題。但謹記,儘管人們的視線和臨在感可能在虛擬現實中,身體卻完好無損地處於現實世界。而我們追尋的真理則是,將帶有定位追蹤的VR體驗與真實世界密切聯繫起來的,到底是什麼。
對於真實世界如何影響體驗設計,我們遇到了很多類似的挑戰。舉例來説,當在一個劇場舞台上進行場景設計時,對佈局層面的思考會很有幫助。在劇院環境中,我們需要明白“演員”將出現在哪裏,或是説“演員”應該站在哪裏,這樣會使我們設計場景轉換時,更為自然。作為VR場景設計師,我們的工作便是思考,真實世界的限制如何影響我們的遊戲空間。
資料來源:雷鋒網
作者/編輯:田苗
Story Studio面臨最大的挑戰是,如何在定位追蹤的VR體驗中設計無縫體驗。定位追蹤是關鍵,而且特別重要,甚至是Rift的體驗精髓之所在。通過定位追蹤系統,你在真實世界的動作,可被還原到VR的虛擬體驗中,從而形成極強的沉浸感。它將用户真實身體與虛擬世界直接相連,以獲得更多本能反應和意猶未盡的體驗。
然而,對體驗設計師來説,定位追蹤也讓我進一步失去對鏡頭的控制,其程度甚至超過了我們對電子遊戲中鏡頭的控制。在現實世界中,你想到哪兒,就能到哪兒,而動作被映射到虛擬世界後,虛擬建模下可以容易地移動你的位置。不過,具體説明前,可以先回顧下Oculsu Rift的定位追蹤系統。
Oculus Rift的定位追蹤原理
雷鋒網(搜索“雷鋒網”公眾號關注)曾發文《HTC vive、Oculus rift、PS VR,三大頭顯都是如何做定位的?|深度》。文中詳細講述了三大頭顯的定位原理,並做了比較。其中Oculus的頭盔上隱藏着一些的紅外燈(標記點),這些紅外燈會發射紅外線,這時與頭盔配套的兩台外部攝像頭便能實時探測到這些紅外線。追蹤系統使用探測到的紅外線數據,以確定你與攝像頭的相對位置。而攝像頭的位置和現實空間的佈局決定了你可被追蹤的區域。
不同於追蹤區域,你與攝像頭的相對位置就是VR體驗設置中,你可被追蹤的實際空間。這個空間可大於追蹤區域(理想情況下)或比追蹤區域小一些(特別情況下)。可供體驗的空間則會影響虛擬世界的界限範圍,以及牆、沙發等等。
目前,我們堅持1:1的真實和虛擬人物對應移動。但也可以使用其他方式操作虛擬人物移動,如遊戲手柄移動,或命令控制瞬間移動,這些可能比較方便些。
儘管,我們已經看到許多相當不錯的方式,在VR中實現位置移動。但我們多數的敏感成員們依舊感到不舒服,或者説追蹤系統減弱了體驗中的臨在感。而這個部分則需要在VR中積極探索。
開始一項體驗
當體驗開始時,你在虛擬世界中所處的位置是哪裏?顯然,該問題比我們想的有趣得多。更沒有料到,一個簡單的方案竟然花費了數週時間。
而這在電影或遊戲中,根本不能稱之為問題。通常的做法是,首先確定電影或遊戲中的地點,讓你進入到我們構建的世界,然後,把你放在那裏。我們尋找一個搭建良好的場景,給你足夠的背景環境來理解,這是個什麼樣的體驗,或這是怎樣的世界。但我們希望在具有定位追蹤的VR體驗中,能夠實現同樣的事情,不過,實踐起來卻稍有些難度。
為了便於理解這個難題,以及它對VR定位追蹤的意義所在,可以先來看看我們先前所做的各種嘗試。
找到你的追蹤中心點
在你的世界,你要設計一個點作為你抵達的地方,然後體驗開始。從概念上説,一般情況下我們知道,想要你去的地兒,以及想要你面對的方向。所以,就把你準確地放在那裏。概念上確實是這樣,但結果,能否成功地進行定位追蹤,這與你和追蹤區域中心的遠近息息相關。
下圖中,點狀線代表着追蹤區域的範圍,實線代表你虛擬空間的範圍。藍色圈則是你與這兩塊區域的相對位置。
圖1:在定位追蹤系的VR體驗中,只有用户(藍色圓圈)站在追蹤區域的中心,才能到虛擬房間中,需要去的位置。
在理想情況下(如上圖),體驗一開始,你站在追蹤區域的中心點。你能以同等距離向各個方向移動,直到“撞上”追蹤區域的邊緣,從而無法在虛擬空間中移動。你將擁有最大限度的自由,去探索所處的虛擬空間。
而在壞的情況下(如下圖),一開始體驗,你站在追蹤區域的中心點。但受到實際追蹤情況的限制,你只能從那些邊界移開。在此時,你受到限制,只能在75%的虛擬空間中走動。進一步説,大部分的追蹤區域會映射到虛擬世界中,然而你可能無法到達“本應追蹤的區域”。
圖2:壞的情況是,不關心用户真實世界的位置,只將他們放在虛擬房間。而如果他們位於追蹤區域的中心,多數範圍的虛擬空間是無法抵達的。
實現虛擬與現實1:1同步
為矯正上述的問題,我們要盡力在追蹤範圍內,將虛擬和現實空間實現同步。這或許能避免你能去的或想去的地方,與實際追蹤範圍內你能去的地方之間,出現不匹配的尷尬。
其實,這點很容易完成。Unreal Engine和和Unity均帶有默認功能。Oculus SDK的報告能顯示追蹤區域中心的偏值。如果你確認攝像頭會一直放在距離“出生點”(Spawn Point)相同偏值的位置,虛擬和現實空間便會實現同步。從追蹤區中心獲得的偏值,會與你完美開始的位置偏值相一致。
這時,不管你站在追蹤區域的哪個位置,你都能以同樣的機會探索虛擬空間(如下圖所示)。每個位置探索虛擬世界的中心點與你體驗時的出生點密切相關。在所有方向上,你探索虛擬世界的空間範圍均等。
圖3:如果追蹤區域與虛擬空間實現同步,所有抵達你設計的虛擬房間的用户將會完全進入這個空間。然而,虛擬圖像定位的問題卻還沒解決。
該方法修正了我們設置場景時,無法到達某些虛擬區域的問題,但仍有兩處重要功能我們還未掌握,也是VR體驗必不可少的:定位和注視方向。為解決追蹤問題,我們無法控制圖像定位。顯然,實際情況還要更糟一些。
我們設計的體驗具有很多遊戲邏輯機制,以及虛擬建模。新的解決方案使用户可能在遊戲機制內,或虛擬建模內抵達VR體驗場景(如下圖)。
圖4:在更多特殊環境下,虛擬空間與追蹤區域的同步要複雜的多,因為虛擬房間並不是空無一物。 傷心臉的用户可能走到了虛擬建模內,或是遊戲機制部分(彩色區域)。
假如追蹤區域足夠大,或是VR體驗時到達的空間與追蹤區域相比,要小一些,你甚至可以將出生點設置在體驗外部。
在VR中指引用户
為了處理圖像定位,並保證虛擬空間與追蹤區域間的同步,我們給體驗增加了前廳(antechamber)。前廳的目的是指引你,走到某個位置,獲得實際體驗的有效定位方式。
理論上來看,我們設計的前廳很簡單。進入VR後,你所處的環境絕大部分是空房間。房間一片漆黑,但有一小束聚光燈照在地面上,照出一片小圓圈。靠近聚光燈處有一個講台,要是距離講台稍遠些,則會顯現“到這來”(Come Here)的字樣。你一走過去,或者説你開始走近,又會出現“看這裏”(Look Here)。當你走的足夠近,並看向講台時,畫面漸漸消失,我們將你傳送到第一個主要VR體驗房間。
這裏我們採用的技巧是,傳送點所在的位置與理想的出生定位點相吻合。一旦移動到傳送點處,向下看它,你便幾乎準確地處於出生點,並面對一個已知的方向。在該點上將你轉移到體驗的第一關足夠安全,因為我們準確地了解,你在追蹤區域內所處的位置,同時我們相信,你處於最佳的位置,並在良好的定位下,開始體驗之旅(如下圖)。
圖5:如果我們把用户與虛擬建模部分(講台)在一個校準房間內,實現同步(左),即可確定,用户體驗時將以恰當的取景定位到達(右)
設計場景指引的小技巧
在一個體驗中,不同環境之間來回轉換,會出現相同的問題,就像最初的用户出生點:無法進入遊戲空間,建模內到達出現問題,或是較差的圖像定位。而以上的處理方法,可被更廣泛地用來確保虛擬房間之間,效果良好的場景轉換。
比如,先確保,隨後進入的房間是在追蹤區域內,你可以放置像傳送點一樣的觸發器,以控制玩家的定位,該觸發器也許是傳送門,將你轉移到下一級體驗。
圖6:“傳送點”不必與追蹤區中心同步。如果我們想讓用户到達一個具體的位置(右邊),我們可以在先前房間中同樣的位置,放置一個傳送點。
在其他情況下,也有可能使用“隱形”傳送點。有時候為了緊鄰的關卡處於良好的位置,某個關卡中的虛擬建模會限制你。
圖7:除了具體明確的校準建模,通過考慮“毗鄰”房間內如何設計場景,我們可以控制用户的定位。
有趣的是,在這種限制情況下,我們發現VR體驗內的場景設置相互影響。某個房間的佈局將約束下一個房間可能形成的佈局,反之亦然。不得不説,在VR中控制玩家的定位,就像在電影中控制觀眾的視線。
我們討論了很多在虛擬現實中將人們傳送到其他環境的話題。但謹記,儘管人們的視線和臨在感可能在虛擬現實中,身體卻完好無損地處於現實世界。而我們追尋的真理則是,將帶有定位追蹤的VR體驗與真實世界密切聯繫起來的,到底是什麼。
對於真實世界如何影響體驗設計,我們遇到了很多類似的挑戰。舉例來説,當在一個劇場舞台上進行場景設計時,對佈局層面的思考會很有幫助。在劇院環境中,我們需要明白“演員”將出現在哪裏,或是説“演員”應該站在哪裏,這樣會使我們設計場景轉換時,更為自然。作為VR場景設計師,我們的工作便是思考,真實世界的限制如何影響我們的遊戲空間。
資料來源:雷鋒網
作者/編輯:田苗