実行環境
- Unity5.6.0b1 (beta)
第6回ゲームエフェクトコンテスト
- https://www.gameeffectcontest.com/
- 2017年2月25日までエントリーを受け付けているコンテスト
- 第6回からUnity部門も開催!
- 決められたテクスチャ群を利用するテクニカル部門とフリー部門が存在する
- テクニカル部門は素材を1から用意する必要が無いのでUnityを多少扱えるエンジニアでも戦えそう
連番テクスチャ
- テクニカル部門の素材に含まれる以下のような画像がある
- このようにアトラス化されたTextureをUnityのParticleSystem(Shuriken)でどのように扱えば良いか?
TextureSheetAnimation
- https://docs.unity3d.com/ja/current/ScriptReference/ParticleSystem.TextureSheetAnimationModule.html
- https://docs.unity3d.com/ja/current/Manual/PartSysTexSheetAnimModule.html
- ParticleSystem上のTextureSheetAnimationを使用することで連番再生が行える
項目名 | |
---|---|
Tiles | X/Yのそれぞれに対して何分割するか |
Animation | WholeSheetはテクスチャシート全体を左から右、上から下へとアニメーションする設定 / SingleRowはシートの1列のみを左から右にアニメーションする |
RandomRow | AnimationがSingleRowのとき、どの列を再生するかランダムで決定する |
Row | AnimationがSingleRowかつRandomRowが無効のとき、どの列を再生するか指定する |
FrameOverTime | アニメーションのフレームが進行するにつれてどのように切り替わるか |
StartFrame | どのフレームからパーティクルを開始するか |
Cycles | パーティクルの生存時間中に何回アニメーションをループさせるか |
FlipU | U座標を反転させて、水平に鏡映したように見せる |
FlipV | V座標を反転させて、垂直に鏡映したように見せる |
EnabledUVChannels | 指定したUVに対してマスクを適応する |
サンプル
下準備
-
Materialを生成
- 任意のShaderを指定 (今回は Mobile/Particle/Additive)
- アトラス化されたテクスチャを指定
- ParticleSystemをScene上に追加
ParticleSystemの設定
-
Renderer
- Materialを指定
- MaxParticleSizeを1に指定
-
TextureSheetAnimation
- 有効にする
- TileXに8 / TileYに4を指定する
-
Shape
- 無効にして出現位置/射出方向を拡散しないようにする
-
ParticleSystem
- StartSpeedを0にしてその場に留まるようにする
- StartSizeを10に設定に設定し大きく描画
- Duration / StartLifetime 共に2に設定し、再生時間を調整
-
Emission
- RateOverTimeを0にし、継続して射出しないようにする
- Burstsを有効にし、0.00時点でMin/Maxを1に指定し、1個だけ表示されるようにする
再生
- 通常再生
- フレーム送り (ショートカットキー: mでフレーム毎にコマ送り再生)
後は加工して好みのエフェクトにするだけ!
- (色味を加え、RateOverTimeに変更しつつ、ランダム回転加え、重力を逆方向に指定した図)