🗻

「長〜く歩く路上 AR 体験」を実装した話④〈立体地図プラットフォーム Cesium を用いた AR コンテンツのシミュレーション〉

に公開

追記(2025/06/12)

STYLY が提供を開始した「STYLY World Canvas」によって、立体地図の読み込みと AR コンテンツのシミュレーションが STYLY Editor 上で実施可能になったようです👀👏

https://styly.inc/ja/news/styly-world-canvas/

一方本記事では、Unity Editor 上で読み込んでシミュレーションに利用した話について記載しています。

はじめに

2025年3月8日(土)から3月30日(日)まで山梨県富士河口湖町にて開催された、 やまなしメディア芸術アワード(YMAA)メタバース企画《6okken 拡張遊歩「まだ見ぬ世界」の歩き方》展(以下、《拡張遊歩》) において、 xR 作品パートのテクニカルディレクションと実装 を担当しました。

https://www.youtube.com/watch?v=CHHiNxG8rf8

https://youtu.be/BgSGLPbhaNE

本記事は、プロジェクト《拡張遊歩》の xR 作品パートの実装過程をトピックごとにまとめる記事シリーズのうちの一つです。

  1. 〈はじめに〉
  2. 〈MR デバイスで空間描画 & エクスポート〉
  3. 〈Meta Quest をかぶって長距離移動したい場合の注意事項〉
  4. 〈立体地図プラットフォーム Cesium を用いた AR コンテンツのシミュレーション〉 ◀ イマココ
  5. 〈雪の積もる地域で路上 AR 体験を提供するには〉
  6. 〈STYLY の AR で長距離移動したい〉
  7. 〈安全に関する配慮〉
  8. 〈おまけ:表現の余白や遊びをもたせるための実装〉

本記事で書くこと

  • Recording and Playback や Geospatial Creator など 既存のシミュレーション事例 の紹介
  • Cesium を用いた検証環境の様子と 価格や帰属表示 について


Data Attribution: Landsat / CopernicusData SIO, NOAA U.S, Navy, NGA, GEBCO,
Data Japan Hydrographic Association, TMap Mobility, IBCAO

書かないこと / 注意事項

  • 実装したコードの全体像や詳細に関しては、本記事では省略します。
  • それぞれのトピックについて検証が完璧に行えたわけではない(むしろ結構カツカツだった)ので、より適切な実装方法が存在するかもしれません。参考程度にご覧ください。
  • より良い選択肢や、内容の誤りを見つけた場合はコメントで指摘をいただければ幸いです。

本題:AR コンテンツのシミュレーション

〈はじめに〉で紹介したとおり、《拡張遊歩》の xR 作品パートは 「作家が気ままに遊歩した軌跡を、線状の CG オブジェクトとして記録し、 AR コンテンツとして周辺地域に展開する」 というものでした。

前回までの内容で「遊歩の軌跡を CG オブジェクトとして記録」する過程を説明しました。ここからは「AR コンテンツとして周辺地域に展開」する部分について記載していきます。

AR コンテンツを構築していくにあたり、「遠隔地からの実装・調整」 に少しだけ工夫をしました。実装を担当するエンジニア(私、1名のみ)が実施地域から離れた場所に在住していたため、コンテンツの表示や土地との整合性を検証する際に毎回現地を訪れる必要がないよう、あらかじめ PC 上でシミレーションできるよう環境構築 を行いました。その際に調査したことや実施したことを以下にまとめます。

参考①:Recording and Playback による AR コンテンツのシミュレーション

そもそも、「現地に行く回数を減らしたい」というニーズに対して、最近のモバイル AR 開発では 「現地で実際に動作させた際のカメラ映像、デバイスの位置・動き、をレコーディングして、あとから PC 上で再生する」 という画期的なソリューションが提供されています。

代表的なところとして、ARKit の Recording and Replaying
https://developer.apple.com/documentation/arkit/recording-and-replaying-ar-session-data
https://qiita.com/hisayan/items/7c5cd40b90b648a141f8

ARCore の Recording and Playback API
https://developers.google.com/ar/develop/recording-and-playback?hl=ja
https://www.jyuko49.com/entry/2021/05/27/022934

Lightship ARDK の Recording and Playback などが挙げられます。
https://lightship.dev/docs/ja/ardk/how-to/unity/create_playback_dataset/

ほか、Koki Ibukuro 氏による AR Foundation Replay は、拡張性が高そうです。(開発過程が記されたスクラップも大変ありがたい)
https://github.com/asus4/ARFoundationReplay
https://zenn.dev/asus4/scraps/792afc390733ad

