【Unity】エフェクト制作方法・よくあるFAQについて分かりやすく解説!

URLをコピーする
URLをコピーしました!

CGBoxの一部の記事にはアフィリエイト広告が含まれております。

こんにちは!コチラの記事では、エフェクトの制作方法と、エフェクト制作に関するよくあるFAQについて分かりやすく解説していきます。

目次

エフェクト制作の基本「パーティクル」とは

パーティクルシステムは、たくさんの「小さな画像」や「メッシュ」を使って、エフェクト(視覚効果)を作り出すシステムで、このたくさんの「小さな画像」や「メッシュ」を「パーティクル」と呼びます。

パーティクルシステムには様々な機能があり、パーティクルの数や大きさを変化させたり、パーティクルの存在している時間やスピードなどを変化させたりして、エフェクトを作ることができます。

またパーティクルシステム同士を組み合わせたりして、エフェクトを作っていきます。

2Dのエフェクトの作り方

2Dのエフェクトの作り方について簡単に解説するために、今回はハートのパーティクルが円を描いているエフェクトを作成していきます。

まず Project 上で右クリックし Create → Material でマテリアルを作成します。

作成したマテリアルを選択し、Inspector → Shaderを Universal Render Pipeline → Particles → Unlit に変更します。

そして Alpha Clipping のチェックを入れ任意のテクスチャー(今回はハートのテクスチャーを使用しています)を、Base Map の左端にある小さな丸から選択します。

次に、Hierarchy で右クリック→ Effects → Particle system で、パーティクルシステムを作成します。

パーティクルシステムの Inspector → Render → Material に、先ほど作成したマテリアルをドラッグアンドドロップして、マテリアルを変更します。

次にパーティクルシステムの Inspector → Shape の Shape を Sphere に変更します。

そして Radius の数値を小さく調整しましょう。

Inspector → Start Life time 、Start Speed 、Start Size をそれぞれ以下の数値を参考にして、任意の数字に変更します。

Start Color を好きな色(今回は、ピンク系統でランダムに設定)に変更します。

Simulation Space を World に変更します。

最後に Inspector → Size over Life time にチェックを入れます

Size のグラフを調整して、パーティクルのサイズが大きくなったり小さくなったりを繰り返して消えていくような動きに以下の形を参考に調整してみてください。

そうすると以下のようなハートが大きくなったり小さくなったりしながら、放出される2Dエフェクトが作成できます。

以上の作り方を参考に、好みの2Dエフェクトを制作してみてください。

エフェクトにアニメーションをつける方法

エフェクトにアニメーションをつけるために Timeline を使用します。

以下、作成したエフェクトにアニメーションをつけて、円を描く軌道にしていく解説をします。

まずは Unity 上部の Window から Sequencing → Timeline を選択しタイムラインのウインドウを出します。

次にタイムライン用のゲームオブジェクトを作成し、そこにパーティクルシステムを親子付けします。

このとき親となるタイムライン用のゲームオブジェクトには、パーティクルシステムのコンポーネントを追加して、Emission、Shape、Renderのチェックを外しておきましょう。

タイムライン用の Game Object を選択しTimeline の「 Create からタイムラインを任意のフォルダに作成します。

タイムラインが作成出来たら、タイムライン用の Game Object を選択してドラッグアンドドロップで、タイムラインにスライドさせ、「 Add Animation Track 」を選択しましょう。

タイムラインの Start Recording(赤い丸ボタン)を押してレコーディングします。

0秒の時に Rotation の「Zの値が0」、5秒の時にRotationの「Zの値が360」になるようにキーを打ちます

赤い丸ボタンが点滅している状態で、数値を変更するとキーが打たれます

このときタイムライン用の親のGame Objectの位置を中心にして、子のパーティクルシステムの位置はずらしておく必要があります。

タイムラインを作成しキーを打つことで、エフェクトにアニメーションをつけることができます。

斬撃エフェクトの作り方

斬撃エフェクトの作り方について簡単に解説するために、今回は以下のような斬撃エフェクトを作成していきます。

エフェクト用のシェーダーの作り方

Project 上で右クリック→ Create → Shader Graph → URP → Unlit Shader Graph でシェーダーを作成します。

作成したシェーダーを開き、以下のようにノードを組みましょう。

Texture2D と ScrollSpeed はシェーダーの外(マテリアル)からそれぞれテクスチャーと数値を入れることができるようにノードを繋いでいます。

またGraph Inspector → Graph Settings → Surface Type を「 Transparent 」、Render Face を「 Both 」に変更しましょう。

続いてマテリアルを用意します。

Project 上のシェーダーを選択した状態で、右クリック→ Create → Material でシェーダーの適用されたマテリアルを作成することができます。

Texture2D と ScrollSpeed はシェーダーの外(マテリアル)から編集できるので、任意のテクスチャーをドラッグアンドドロップで設定し、ScrollSpeedも上記の値を参考に設定しましょう。

