UnityからGodot移行民にもおすすめな実用アドオン
こんばんは。Godot民です。
2023/9/14にUnityは大変なことになったようですね。
この記事では、わたしのおすすめの、Godot4で役立つアドオンなどをご紹介します。
私が実際のプロジェクトに投入している実用度が高いものを載せました。
現行のstableである4.1.1を対象にしています。
GodotEngine本体がMITなのもあり、GodotのアドオンはOSSで配布されているものが多いです。
そのままアドオンを使うのもあり、自分でカスタムするのもあり。
仕組みをパクるのもありです。(もちろんライセンスはちゃんと!)
念願のGodot4です。すぐにアドオンがバンバン出るのもα、βと公開で開発が進むOSSならでは。
GodotEngine、盛り上がっていきましょう~
Phantom Camera
UnityのCineMachineに近いカメラアドオンです。
CineMachineのように、仮想カメラを配置して、Tweenでなめらかにカメラを切り替えたり動かしたりできます。
StateCharts
FMS(Finite State Machine)をさらに使いやすくした、StateChartのGodot実装です。
StateChartはStateMachineを強化したもので、
特にStateMachineが大きくなるにつれて起こる状態の爆発が解決できます。
StateMachine系の中ではいちばんスマートに作れるアドオンだと思います。
Godotのノードとの相性が…良いっ
Beehave
BehaviorTreeのアドオンです。
GodotのシーンツリーをBehaviorTreeのようにして使います。
各ActionやConditionをファイルにして1つずつ作るのが少し面倒ですが、
図示してくれるデバッグ画面やプロファイラーがあったりと充実しています。
Resonate
AudioManagerのアドオンです。
AdaptiSound
こちらもリアクティブ音楽を管理するAudioManagerを提供するアドオンです。
音関連で、複雑なことがやりたいならミドルウェアのWWISEやADXを入れても良さそうですね。
Godot Instance Dock
シーンをパレットに入れて、ポンポン配置できるようになります。
2Dのプラットフォーマーや、トップビューのゲームだととても重宝します。
Dialog Manager
会話シーンが作れるアドオンです。
会話リソースは全てテキストで、さくっと書いて会話シーンにしたり、バルーンにもできます。
シーンとコードがシンプルなので、カスタムして組み込みやすいのが後述のDialogicよりも優れています。
Dialogic
リッチな会話シーンが作れるアドオンです。
GUI方式で会話シーンを作ったり、テキストに切り替えたりできます。
キャラ表示やポポポポ音、文章特殊文字やシグナルなど、リッチな会話シーンがかんたんにつくれます。
Godot3からGodot4で大幅に作り直されており、
まだαなので動作が不安定なところがあります。
今後の安定に期待です。ほんとに。
Effekseer for Godot
エフェクトを再生できるOSSツール、EffekseerがGodotでも使えます!
GDExtensionアドオンです。
2Dエフェクトも3Dエフェクトも!
Effekseerファイルは自分で作るもよし。
Effekseer公式で配布されてるものやツクールMZを買ってEffekseerファイルを使うのもいいでしょう。
(ツクール素材は購入、登録すれば他エンジンで使用しても良くなりましたね!)
GDCubism (Live2D)
最近、Live2DがGodotでも使えるようになりました!
Live2DをGodotで再生できるGDExtensionアドオンです。
Godot EngineのEditorからLive2Dモデルの制御もできます。
もちろん、Live2DモデルをGDScriptから自由に操作できます。
例えばゲームパッドで操作したり、定期的に一部のパラメータを書き換えたり……
Godotの背景透明化することで、
Live2Dモデルを読み込んでデスクトップマスコット風にできたりもっ!
サンプルコードもあります。
spine-godot
SpineもGodot4に対応しましたっ!
Spine公式のモジュールです。
Spineが組み込み済みのGodotエディタ、Godotエクスポートツールをダウンロードして使います。
もちろん、ビルドすることもできます。
Native Dialogs
Godotで、OSネイティブのダイアログを表示することができるGDExtensionアドオンです。
ファイル選択ダイアログや、確認ダイアログを出せます。
呼べば出ます。楽。
Godotのファイル選択ダイアログはちょっと使いにくいのでこれはいいですね。
ただし、4.2からGodotの関数だけでファイル選択ダイアログを出せます。
(4.2でもGodotの関数だけで選択ダイアログは出せないようです)
ゲームよりはツール向けかも?
私はツールで使っています。
gdscript-preprocessor
C#の #if DEBUG みたいなことができます。
ビルド時にスクリプトの一部をコンパイルしないという処理です。
IdeaBoard
わたしが作りました。せっかくなので紹介に混ぜてみました。
IdeaBoardは、Godot内のシーンやリソースなどのファイルを管理するためのホワイトボード的なエディタアドオンです。
ゲームには含めてビルドしません。
ゲームの設計をまとめたりするのに使います。
好きなところに配置して、配置したものへ飛ぶリンクボタンを作ったり
設計中のメモを書いたり
シーンを配置して再生ボタンを押すとすぐデバッグプレイできるようにしたりできます。
godot-nesink
Godotのawaitを、JavaScriptのPromiseのように扱えるアドオンです。
Godotのawaitだと複数の非同期を走らせて、全部終わるのを待ったり、キャンセルするのが難しいです。
このアドオンを使えば非同期をうまく処理することができます。
ydiさんが作成して、わたしのリポジトリへ移動したものです。
似たようなアドオンもあったきがします。
Asset Placer
Godotには珍しく有償のアドオンです。
3D上で、モデルをポンポン配置できるエディタアドオンです。
C#の機能を使用しているため、C#エディタでしか動きません。
グリッド的に配置したり、モデルに沿わせてモデルを配置したりと有償でC#なだけはあってかなり便利なアドオンです。
配置するためのアドオンなので、C#版を使いたくない場合は、C#で配置して作って、
非C#にシーンを移せばC#でゲームを配布しなくてもよいですね。
Chickensoftのアドオン一式
Chickensoftから、GodotのC#のいろいろなアドオンが出てます。
SuperNodesとAutoInjectは便利かな~と思います。
デモのリポジトリもあります。
GDTask
Unityでの非同期処理の最強ライブラリ、UniTaskのGodot移植です。
C#をゲーム側で使いたいなら。
C#はGodotでは使いにくい点もまだまだありますが……
強力なUniTaskをGodotでもそのまま使いたいならGDTaskは便利ですね。
GDScriptに比べてC#は苦労することは多いですが、C#資産を使える可能性があるのは良いですね。
(2024/2/14追記)
本家UniRxの後継ライブラリ、R3が出ました!
なんとGodot4にも対応しています!
話は逸れますがツール系アプリにおいては、C#は文句なしで便利です。
Godotは意外とツール系アプリでも人気なんですよね。
GUIが作りやすくてクロスプラットフォームだからでしょうか。
おまけ
学習は2dgames.jpがおすすめです。
とてもわかりやすいですね。
Godot Engine 日本コミュニティ
Godot日本コミュニティもあります!よろしくね。
Godot Engine 日本コミュニティのDiscord
日本語のDiscordもありますよっ
「Godot流行ってくれ~」と祈り続けていましたがまさかほんとに流行ったりします?
Discussion
おお〜
Godot3の時からいくつかのアドオンは使用していましたが、4.0になってからこんなに増えたんですね。
質の良い記事ありがとうございます
R3はUniTaskの 後継ライブラリではありません
UniRxの後継ライブラリです!
ご指摘ありがとうございます!
頭の中では分かっていたのに書き間違えていました……