虛擬實境(VR) - Arch Linux 中文维基

跳至內容

# 虛擬實境(VR)

出自 Arch Linux 中文维基
翻譯狀態：

- 本文（或部分內容）譯自 Virtual reality，最近一次同步於 2020-09-04，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

虛擬實境是使用各種外圍設備，頭戴式顯示器或CAVEs和跟蹤器為用戶模擬環境的一系列過程。虛擬顯示技術不會從屏幕上向您顯示靜態視點，而是將您的視點相對於您站立的位置（在貼頭或投影的表面上）進行渲染，以提供與您自己的眼睛觀看視角相同的效果。

許多虛擬實境的設備已經發布或即將發布，這為人們帶來了不是那麼昂貴，身臨其境的虛擬實境環境。這些設備大多數都具有全部或部分Linux支持，並且許多具有AUR軟體包。

## 環境兼容列表

本文或本章節的語言、語法或風格需要改進。參考：幫助:風格

原因：Use Template:Yes and question marks.（在Talk:虛擬實境(VR)討論）

Legend:

- 綠色: 原生支持
- 黃色: 通過工具集支持或部分支持
- 紅色: 不完整支持
- 無色: 未知/未完成/計劃支持

| Oculus Rift | OSVR | OpenVR | Leap Motion | Razer Hydra
--- | --- | --- | --- | --- | ---
Dolphin (從源倉庫 fork 的 VR 版本) |  |  | 部分完成 |  |
Dolphin (官方 OSVR 支持) | 通過 OSVR |  |  | 通過 OSVR | 通過 OSVR
Minecrift (Minecraft VR) |  | (計劃) 通過 OSVR-SteamVR | (計劃) | (計劃) 通過 OSVR |
Janus VR |  |  |  |  | 通過 OSVR
Team Fortress 2 | 通過 OpenVR | 通過 OSVR-SteamVR | 不完整支持，隨機修復狀態 | 通過 OSVR | 通過 OSVR
Half Life 2 | 顯示處於一隻眼黑，一隻眼無色的狀態 | 通過 OSVR-SteamVR | 顯示處於一隻眼黑，一隻眼無色的狀態 | 通過 OSVR | 通過 OSVR
VRUI VR 工具集和演示 |  |  |  |  |
4089: The Ghost Within | 通過 OpenVR | 通過 OSVR-SteamVR | 直到V社修復問題之前都不完善 | 通過 OSVR | 通過 OSVR
Games/Programs in Wine | 在 OVRSDK 版本 <=0.5.0.0, 且 oculus-wine-wrapper-gitAUR[損壞的連結：package not found] 和 wine-unity3d-gitAUR[損壞的連結：package not found]上支持 | 跟蹤器工作完美。 但是在Unity演示沒有Render Manager的工作時有問題，使用Render Manager的Unity演示會出現白屏或者黑屏。 |  |  |

## 支持的設備和工具集

### OpenXR

OpenXR是一種開放的，不收費用的標準，用於訪問虛擬實境以及增強現實的平台和設備。它由Khronos集團維護，並被大多數行業所採用，大多數運行時都支持OpenXR。

### Monado

Monado是由Collabora開發的開源OpenXR運行時。它正在開發中，旨在提供支持大多數耳機的通用運行時。你可以在 https://monado.freedesktop.org/ 上查看進度

### OpenVR / SteamVR

Valve致力於通過OpenVR創建用於VR開發的開放API。不幸的是，當API開放時，實際的默認實現（SteamVR）卻沒有進行開放。它提供了一個OpenXR標準的運行時。

#### 配置

安裝 Steam, 通過Steam裡的下載按鈕下載SteamVR。

#### 故障排除

##### 配置和啟動錯誤

SteamVR / OpenVR創建一個配置目錄〜/.openvr，該目錄可能在不同的版本上出現配置錯誤。刪除該目錄，然後完全卸載/重新安裝SteamVR可以解決。

在某些配置下，訪問Rift顯然也很麻煩。一種替代方法是使用OSVR-SteamVR驅動程序和OSVR-Oculus-Rift插件。

