【Unity】GameObjectメニューのEffectsについて解説【初心者向け】
- 2019.05.25
- GameObject
- GameObject, Unity, メニューバー

メニューバーの『GameObject』から作成できるGameObjectの種類について解説するシリーズ第4弾。
今回は「Effects」のメニューから作成できるオブジェクトについて解説を行います。
パーティクルの解説が中心ですが……もうこの時点でワクワクします。
環境
macOS 10.14 Mojave
Unity2018.3.14f1
Unity Hub 1.6.2
メニューバーの『GameObject』について
『GameObject』は画面左から5番目、『Assets』と『Component』に挟まれています。

個々のGameObject作成に関してはそれぞれ別記事として作成し、それ以外の項目については以下の記事で解説を行なっています。
この記事では以下の項目を解説していきます。

今回は区切り線が無いので、単純にエフェクトとしてひとまとめで呼んじゃいます。
実はUnity2018.3ではパーティクルシステムが強化されたので、今までよりもできることが増えています。
なので他のサイトも参考にしつつ、是非とも使い方をマスターすべし!
エフェクト
主に3Dゲームが対象となりますが、画面を彩るエフェクトを取り入れるとユーザーの視線を釘付けにすることができます。
キラキラ光ったり、ほわほわ飛んだり、くるりんと回ったり。
アイディア次第で様々なエフェクトを作れるので、設定値をいじり回して遊んでみましょ。
Particle System
メッシュのない雲、魔法、炎、曲線などを表現するのに最適なグラフィック方式です。
作成直後は画像のように丸い球がほわほわ出現するようになります。

Sceneビューでは以下のようにコントローラが表示されています。ここで[Stop]をクリックするとパーティクルの生成が止まります。

生成を止めた場合には、パーティクルオブジェクトの位置にアイコンが表示されます。

パーティクルの見え方を決める要因としては、スプライト画像、色、生存時間、速度、サイズ、回転、などなど、かなりの項目があります。ここで全部を解説すると地獄めいた長さになってしまうので、パーティクルの例だけ紹介したいと思います。
デフォルトのパーティクルスプライトに、Trail(トレイル: 軌跡)を組み合わせました。生成されてからの時間で色を変化させるようにしています。

通常のパーティクルにSub Emitter(サブ・エミッタ)を付けて、生成されたパーティクルを起点にもう一段階パーティクルを生成するようにしました。サブエミッタの方は重力をかけて下に落ちるようにしています。
ちょっと重いですが画面にたくさんパーティクルが出てくるのでつい見てしまうようなエフェクトになります。

今度はNoiseを組み合わせてみました。Trailが直線や曲線ではなく、雷のようにランダムな軌道になっていますね。Trailを無くせば、小さな光がランダムな動きで飛び交っている様子も作れます。

このネタが分かる人は果たしているのか……? とも思いますが、T260G編のアレをパーティクルで。
Unity2018.3からはパーティクルのShapeでメッシュを選べるようになったので、自分で作ったメッシュの辺(Edge)に沿ってパーティクルを表示することができます。

パーティクルで設定できる項目が多いということは、それだけ表現できることが多いということです。
最初からパーティクルに手を出すと楽しすぎてゲームが完成しないので、何作か作ったらパーティクルを使って表現を強化してみる感じで進めるといいと思います。
Particle System Force Field
パーティクルに作用する力の場を作ります。説明がもう厨二病。

重力場、電場、磁場とかのイメージです。まーた物理か!! と言われそうですが、「どんな動きになってほしいか」だけイメージできていれば計算はUnityがやってくれるので、物理未経験者もご安心いただけます。
パーティクルシステムのコンポーネントの中には「External Force」という設定項目があり、ここにチェックを入れることでForce Fieldとの相互作用が行われます。
試しに、以下のようなパーティクルがあるとします。このパーティクルは、左にある球体から放出されたパーティクルが画面右に飛んでいきます。

このパーティクルが存在している状態で、Particle System Force Fieldをシーンに配置します。Gravityの強さが1になっているので、Force Fieldのオブジェクトがある位置でパーティクルが弾かれるようになりました。

こちらのパターンは、Drag(抵抗力)を上げたものです。Force Fieldがある位置にパーティクルが引っ張られるようになり、画面での見え方がまた変わります。パーティクルの濃度を変えたい場所に配置するといい感じです。

パーティクルシステムと組み合わせて使うこのForce Fieldはとても便利。
パーティクルを作成する時にはこちらもぜひ使ってみてくださいな。
Trail
GameObjectが動く際に、その後ろにトレイル(軌跡)を描画する機能です。
このGameObject単体で使うこともできますし、Sphereなどの他のGameObjectに「Trail Renderer」コンポーネントをアタッチして使うこともできます。

設定できる項目はマテリアル、色のグラデーション、線の太さ、表示されている時間など、これまた多くなっています。
3Dのゲームで簡単にゲームっぽい表現ができるのでおすすめ。特にマテリアルを変えるだけでも大分印象が変わります。

上の画像ではパーティクルで使われているマテリアルと差し替えてみました。アルファ(透明な部分)が含まれるので、柔らかい雰囲気の線ですね。影もわかりやすく描画されています。
マニュアルにも「パーティクルシェーダーはトレイルに最適」とあるので、パーティクルシェーダーを使って作成したマテリアルを指定するといい感じです。
Line
画面上に線を描画する機能です。マウスで画面をクリックすることで線を描画する位置が記録されていきます。
1つのLine Rendererコンポーネントでは1本の線になるので、何本かの線を描きたい時には複数のLineオブジェクトを作ります。
試しに適当に画面をクリックして描画したのが以下の線です。

値は以下のように配列に格納されます。単純に画面をクリックしただけではZ軸が揃わなかったりするので、線を表示したい面に合わせて調整します。

カメラの角度を変えると以下のように表示されます。荒ぶっていますね。

LineもTrailと同じように色や線の太さを変えられます。こちらは画面に表示されている時間の設定はなく、ずっと表示されています。
まとめ
このページではメニューバーの『GameObject』から作れる『Effects』の項目について解説を行いました。
キラキラ光らせたり、ほわほわ光を飛ばしたりと、調整次第で多彩なエフェクトを作成できるパーティクル、ぜひ触ってみてください。
楽しすぎて休日を潰してしまうこと請け合いです。
ゲーム開発の攻略チャートを作りました!
-
前の記事
【Unity】GameObjectメニューの2D Objectについて解説【初心者向け】 2019.05.23
-
次の記事
【Unity】GameObjectメニューのLightについて解説【初心者向け】 2019.06.06
コメントを書く