動的EmissionSystemのソースコード
完成図
はじめに
今回はアニメーションの動きに合わせて
EmissionMapを設定できる方法をGitHubにまとめたのでその紹介記事です
ソースコード各種素材
今日の主役ですね必ずダウンロードしてください。
使う前の下準備
今回はデモにUnityちゃんを使うので必ずダウンロードしてProjectにいれてください。
実際に使う時はUnityちゃんのライセンス表記漏れが無いようにしましょう。
Animatorをアタッチする
今回はUnityちゃんのアニメーション中にEmssionさせるので Animatorをアタッチします
ControllerにはUnityChan(Sword)を指定しましょう。
EmissionMapをダウンロード
GitHubに上がってるEmissionMapのファイルをダウンロードしてUnityに取り込みましょう。
Unityに入れたら必ずTextureTypeをSpriteに指定しましょう。
使い方
GameObjectにChangeEmissionMapSystemをアタッチする
まずEmissionさせたいオブジェクトに
GitHubにUPされたChangeEmissionMapSystem.csをアタッチします。
Emissionさせたいゲームオブジェクトは現在上記の様に成ってると思います。
次にEmissionさせたい色をChange2EmissionColorで事前に指定しておきましょう。
次は初期化時の色をInisializeEmissionColorに指定しましょう。これは基本ブラックで良いと思います。
Animatonを設定する
まず上記の要領でAnimationWindowを表示させます。
次にAnimationをUnityChanAttack_6に指定しておきます。
AddPropertyからChangeEmissionMapSystem/EmissionMapを追加します
AnimatorでEmissionMapを指定する
ProjectViewからChangeEmissionMapSystem/EmissionMapにEmissionMapを指定します。
上記の様にGameViewでコマの動きを確認しながらEmissionMapを指定すると良いです。
EmissionMapを指定しましたら実際に実行してみましょう。
実行したら再度AnimationViewでAnimationを指定して
右三角の再生ボタンを押すとアニメーションが再生されます
これで完成です! どうでしょう上手く行きましたか。
終わりに
EmissionMapを指定するのが面倒なのがこのシステムの欠点ですが 上手く行ったでしょうか。
機会があればAnimatotionのファイル名を元にEmissionMapを指定するシステムを作りたいと思いました。
ではこれで最後ですお疲れ様です。
ライセンス