Cesium for Unrealは、Unreal EngineでCesiumの地理空間データを活用するためのプラグインです。これにより、Unreal Engineの物理エンジンを利用したシミュレーションや、高度なライティング技術を活用した詳細な環境の描画が可能となります。また、マルチプレイやVRにも対応しています。
本記事では、Cesium for UnrealとPlateau DEM(Digital Elevation Model:数値標高モデル)(*1)を用いた具体例をご紹介します。
*1)Plateau DEMは、日本の都市や地域の詳細な3D地形データ(標高データ)です。国土交通省が提供する「PLATEAU」プロジェクトの一部で、都市のデジタルツイン(仮想都市モデル)を作成するために使用されます。このデータは、都市計画や防災シミュレーションなど、様々な用途に利用されています。
Cesium for Unrealの機能概要
Cesium for Unrealは、リアルタイム3D地理空間データをUnreal Engineに統合するために、Cesiumが開発したプラグインです。Unreal Engine上にCesiumの地球儀(World Globe)を配置でき、Cesium World TerrainやBing Maps Aerial(*2)などのデータを選択することが可能です。また、バージョン2.0からは、GoogleのPhotorealistic 3D(Googleが提供する高精度でリアルな3D都市モデルのデータセット)を簡単に追加できるようになりました。
また、Cesium Ionにアップロードされている3DTilesアセットを簡単にシーンに追加することができます。この機能を活用することで、Plateauの都市モデルをCesium Ionにアップロードし、Unreal Engine上に配置することが可能です。
*2) Cesium for Unrealで使用できる地形とテクスチャの組み合わせのこと。
・Cesium World Terrain: 地球全体の詳細な3D地形データを提供するサービスで、山、谷、平原などの地形の高さ情報を反映したリアルな地形モデルを作成します。データは様々なソースから集められ、高精度でグローバルにカバーしています。
・Bing Map Aerial: MicrosoftのBing Mapsが提供する高解像度の航空写真テクスチャです。これを地形データに適用することで、実際の地表の見た目に近いビジュアルを提供します。
Cesium world terrainをPlateau DEMに置き換える
Cesium for Unrealを利用する際、まずプラグインを有効化し、Cesium World Terrain + Bing Maps AerialやGoogle Photorealistic 3Dをシーンに追加するのが一般的です。しかし、Cesium World Terrainでは、都市部や急斜面など一部の地形が不正確であることがあり、後述するPlateauの都市モデルやMMS点群などをシーンに追加した際に、不整合が生じることがあります。これを回避するために、Cesium World TerrainをPlateau DEMに置き換えることで、より正確な地形モデルを利用することができます。
Plateau DEMに置き換えることで、Cesium for Unreal上で様々なことが可能になります。
以下にいくつかの例を示します。
MMS点群と走行シミュレーション
この例はCesium上にMMS点群を配置して走行シミュレーションを行ったものです。
Cesium World Terrainを使用すると、地形モデルが不正確な場所があり、道路上に地形が突き出てしまうことがあります。しかし、Plateau DEMを使用することで、そのような問題は大幅に減少します。
また、点群データにはコリジョン(衝突判定)を設定しても、車が透過してしまう場合があります。この例では、点群データの下に透明な板を敷くことで、車が正しく走行できるようにしています。
冠水シミュレーション
正確な地形モデルを使用することで冠水シミュレーションも可能になります。
下の画像は二重橋付近が約86cm冠水した状態のものです。実際のアプリケーションでは水面やコースティクスがアニメーションとして再生されます。このような動的なマテリアルを設定することができる点もUnreal Engineの利点の一つです。
右の画像のように、地形モデル上にUnreal EngineのFoliage(*2)機能を使って多数の樹木を配置することで、よりリアルで臨場感のあるシーンを作成できます。また、画像ではわかりにくいですが、このアプリケーションはマルチプレイ対応で開発されています。ユーザー同士が同じアプリケーション内でボイスチャットを行うことも可能なため、複数人による仮想現場視察としても非常に有効です。
Cesium for Unrealを利用することで、ブラウザでは実現が難しい高度なインタラクティブ機能を簡単に実装できます。シーン内にオブジェクトを配置したり、移動させたりといった操作が可能になり、リアルタイムでのインタラクションを楽しめます。
今後もPSSは、Cesium for Unrealの持つ多彩な可能性を探求していきます。