👾

UnityからGodot移行民にもおすすめな実用アドオン

2023/09/15に公開
3

こんばんは。Godot民です。

2023/9/14にUnityは大変なことになったようですね。

この記事では、わたしのおすすめの、Godot4で役立つアドオンなどをご紹介します。

私が実際のプロジェクトに投入している実用度が高いものを載せました。

現行のstableである4.1.1を対象にしています。

GodotEngine本体がMITなのもあり、GodotのアドオンはOSSで配布されているものが多いです。

そのままアドオンを使うのもあり、自分でカスタムするのもあり。

仕組みをパクるのもありです。(もちろんライセンスはちゃんと!)

念願のGodot4です。すぐにアドオンがバンバン出るのもα、βと公開で開発が進むOSSならでは。

GodotEngine、盛り上がっていきましょう~


Phantom Camera


https://github.com/ramokz/phantom-camera

UnityのCineMachineに近いカメラアドオンです。

CineMachineのように、仮想カメラを配置して、Tweenでなめらかにカメラを切り替えたり動かしたりできます。

StateCharts


https://github.com/derkork/godot-statecharts
FMS(Finite State Machine)をさらに使いやすくした、StateChartのGodot実装です。

StateChartはStateMachineを強化したもので、
特にStateMachineが大きくなるにつれて起こる状態の爆発が解決できます。

StateMachine系の中ではいちばんスマートに作れるアドオンだと思います。
Godotのノードとの相性が…良いっ

Beehave


https://github.com/bitbrain/beehave
BehaviorTreeのアドオンです。

GodotのシーンツリーをBehaviorTreeのようにして使います。

各ActionやConditionをファイルにして1つずつ作るのが少し面倒ですが、


図示してくれるデバッグ画面やプロファイラーがあったりと充実しています。

Resonate

https://github.com/hugemenace/resonate
AudioManagerのアドオンです。

AdaptiSound

https://github.com/MrWalkmanDev/AdaptiSound

こちらもリアクティブ音楽を管理するAudioManagerを提供するアドオンです。


音関連で、複雑なことがやりたいならミドルウェアのWWISEやADXを入れても良さそうですね。

https://github.com/alessandrofama/wwise-godot-integration

https://github.com/ueshita/ADXLE-GodotPlugin


Godot Instance Dock


https://github.com/KoBeWi/Godot-Instance-Dock
2Dゲーム向けのエディタアドオンです。
シーンをパレットに入れて、ポンポン配置できるようになります。

2Dのプラットフォーマーや、トップビューのゲームだととても重宝します。

Dialog Manager



https://github.com/nathanhoad/godot_dialogue_manager

会話シーンが作れるアドオンです。

会話リソースは全てテキストで、さくっと書いて会話シーンにしたり、バルーンにもできます。

シーンとコードがシンプルなので、カスタムして組み込みやすいのが後述のDialogicよりも優れています。

Dialogic



https://github.com/coppolaemilio/dialogic

リッチな会話シーンが作れるアドオンです。

GUI方式で会話シーンを作ったり、テキストに切り替えたりできます。

キャラ表示やポポポポ音、文章特殊文字やシグナルなど、リッチな会話シーンがかんたんにつくれます。

Godot3からGodot4で大幅に作り直されており、

まだαなので動作が不安定なところがあります。

今後の安定に期待です。ほんとに。

Effekseer for Godot


https://github.com/effekseer/EffekseerForGodot4

エフェクトを再生できるOSSツール、EffekseerがGodotでも使えます!
GDExtensionアドオンです。

2Dエフェクトも3Dエフェクトも!

Effekseerファイルは自分で作るもよし。
Effekseer公式で配布されてるものやツクールMZを買ってEffekseerファイルを使うのもいいでしょう。
(ツクール素材は購入、登録すれば他エンジンで使用しても良くなりましたね!)

GDCubism (Live2D)


https://github.com/MizunagiKB/gd_cubism/
最近、Live2DがGodotでも使えるようになりました!

Live2DをGodotで再生できるGDExtensionアドオンです。

Godot EngineのEditorからLive2Dモデルの制御もできます。

もちろん、Live2DモデルをGDScriptから自由に操作できます。
例えばゲームパッドで操作したり、定期的に一部のパラメータを書き換えたり……

Godotの背景透明化することで、
Live2Dモデルを読み込んでデスクトップマスコット風にできたりもっ!
サンプルコードもあります。

