Unityでドット絵っぽいエフェクトをつくろう
Unityでドット絵っぽいエフェクトを作るの巻です。
注意
「ドット絵っぽい」パーティクルの作り方です。完全なドット絵(ピクセルパーフェクト)にするためには追加の操作が要るので注意してください。
方針
円形のドット絵のテクスチャシートを用意してParticle Systemでアニメーションさせます。
素材を用意するの巻
こんな感じで、大きさの異なるドットの円を並べます。Particle SystemのSizeは固定にして、テクスチャのアニメーションで大きさを変化させます。
素材を読み込むの巻
テクスチャをインポートして、新しいマテリアルにぶち込みます。
Particles/Additiveあたりがいいでしょう。発光してるっぽい表現ができてかなり良いです!(特に炎や爆発におすすめ)
パーティクルを設定するの巻
設定したマテリアルを新しいParticle Systemに適用しましょう。RendererセクションのMaterial欄にあります。
次にテクスチャアニメーションの設定です。Texture Sheet Animationを有効にします。
Tiles欄に、用意したテクスチャのコマ数を指定します。
ここがキモです。Frame Over Timeは「時間ごとのコマ番号」の指定ができるので、ここでパーティクルの大きさを制御できます。作ったテクスチャは一番左が大きく、右に行くほど小さくなるような配置だったので、コマ番号0が一番大きいコマ、8が一番小さいコマになります。
なので、画像のカーブは「開始後すぐに大きくなって、次第に小さくなる」という制御をしていることになります。
ピクセルパーフェクトにする場合は、最後にサイズの指定をします。画面サイズに合わせてStart Sizeを設定します。
例えば画面サイズが640x360で、Pixel Per Unitが32の場合、パーティクルのテクスチャの一コマが16x16なら、Start Sizeは0.5になります。
今回こちらで用意した素材は一コマが17x17なので、17/32=0.53125になります。
私の環境ではこれに加えて2D PixelPerfectのPackageを導入してピクセルパーフェクトにしています。
あとはお好みでColorやEmissionの設定などをしておしまいです。