見出し画像

Godot アセットとプラグイン

Godotのアセットとプラグインとアドオンの関係、どうなってるの?
自信が無いので話半分に聞いてください。

こんな感じ?

プラグイン

<res://addons/プラグイン名/>下にplugin.cfgファイルがあるファイル一式が、プラグインだと理解してます。

プラグインは、プロジェクト設定からいつでも有効・無効を切り替えできます。この機能の性格的に、ゲームの材料(リソース)というよりは、制作を便利にするためのもの、いわゆるエディタ拡張が想定された使い方だと思ってます。プロジェクトに組み込まれたリソースは、取り外しできない存在だからです。

アドオン

前述の通り、プラグインはaddonsフォルダ下に配置します。てっきりaddonはpluginの旧名なのかなと思っていたのですが、そうではないようです。

多分ですけど、外からプロジェクトに追加するファイル一式を、Godotさんはアドオンと呼んでいるような気がします。そして、既存のものと衝突しないように、<res://addons/アドオン名/>の下に置きましょう、という取り決めにしているようです。

アセットはaddonsフォルダ下に置くことが推奨される、と公式ドキュメントでも言われています。

プロジェクト以外のアセットを作成する場合、addons/asset_name/ フォルダ内にファイルを配置するのが一般的です。

https://docs.godotengine.org/ja/4.x/community/asset_library/submitting_to_assetlib.html

アセット

Godotさんが「アセット」と言ったときは、Godot Asset Libraryに登録されているGitレポジトリのことを指すと思ってます。Unityのアセットストア的な存在です。

https://godotengine.org/asset-library/asset

Asset Libraryに存在するアセットは、機能によって明確に2つに区別されます。これは、アセット作成者がAsset Libraryに登録申請するときの画面で選択します。

A. プロジェクト
B. アドオン

A. はGodotプロジェクトです。さらに、次の3つにジャンル分けされます。
・テンプレート
・プロジェクト
・デモ
エディタのプロジェクト一覧画面で、「アセットライブラリのプロジェクト」を選択することで、ダウンロードできます。

B. は、非プロジェクトのファイル一式です。さらに、次の7カテゴリーにジャンル分けされます。
・2D Tools
・3D Tools
・Shaders
・マテリアル
・ツール
・Scripts
・その他

Bはエディタ上のAssetLibタブからダウンロードでき、プロジェクトに組み込まれます。

アセットは9割近くがプラグインの型式です。ですが、エディタ拡張的な性格でないものも、その多くがプラグインとして提供されています。追加されたクラスやリソースを、ゲーム中で使うことを想定したアセットです。

プラグインじゃないアドオンも存在します。さらに、addonsフォルダ下に配置されないアドオンもあります。

【AssetLibのアドオンの種類】
B-1-a. 純粋にエディタ拡張的なプラグイン
B-1-b. プラグイン形式だけどエディタ拡張にとどまらないもの
B-2. 非プラグイン
B-2'. 非プラグイン(addonsフォルダ外)

今AssetrLib入りしているものは審査を通ったアセットなので、プラグインでないアドオンも提出OKということです。ですが、これ、ひょっとすると、プラグインであることが必須であると思って「仕方なく」プラグイン形式にしたアドオンが、少なからずあるんじゃないかな、という気がします。だとしたらもったいない。

とはいえ、Godot公式ドキュメントでも、「AssetLibはまだ始まったばかり」と書かれてあるので、現時点で深堀りするのも野暮かなという気がします。

Please note that the AssetLib is relatively young - it may have various pain points, bugs, and usability issues.

https://docs.godotengine.org/ja/4.x/community/asset_library/what_is_assetlib.html

プラグインとアドオンの区別に関しては、わりと昔から議論があるようです。

純粋なアートリソース(画像・音・3Dモデル)をAsset Libraryに申請しようとしたら、どうするのがいいんでしょうね。
自分だったらとりあえず、こんな感じに作って申請すると思います。
・Addons / その他 カテゴリ
 (ツールでもスクリプトでもないので「その他」しかない)
・addonsフォルダ下に配置する
・プラグイン形式にはしない

以上です~~

この記事が気に入ったらサポートをしてみませんか?