シンプルなヒットエフェクトの制作!パーティクルの動かし方と色の調整

Unity

はじめに

ゲーム制作において、ヒットエフェクトは攻撃の手応えや迫力を演出する重要な要素です。特に、パーティクルを使った表現は、動きや色の調整次第で大きく印象が変わります。本記事では、初心者向けにヒットエフェクトのパーティクルの動かし方や色の調整方法を詳しく解説します。

ヒットエフェクトとは?

ヒットエフェクトとは、攻撃が敵やオブジェクトに当たった際に発生する視覚効果のことを指します。これにより、プレイヤーに「攻撃が当たった!」という感覚を強調することができます。

ヒットエフェクトの主な種類

  • スパーク(火花): 鋭い衝撃や電撃など
  • 煙・衝撃波: 重い打撃や爆発
  • 血飛沫: リアルなダメージ表現
  • 光のフラッシュ: 魔法攻撃やエネルギー系の攻撃

上記の他にもあるかと思いますが、今回は斬撃でのヒットエフェクト制作します。

要素としては、

  • ヒットのコア
  • コアの後ろにしく、白とび用のグロー
  • ヒットした際に広がる空気、衝撃、火花

それぞれを合わせたものがこちらになります。

素材URL

パーティクルの基本的な動かし方

パーティクルの挙動を決める要素は多くありますが、基本となるのは以下の3つです。

発生位置と範囲

ヒットエフェクトのパーティクルは、攻撃の当たった位置から発生します。発生範囲を広げすぎると不自然になるため、小さめのエリアに設定するとリアルな見た目になります。

調整するパラメータ例:

  • 発生位置
  • ランダムな位置オフセット
  • 角度(Direction)

速度と方向

ヒットの勢いを表現するには、パーティクルの速度や方向を工夫することが重要です。

  • 爆発感を出したい場合 → 放射状に広がる
  • 斬撃のような動き → 一方向に流れる、放射状に広がる

調整するパラメータ例:

  • 初速度(Start Speed)
  • 速度変化(Drag)
  • 重力の影響(Gravity Modifier)

今回は重力を使用しません。火花のように表現し余韻を見せたいので重力がきていしまうと目が火花にいってしまいます。これは個人の感覚の問題になります。人によっては重力がきいた火花のほうがいいと言う方もいます。現場に出ると制作しているゲームによって表現が違ったり、エフェクトをチェックしていただく方によって様々です。ですので、現場にでるまでにいろいろなエフェクトを制作するとより良いものが制作できるはずです。

消滅の仕方

パーティクルの消滅の仕方も重要なポイントです。

  • 急に消えると不自然なので、フェードアウトさせる
  • スパーク系なら「徐々に縮小」
  • 煙系なら「透明度を下げる」

調整するパラメータ例:

  • 寿命(Lifetime)
  • サイズ変化(Size Over Lifetime)
  • アルファフェード(Color Over Lifetime)

色の調整方法

エフェクトの色は、視認性やゲームの雰囲気に大きな影響を与えます。

攻撃属性に合った色を選ぶ

攻撃タイプカラー
斬撃白、青
炎攻撃赤、オレンジ、黒
氷攻撃青、水色
雷攻撃黄色、紫、黄
毒攻撃緑、紫

色のグラデーションと変化

ヒットエフェクトにリアリティを加えるには、時間経過で色が変わるように設定すると効果的です。

調整するパラメータ例:

  • 色の変化(Color Over Lifetime)

上記6つのことを考えながらエフェクトを制作していきます。

ヒットのコア

Duration1
Looping☑をはずす
Start Lifetime0.2
Start Speed0
Start Size4
Start Rotation0~360
EmissionのRtae over Time
Burst
0
1
Shape☑をはずす

・Shapeの☑をはずすと一点で発生するようになります。

・Size over Lifetime
カーブをはじめから0にしないのは、ヒットエフェクトはある程度の大きさからでてほしいからです。
なにかしらに当たって発生したものなので、はじめから視認できるような状態であってほしいです。
Sizeが0だとコンマ何秒かエフェクトが発生しない時間が生まれます。それは何としても避けたいので、はじめにSizeを大きい状態で発生させます。

コアの後ろにしく、白とび用のグロー

Duration1
Looping☑をはずす
Start Lifetime0.4
Start Speed0
Start Size5
EmissionのRtae Over Time
Burst
0
1
Shape☑をはずす

Start LifetimeをHitのコアより長くしています。Hitは光源なのでグローがでます。
SizeはHit光源よりも大きくする必要があります。

・Color over Lifetime

・Size over Lifetime

ヒットした際に広がる空気、衝撃、火花

・空気

Duration1
Looping☑をはずす
Start Delay0.02
Start Lifetime0.4
Start Speed0
Start Size6
Start Rotation0~360
Start ColorAlphaを20
EmissionのRtae Over Time
Burst
0
1
Shape☑をはずす

・Color over Lifetime

・Size over Lifetime

・衝撃

Duration1
Looping☑をはずす
Start Delay0.05
Start Lifetime0.3
Start Speed0
Start Size4
EmissionのRtae Over Time
Burst
0
1
Shape☑をはずす

・Color over Lifetime

・Size over Lifetime

・火花

Duration1
Looping☑をはずす
Start Lifetime0.4~0.8
Start Speed5~15
Start Size0.05~0.1
EmissionのRtae Over Time
Burst
0
30
ShapeSphere
Limit Velocity over LifetimeDampenを0.2
RendererRender ModeをStretched Billboard

・Color over Lifetime

・Noise
後半にかけてnoiseが遠くへ行くように設定しています。理由としては、発生のはじめはnoiseの力より遠くへいくスピードの力がnoiseより強いと思ったからです。また、発生はじめにnoiseがかかってしまうとインパクト感が薄れてしまうからです。

Size over Lifetimeのグラデーションは使用しておりません。理由としましては、Sizeが小さくなる前に消えてしまうからです。大きい状態で消えてしまうと目についてしまいます。

これですべての設定が完了しました。

まとめ

ヒットエフェクトを魅力的にするには、

  1. パーティクルの発生位置・速度・消え方を調整する
  2. 攻撃属性に合った色を選ぶ
  3. 色のグラデーションやブレンドモードを活用する

これらのポイントを意識することで、より迫力のあるエフェクトを作ることができます。ぜひ試してみてください!

コメント