22
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MIERUNEAdvent Calendar 2022

Day 21

Cesium for Unityを使って3D Tiles形式のPLATEAUデータを表示する

Last updated at Posted at 2022-12-20

はじめに

これは MIERUNE AdventCalendar 2022 21日目の記事です。
昨日は @kntoshiya さんによる QGISのフィールド計算機などにおける式についてまとめてみた でした。

今年の11/30に発表された、Cesium for Unityを使って3D Tiles形式のPLATEAUデータを表示してみたいと思います。

@northprintさんによる、Cesium for Unity クイックスタート とテーマが一緒でした!
私とは少し違う手順で実施しているようなので、ぜひこちらの記事も読んでみてください!

動作環境

OS: Window 10
Unity Hub: バージョン3.2.0
Unity: バージョン2021.3.16f1

PLATEAUとは

概要

国土交通省が主導する3D都市モデル整備・活用・オープンデータ化プロジェクトです。
3D都市モデルには、家屋やビルなどの「建築物」、都市計画区域などの「都市計画決定情報」、土地の用途を示した「土地利用」、都市のインフラである「道路」や「橋梁」など、都市に関するデータが格納されています。

データ形式

PLATEAUデータには、様々なデータ形式があります。
例えば、CityGML、3D Tiles、MVT、ファイルジオデータベース、OBJ、FBXなどなど。。
今回はCesium for Unityを使うので、「3D Tiles」を採用します。

データの取得

データはG空間情報センターからダウンロード可能です。
また、PLATEAU公式がPLATEAU配信サービス(試験運用)で3D Tilesを配信しています。
データのダウンロードが不要になるので、今回は配信サービスを利用します。

LOD

LOD(Level of Detail)とは、3D都市モデルに含まれている地物の詳細度です。
建築物はLOD0からLOD4までが定義されています。

image
画像の出典:国土交通省 Project PLATEAU

Cesiumとは

3Dの地理空間アプリケーションを作成するためのプラットフォームです。
いくつかのソリューションがあり、代表的なものは以下になります。

  • Cesium ion
  • CesiumJS
  • Cesium for Unity
  • Cesium for Unreal
  • Cesium for O3DE

image.png
画像引用:The Cesium Platform

Unityとは

Unityは、Unity Technologiesが開発・販売しているゲームエンジンです。

個人で、収入ならびに資金調達(自己資金を含む)の過去12ヶ月の合計が年間 10 万ドルを超えない場合、無料で利用できます。
所属する会社の年間収益、ならびに資金調達(自己資金を含む)の過去12ヶ月の合計が20万米ドル以上の場合は有償ライセンスが必要です。
(2022/12/17時点の情報です。最新の情報は公式サイトを参考にしてください。)

UnityでPLATEAUデータを表示する手順についてはこちらの記事をご覧ください。

Cesium for Unityとは

Cesiumの3D地理空間機能と、3D TilesをUnityエコシステムと組み合わせることができます。

image.png

画像引用:Cesium for Unity

手順

Cesium for Unity用ファイルダウンロード

Cesium for Unity公式を開きます。

「GET STARTED」ボタンをクリックします。
image.png

クリックすると、Releaseページに遷移します。
執筆当時はバージョン0.1.1でした。

Assetから、CesiumForUnitySamples-v0.1.1.zip をダウンロードします。
image.png

ダウンロードしたZIPファイルを任意のフォルダに展開します。

UnityでCesium for Unity読み込み

Unity Hubを起動します。
Projectsタブから、Openをクリックします。
image.png

上でダウンロード&展開したフォルダを選択して、「Open」をクリックします。
image.png

Cesium for UnityのサンプルはUnityのバージョン2021.3.10f1 で作成されたようです。
私の環境ではバージョン2021.3.10f1 以下のUnityしかインストールされていなかったので、Choose another Editor versionをクリックした後にInstall Editor versionをクリックして、バージョン2021.3.16f1のUnityをインストールしました。

バージョン2021.3.10f1以上であれば問題ないかと思います。
image.png

ProjectsのAssets -> Scenes -> 01_CesiumWorldを選択して、ドラッグ&ドロップでHierarchyに追加します。
image.png

Cesium for Unityの案内文のような表示と、Cesium World Terrain、Cesium OSM Builidngsが表示されました。
image.png

視点の設定

HierarchyからCesiumをクリックして、OriginのLongitude、Latitude、Heightで緯度経度高さを指定できるようです。
今回は東京駅付近に設定しました。
image.png

Cesium for UnityでPLATEAU建物データを表示

今回は、PLATEAU公式の3D Tiles配信サービスを使って、3D Tiles形式のPLATEAUの建物データを表示していきます。

HierarchyからCesium OSM Builidngsをクリックします。
Sourceから、以下を編集します。

表示できました!
image.png

おわりに

Unityで、馴染みのある3D Tiles形式のPLATEAUデータを簡単に表示できてびっくりしました。
ゲームエンジンの世界にGISが入っていくのもいいですね~

ちなみに、記事書いてる途中で編集が全部消えて絶望しましたが、めげずに書き直しました(涙目)
こまめにセーブを忘れるなよ!おじさんとの約束だ!

参考文献

明日は@nokonoko_1203 さんです!お楽しみにー

22
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?