VR 開発は、一般的なワークフローや設計上の考慮事項に関しては Unity でのリアルタイム 3D 開発と共通しています。ただし、以下のような違いがあります。
VR 開発を始めるには、XR Plug-in Management システムを使用して、サポートする必要があるデバイスの XR プロバイダーのプラグインをインストールして有効にしてください。詳細については、XR プロジェクトの設定を参照してください。
基本的な VR シーンには、トラッキングデータの 3D 原点を定義する XR Origin が含まれます。これはゲームオブジェクトとコンポーネントの集合体であり、ここにはメインシーンカメラとユーザーのコントローラーを表すゲームオブジェクトも含まれています。基本的な VR シーンの設定手順については、XR シーンを設定するを参照してください。
通常、基本機能以外にも、ユーザーが移動して作成した 3D 世界を操作するための方法が必要です。XR Interaction Toolkit には、オブジェクトを選択して掴むなどのインタラクションを作成するためのコンポーネントが用意されています。また、カスタマイズ可能なロコモーションシステムも用意されています。XR Interaction Toolkit に加えて、または XR Interaction Toolkit の代わりに Input System を使用できます。
Unityでの VR 開発に使用される機能や API のほとんどは、パッケージを通して提供されます。パッケージには以下のようなものがあります。
Unity で VR アプリを構築するには、XR Plug-in Management システムを使用して、サポートする必要があるデバイスのプロバイダープラグインを追加して有効にします。手順については、XR プロジェクトの設定を参照してください。
Unity は、以下を含む VR プロバイダープラグインをサポートしています。
注意多くのヘッドセットメーカーは、OpenXR ランタイムを標準で使用する方向で取り組んでいます。ただし、このプロセスは完了していないため、OpenXR と、ヘッドセットメーカー独自のプロバイダープラグインや SDK との間で、機能が一致しない場合があります。
XR Interaction Toolkit を使用すると、VR アプリケーションの開発をより簡単かつ迅速に行うことができます。XR Interaction Toolkit には以下の設定と機能が用意されています。
XR Core Utilities パッケージには、他の Unity XR プラグインやパッケージで使用されるソフトウェアユーティリティが含まれています。通常、このパッケージは他の XR パッケージの依存関係としてプロジェクトにインストールされます。
Unity Input System パッケージは、VR コントローラーボタンとジョイスティックからのユーザー入力へのアクセスをサポートするだけでなく、XR トラッキングデータとハプティクスへのアクセスも提供します。XR Interaction Toolkit や OpenXR プロバイダープラグインを使用する場合は Input System パッケージが必要です。
ハンドトラッキングは、ユーザーが手を使って VR アプリケーションを操作できるようにする機能です。ハンドトラッキングは、XR Hands パッケージでサポートされています。
XR Hands パッケージは以下を提供します。