ArcGIS Maps SDKs for Game Engines で 3D Tiles の表現が豊かになりました

614
0
09-25-2025 05:14 PM

ArcGIS Maps SDKs for Game Engines で 3D Tiles の表現が豊かになりました

はじめに

今年 7 月にリリースされた ArcGIS Maps SDKs for Game Engines 2.1 では様々な機能が強化されました。本記事では 3D Tiles Layer のアイテムに対して強化された表現の機能をご紹介します。

本記事は、米国Esri社の ArcGIS Blog で投稿された記事「Announcing ArcGIS Maps SDK 2.1 for Unreal Engine」および「Announcing ArcGIS Maps SDK 2.1 for Unity」の情報を基に作成しています。こちらのブログもぜひご覧ください。
また、本記事で使用している画像や動画は米国Esri社が GitHub 上に公開しているゲーム エンジンのサンプル プロジェクト(Unity/Unreal Engine)を基に作成しています。

3D Tiles について

3D Tiles は、3次元の地理空間データ(建物、地形、インフラなど)を効率的にストリーミング表示するためのオープン規格です。また、Open Geospatial Consortium の標準仕様として採用されている形式でもあります。
ArcGIS では ArcGIS Online 上に 3D Tiles Layer を公開することや各種 ArcGIS 製品にて表示することができるようになっています。
今回は、Project PLATEAU から東京都千代田区の 3D Tiles を作成し、 ArcGIS Online 上に 3D Tiles Layer として公開したものを Unreal Engine Unity で読み込み、新機能を試してみます。

ライティングへの対応

これまでの SDK のバージョンでは、3D Tiles Layer は「非ライティング (unlit)」のマテリアルのみをサポートしていたため、昼間のシーンでは暗すぎたり、夜間では明るすぎたりする問題が発生していました。今回のアップデートで「ライティング (lit)」が追加され、シーン内の照明設定に応じて、昼は適切に照らされ、夜は正しく陰影がつくようになりました。
下図は、昼の東京駅を表示しています。バージョン 2.0 と比較すると過度に陰影の表現がされていた部分が改善されていることがわかるかと思います。

NaotoSATO_0-1758817509790.png

 

NaotoSATO_1-1758817509791.png

 

サンプル プロジェクト内に含まれる「Time Of Day」では、日の出、日没、夜のシーンをそれぞれ確認できます。
下の動画のように時間経過によってどのように変化するかを確認するアプリを簡単に作成できますので参考にしてみてください。

カスタム マテリアルの適用

3D Tiles Layer に対して、カスタム マテリアルを適用できるようになりました。これにより、データの特定の側面を強調するような形で表現することやレイヤーの外観をカスタマイズすることが可能になります。

NaotoSATO_3-1758817509794.png

 

こちらを利用することによって、可視領域解析 (Viewshed) で観察者から見える領域に特定の色を、見えない領域に別の色を割り当てるといった使い方ができるようになります。下の動画は、サンプル プロジェクト内に含まれる「Explore an interactive viewshed visualization」を基に、3D Tiles Layer を斜め上から見た時に、見える範囲は緑色で、見えない範囲は赤色で表現しています。

おわりに

ArcGIS Maps SDKs for Game Engines によるゲーム エンジンを使った多岐にわたる表現は、バージョンを追うごとに可能性が広がっています。米国Esri社の GitHub にて公開されているサンプル プロジェクトには、本記事で取り上げた 3D Tiles を表示したデモに使用したサンプル以外もあります。これらを基に様々なデモを作成することができますので、 ArcGIS Maps SDKs for Game Engines をお試しください。

参考資料

ArcGIS Maps SDK for Game Engines

 

 

 

 

 

Version history
Last update:
a month ago
Updated by: