Skip to content

カスタムエフェクトの追加

Elinには、PlayEffectEffect.Getと一緒に使用できる一連のプリビルドエフェクトが含まれていますが、自分自身のエフェクトを簡単に追加することもできます。

テクスチャ設定

カスタムエフェクトのテクスチャは、以下の要件を満たす必要があります:

  1. フォーマット:画像は横方向のアトラスでなければならず、すべてのアニメーションフレームが横に並んでいる必要があります。
  2. フレームサイズ:アトラス内の各フレームは正方形でなければなりません(例:32x32、64x64、128x128など)。
  3. 配置:テクスチャをTextureフォルダ内に直接配置します。
  4. エフェクトIDファイル名(拡張子なし)が、エフェクトのユニークIDとして使用されます。

例えば、magic_burstという名前のエフェクトを作成するには、magic_burst.pngという名前のファイルを作成し、Textureフォルダに配置します。次に、ゲーム内でPlayEffect("magic_burst")を呼び出すことで再生するか、Effect.Get("magic_burst")を使用してカスタマイズできます。

ホットリロードテスト

ゲーム実行中にエフェクトファイルを変更し、コンソールコマンド cwl.data.clear_effect_cache を使用してエフェクトキャッシュをクリアすることで、ホットリロードテストを実行できます。

エフェクトテンプレートの変更

コード内でカスタムエフェクトテンプレートを変更すると、それ以降に生成されるすべてのアニメーションにその変更が適用されます。

cs
using Cwl.Helper.Unity;

var myEffectTemplate = EffectHelper.GetEffectTemplate("magic_burst");
cs
using UnityEngine;

var manager = Effect.manager;
if (manager.effects.map is null) {
    var rod = Effect.Get("rod");
    Object.Destroy(rod);
}

var myEffectTemplate = manager.effects.map.GetValueOrDefault(id);