Version: 2022.3
言語: 日本語
XR パッケージ
Unity での VR 開発

Unity の AR 開発

拡張現実 (AR) には、VR や従来のリアルタイム 3D アプリケーションと比較して、デザイン上の新しい課題があります。定義上、拡張現実アプリケーションは、ユーザーの周りの現実世界にコンテンツを重ね合わせます。現実世界にオブジェクトを配置するには、まず、どこに配置するかを決めなければなりません。例えば、物理的な壁に仮想絵画を置きたいかもしれません。仮想の鉢植えを置く場合は、物理的なテーブルや床に置くこともあるでしょう。AR アプリケーションは、ユーザーのデバイスから、平面の位置、物体、人、顔の検出など、世界に関する情報を受け取り、良いユーザー体験を提供するためにこれらの情報をどのように使用するかを決定します。

Unity で典型的な AR シーンを開くと、シーンや Hierarchy ウィンドウにあまり多くの 3D オブジェクトはありません。代わりに、シーン内のほとんどのゲームオブジェクトはアプリケーションの設定やロジックを定義します。3D コンテンツは通常プレハブとして作成され、AR 関連のイベントに応じてランタイムにシーンに加えられます。

Unity の典型的な AR シーン

Unity エディターの典型的な AR シーン

AR シーンの基本要素

基本的な AR シーンには、以下のゲームオブジェクトとコンポーネントが含まれます。

XR Interaction Toolkit がインストールされている場合、AR アプリケーションの XR Origin オプションは XR Origin (AR) に変わり、シーン内のオブジェクトとのインタラクションにハンドヘルドコントローラーとツールキットコンポーネントを表現するオブジェクトが追加されます。

ヒント: GameObject > XR メニューを使って、これらのゲームオブジェクトと関連コンポーネントをシーンに加えます。(Hierarchy ウィンドウで右クリックすると同様にメニューを開くことができます)。

これらのセッションゲームオブジェクトに加えて、アプリケーションが使用する AR 機能の種類ごとに対応する AR マネージャー コンポーネントが必要です。

XR シーンの設定方法については、XR シーンの設定 を参照してください。

AR アプリケーションケーションの作成に関する詳細な情報は、シーン設定 を含む AR Foundation パッケージのドキュメントを参照してください。

AR パッケージ

Unity で AR アプリケーションを構築するには、サポートしたいデバイスの XR プロバイダープラグインと一緒に AR Foundation パッケージをインストールします。Unity は、Unity MarsXR Interaction Toolkit などの追加パッケージを提供し、AR 体験をより簡単かつ短時間で開発できるようにしています。

AR プロバイダーのプラグイン

Unity がサポートする AR プロバイダープラグインには以下が含まれます。

XR Plug-in Management システムを使用してこれらのプラグインを 1 つ以上追加し、有効にしてください。手順については、XR プロジェクトの設定 を参照してください。

ノート: プラットフォームやデバイスによっては、OpenXR と一緒に追加のパッケージをインストールする必要があります。例えば、HoloLens 2 用の AR アプリケーションを作成するには、Microsoft の Mixed Reality OpenXR Plugin をインストールする必要があります。

AR Foundation

AR Foundation パッケージは、Unity での AR 開発をサポートします。

AR Foundation を使用すると、Unity でマルチプラットフォームの AR アプリケーションを作成できます。AR Foundation プロジェクトでは、対応するマネージャーコンポーネントをシーンに追加して、有効にする AR 機能を選択します。AR デバイス上でアプリケーションをビルドして実行すると、AR Foundation はプラットフォームのネイティブの AR SDK を使用してこれらの機能を有効にします。そのため、一度作成すれば、世界の主要な AR プラットフォームに展開できます。

デバイスは、可能な AR 機能をすべてサポートしなくても、AR に対応することができます。利用可能な機能は、デバイスプラットフォームと特定のデバイスの機能の両方に依存します。例えば、Google の Android 向け AR プラットフォームである ARCore は、現在のところボディトラッキングをサポートしていません。そのため、Android プラットフォーム向けにアプリケーションを作成しても、ボディトラッキングは使用できません。同じプラットフォームであっても、デバイスによって機能が異なることがあります。例えば、特定のデバイスモデルは、ゲームの世界に向けたカメラで AR をサポートできても、ユーザーに向けたカメラではサポートできないかもしれません。

AR Foundation のダウンロードと使用方法の詳細は、AR Foundation パッケージの ドキュメント を参照してください。

Unity Mars

Unity Marsは AR アプリケーションを作成するための専用オーサリングツールと優れたワークフローを提供します。

  • 平易な言語によるオーサリング: “すべての水平面に草を作成する” のような平易な言葉で表現する簡単なルールを定義し、ユーザーのデバイスによって検出された AR 機能に基づいて、アプリケーションのコンテンツがどのようにシーンを拡張するかを指定できます。詳しくは、AR オーサリングの平易な言語アプローチ を参照してください。
  • プロキシベースのワークフロー: シーンにプロキシを追加して、現実世界の AR 機能を表現します。プロキシに条件とアクションを設定して、現実世界で一致するオブジェクトが検出されたときにアプリケーションがどのように反応するかを指定できます。例えば、適切な水平面が検出されるたびにアクティブになるプロキシをシーンに追加できます。
  • エディター内のシミュレーション Unity Mars にはシミュレーションモードがあり、あらかじめビルドされたサンプル環境を使って、エディター内で AR ロジックをテストすることができます。
  • カスタマイズ可能なビルディングブロック Unity Mars には、ARアプリケーションの全部または一部を作成するためのテンプレートやその他のビルディングブロックが含まれています。例えば、Training Template は UI とロジックを提供し、一連のステップを説明する AR チュートリアルを構築するために使用できます。

Unity Mars には互換性のあるライセンスが必要です。Unity Pro、Unity Enterprise、Unity Industrial Collection プランには Mars が含まれています。別のプランをご利用の場合は、別途 Unity Mars のライセンスを取得することもできます。詳しくは Unity Mars を参照してください。

XR Interaction Toolkit

Unity XR Interaction Toolkit は、AR と VR 両方のインタラクションを構築するためのツールを提供します。XR Interaction Toolkit が提供する AR 機能には以下が含まれます。

  • スクリーンのタッチをジェスチャーイベントにマップする AR ジェスチャーシステム
  • 仮想オブジェクトを現実世界に配置するための AR placement Interactable コンポーネント。
  • 配置、選択、移動、回転、拡大縮小などのオブジェクト操作をサポートする AR Gesture Interactor コンポーネントと Interactable コンポーネント
  • 現実世界に配置された AR オブジェクトをユーザーに知らせる AR アノテーション

AR テンプレート

Unity の AR Project Template は、Unity での VR 開発の出発点です。このテンプレートは、プロジェクトの設定を構成し、適切なパッケージをプリインストールし、さまざまな設定済みのサンプルアセットをもつサンプルシーンを提供し、AR の準備が整ったプロジェクトを設定する方法を示します。新規プロジェクト作成時に Unity Hub から AR テンプレートにアクセスします。テンプレートを使用してプロジェクトを作成する方法については、新規プロジェクトを作成 を参照してください。

テンプレートアセットとサンプルシーンの設定方法については、AR Project Template についてを 参照してください。

XR パッケージ
Unity での VR 開発
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961