お役立ち情報

Unityのパーティクルを使って演出できるエフェクト例

Unityのエフェクト例

ゲーム開発のプラットフォームとしておなじみのUnityですが、その機能のなかでも特に活躍するのがパーティクルを使ったエフェクトです。パーティクルとは、Unityにおいてエフェクトを作り出すシステムのようなものです。

パーティクルが何かということはそれほど深く考える必要もないでしょう。エフェクトについては説明するまでもないかもしれませんが、たとえば炎、水、雨、魔法、といった効果をグラフィックで出現させるためのものです。もしくは、それらグラフィックそのものをエフェクトと呼びます。

Unityでは、パーティクルというシステムを使ってエフェクトを作り出すということです。このページでは、具体的にどのようなエフェクトを作ることができるのか解説していきます。

パーティクルでエフェクトを作る流れ

まずエフェクトを作成するためのパーティクル設定の流れですが、左上のGameObjectから以下のように選択します。

GameObject→Effects→ParticleSystem

これでパーティクルからエフェクトを作るための土壌が完成しました。非常に簡単です。ここからはモジュールを用いてエフェクトを設定していくのですが、代表的なモジュールは「ParticleSystemモジュール」と「Emissionモジュール」の二つです。

これらのモジュールで、プロパティを選択してエフェクトを作っていきます。モジュールやプロパティの考え方はプログラミングと同じです。ParticleSystemモジュールの主なプロパティは以下のようになっています。

Duration
システムが動作する長さ
Loopi
有効にすると、システムは Duration の時間の終了時に再び始まり、サイクルを繰り返し続ける
Prewarm
有効にすると、システムが既にサイクルを完全に完了していても初期化される( Looping 有効時のみ動作します)
Start Delay
有効化されてシステムがパーティクルを放出するまでの待機時間(秒単位)
Start Lifetime
パーティクルの初期の生存時間
Start Speed
特定の方向へのパーティクルそれぞれの初速
Start Size
パーティクルそれぞれの初期の大きさ
Start Rotation
パーティクルそれぞれの初期の角度
Start Color
パーティクルそれぞれの初期の色
Gravity Modifier
物理マネージャーで設定されている重力の大きさ。値が0の場合は無重力
Simulation Space
パーティクルを親オブジェクトのローカル座標で動かすか、ワールド座標で動かすか
Simulation Speed
パーティクルのシミュレーション速度
Play on Awake
オブジェクトが生成されたときにシステムを自動で動かすかどうか
Max Particle
そのシステムの中で一度に存在できるパーティクルの最大値。最大値に達した段階で削除される

同様に、Emissionモジュールのプロパティは以下のようになります。

Rate Over Time
1秒ごとのパーティクルの出現数
Rate Over Distance
距離に応じたパーティクルの出現数
Bursts
指定した時間に通常とは異なった量のパーティクルを放射させる( Rate が Time に設定されている時のみ利用可能)

これらのプロパティは基本的にGUI操作であるため、プログラミング不要で設定できてしまいます。プログラミングを楽しみたい方からすると、少々物足りなさを感じるかもしれません。

どのようなエフェクトが作れるのか

上で紹介したプロパティ操作により、無限にエフェクトを作ることが可能です。オブジェクトに対して上記のプロパティを設定し、自由に動きを作っていくイメージになります。エフェクトの例は挙げるときりがないですが、まず一般的にゲームに出てくるようなエフェクトはすべて網羅しています。

  • 花火
  • 噴水
  • 魔法
  • 流れ星
  • 飛び散る血しぶき
  • 津波
  • 洪水
  • 台風

挙げる意味もあまりないかもしれませんが、オブジェクトに対してプロパティで設定していけばプログラミングなしで簡単にエフェクトが作れます。

スタンダードアセットをインポートする

スタンダードアセットとは、パーティクルの一種です。つまり、オブジェクト、もしくはプレハブを追加し、そこに設定を施すことでエフェクトを完成させるイメージです。アセットのなかに最初から炎やレーザーや爆発が入っており、これを画面に入れて位置調整すればそれだけでひとまずエフェクトが完成します。

Unityのエフェクトは基本的に直感操作なので、プログラミングのようにアルゴリズムやロジックを考える必要はなく、またコードを覚える必要もありません。

Unityで作られたゲーム

エフェクトを知るためには、実際にUnityで作られたゲームを見てみる、もしくは、すでにそのゲームを知っている場合は思い出してみると良いでしょう。自分で手を動かして作業するなら今から紹介するゲームはクオリティが高すぎるのですが、「Unityでこんなゲームが作れるんだ」を知っておくことはモチベーションアップにつながります。

簡単なサンプルゲームから試して着実にスキルアップすることは重要ですが、ゲーム開発は特に他のシステム開発に比べてもモチベーションがかなり重要です。なぜなら、楽しみながら開発しないと「なんでゲームなんか作ってるんだろう」という気分になって途中で辞めてしまう可能性があるからです。

実際私も個人でゲームを作ってみたことがあるのですが、利益目的ではなく完全に個人の趣味として作っていたため、つまづいた段階で挫折して辞めてしまった経験が何度かあります。

業務システムと違って機能的なゴールがないので、案外モチベーションを保つのが難しいと感じました。なので、既存のUnityゲームを知り、ワクワクしながら作ることが重要かと思います。

Unityで作られたゲームには以下のようなものがあります。

  • スーパーマリオラン
  • テラバトル
  • ポケモンGO
  • 君の目的は僕を殺すこと。
  • バイオハザード アンブレラコア

どれも有名なゲームです。

まずスーパーマリオシリーズはもともと任天堂の独自のゲームエンジンで作られていましたが、スーパーマリオランで初めてUnityが使用されました。任天堂が使用するほどなので、やはりUnityのクオリティは高いということです。

エフェクトとしては非常にシンプルなので、初心者のうちから参考になるかと思います。他のゲームについてもゲームが好きな人からすると説明するまでもないかと思います。スマホゲームからコンシューマーゲームまで幅広くUnityは使用されており、ゲーム開発においては最強のプラットフォームです。

これらのゲームのエフェクトを確認したい場合、YouTube等で見てみると良いかと思います。またゲームによってはUnityでの設定を公開しているものもあるので、見てみると良いでしょう。

あえて同じものを試してみる必要はありませんが、いろいろなゲームを参考にUnityの使い方が頭のなかにインプットされていれば、実際に自分のゲームを作る際にエフェクトのアイデアが浮かびやすいです。

少なくともどのようなエフェクトを設定するか迷うことが減り、なおかつリサーチもスムーズになります。

【Unity関連記事】
▼Unityの基礎編
・ 【unityのフリーランス求人・案件情報】エンジニア需要や開発単価、未経験でもいける?
・ 【unity入門】ゲーム開発だけじゃない、Unityで出来ること

▼Unityの外部アセット、リソース編
・ UnityでMMDモデルを自由自在に動かしてみよう!
・ Unity adsを使って簡単に広告を導入しよう
・ Unityのアセットストアの上手な使い方
・ Unityで作られているARアプリをまとめてみました

▼Unityのコンポーネント編
・ Unityのrigidbodyを使って物理演算を導入してみよう
コードを使わずにUnityでキャラ追従のカメラを作る方法
・ Unityで簡単にアニメーションを作成する方法をまとめました
・ Unityでオブジェクトを回転させる方法をわかりやすくまとめました
・ Unityのtransformを使ってオブジェクトの座標や回転を操作する
・ Unityのアニメーターを簡単に作成する方法まとめ
・ UnityのShaderの解説と使い方まとめました
・ Unityで「当たり判定」(衝突判定)を付ける方法
・ Unityのgetcomponentの上手な使い方と使用時の注意点まとめ
・ Unityでキャラの移動を制御する方法まとめ
Unityのraycastを使って出来ることをまとめました

▼Unityのデフォルト機能、ゲーム製作編
blenderで作ったオブジェクトをUnityで組み込んでみよう
・ Unityのコルーチンとは?使い方をまとめました
Unityで作られているRPGゲームを作るための6つのステップ
・ (この記事)Unityのパーティクルを使って演出できるエフェクト例
・ UnityでのUIデザインの基礎をまとめてみました
Unityのcloud buildの便利な点をまとめました
・ Unityを使って半日でFPSゲームを作ってみよう

キャリアカウンセリングのプロとして
あなたに合った案件をご案内します。

まずはお気軽にお問い合わせください!

イメージ