はじめに
2025年5月1日のCesium社の記事によると、オープンソースのゲームエンジンである Godot Engine でも 3D Tiles が扱えるようになりました。
これまでも商用ゲームエンジン向けの3D Tilesを扱うためのプラグイン(Unity用の Cesium for Unity や Unreal Engine用の Cesium for Unreal)は提供されていましたが、今回、ついにオープンソースのゲームエンジンにも対応したとのことで試してみました!
この記事は、実際の操作体験をまとめた備忘録です。ゲームエンジンの経験がほとんどなくても簡単に扱うことができたので、ぜひ、記事を見ながら試してみてください!
本題に入る前に、まず3D Tiles と Godot Engine の概要について簡単に説明します。
3D Tilesとは?
3D Tilesは、点群データや建築物の3Dモデル、フォトグラメトリなどの大規模な3D地理空間データをストリーミングするための標準仕様です。地理空間データの標準化機構であるOGC(Open Geospatial Consortium)で標準規格として認定されています。
3D Tilesについて詳しく知りたい方は、以下の記事をご参照ください:
Godot Engineとは?
Godot Engine(読み方:ごどー)は、MITライセンスで提供されているオープンソースのゲームエンジンです。2D・3Dゲーム開発に対応しており、Windows、macOS、Linux、モバイル、Webなど、多様なプラットフォームへのエクスポートが可能です。独自のスクリプト言語GDScriptとノードベースの直感的な設計が特徴で、軽量かつ高速な開発を実現できます。
この記事を書くにあたり、はじめてGodot Engineをインストールしましたが、起動の速さに驚きました!(2秒で起動します)
3D Tiles For Godotとは?
3D Tiles For GodotはCesiumエコシステム助成金の支援を受けて Battle Road 社が開発したGodot向けのプラグインです。同社は惑星規模のモデリングとシミュレーションのためのプラットフォーム AtomEngine の開発元でもあります。
このプラグインはGodot 4用の拡張機能で、GDExtension(Godot 4から導入された外部プログラム統合の新機能)を使用して3D Tiles機能を実装しています。Godotの物理演算や衝突判定、キャラクターインタラクションにも対応しています。
Godot Engineユーザーにとっては、自身のコンテンツに容易に3D Tilesを取り込むことができるようになった、ということなのでしょうか?
2025年6月4日現在、このプラグインはWindowsでのみサポートされています。
将来的には、LinuxやmacOSにも対応予定のようです。
Godotで3D Tilesを表示できると何が嬉しいのか?
正直、この点についてはよくわかっていません。
ただ、Godot Engineを操作して特に感じたのは、初心者でも扱いやすいということです。
あくまでも感覚的な部分ですが、UnityやUnreal Engineに初めて触れた時と比べて、やりたいことをどう実現すればよいかが直感的に理解しやすい印象でした。
必要最低限のボタンしかなかったり、システムの設定に応じて自動的に日本語表示になっていたり、細かい設定が不要な点がいいな、と感じています。
いずれにしても、3D地理空間データを扱うための新しい選択肢が増えたことは、開発者コミュニティにとって大きな意味があると思います。「Godot Engineのここがいいぞ!」という点があればぜひ教えていただきたいです!
Godotで3D Tilesを表示する手順
それでは、やってみましょう!
ここでは、3D Tiles For Godot を利用して Google Photorealistic 3D Tiles を表示するまでの手順を解説します。
1)Godot Engineを起動する(Godot 4.1以降の安定版を使用すること)
2)新規プロジェクトを作成する
画面左上の[作成]ボタンをクリックして、新規プロジェクトを作成します。
レンダラーは「Forword+」を選択します。
3)Godot Asset Library からプラグインをダウンロードする
4)ダウンロードしたプラグインをプロジェクトに取り込む
ダウンロードしたプラグインのzipファイルを解凍し、「addons」フォルダと「bin」フォルダをそれぞれ作成したプロジェクトのフォルダに配置します。
プロジェクト構成は以下のようになります。
my_project/
├── addons/
│ └── cesium_godot/ <-- ここにプラグインのファイル群が入る
│ ├── panels/
│ ├── scripts/
│ └── visuals/
├── bin/ <-- ここにプラグインのバイナリファイルが入る
└── project.godot
5)プラグインを有効化する
メニューから[プロジェクト]→[プロジェクト設定]を選択します。
プラグインタブで[オン]にチェックを入れればcesium_godotが有効化されます。
6)Cesium ionに接続する
プラグインが有効化されたら、Cesium Ion Panelが表示されます。
まずは、[Connect to Cesium ION]ボタンからCesiumアカウントに接続しましょう。
ブラウザで「Succesfully authorized!」と表示されたら、Godotに戻りましょう。
7)タイルセット等を追加する
以下の手順で、新規3Dシーン、タイルセット、ダイナミックカメラを追加します。
Cesium3DTilesetとCesiumGeoreferenceがカメラのインスペクタープロパティに自動的に追加されるので、基本的には「追加」ボタンをポチポチすればOKです。
- シーンパネルから「3Dシーン」を追加します。
- Cesium Ion Panelから「Google Photorealistic 3D Tiles」を追加します。「Blank 3D TIles Tileset」を追加したら、アセットIDとデータソースURLでカスタマイズすることもできます。
- Cesium Ion Panelから「Dynamic Camera」を追加します。
8)再生ボタンをクリック!
ここまできたら、再生ボタンをクリックするだけでシーンが読み込まれて、3D Tilesが表示されます!
キーボードのWASDでカメラを前後させたり、マウスの右クリックでビューを移動することができます。
より詳しく解説された記事がありましたので、こちらもご参照ください:
おわりに
以上のように、Godot Engineで簡単に3D Tilesを表示することができました!
Godot Engineの動作の軽さは驚きです!ぜひ試してみてください!