サンプルプロジェクト
![]() | Lightshipのサンプルは、SDKの各機能の使用例を具体的に 示すことを目的としています。 このサンプルプロジェクトでは、複数の小さなサンプルを実行し、それぞれのコードを確認しながら各機能の使い方を学ぶことができます。 各機能の活用方法については、入門ガイドをご覧ください。 さらに、サンプルプロジェクトに加え、複数の機能を組み合わせて、充実したAR体験を提供する独立型のミニゲームの例も用意しています。 最初にリリースされたのが「Emoji Garden」です。 このミニゲームを詳しく調べることで、永続的な共有AR体験を作成するためのベストプラクティスを取り入れることができます。 詳細については、Emoji Gardenの特集ページにアクセスし、プロジェクトをダウンロードしてください。 |
サンプルをインストールする
- Android
- iOS
- Magic Leap 2
- Meta Quest 3
サンプルは、Github(https://github.com/niantic-lightship/ardk-samples)から入手できます。
サンプルのクローンを作成してダウンロードする方法:
git clone https://github.com/niantic-lightship/ardk-samples.git
または
Github の code/download ボタンを使用して、https://github.com/niantic-lightship/ardk-samplesからリポジトリをダウンロードしてください。
次に、 Unity Hub で Add を押し、プロジェクトを選択してUnityでサンプルプロジェクトを開きます。
また、すべてのサンプルを正しく動作させるには、APIキーを追加する必要があります。
Unity 2022でサンプルを実行する
デフォルトで、サンプルプロジェクトはUnity 6000.0.53f1で実行されますが、Unity 2022を使用したい場合は、バージョン2022.3.62f1にダウングレードできます。
サンプルをUnity 2022にダウングレードする:
- 既にお持ちでない場合は、Unity HubのInstalls**にある **2022.3.62f1**をインストールしてください。
- Projectsで、ARDKサンプルプロジェクトを見つけます。 Editor Versionをクリックし、2022.3.62f1に変更してください。 次に、Open with 2022.3.62f1ボタンをクリックします。
- Change Editor version? ダイアログが表示されたら、 Change Versionをクリックします。
- Opening Project in Non-Matching Editor Installation ダイアログが表示されたら、 Continueをクリックします。
- Gradleのカスタムベーステンプレートを無効にします。
- Unityのトップメニューで Edit をクリックし、 Project Settings をクリックします。
- 左側の Project Settings メニューで Player を選択し、「Android」タブをクリックします。
- Publishing Settings まで下にスクロールし、 Custom Base Gradle Template ボックスのチェックを外します。
- Window トップメニューで、 Package Manager を開きます。 パッケージリストから Visual Scripting を選択し、1.9.0未満のバージョンを使用している場合は、 Update をクリックします。
- エラーがある場合は、 Enter Safe Mode? ダイアログがポップアップ表示されます。 Enter Safe Mode をクリックしてエラーを修正する。
サンプルは、Github(https://github.com/niantic-lightship/ardk-samples)から入手できます。
サンプルのクローンを作成してダウンロードする方法:
git clone https://github.com/niantic-lightship/ardk-samples.git
または
Github の code/download ボタンを使用して、https://github.com/niantic-lightship/ardk-samplesからリポジトリをダウンロードしてください。
次に、 Unity Hub で Add を押し、プロジェクトを選択してUnityでサンプルプロジェクトを開きます。
また、すべてのサンプルを正しく動作させるには、APIキーを追加する必要があります。
Unity 2022でサンプルを実行する
デフォルトで、サンプルプロジェクトはUnity 6000.0.53f1で実行されますが、Unity 2022を使用したい場合は、バージョン2022.3.62f1にダウングレードできます。
サンプルをUnity 2022にダウングレードする:
- 既にお持ちでない場合は、Unity HubのInstalls**にある **2022.3.62f1**をインストールしてください。
- Projectsで、ARDKサンプルプロジェクトを見つけます。 Editor Versionをクリックし、2022.3.62f1に変更してください。 次に、Open with 2022.3.62f1ボタンをクリックします。
- Change Editor version? ダイアログが表示されたら、 Change Versionをクリックします。
- Opening Project in Non-Matching Editor Installation ダイアログが表示されたら、 Continueをクリックします。
- Gradleのカスタムベーステンプレートを無効にします。
- Unityのトップメニューで Edit をクリックし、 Project Settings をクリックします。
- 左側の Project Settings メニューで Player を選択し、「Android」タブをクリックします。
- Publishing Settings まで下にスクロールし、 Custom Base Gradle Template ボックスのチェックを外します。
- Window トップメニューで、 Package Manager を開きます。 パッケージリストから Visual Scripting を選択し、1.9.0未満のバージョンを使用している場合は、 Update をクリックします。
- エラーがある場合は、 Enter Safe Mode? ダイアログがポップアップ表示されます。 Enter Safe Mode をクリックしてエラーを修正する。
Lightship Magic Leap 2の統合はベータ版であるため、一部の機能が正常に動作しない場合があります。
LightshipのMagic Leapプラグイン には、ARでMagic Leap 2を使用するためのサンプルシーンが含まれています。 UIは異なりますが、これらのサンプルシーンは、以下のiOS/Androidモバイルデバイス向けのサンプルシーンと機能的に類似しています。
- Lightship for Magic Leap 2をインストールする手順に従います。
- Unityで、トップメニューの Window を開き、 Package Manager を選択します。 Packages: In Project が選択されていることを確認します。
- Niantic Lightship Magic Leap Plugin を選択し、 Samples タブを選択します。
- Import をクリックして、現在のプロジェクトにサンプルをインポートします。
Assets/Samples/Niantic Lightship Magic Leap Plugin/
内にあるサンプルシーンを確認します。- 上部メニューの File から Build Settings を選択します。
- テストしたいサンプルシーンを Scenes in Build にドラッグします。 Home シーンがリストの一番上にあることを確認します。
- Unityで上部メニューの File を開き、 Build Settings を選択します。Magic Leap 2デバイスが接続され、動作中であることを確認し、 Build and Run をクリックしてサンプルをテストします。
Build Options で Wait for Debugger を選択している場合、作業を続行するには、ML2のボリュームボタンを押す必要があります。 ML2には近接センサーが搭載されているため、プロジェクトを実行するには装着する必要がある場合があります。
- プレイヤー設定で、 Script Compilation まで下にスクロールし、 Scripting Define Symbols を展開します。 右下の + をクリックして、リストの一番下に
NIANTIC_LIGHTSHIP_SHAREDAR_ENABLED
を追加します。 - Project ウィンドウで、 Samples フォルダを開き、LightshipのASMDEFファイルを選択します。 Inspector で、 Assembly Definition References を見つけ、右下の + をクリックします。 リストに
Niantic.Lightship.SharedAR
を追加します。
Lightship Meta Plugin**には、ARのMeta Quest 3 で使用するためにデザインされたサンプルシーンが含まれています。 UIは異なりますが、これらのサンプルシーンは、以下のiOS/Androidモバイルデバイス向けのサンプルシーンと機能的にとても似ています。
- メタクエスト3 用ライトシップのインストールの手順に従ってください。
- Unityで、トップメニューの Window を開き、 Package Manager を選択します。
- パッケージUnity Registry** を選択した状態で、XR Interaction Toolkit (com.unity.xr.interaction.toolkit) を参照してインストールします。
- パッケージ:Project** で Niantic Lightship Meta Plugin を選択し、そこから Samples タブを選択します。
- Import をクリックして、現在のプロジェクトにサンプルをインポートします。
- サンプルシーンは、Assets/Samples/Niantic Lightship Meta Plugin/`の下にあります。
- 上部メニューの File から Build Settings を選択します。
- テストしたいサンプルシーンを Scenes in Build にドラッグします。 Home シーンがリストの一番上にあることを確認します。
- UnityでFileトップメニューを開き、Build Settingsを選択、Meta Quest 3デバイスが接続され、サンプルをテストするために起動しているときにBuild and Runをクリックします。
サンプル
深度ディスプレイ
![]() | 深度シーンは、深度バッファを取得し、シーンにオーバーレイとして表示する方法を示しています。 Depth フォルダ内の DepthDisplay.unity を開いてお試しください。 |
オクルージョン
![]() | このシーンでは、静止しているキューブをカメラの前で動かして、オクルージョンのデモを行います。 キューブは動かないため、周囲を歩き回ることで、オクルージョンの質を直接検査することができます。 このシーンを開くには、 Depth フォルダ内の Occlusion.unity シーンを参照してください。 このサンプルでは、Lightshipで利用可能な2つの高度なオクルージョンオプションである オクルージョン抑制 と オクルージョン安定化 のデモも行います。 これらのオプションは、セマンティックまたはメッシングからの入力を使用して、ちらつきを低減し、オクルージョンの視覚的品質を向上させる。 これらの機能の詳細については、オクルージョン抑制やオクルージョン安定化の入門ガイドセクションをご覧ください。 |
セマンティック
![]() | このシーンでは、セマンティック・チャンネルの一部として、画面上で認識されたものに色をつけるシェーダーを適用するセマンティックのデモを行います。 このサンプルを開くには、 Semantics フォルダ内の SemanticsDisplay.unity を参照してください。 このサンプルを使用するには、以下の手順を行います。
|
オブジェクト検出
![]() | このシーンでは、オブジェクト検出のデモを行うために、検出されたオブジェクトの周囲に2Dバウンディングボックスを描画します。 設定メニューでは、検出されたすべて のクラスを表示するか、ドロップダウンから選択したクラスのみを表示するかを切り替えることができます。 このサンプルを開くには、 ObjectDetection フォルダ内の ObjectDetection.unity を参照してください。 |
メッシング
![]() | このシーンでは、メッシングを使ってシーンに物理メッシュを生成する方法を紹介します。 これは法線シェーダーを使ったメッシュで、色は上、右、前を表しています。 このサンプルを開くには、 Meshing フォルダ内の NormalMeshes.unity を参照してください。 |
トライプラナーメッシュ
![]() | このシーンは、ライトシップメッシュにテクスチャを貼る方法を示しています。 これはMeshingサンプルと同じように動作しますが、ワールド空間UV投影の1つの方法を示す3平面シェーダの例を使用します。 このサンプルでは、地面、壁、天井の3つのテクスチャをシーンにタイル状に配置しています。 このサンプルを開くには、 Meshing フォルダ内の TriplanarMesh.unity を参照してください。 |
ナビゲーション・メッシュ
![]() | このシーンでは、メッシングを使用して Navigation Mesh を作成するデモを行います。 あなたが動き回るにつれて、私たちはナビゲーション・メッシュを作成し、成長させます。あなたがそれをクリックすると、AIエージェントにその位置に移動するよう指示することができます。 エージェントは角を曲がり、物体に飛び乗ることができます。 このサンプルを開くには、 NavigationMesh フォルダ内の NavigationMesh.unity を参照してください。 このデモを表示するには、以下の手順を行います。
|
リモート・オーサリング
![]() | 備考 このサンプルは、縦向きの画面でのみ動作します。 このシーンでは、VPS Anchorをターゲットにしたターゲットローカライゼーションのデモを行います。 このサンプルを開くには、 PersistentAR フォルダ内の RemoteAuthoring.unity を参照してください。 このサンプルを使用するには、以下の手順を行います。
ランタイム時にBlobを変更するテスト用デバイスでGeospatial Browserを開き、別のアンカーの Blob をコピーして、アプリが実行されている状態で Payload のテキストボックスに貼り付けます。 |
VPSローカライゼーション
![]() | 注意 このサンプルを使用するには、Lightship APIキーが必要です。 このシーンでは、半径範囲内にあるVPSロケーションのリストが表示され、Coverage APIからWaypointをローカライズターゲットとして選択できます。その後、スマートフォンのマップと連携して目的地までの道案内を行います。 このサンプルを開くには、 PersistentAR フォルダ内の VPSLocalization.unity を参照してください。 このサンプルを使用するには、以下の手順を行います。
|
共有AR VPS (Shared AR VPS)
![]() | 注意 このサンプルを使用するには、Lightship APIキーが必要です。 このシーンでは、Coverage APIからWaypointを選択し、その周囲で共有AR体験を作成することができます。 このサンプルを開くには、 SharedAR フォルダ内の SharedARVPS.unity を参照してください。 モバイルデバイスでこのサンプルを使用するには、以下の手順を行います。
Unityエディターのプレイバック機能を使用してこのサンプルを使用するには、以下の手順を行います。
|
共有AR画像追跡コロカライゼーション(Shared AR Image Tracking Colocalization)
![]() | 注意 このサンプルを使用するには、Lightship APIキーが必要です。 このシーンでは、VPSロケーションを使用せずに、複数のユーザーが共有ルームに参加することができます。そのためには、静止画像を原点として使用します。 このサンプルを開くには、 SharedAR フォルダ内の ImageTrackingColocalization.unity を参照してください。 このサンプルを使用するには、以下の手順を行います。
|
ワールドポーズ
![]() | このサンプルでは、デバイスのGPSコンパスとワールドポーズのコンパスを比較して、ワールドポジショニングシステムによってカメラの精度が高く なる様子を示します。 ワールドポーズを使用したコンパスは、ユーザーが歩くにつれて徐々に安定し、正確性も向上します。 |
On Device Persistence
![]() | このサンプルは、ローカルでVPSマップを作成する方法を示しています。 これはデバイス上に作成・保存され、コンテンツの整列や永続化に使用できます。 サンプルは、キューブのマップと位置をデバイスのファイルシステムに保存します。 |
Cloud Persistence
![]() | このサンプルはOn-Device Persistenceサンプルのバリエーションで、データストアを使用してマップデータをクラウドに保存するように設計されています。 これにより、他のユーザーがマップをダウンロードして同じスペースに整列することができ、シームレスなアドホック・マルチプレイヤー体験が可能となります。 複数のプレーヤーがキューブを置くことができ、キューブはルーム内の参加者全員に自動的に同期され、その位置が維持されます。 |
Recording
![]() | このシーンでは、エディターで再生するために実際の場所をスキャンすることができます。 このサンプルを開くには、 Scanning フォルダの Recording.unity を参照してください。 このサンプルの使用方法については、プレイバック用データセットを作成するを参照してください。 |