spine-godot

https://github.com/EsotericSoftware/spine-runtimes/tree/4.1/spine-godot
http://ja.esotericsoftware.com/spine-godot
SpineもGodot4に対応しましたっ!

Spine公式のモジュールです。
Spineが組み込み済みのGodotエディタ、Godotエクスポートツールをダウンロードして使います。
もちろん、ビルドすることもできます。

Native Dialogs

https://github.com/98teg/NativeDialogs

Godotで、OSネイティブのダイアログを表示することができるGDExtensionアドオンです。

ファイル選択ダイアログや、確認ダイアログを出せます。

呼べば出ます。楽。

Godotのファイル選択ダイアログはちょっと使いにくいのでこれはいいですね。

ただし、4.2からGodotの関数だけでファイル選択ダイアログを出せます。
(4.2でもGodotの関数だけで選択ダイアログは出せないようです)

ゲームよりはツール向けかも?

私はツールで使っています。

gdscript-preprocessor

https://github.com/dalexeev/gdscript-preprocessor

C#の #if DEBUG みたいなことができます。

ビルド時にスクリプトの一部をコンパイルしないという処理です。

IdeaBoard


https://github.com/folt-a/godot-idea-board

わたしが作りました。せっかくなので紹介に混ぜてみました。

IdeaBoardは、Godot内のシーンやリソースなどのファイルを管理するためのホワイトボード的なエディタアドオンです。
ゲームには含めてビルドしません。

ゲームの設計をまとめたりするのに使います。

好きなところに配置して、配置したものへ飛ぶリンクボタンを作ったり
設計中のメモを書いたり
シーンを配置して再生ボタンを押すとすぐデバッグプレイできるようにしたりできます。

godot-nesink

https://github.com/folt-a/godot-nesink
Godotのawaitを、JavaScriptのPromiseのように扱えるアドオンです。

Godotのawaitだと複数の非同期を走らせて、全部終わるのを待ったり、キャンセルするのが難しいです。

このアドオンを使えば非同期をうまく処理することができます。

ydiさんが作成して、わたしのリポジトリへ移動したものです。

似たようなアドオンもあったきがします。

Asset Placer

Godotには珍しく有償のアドオンです。

3D上で、モデルをポンポン配置できるエディタアドオンです。
C#の機能を使用しているため、C#エディタでしか動きません。

グリッド的に配置したり、モデルに沿わせてモデルを配置したりと有償でC#なだけはあってかなり便利なアドオンです。

配置するためのアドオンなので、C#版を使いたくない場合は、C#で配置して作って、
非C#にシーンを移せばC#でゲームを配布しなくてもよいですね。

https://cookiebadger.itch.io/assetplacer

Chickensoftのアドオン一式

Chickensoftから、GodotのC#のいろいろなアドオンが出てます。
SuperNodesとAutoInjectは便利かな~と思います。

https://github.com/chickensoft-games

https://github.com/chickensoft-games/GameDemo
デモのリポジトリもあります。

GDTask

Unityでの非同期処理の最強ライブラリ、UniTaskのGodot移植です。

C#をゲーム側で使いたいなら。

C#はGodotでは使いにくい点もまだまだありますが……

強力なUniTaskをGodotでもそのまま使いたいならGDTaskは便利ですね。

GDScriptに比べてC#は苦労することは多いですが、C#資産を使える可能性があるのは良いですね。

https://github.com/Fractural/GDTask

(2024/2/14追記)
本家UniRxの後継ライブラリ、R3が出ました!
なんとGodot4にも対応しています!
https://github.com/Cysharp/R3

話は逸れますがツール系アプリにおいては、C#は文句なしで便利です。

Godotは意外とツール系アプリでも人気なんですよね。
GUIが作りやすくてクロスプラットフォームだからでしょうか。


おまけ

学習は2dgames.jpがおすすめです。
とてもわかりやすいですね。

Godot Engine 日本コミュニティ
Godot日本コミュニティもあります!よろしくね。
Godot Engine 日本コミュニティのDiscord
日本語のDiscordもありますよっ

「Godot流行ってくれ~」と祈り続けていましたがまさかほんとに流行ったりします?

Discussion

FireDingoFireDingo

おお〜
Godot3の時からいくつかのアドオンは使用していましたが、4.0になってからこんなに増えたんですね。
質の良い記事ありがとうございます