虛擬實境中重定向行走的方法與流程
2023-06-02 02:36:36 2

本發明涉及虛擬實境技術領域,尤其涉及一種虛擬實境中重定向行走的方法。
背景技術:
虛擬實境:虛擬實境是一種可以創建和體驗虛擬世界的計算機仿真系統,它利用計算機生成一種模擬環境,是一種多信息融合的交互式的三維動態視景和實體行為的系統仿真,使用戶沉浸到該環境中。
傳統的虛擬實境設備把現實世界與虛擬世界一比一映射,導致人們不能很自然的遊覽大於實際世界尺寸的場景。雖然可以通過滑鼠,手柄等外設幫助人們在虛擬世界行走,但這樣用戶的沉浸感就是大打折扣,在虛擬實境的應用中是難於接受的。
目前技術虛擬實境有三種體驗方式:
1、完全無法行走的固定座椅方式
在這種方式中體驗者只能環視四周,而不能靠近感興趣的虛擬對象進行觀察或交互,如果需要切換場地,需要手柄等外設進行移動角色的操作,這種體驗完全失去了虛擬實境的沉浸感,體驗者始終明白自己是在操縱一部計算機,與普通電子遊戲幾乎沒有差別。
2、可以原地滑步的跑步機方式
在這種方式中體驗者需要站在一種類似跑步機的設備上,體驗者通過腳部的運動動作觸發傳感器,驅動虛擬世界的角色運動。這種方式在沉浸感上有一定的改善,但由於身體沒有真是的運動,沉浸感也是大打折扣的。
3、可以在小空間1:1行走的方式
這種方式體驗者在大約12平米的空間內行走,由於身體在真實的運動,沉浸感大大提升,但由於真實世界與虛擬世界的空間是1:1映射,所以虛擬空間也被限制在狹小空間內,導致體驗者無法暢遊宏大的虛擬世界。
技術實現要素:
本發明的實施例提供了一種虛擬實境中重定向行走的方法,以實現擴大用戶的虛擬世界的活動空間。
為了實現上述目的,本發明採取了如下技術方案。
一種虛擬實境中重定向行走的方法,包括:
通過位置傳感器獲取用戶在實際活動場地中的實際位置坐標;
獲取用戶在虛擬場景中的當前位置信息和預測位置信息;
根據預先存儲的實際活動場地的尺寸信息,所述實際位置坐標以及所述虛擬場景中的當前位置信息和預測位置信息,採用重定向行走算法計算出所述用戶在實際活動場地中的下一步的位置坐標;
根據所述下一步的位置坐標指導所述用戶在實際活動場地中進行重定向行走。
進一步地,所述通過位置傳感器獲取用戶在實際活動場地中的實際位置坐標,包括:
將位置傳感器安裝在用戶的身體部位上,所述位置傳感器通過定位系統獲取用戶在實際活動場地中的實際位置坐標,將所述實際位置坐標傳輸給重定向行走伺服器。
進一步地,所述的獲取用戶在虛擬場景中的當前位置信息和預測位置信息,包括:
重定向行走伺服器通過有線連接或者無線連接與虛擬實境系統中的伺服器連接,接收虛擬實境系統中的伺服器傳輸過來的用戶在虛擬實境系統中的虛擬場景中的當前位置信息和下一步的預測位置信息,該預測位置信息包括虛擬場景中的旋轉角度和行進距離。
進一步地,所述的根據預先存儲的實際活動場地的尺寸信息,所述實際位置坐標以及所述虛擬場景中的當前位置信息和預測位置信息,採用重定向行走算法計算出所述用戶在實際活動場地中的下一步的位置坐標,包括:
所述重定向行走伺服器根據預先存儲的實際活動場地的尺寸信息,實際活動場地中的當前實際位置坐標以及用戶在虛擬場景中的當前位置信息和下一步的預測位置信息,採用重定向行走算法進行動態坐標映射計算,該動態坐標映射計算依據一定的比率縮放虛擬場景中的旋轉角度和行進距離,得到用戶在實際活動場地中的下一步的位置坐標,該下一步的位置坐標包括實際活動場地中的旋轉角度和行進距離。
進一步地,所述的根據所述下一步的位置坐標指導所述用戶在實際活動場地中進行重定向行走,包括:
所述重定向行走伺服器根據所述實際位置坐標和所述下一步的位置坐標計算出所述用戶在實際活動場地中的行進路徑和旋轉角度,根據所述行進路徑、旋轉角度和實際活動場地所剩前進的空間,實時渲染出指導用戶進行下一步行走的場景,並在頭戴顯示器中顯示該場景,該場景包括指導用戶繼續向前行走的場景或者指導用戶轉彎行走的場景,從而指導所述用戶進行重定向行走。
進一步地,所述的方法還包括:
虛擬實境系統中的伺服器將用戶在虛擬場景中的當前位置信息和下一步的預測位置信息傳輸給虛擬實境系統中的渲染器,該渲染器根據位置調整的角度和幅度信息實時渲染畫面,將最新的虛擬場景畫面傳輸給用戶的頭戴顯示器進行顯示,用戶通過透鏡在頭戴顯示器上看到移動後的虛擬場景。
由上述本發明的實施例提供的技術方案可以看出,本發明實施例通過採用重定向行走算法實現虛擬世界路徑與真實世界路徑之間的映射,可以根據虛擬場景獲取用戶在實際活動場地中的行走路徑信息,可以引導用戶在虛擬世界中自由行走又不會超出現實世界的邊界,現實空間的尺寸不會限制用戶在虛擬空間行走的範圍,從而擴大了虛擬世界的活動空間,在合理成本範圍內實現了有限實際空間到虛擬無限空間的映射。
本發明附加的方面和優點將在下面的描述中部分給出,這些將從下面的描述中變得明顯,或通過本發明的實踐了解到。
附圖說明
為了更清楚地說明本發明實施例的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明實施例提供的一種虛擬實境中重定向行走的各個部件的分布位置示意圖;
圖2為本發明實施例提供的一種虛擬實境中重定向行走的方法的實現原理示意圖;
圖3為本發明實施例提供的一種虛擬實境中重定向行走的方法的處理流程圖;
圖4為本發明實施例提供的虛擬實境中重定向行走的方法的實際效果示意圖。
具體實施方式
下面詳細描述本發明的實施方式,所述實施方式的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施方式是示例性的,僅用於解釋本發明,而不能解釋為對本發明的限制。
本技術領域技術人員可以理解,除非特意聲明,這裡使用的單數形式「一」、「一個」、「所述」和「該」也可包括複數形式。應該進一步理解的是,本發明的說明書中使用的措辭「包括」是指存在所述特徵、整數、步驟、操作、元件和/或組件,但是並不排除存在或添加一個或多個其他特徵、整數、步驟、操作、元件、組件和/或它們的組。應該理解,當我們稱元件被「連接」或「耦接」到另一元件時,它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這裡使用的「連接」或「耦接」可以包括無線連接或耦接。這裡使用的措辭「和/或」包括一個或更多個相關聯的列出項的任一單元和全部組合。
本技術領域技術人員可以理解,除非另外定義,這裡使用的所有術語(包括技術術語和科學術語)具有與本發明所屬領域中的普通技術人員的一般理解相同的意義。還應該理解的是,諸如通用字典中定義的那些術語應該被理解為具有與現有技術的上下文中的意義一致的意義,並且除非像這裡一樣定義,不會用理想化或過於正式的含義來解釋。
為便於對本發明實施例的理解,下面將結合附圖以幾個具體實施例為例做進一步的解釋說明,且各個實施例並不構成對本發明實施例的限定。
近來也出現了基於室內空間定位的虛擬實境,可以滿足人們在虛擬世界自由行走,但是現實問題是虛擬世界往往場景比較宏大,人們感覺到自己在一個廣場、森林中,甚至感覺自己在一個陌生城市,陌生星球中,如果給出一個跟虛擬世界相同大小的場地供人們遊覽,不但成本昂貴,甚至往往不可能提供。
重定向行走:重定向行走是虛擬實境中,利用微小的視覺提示誘導人們相信自己正在遊覽一個巨大的區域,而實際上他一直在一個相對狹小的空間裡行走。
為了解決現實空間的尺寸限制了用戶在虛擬空間行走的範圍的問題,本發明實施例提供的一種虛擬實境中重定向行走的各個部件的分布位置示意圖如圖1所示,其中包含三個主要部件:頭戴顯示器,背包電腦,位置傳感器。
頭戴顯示器是虛擬實境的重要組成部分,佩戴在用戶頭上,包括:面向人眼顯示圖像的顯示屏、位於所述顯示屏和人眼之間的透鏡,圖像處理單元及慣性傳感器。
背包電腦作為重定向行走伺服器,是虛擬實境重定向行走的中心運算單元,可以放置在用戶後背上,和頭戴顯示器、位置傳感器電路連接,是路徑預測,坐標換算及圖像渲染等算法的運算單元。在實際應用中,重定向行走伺服器(背包電腦)也可以設置在其它位置。
位置傳感器是虛擬實境重定向行走必要組成部分,是重定向算法的輸入單元,正是由位置傳感器獲取了用戶在現實世界的實際的位置,重定向行走算法才可以根據虛擬世界地圖的需求生成虛擬坐標。位置傳感器可以設置在用戶的腳步、身體上等位置。
本發明實施例提供的一種虛擬實境中重定向行走的方法的實現原理示意圖如圖2所示,具體處理流程如圖3所示,包括如下的處理步驟:
步驟S310、位置傳感器獲取了用戶在現實世界的實際位置。
位置傳感器可以安裝在用戶的腳步、頭頂或者背包等身體部位上,位置傳感器通過定位系統來獲取用戶在實際活動場地中的當前位置坐標。上述定位系統的工作原理包括:在室內建築的至少一個平面上,鋪設多個所述電磁耦合器件,其中,每個所述電磁耦合器件記錄當前地理位置信息。由人體攜帶的位置傳感器檢測人體在當前運動過程中的方向角及位移數據。然後,位置傳感器在經過所述電磁耦合器件時,讀取所述電磁耦合器件中的數據,並通過協議翻譯,獲取記錄的地理位置信息。再根據所述方向角及位移數據、讀取的地理位置信息,對人體在室內建築中的位置進行定位,並將定位結果傳輸給重定向行走伺服器。
步驟S320、重定向行走伺服器獲取用戶在虛擬場景中的當前位置信息和下一步的預測位置信息。
重定向行走伺服器(背包電腦)通過有線連接或者無線連接與虛擬實境系統中的伺服器連接,接收虛擬實境系統中的伺服器傳輸過來的用戶在虛擬實境系統中的虛擬場景中的當前位置信息和下一步的預測位置信息,該預測位置信息包括虛擬場景中的旋轉角度和行進距離。
步驟S330、根據預先存儲的實際活動場地的尺寸信息,所述實際位置坐標以及所述虛擬場景中的當前位置信息和預測位置信息,採用重定向行走算法計算出所述用戶在實際活動場地中的下一步的位置坐標。
重定向行走伺服器(背包電腦)根據預先存儲的實際活動場地的尺寸信息,實際活動場地中的當前實際位置坐標以及用戶在虛擬場景中的當前位置信息和下一步的預測位置信息,採用重定向行走算法進行動態坐標映射計算,計算出用戶在實際活動場地中的下一步的位置坐標,該下一步的位置坐標包括實際活動場地中的旋轉角度和行進距離。
上述重定向行走算法需要在用戶行走過程中動態插入距離和角度的微小變換,從而引導用戶在虛擬世界中自由行走又不會超出現實世界的邊界。上述動態坐標映射計算依據一定的比率縮放虛擬場景中的旋轉角度和行進距離,轉換為實際活動場地中的旋轉角度和行進距離。研究發現,如下的比例是不容易引起用戶的不適的:旋轉的角速度減緩20%或增加50%;行進的速度減緩14%或加快25%。
上述動態坐標映射計算應該根據實際場地的尺寸和形狀進行一定的適配,具體過程分為兩種情況:
一是當用戶正在直線行進,算法假設這位用戶將繼續按照這個方向和速度前進,此時加在虛擬行進速度上的比率,是保證用戶在碰到實際的障礙物之前先出現一個或一個以上的虛擬障礙物。
二是當用戶在虛擬世界中進行拐彎運動時,算法假設用戶會按照一定的半徑走圓弧線,所以根據前方可用的空間找出一個最大的實際空間半徑進行映射,這樣可以減少角度的修正,減緩用戶感覺到視角的偏轉。
步驟S340、根據所述下一步的位置坐標指導所述用戶在實際活動場地中進行重定向行走。
上述重定向行走算法實現虛擬世界路徑與真實世界路徑之間的映射,比如提前計算並保存特定的虛擬場景與實際活動場地中的行走方法的映射關係,根據每個虛擬場景更新一個映射關係,雖然比較費力,但也是可以實現重定向行走的。
重定向行走伺服器(背包電腦)根據所述實際位置坐標和所述下一步的位置坐標計算出所述用戶在實際活動場地中的行進路徑和旋轉角度,採用視覺引導,在用戶沒有明確察覺的情況下,在用戶的實際活動場地中的行進路徑和旋轉角度上動態加入偏差,該偏差的基本引導策略是儘量把用戶引導到最寬闊的空間,比如回到場地中間。
背包電腦根據用戶在實際活動場地中的下一步的位置坐標計算出所述用戶在實際活動場地中的行進路徑和旋轉角度,根據所述行進路徑、旋轉角度和實際活動場地所剩前進的空間,實時渲染出指導用戶進行下一步行走的場景,並在頭戴顯示器中顯示該場景。該場景可以包括指導用戶繼續向前行走的場景,比如前方出現直線路線;上述場景還可以為指導用戶轉彎行走的場景,比如,前方出現牆體,懸崖等障礙物,同時出現轉彎的彎路,用戶的頭戴顯示器中看到這些物體心理學上會自動躲避這些危險物體,而尋找一條安全的道路。從而實現指導用戶進行重定向行走。
同時,虛擬畫面中也提供了修改了行進路徑後的道路供用戶行走,這些道路的虛擬彎曲程度和用戶實際拐彎程度有一定的偏差,但這個偏差需要控制在用戶不易察覺的範圍內。。
步驟S350、渲染器根據位置調整的角度和幅度等信息實時渲染畫面,將最新的虛擬場景畫面傳輸給用戶的頭戴顯示器進行顯示。
虛擬實境系統中的伺服器將用戶在虛擬場景中的當前位置信息和下一步的預測位置信息傳輸給虛擬實境系統中的渲染器,該渲染器根據位置調整的角度和幅度等信息實時渲染畫面,將最新的虛擬場景畫面傳輸給用戶的頭戴顯示器進行顯示,用戶通過透鏡在頭戴顯示器上可以看到移動後的虛擬場景。
本發明的實際效果如圖4所示,用戶在虛擬世界中走過的場景往往比現實世界的大,在一些特殊情況下,可以實現虛擬世界無窮遠的行走,比如在半徑大於20的現實世界圓弧上行走,映射為虛擬空間的無窮直線行走。
利用微小的視覺提示誘導人們相信自己一直在往前走,儘管實際中他可能是按照某種弧線或者圓圈中行走,從而擴大了虛擬世界的活動空間,在合理成本範圍內實現了有限實際空間到虛擬無限空間的映射。
綜上所述,本發明實施例通過採用重定向行走算法實現虛擬世界路徑與真實世界路徑之間的映射,可以根據虛擬場景獲取用戶在實際活動場地中的行走路徑信息,可以引導用戶在虛擬世界中自由行走又不會超出現實世界的邊界,現實空間的尺寸不會限制用戶在虛擬空間行走的範圍,從而擴大了虛擬世界的活動空間,在合理成本範圍內實現了有限實際空間到虛擬無限空間的映射。
本發明實施例的方法的實現成本相對較低,虛擬空間可以無限擴展,用戶可以體驗非常宏大的虛擬實境空間
本領域普通技術人員可以理解:附圖只是一個實施例的示意圖,附圖中的模塊或流程並不一定是實施本發明所必須的。
通過以上的實施方式的描述可知,本領域的技術人員可以清楚地了解到本發明可藉助軟體加必需的通用硬體平臺的方式來實現。基於這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟體產品的形式體現出來,該計算機軟體產品可以存儲在存儲介質中,如ROM/RAM、磁碟、光碟等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,伺服器,或者網絡設備等)執行本發明各個實施例或者實施例的某些部分所述的方法。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於裝置或系統實施例而言,由於其基本相似於方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的裝置及系統實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
以上所述,僅為本發明較佳的具體實施方式,但本發明的保護範圍並不局限於此,任何熟悉本技術領域的技術人員在本發明揭露的技術範圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應該以權利要求的保護範圍為準。