るっちょ らいつ

るっちょ ぷれぜんつ 開発の日々。

Unityでドット絵っぽいエフェクトをつくろう

f:id:ruccho:20190616225048p:plain

Unityでドット絵っぽいエフェクトを作るの巻です。

 
注意

「ドット絵っぽい」パーティクルの作り方です。完全なドット絵(ピクセルパーフェクト)にするためには追加の操作が要るので注意してください。

 

方針

円形のドット絵のテクスチャシートを用意してParticle Systemでアニメーションさせます。

 

素材を用意するの巻

 

f:id:ruccho:20190616225726p:plain

 こんな感じで、大きさの異なるドットの円を並べます。Particle SystemのSizeは固定にして、テクスチャのアニメーションで大きさを変化させます。

 

 

素材を読み込むの巻

テクスチャをインポートして、新しいマテリアルにぶち込みます。

Particles/Additiveあたりがいいでしょう。発光してるっぽい表現ができてかなり良いです!(特に炎や爆発におすすめ)

f:id:ruccho:20190616230606p:plain

 

パーティクルを設定するの巻

設定したマテリアルを新しいParticle Systemに適用しましょう。RendererセクションのMaterial欄にあります。

f:id:ruccho:20190616230902p:plain

 

次にテクスチャアニメーションの設定です。Texture Sheet Animationを有効にします。

f:id:ruccho:20190616230956p:plain

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の設定などをしておしまいです。