### OpenHMD

OpenHMD 目標是為沉浸式技術提供免費和開源的API和驅動程序，例如具有內置頭部跟蹤功能的頭戴式顯示器。目標是在可攜式跨平台封裝中實現儘可能多設備的支持。

OpenHMD支持多種設備，例如Oculus Rift，HTC Vive，Sony PSVR，Deepoon E2等。

可以從第三方獲得 .NET，Java，Perl，Python和Rust的程式語言綁定。

#### 安裝

安裝 openhmd-gitAUR.

#### SteamVR 支持

可以將OpenHMD與SteamVR一起使用。為此，您需要安裝 steamvr-openhmd-gitAUR 並創建符號連結，該連結指向SteamVR驅動程序目錄中的OpenHMD SteamVR驅動程序，例如：

     ln -s /usr/lib/steamvr/openhmd ~/.steam/steam/steamapps/common/SteamVR/drivers/openhmd

## 過時的設備和工具集

### OSVR

OSVR是由Sensics，Inc（一家歷史悠久的VR公司）和Razer共同努力創建的VR的完全或幾乎完全開放的軟體API，最終開發人員只需要將各自的頭戴式耳機掛接一些功能即可獲得一流的支持。它支持最廣泛的外圍設備，並通過JSON配置文件具有極其靈活的配置。

它還提供了一個插件，使其可以用作OpenVR實施，使您可以使用它與支持的任何設備一起玩OpenVR / SteamVR遊戲。

#### 配置

安裝 osvr-core-gitAUR, 還有一些其他需要支持的獨立設備，現在支持的插件有： osvr-oculus-rift-gitAUR[損壞的連結：package not found]

osvr-leap-motion-gitAUR

如果希望將OSVR與SteamVR / OpenVR遊戲和應用程式一起使用，安裝 osvr-steamvr-gitAUR連結驅動到SteamVR， 運行OSVR伺服器，並通過以下命令使其在後台運行:

       osvr_server /usr/share/osvrcore/sample-configs/your_device_config.json

您可能希望自定義配置以適合您的個人需求。

要測試您的安裝是否正常並且跟蹤器可用，請安裝osvr-tracker-viewer-gitAUR 和執行 `OSVRTrackerView`. 您應該看到OSVR可以拾取的每個跟蹤器的一組軸。如果不這樣做，請運行 `osvr_print_tree` 以查看可用的跟蹤器或是否存在配置問題。

### Oculus Rift

Oculus Rift 已經停止支持Linux了，更多請見

Oculus Rift.

### Leap Motion

Leap Motion是一款價格實惠的手持跟蹤器，可以輕鬆地安裝在HMD的面板上，以允許您與虛擬對象進行交互。不幸的是，最新的Orion軟體不適用於Linux，因此當前可用的跟蹤功能正常但存在很多錯誤，它僅真正適用於Linux上的社交互動。但由於它的成本不到HMD或等效跟蹤系統的1/10，因此它仍然是相當有用的設備。

#### 配置

安裝 leap-motion-driverAUR, osvr-leap-motion-gitAUR 可選擇安裝 leap-motion-sdkAUR.

要配置，啟用 `leapd.service` 需執行 `LeapControlPanel`. 要測試跟蹤是否有效，請運行安裝隨附的 `Playground`。

## 支持的軟體

當前，有一些應用程式可以在Rift和Linux上正常運行，其中一些應用程式位於AUR中。

### Dolphin (VR fork 版本)

dolphin-emu-vr-gitAUR[損壞的連結：package not found] 是Gamecube的仿真器，具有一些修補程序，可使其具有完整的頭部追蹤立體渲染效果，並帶有許多自定義功能，使遊戲在VR中開箱即用（例如，禁用剔除功能，讓您查看整個世界）。

鑑於Dolphin項目已開始正式支持上游OSVR，因此大部分支持已停止。

注意：當將此應用程式與Rift一起使用時，它可以在縱向（直接）模式下正常工作，並且應在不旋轉Rift的情況下運行，這樣可以最小化延遲。