今回使用するテクスチャーは以下です。

パーティクルシステムを設定して斬撃エフェクトを作る方法

パーティクルシステムを選択し、Inspector の最上部の項目を上から順に以下の数値に変更しましょう。

Inspector の Emission は、Rate over Time を「10」に設定します。

パーティクルシステムの中心部でのみパーティクルを出したいので、以下のように Shape のチェックボックスのチェックを外します。

また、Color over Lifetime と Size over Lifetime にチェックを入れましょう。

Color over Lifetime では、Alpha の値を以下のように設定します。

Size over Lifetime は、以下のようにパーティクルの寿命が近づくにつれ、大きくなるようにグラフを設定しましょう。

Renderer については以下のように、Render Mode を Mesh に変更し、Meshes の場所に斬撃用の Mesh をドラッグアンドドロップします。

マテリアルもシェーダー作成の際に作ったマテリアルをドラッグアンドドロップで設定します。

なおメッシュは以下のような形のオブジェクトを Blender で作成し、Unity にインポートして使用しました。

衝撃エフェクトの作り方

衝撃エフェクトの作り方について簡単に解説するために、今回は以下のようなエフェクトを作成していきます。

また今回は前項に作った斬撃エフェクトを基礎にして、衝撃エフェクトを作成していきます。

シェーダーとテクスチャーは斬撃エフェクトの際に使用したシェーダーを使用します。

マテリアルを新しく作成し、ScrollSpeedを以下の数値を参考に設定します。

斬撃エフェクトで作成したパーティクルシステムを複製し、Inspectorの最上部の項目を上から順に以下の数値に変更しましょう。

Inspector の Emission は、Rate over Time を「0」に設定し、Bursts を右下の「+」ボタンから追加します。

Count の値を「5」に設定しましょう。

Renderer 項目は以下の通り、衝撃用のメッシュをドラッグアンドドロップで選択します。

また作成したマテリアルをドラッグアンドドロップで設定しましょう。

なおメッシュは以下のような形のオブジェクトを Blender で作成し、Unity にインポートして使用しました。

エフェクト制作でよくあるFAQ

Unityでエフェクト制作をするにあたってよくあるFAQを以下解説していきます。

エフェクト(パーティクルシステム)の当たり判定のやり方は?

エフェクトの当たり判定をしたいオブジェクトにColliderが設定されていることを確認して、

パーティクルシステムの Inspector → 「 Collision 」にチェックを入れ、 Inspector → Collision → Type のドロップダウンで「 World 」を選択すると、エフェクトに当たり判定をつけることができます。

以下の記事内のパーティクルの当たり判定の設定方法は?という項目で詳しく解説しているので、是非ご確認ください。

ダウンロードしたエフェクトアセットの使い方は?

アセットストアからダウンロードしたアセットは、Unity の Project の中にフォルダとしてダウンロードされています。

今回はUnity公式の無料アセット Particle Pack をダウンロードしました。

ダウンロードしたアセットのフォルダの中に Prefabs フォルダがあるので、そのフォルダをドラッグアンドドロップでシーン上にスライドさせると、ダウンロードしたアセットを使用することができます。

ダウンロードしたアセットとレンダーパイプラインが異なる場合には、エフェクトのマテリアルがうまく表示できない場合があります。

その場合には、Window → Render Pipeline Converter を選択します。

そしてBuilt-in to URP を選択Material Upgrade にチェックを入れ左下のInitalize Converters をクリックし、最後に Convert Assets を押すと、URP対応のマテリアルに変換できます。

今回の場合はUnityの公式アセットだったということもあり、マテリアルがうまく表示できない問題を上記の方法で解決することができました。

まとめ

  • パーティクルの数・大きさを変化させたり、パーティクルの存在している時間・スピードなどを変化させたりして、エフェクトを作成することができる
  • パーティクルシステムを使用して、2D用のエフェクトを作成することができる。
  • Timeline を使用してエフェクトにアニメーションをつけることができる。
  • シェーダーを作成しマテリアルに適用させて、パーティクルシステムの数値を調整することで斬撃エフェクト・衝撃エフェクトを作成することができる。
  • パーティクルの当たり判定は、「 Collision 」にチェックを入れ、コリジョンのタイプを「 World 」にすることでつけることができる。
  • ダウンロードしたエフェクトアセットは、プレハブのデータをシーン上にドラッグアンドドロップすることで使用できる。

Unity用アセット販売中!

当メディアで運営しているアセットショップ「NickNackHolic」にてUnity用のアセットを販売しております。

ゲーム制作やVRchat、Clusterなどで使用できる便利なアセットを販売しております。

一部無料のアセットもあるので、ぜひ覗いてみてください!

Nick Nack Holic

VRchatやゲームアセット、映像作品で使える「雑貨」を販売中

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

CGBOXでUnityについての記事をメインに執筆しています!現在、独学でCGの勉強中。VFXの自主制作を行っています。どうぞよろしくお願いします。

目次
閉じる