Emoji Garden
絵文字ガーデンとは?
絵文字ガーデンは、ユーザーをパブリックロケーションに誘導し、ローカライズして共有ARプレイに参加できるようにする、完成したサンプルプロジェクトです。 (パブリック・ロケーションとは、一般にアクセス可能な現実世界のロケーションで、何らかの方法でユニークまたは注目され、アプリがエンゲージできるようにVPS-Activateされている場所のこと) このサンプルには、 Location AR UXが付属しています。これは、 Maps SDK と Coverage API を使用して、ユーザーがパブリック・ロケーションに関連してどこにいるかを理解できるようにするものです。 また、Location AR UXは、ユーザーがパブリック・ロケーションに接続するのを助け、ローカライズが期待通りに機能しない場合にガイダンスを提供する。
ローカライズに成功すると、他のプレーヤーが接続できるようにガーデンがオープンする! 最初にローカライズしたプレイヤーが絵文字ガーデンを近くのどこかに設置すると、同じパブリック・ロケーションに接続した他のプレイヤーが絵文字ガーデンと交流できるようになる。 みんな、頭をたたいて花の成長を助けることができる。 絵文字の花が完全に成長すると、次に触ると花は破裂し、粒子があちこちに飛び散る!
最良の結果を得るには、晴れた日中に屋外で絵文字ガーデンをプレイしてください。 VPSは夜間や悪天候時にローカライズに支障をきたすことがある。
絵文字ガーデンのARベストプラクティス
絵文字ガーデンは、共有ARプレイのベストプラクティスを示し、ユーザーが共有セッションでARコンストラクトとインタラクトし、ステータスのリアルタイムアップデートを受け取る方法を示している。 また、Emoji Gardenでは、プレイヤーがVPSを使用して共有セッションにローカライズし、他のプレイヤーと同じ位置でコンテンツを見ることができる方法も紹介している。
特に、絵文字ガーデンは以下のことを実証している:
- パーミッションの取り扱い
- 絵文字ガーデンは、初回体験時に一度に許可するのではなく、許可が出るたびにリクエストする。
- 地図とVPS
- パブリック・ロケーションはマップ上に非同期で表示され、個々のプレイヤーの体験をスムーズにします。
- ユーザーは意図的にインタラクションするポイントを選択し、GPSで半径50mの範囲外を特定することはできない。
- セッションに接続すると、ユーザーは視覚的なフィードバックを受ける。 ローカライズに失敗した場合、Emoji Gardenはローカライズの可能性を高める方法を提案します。
ローカリゼーション AR UX
ローカライゼーションAR UX は、VPSでローカライゼーションを成功させる最高のチャンスをユーザーに与えるために、Niantic Designが構築したエンドユーザーフローです。 ローカライゼーションAR UXには、以下のコンポーネントが付属しています:
- 位置情報/カメラデバイスの許可とネットワーク接続を確認します。
- 🗺️ 初回ユーザーエクスペリエンス(FTUE)とユーザーポジションアイコンを備えたフルスクリーンマップナビゲーション
- 公共の場所の近くでは、ヘッドアップ・ナビゲーション・ビューからカメラ・フィードとヒント画像に切り替えます。
- 🌍 ローカリゼーション・プロセスのヘルプ:
- フィードバックとコーチング
- エラーリカバリー
- ✅ 成功の確認
フルスクリーンのマップビューで、ユーザーはアクセス可能なすべてのパブリックロケーションを見ることができます。 (テストスキャンによって作成されたものも含め、アクセス権のないプライベートロケーションは表示されません)。 ロケーションカードは、エンドユーザーがパブリックロケーションを選択する際に、意思表示をすることを可能にします。 ローカリゼーション・ビューでは、進捗エフェクトが、ユーザーが待っている間に視覚的なフィードバックを与える。 このローカリゼーションUXは、さまざまな携帯電話に柔軟に対応し、ローカリゼーションが予想よりも早く完了した場合、高速な携帯電話では進行状況のエフェクトをスキップすることができます。
絵文字ガーデンの展開と実行
お使いのデバイスにEmoji Gardenを導入するには:
- 公開 GitHub リポジトリからプロジェクトをクローンします。
- Lightship開発者サイト に移動し、APIキーをコピーします。
- Lightship API キーを 2 箇所で設定します:
- Lightship トップメニューで、 Settingsを選択し、APIキーを入力します。
- Project ウィンドウの Assetsの下にある Localization UX ディレクトリを探します。 そこから、 Resources > Maps > SDK > MapsAuthConfig > LightshipApiKey に移動し、APIキーを再度入力します。
- ファイル トップメニューで、 ビルド設定を選択し、 iOS または Androidのいずれかの対応プラットフォームを選択します。
- ビルドして実行 をクリックして、お使いのデバイスでEmoji Gardenを実行してください。 マップが表示され、近くのパブリック・ロケーションにローカライズできます。
::注意
近くにパブリックロケーションがない場合は、絵文字ガーデンを使用する前に テストスキャン を作成する必要があります。
:::
テスト・スキャン
絵文字ガーデンのテストスキャンを作成するには:
- プライベートスキャンの管理方法 の指示に従って、APIキーにスキャンを追加します。
- Downloading Meshes に進み、指示に従ってメッシュをダウンロードします。
- テストスキャンマニフェストの位置緯度と位置経度を今すぐ確認してください。 このステップの後まで待つと、問題が発生する可能性がある!
- Adding a Real-World Location to Unityのステップ1~3に従って、Unityプロジェクトにメッシュをインストールします。
メッシュをインストールしたら、Unity Inspectorで緯度と経度の情報を確認してください。 もし座標が間違っていたら、今すぐ調整してください!
絵文字ガーデンにテストスキャンを追加するには:
- Hierarchyで、
LocationScene
を展開し、WayfindingController
の下にあるCoverageClient
オブジェクトを選択します。 - Inspectorで、
ARLocationManifest
を Private AR Locations コンポーネントに追加します。
トラブルシューティングとよくある問題
- APIキーがありません!
- 両方の場所でAPIキーを設定してください! Emoji Gardenのステップ 3 を参照してください。
- アプリを実行してもロケーションが表示されない!
- あなたはパブリック・ロケーションの圏内にいないかもしれない。 お近くにない場合は、 Test Scanをご利用ください!
- 私の公開VPSスキャンはローカライズされません!
- 照明と天候が良いことを確認する。 VPSは晴天の日中がベストだ。
- コンディションが良くてもローカライズできない場合は、別のパブリック・ロケーションを試してみてください。
- テストスキャンの場所が間違っている/表示されない!
- Unity Inspector でロケーションマニフェストの座標値を再確認し、Geospatial Browser 上の値と一致していることを確認します。
CoverageClient
コンポーネントのテストスキャンの場所を削除し、再設定します。
その他の問題については、 DiscordまたはLightshipフォーラムで! 連絡する前に、デバイスの画面を3秒間タッチしたままにしてコンソールログを開き、スクリーンショットを撮って問題の説明とともに投稿してください。
自分のアプリでローカライゼーションAR UXを使う
絵文字ガーデンのアプリは、再利用や拡張が可能です! ライトシップのロケーションベース体験を素早くプロトタイプ化したり、ハッカソン用に作りたい場合は、このアプリケーションをベースにすることをお勧めします。 そうすることで、Niantic Designのベストプラクティスを取り入れた、洗練されたロケーション選択、パーミッションリクエスト、ローカライズのフローが実現します。
独自のロケーションベース体験を構築するために:
- Emoji Garden プロジェクトのクローン。
- APIキーを追加し、スキャンをテストする.
- Assets > ARGardenGameplay フォルダを削除します。
- 新しいフォルダとロケーションベースのエクスペリエンス・スクリプトを作成します。
- プロジェクトを格納するフォルダを作成します。
- Assets > ExperienceInterface > ILocationBasedExperience.csにあるILocationBasedExperienceインターフェイスを実装する新しいスクリプトを作成する。 例として、 EmojiGardenController.csを見てみよう。
- Hierarchyで、
LocationScene
を展開し、 XR Origin の下にある EmojiGarden ゲームオブジェクトを見つけて削除します。 - XR Originの下に独自のプレハブを追加します。
LocationScene
のルートにある LocationBasedExperienceController の ILocationBasedExperience フィールドに、この新しいプレハブインスタンスをドラッグアンドドロップします。
これで、プロジェクトを再度デプロイすると、ロケーションを選択してローカライズした後のロケーション・エクスペリエンスが表示されるはずです!
追加清掃
アプリの名前とアイコンを変更することをお勧めします。 この設定は、 Project Settings。