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 パッケージは以下を提供します。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.
ウェブサイトを訪問すると、多くの場合 Cookie を用いて利用者のブラウザに情報を保管したりブラウザから情報を取得したりします。 取得される情報には、利用者に関するもの、優先設定、デバイスに関する情報が含まれている場合があります。多くの場合、サイトの動作を利用者の期待通りにするために使用されています。取得される情報は、通常、利用者を特定できるようなものではありませんが、ウェブ体験をパーソナライズするのに役立ちます。弊社では利用者のプライバシーを尊重し、一部の Cookie を使用しないよう利用者が選択できるようにしています。カテゴリ名をクリックすると詳細情報が表示され、弊社のデフォルト設定を変更できます。Cookie の種類によっては、ブロックするとサイトの使い勝手や弊社が提供できるサービス内容に影響が出る場合がありますのでご注意ください。
詳細情報
この Cookie によりウェブサイトの機能を強化しパーソナライズが可能になります。この Cookie は弊社により設定される場合と、弊社サイトに追加したサービスを提供するサードパーティが設定する場合があります。この Cookie を受け入れなければ、サービスの一部またはすべてが正常に機能しない可能性があります。
この Cookie により訪問者数と通信トラフィックソースがカウントできるようになり、弊社サイトのパフォーマンスを判断し改善する際に役立ちます。最も人気があるページ、人気が低いページを確認したり、訪問者がサイト内をどのように移動するかを理解するのに役立ちます。これらの Cookie が収集するすべての情報はひとつにまとめられるので、匿名性が保たれています。この Cookie を受け入れなければ、利用者が弊社サイトを訪問しても、弊社にはわかりません。
この Cookie は、弊社の広告パートナーにより弊社サイト経由で設定される場合があります。これらの企業は利用者の関心事のプロファイルを作成し、他のサイトでも関連する広告を表示するためなどにこの Cookie を使用します。この Cookie が個人情報を直接保存することはありません。利用者のブラウザとインターネットデバイスを一意的に識別します。この Cookie を受け入れなければ、ターゲットを絞らないより一般的な広告が表示されるようになります。
この Cookie はウェブサイトが正常に機能するために必要なもので、利用者のシステム内でスイッチをオフにすることはできません。これらは通常、プライバシー設定、ログイン、フォームへの入力など、サービスのリクエストに相当するユーザーのアクションに応じてのみ設定されます。この Cookie をブロック/警告するようにブラウザを設定することは可能ですが、サイトの一部が機能しなくなります。この Cookie が個人を特定できる情報を保存することはありません。