CrossRoad

XRを中心とした技術ブログ。 Check also "English" category.

Godot Engineでアセットをインポートする方法

ここ最近、Godot Engineを見ています。UnityやUnreal Engineのように使えるゲーム開発環境で、2D/3D対応、マルチプラットフォーム向け出力、XRまで対応しているところが特徴です。

新しいゲーム開発環境を学ぶと、ずっと前にはじめてUnityを触ったときのような新鮮さがあって楽しいので、最近は空いた時間でGodot Engineを見ています。

こんな感じでようやく公式チュートリアルを一通り終えました。

Godot Engineは公式ドキュメントが詳しく日本語対応も豊富ですが、日本語での記事があまり少ないのでちょっと調べたいところがよくわからなかったりします。

今後はブログでもGodot Engineについて少しずつ書いてみようと思います。今回はGodot Engineでアセットをインポートする方法についてです。

0. Godot Engineの概要や使い方について

Godot Engineの公式ドキュメントを確認することをお勧めします。

docs.godotengine.org

他にいくつかの日本語記事もあります。

Godot Japan User Community

qiita.com

チュートリアルの記述は丁寧ですが、まったくの初心者である私はそれでも2, 3 詰まるところがありました。どこかタイミングが合えば、チュートリアルについても書きたいと思います。

1. Godot Engineのアセットについて

Unityのアセットと同じように、自分のプロジェクトに追加機能を入れることができます。
UnityのAsset Storeのような管理サイト「Asset Library」もありますが、公式サイトの説明によるとマーケットプレイスのような役割は持っておらず無料で配布するというルールのようです。

Godotのアセットライブラリは異なります。すべてのアセットは無料で配布され、多数のオープンソースライセンス(MITライセンス、GPL、Boost Softwareライセンスなど)の下で配布されます。これにより、AssetLibはLinuxディストリビューションのソフトウェアリポジトリにより類似したものになります。

引用元:https://docs.godotengine.org/ja/stable/tutorials/assetlib/what_is_assetlib.html

一方、同じページの下部にはこのような記載もあり、公式の範囲外であればアセットを作って有償で販売も可能のようです。

よくある質問
有料アセットをアセットライブラリにアップロードできますか?
公式のものではありませんが、将来的にはそれを可能にする他のアセットライブラリが出来るかもしれません。ただし、アセットライブラリの外部でGodotアセットを収益化および販売することができます。

2.アセットのインポート方法

Godot Engineを開きます。開いたら、プロジェクトを新規作成するか、既存プロジェクトを読み込みます。

この辺りは以下の手順を参考にしてください。

docs.godotengine.org

Godot Engineの画面が表示されたら、画面中心のAsset Libというボタンをクリックします。読み込みに数秒かかりますが、このようにアセット一覧が表示されます。

今回はPlatformerController2Dというアセットを読み込んでみます。

Unityでアセットをインポートするときのように、インポートされるディレクトリ構成が一覧で表示されるので、Importを選択します。

Import assets on Godot Engine

赤字のファイルは、このままだと読み込みができないということでチェックマークが外されています。読み込みができない原因はファイルのそばにマウスオーバーすると表示されます。
今回はGodot Engineで新規プロジェクト作成したときに自動生成されたファイルがあるので、already existsと表示されていました。上書きされても問題ないと判断して全てチェックマークをつけました。

インポートが成功すると、platformer_controllerというフォルダが生成され、platformer_controller.gdが追加されます。

'platformer_controller.gd' has been successfully imported

3. おわりに

今回説明に使用したアセットはスクリプトのみのため、オブジェクトの設置やキャラクターなどは自分で設置する必要があります。

2021/10/11追記:インポートのとき、DemoScene.tscnというシーンも一緒に入っていました。これを指定して再生することでキャラクタが動く例を確認できます。

そのあたりは次回書きます。