参考②:Geospatial Creator による都市スケール AR コンテンツのシミュレーション

一方、デバイスではなく周辺環境自体をシミュレーション することで AR コンテンツの見え方を検証する方法もあります。

例えば Google が提供する Geospatial Creator を使うと、Photorealistic 3D Tiles (Google Earth で使用されているのと同じ立体地図ソース)を利用して AR コンテンツの配置からビルドまでを PC 上で簡単に行えるようになります。


引用: Google の Geospatial Creator を使ってワールドスケールの拡張現実エクスペリエンスを数分で作成する

https://developers.google.com/ar/geospatialcreator?hl=ja
https://developers-jp.googleblog.com/2023/05/Geospatial-Creator.html

現在は Geospatial Creator for UnityGeospatial Creator for Adobe Aero の2つが提供されていて、特に前者を使うと Android / iOS 向けの AR アプリケーションをビルドできます。

《拡張遊歩》での方針

《拡張遊歩》では、STYLY(詳細は次回)を用いて AR コンテンツの提供を行うことにしていたので、 Recording and Playback の仕組みはあまり有効ではなく、 Geospatial Creator のようなシミュレーション環境の構築が理想でした。

加えて、「展示における他の映像の作成に利用したい」などのニーズもあり 立体地図を汎用的に利用できたほうが都合がよかった ので、 Geospatial Creator と類似した環境を Unity 上に独自で構築 することにしました。

Unity 向けに SDK が提供されている立体地図プラットフォームを調べると、MapboxArcGISCesium などが見つかります。

https://www.mapbox.jp/
https://developers.arcgis.com/unity/
https://cesium.com/learn/unity/

中でも今回は、Geospatial Creator でも使われていて Photorealistic 3D Tiles を利用しやすそうな Cesium を用いて、シミュレーション環境を作ることにしました。

Cesium を用いてシミュレーション

環境構築

「シミュレーション環境を作る」といっても特に大したことはしておらず、 Cesium 公式のクイックスタート に沿って設定していくだけで、AR コンテンツの検証環境として充分機能 しました。構築後、《拡張遊歩》では主に以下のような用途で活用しました。

  • 線状の CG オブジェクトが土地の起伏や道のカーブにフィットするかチェック
  • 鑑賞者視点で見たときの線の進行速度や動き、見た目の簡易的なチェック
  • コンテンツの追加や修正時の位置の確認


Data Attribution: Landsat / CopernicusData SIO, NOAA U.S, Navy, NGA, GEBCO,
Data Japan Hydrographic Association, TMap Mobility, IBCAO

Cesium で Terrain だけ表示し、詳細な近景はスマホスキャン(Scaniverse など)を利用して空間データを補完することで、鑑賞者視点の簡易シミュレーションなども行いました。


スマホによるスキャンも活用して鑑賞者視点をシミュレーション

備考①:費用

Cesium の利用(正確には3D地理空間データの配信を行う Cesium ion の利用)には、無料のコミュニティプランが存在しますが、非営利目的に限ります。営利目的のプロジェクトでの利用は コマーシャルプラン($149/月) 以上の契約が必要です。


https://cesium.com/platform/cesium-ion/pricing/

備考②:帰属表示

コマーシャルプランを利用していたとしても、 Cesium ion によって配信されたコンテンツを表示する際は Cesium ion ロゴを表示する必要があります。

Cesium ion attribution is required on the main application window (unless there is a custom agreement), and as set forth above when displaying downloads of Your Content, by conspicuously displaying the Cesium ion logo.
https://cesium.com/legal/terms-of-service/

また、Photorealistic 3D Tiles の利用に関しても、 Google ロゴの表示とデータの提供元プロバイダの帰属表示が求められます。

重要な権利帰属表示には、ブランド権利帰属表示とデータ権利帰属表示の 2 種類があります。ブランド権利帰属表示では、ビジュアライゼーションに地図や画像を表示するときは常に Google ロゴを表示する必要があります。データ権利帰属表示では、画像の提供元のデータ プロバイダを表示する必要があります。
https://developers-jp.googleblog.com/2023/09/commonly-asked-questions-photorealistic-3d-tiles.html

各ルートのビジュアライゼーションとしても利用

最終的に、展示空間で投影するための各ルートの紹介映像にも利用しました。立体地図上に線状のオブジェクトを配置し、Unity Recorder で録画するだけで完了。便利でした。


つづく

次回、〈雪の積もる地域で路上 AR 体験を提供するには〉では、路上 AR 体験を実現するためのプラットフォームの選定と、「雪の積もる地域」という特殊な状況下で悩んだポイントについてまとめます。

Discussion