Locomotion,本文中我稱之爲移位,是VR研究中最重要的話題之一。由於它屬於VR中三大元老級操做(Selection選擇,Manipulation操縱物體,Locomotion移位),其中,前兩個操做是關於物體的,而Locomotion是關於玩家本身的 - 幾乎全部的VR應用都避不開這三個操做,而這三個操縱幾乎涵蓋了全部的VR操做。今天就來解釋一下,VR中的Locomotion指的是什麼,它有哪些分類和技術。spa
Locomotion是什麼?翻譯
Locomotion,用最簡單的話解釋就是「從一個位置移動到另外一個位置」,在VR中,它的指的就是玩家在虛擬環境中從一個位置移動到另外一個位置,其本質是玩家視角(viewpoint)的改變:從一個視角變換到另外一個視角。Locomotion在中文裏尚無一致的翻譯,因此這裏我暫把它譯做「移位」。設計
虛擬3D環境(包括VR和屏顯等)中的Locomotion有三種可能的目的:探索(exploration),搜索(search)和查看(maneuvering)。探索是沒有具體目標的移動,其目的通常是蒐集環境信息,或者簡單的就是享受美景。它講究一個在環境中移動的自由性,移動的速度要能爲所欲爲,而且須要能視察大範圍的環境全景。搜索則是有一個具體的目標,要在環境中尋找到它。這就要求可以同時顧及遠景近景,既能大範圍視察,又能有足夠的細節,在這中間作一個權衡。maneuvering並無一個很準確對應的中文翻譯,它其實表示的是相對於一個物體的視角控制,通常目的是爲了從各個角度觀察某個物體或者某個環境,因此我這裏把它譯做「查看」。好比你若是進入了一個陌生的房間,可能會四周看看,走兩步,或者你看到了一個記念碑,想要繞道正面去看看碑面上寫的什麼。這時候你不會進行很大範圍的運動,可是你會進行很準確的視角控制。查看是三種目的中移動範圍最小的,也是最精細的操做,它須要操做的穩定性和精確性。接口
Locomotion的分類ip
Locomotion既然是從一個視角變換到另外一個視角,那麼根據兩點之間如何進行變換,可分爲兩種方式:點對點的移位(target based locomotion)和導航(navigation)。其中點對點移位是直接從一個點跳轉到另外一個目標點,最多見的例子就是Teleportation傳送門,用戶選擇要去的位置,而後天光一閃,用戶就被傳送過去了。而導航則是有一個從出發點到目的地的路徑。要想導航必須知道當前的方向(spatial orientation)。ci
很明顯的,對於點對點位移,咱們只須要知道目的地的空間位置(position)和玩家移位過去之後的朝向(orientation);而導航,除了位置和朝向之外,還須要控制中間的過程。這個多出來的中間過程包括了兩個方面的工做:尋路(wayfinding)和視角控制(viewpoint motion control,也稱travel)。開發
其中,尋路主要是一個腦力上的活動,包括了理解空間信息(spatial understanding,理解個人空間位置、我與環境的關係)和計劃路徑(path planning,選哪一個路徑走)。關於它有不少認知方面的研究(可見Darken et al., 2014)。設計一種移位方式時,不能違背這些認知的方面的原則。get
視角控制就是做爲設計師和開發者可控制的部分了。根據咱們想要達到的目的,如何讓用戶操做控制本身的視角。其本質就是開放一個對視角的位置和朝向的控制接口。it