### Dolphin (官方 OSVR 支持)

olphin項目已開始致力於使用OSVR正式增加對VR的支持，可通過 dolphin-emu-osvr-gitAUR獲得支持。 它甚至可以使用OSVR的路徑樹輸入作為控制器輸入，這樣您就可以使用收縮或六軸控制器輸入作為Wiimote輸入。但是，在某些地方支持有限，因為和原始的Oculus-only 的fork版本差別較大。

### wine中的遊戲和程序

使用Wine時，許多應用程式具有一定程度的兼容性問題，但通常需要進行一些程度的調整才能使其按預期運行。

oculus-wine-wrapper-gitAUR[損壞的連結：package not found] 是一個實用工具，用於在運行Wine時修補Oculus SDK的Linux和Windows版本之間的差異。它為Wine應用程式創建要使用的共享內存上下文，從而允許該應用程式訪問本機Oculus SDK。但似乎沒有必要將SDK安裝到wineprefix。

#### Unity 遊戲

為了在基於Unity的遊戲中獲得最佳性能，理想情況下，您應使用`-force-opengl`使其強制為opengl模式。 但是，對於未打補丁的Wine上，目前尚不可能做到這一點，因為它試圖強制執行的WGL上下文與典型的GLX上下文有一些差異有相關描述[失效連結 2021-11-19 ⓘ]。 使用 wine-unity3d-gitAUR[損壞的連結：package not found] 包 將使您可以使用本機OpenGL運行這些遊戲，從而可以在計算機上以不錯的性能進行遊戲。但是，玩家嘗試更改視頻模式或將設置弄亂，因此需要提供默認的視頻設置。此外，由於它使用的是本機OpenGL，因此nvidia的__GL_THREADED_OPTIMIZATIONS可以顯著提高性能。總體而言，該命令應如下所示：

       env __GL_THREADED_OPTIMIZATIONS=1 wine UnityGame.exe -screen-height 1080 -screen-width 1920 -popupwindow -force-opengl

或者使用 oculus-wine-wrapper-gitAUR[損壞的連結：package not found]:

       env __GL_THREADED_OPTIMIZATIONS=1 oculus-wine-wrapper UnityGame.exe -screen-height 1080 -screen-width 1920 -popupwindow -force-opengl

### Minecrift (Minecraft VR)

可在這裡找到使用最新的JRift（本機Java rift運行時）版本運行現有Minecrift版本的指南。 您可能會希望在使用Rift時安裝較舊的版本，因為JRift已不斷更新以匹配Oculus SDK。

另外，許多用戶報告說使用JRE8的性能要好於JRE7。

注意：使用Rift時，此應用程式可在縱向（直接）模式下正常工作，並且應在不旋轉Rift的情況下運行。但是，從15年5月12日開始，遊戲中的GUI將顯示為拉長的16：9矩形，而不是停留在屏幕比例上。這雖然是可用的，但是表現不理想。

### JanusVR

「janusVR：一個沉浸式，協作的多維網際網路。」 JanusVR是一款應用程式，可讓您在多人遊戲體驗中瀏覽3D網站。janusvr的AUR包可以使用: janusvrAUR

當JanusVR升級時，AUR軟體包不會自動更新，但是當有新版本可用時，應用程式會告訴您，發生這種情況時，只需重新構建新軟體包即可。

注意：此應用程式可在縱向（直接）模式下正常使用（從42.3開始），並且應在不旋轉Rift的情況下運行。

#### Leap Motion 支持

Leap Motion使您可以通過手勢輸入，並且上世界上的其他人看到。您將需要將Leap安裝到HMD的前面，並確保使用的是默認的頭像。

## 其他注意事項

### 啟用OpenAL雙耳模式支持

請查看 Gaming#Binaural audio with OpenAL.

分類：​

- 圖形
- 使用「模板:風格」標記的頁面或章節
- 包含損壞的軟體包連結的頁面
- 包含失效連結的頁面

虛擬實境(VR)
新增話題