カスタムエフェクトの追加
Elinには、PlayEffect
やEffect.Get
と一緒に使用できる一連のプリビルドエフェクトが含まれていますが、自分自身のエフェクトを簡単に追加することもできます。
テクスチャ設定
カスタムエフェクトのテクスチャは、以下の要件を満たす必要があります:
- フォーマット:画像は横方向のアトラスでなければならず、すべてのアニメーションフレームが横に並んでいる必要があります。
- フレームサイズ:アトラス内の各フレームは正方形でなければなりません(例:32x32、64x64、128x128など)。
- 配置:テクスチャをTextureフォルダ内に直接配置します。
- エフェクト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);