Unity での VR 開発は、ワークフローや設計上の考慮点に関しては Unity での他のリアルタイム 3D 開発と共通していますが、以下のような特長を持っています。
VR 開発を始めるには、XR Plug-in Management システムを使用して、サポートしたいデバイスの XR プロバイダーのプラグインをインストールして有効にしてください。詳しくは XR プロジェクトの設定 を参照してください。
基本的な VR シーンには通常、トラッキングデータの 3D 原点を定義する XR Origin が含まれます。これはゲームオブジェクトとコンポーネントの集合体であり、ここにはメインシーンカメラとユーザーのコントローラーを表すゲームオブジェクトも含まれています。基本的な VR シーンの設定方法については、XR シーンを設定する を参照してください。
より高度な開発を行う場合は、通常、ユーザーが 3D 環境内で移動したり環境と相互作用するための手段が必要になります。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 パッケージが必要です。
Unity の VR Project Template は、Unity でのバーチャルリアリティ開発の出発点として使用できます。このテンプレートは、プロジェクト設定を調整し、適切なパッケージをプリインストールするほか、VR で使用できるプロジェクトを設定するにあたって参考になる、様々な事前設定済みサンプルアセットを含んだサンプルシーンを提供します。新規プロジェクトの作成時に、Unity Hub から VR Template にアクセスしてください。このテンプレートを使用してプロジェクトを作成する方法については、XR プロジェクトの作成 を参照してください。
このテンプレートのアセットについて、またサンプルシーンがどのように設定されているかについての詳細は、VR Project Template に関するガイド を参照してください。
ハンドトラッキングは、ユーザーが手を使って VR アプリケーションとインタラクトできるようにする機能です。ハンドトラッキングは XR Hands パッケージによってサポートされています。
XR Hands パッケージは以下を提供します。