記事の概略
Godotでエフェクトを再生するためEffekseerというプラグインを使ってみた覚書です。
このツールで作成したエフェクトはUnityやUnrealEngineなど、Godot以外でも再生できるそうです。
エフェクト作成ツール「Effekseer」
https://effekseer.github.io/jp/index.html
Effekseerのダウンロード
こちらのURLからEffekseer本体をダウンロードします。今回はWindows64Bit版の1.70eをダウンロードしました。
https://effekseer.github.io/jp/download.html
Effekseerでサンプルエフェクトを再生してみる
ダウンロードしたzipを解凍して適当なディレクトリに移動します。(自分はよくホーム直下にtoolsというディレクトリを作って、インストールしないようなプログラムを置いています)
解凍した中身は以下のような階層になっていて、Sampleにはサンプルエフェクト、Toolの中にEffekseerの実行ファイルが格納されています。起動させるとこんな画面が表示されます。

「ファイル」>「開く」からサンプルのエフェクトを読み込んで再生することができます。
試しにSample/00_Basic/Laser01.efkefcを読み込んで、画面下の再生ボタンを押すとエフェクトが繰り返し再生されます。かっこいい!

オリジナルエフェクトの作り方
新しいエフェクトを自分で作りたい場合はこちらにチュートリアルがあるのでそれを参考に作れそうです。あとで自作エフェクト作成にも挑戦してみようと思います。
https://effekseer.github.io/jp/documentation.html#tutorial_sec
ひとまずはサンプルエフェクトを利用させてもらい、それをGodotで再生してみたいと思います。
Godot用プラグインのダウンロード
こちらのURLからプラグインをダウンロードします。安定板の1.70e.3をダウンロードしました。
https://github.com/effekseer/EffekseerForGodot4/releases
Godotのプロジェクト作成とプラグイン導入
Godotのバージョンは4.2.2を使って、今回はHelloEffekseerという名前でプロジェクトを作成しました。
※Effekseerのプラグインバージョン1.70e.3はGodot4.2以降でしか動作しないそうなので、注意してください。
プロジェクトを作成したら、ダウンロードしたEffekseerプラグインのzipを解凍したものに含まれるaddonsというフォルダをプロジェクト直下にコピーします。(もし既にプロジェクト直下にaddonsフォルダが作られている場合、addonsの中身のeffekseerフォルダをプロジェクトのaddons以下にコピーしてください)

コピーしたらいったんGodotを閉じて再度開くと「プロジェクト」>「プロジェクト設定」のプラグインタブに「Effekser for Godot4」が表示されるのでチェックをして有効にします。

エフェクトを表示してみる
サンプルに含まれるLaser01のエフェクトを再生してみたいので、Effekseerに含まれるSample/00_Basicフォルダを丸ごとプロジェクト直下にコピーします。
Godot上で3Dシーンを作成し、名前をMainと変更します。
次にCamera3Dを追加してposition(2, 2, 2)、rotation(-30, 45, 0)を設定、そのあとエフェクトを表示するためのノードEffekseerEmitter3Dを追加します。
EffekseerEmitter3DのEffectに00_Basic/Laser01.efkefcを指定してシーンを保存。
プロジェクトを実行(F5)でエフェクトが再生されるのを確認できます。

このままでは1回再生して終わってしまうので、何度も再生できるようMainシーンにこんなスクリプトを設定してみます。
extends Node3D
func _process(delta):
if Input.is_key_pressed(KEY_SPACE):
$EffekseerEmitter3D.play()
これでスペースキーを押すたびにエフェクトが再生されるのを確認できるようになりました。
本当にお手軽にエフェクトを追加できるので、ぜひ試してみてください。
