はじめに
はじめまして、ソーシャルゲーム事業部のUnityエンジニアのナタニエルです。
この記事はカヤックUnityアドベントカレンダー2018の10日目の記事になります。
本記事では自分がUnityで演出を作る作業の間見つけたUnity本来の便利な機能の紹介をします。
そして最初に断って置きますが、以下の画像やスクリーンショットはUnityバージョン5.6で取られました。
演出作成中に知ってると便利な機能
インスペクターのリストに複数のオブジェクトやコンポネントを一気に設定する方法
SerializeFieldやpublicでGameObjectやコンポネントのリファレンスを複数保持したいときには一つ一つのオブジェクトをドラッグするより、以下の手順で複数同時に設定できます。

1.Inspectorをロックします
インスペクターのタブの右上に開いた錠前があります。
Inspectorをロックするためにはこちらの錠前をクリックします。

2.設定したいオブジェクトかコンポネントを選択し、ドラッグします

※終わった後錠前の解除も忘れないでください。
色情報の保存・読み込み
UnityのColorのウィンドウの下にはPresetsってところがあります。
このPresetsは以下のように使えます。
- 現在の色の情報を保存
- 保存された色の情報を読み込む
保存する方法はPresetsには現在の色が表示されてるボタンのようなものがあります。
それをクリックするだけで色の情報は保存されます。

保存された色情報を読み込むには保存された色情報をクリックするだけです。

※最新のUnityではSwatchesと呼ばれます。
https://docs.unity3d.com/ja/current/Manual/PresetLibraries.html
生成されたパーティクルを後で動かす方法
普段パーティクルシステムを使う時、生成されたパーティクルの動きは全部パーティクルシステムの設定で制御されてます。
ただし、その設定された動きの上に別の動きを加えたい時もあります。
探した結果、UnityのコンポネントのWindZoneで上記のことができます。
WindZoneは風の影響を地形に与えるためのコンポーネントですが、パーティクルの動きに干渉させることもできます。
これによってパーティクスシステムによって生成されたパーティクルをパーティクルシステム内で設定された動き以外で動かすことができます。
先ずは動かないパーティクルを生成するパーティクルシステムを準備します。
※動かないのは単に効果を分かりやすく見せるためです。

そしてWindZoneを設置します。

生成されたパーティクルがWindZoneの効果を受けるための設定をします。

実際に動かしてみます。

※公式のWindZoneの情報です。
https://docs.unity3d.com/ja/current/Manual/terrain-WindZones.html
Inspectorに公開された変数の見た目の整理
コンポネントのスクリプトを作成する時、変数をInspectorに公開することが結構あります。
公開された変数が少ない場合はそんなに気になりませんが、数が多くなると見づらくなります。


この場合はHeaderという属性を使うことで表示された変数を区分して、見やすくすることができます。


おまけ
パーティクルシステムに2つマテリアルが設定された時の解決方法
この問題は5.5と5.6に発生した問題で、2017.1にはもう修正されました。
多分もうあまり使われてませんが、もし問題がまだあるバージョンを使っててこの問題を遭遇した場合の対策として目を通して貰えれば幸いです。
先ずは問題の方です。
上記で指定された問題有りバージョンで時々パーティクルシステムのマテリアルを変更する時以下の状態に遭遇することはあると思います。

見ての通り、2つのマテリアルが設定されてますが、Rendererの中には一つのマテリアルしか表示されてません。
その表示されてるマテリアルを右クリックしても削除するコマンドがなくて、Rendererに表示されてるマテリアルをNoneにしてもそのRendererに使われたマテリアルしか消えなくて、もうひとつのマテリアルがそのまま残ってます。
自分も最初の頃結局諦めて、もう一回最初からそのパーティクルシステムを組み込むことにしました。
けれど、この問題を簡単に解決する方法がありました。
以下の手順を実行すれば、その余分のマテリアルを削除できます。
1.Trailsを有効に

Trailsを有効にすることによってRendererのTrail Materialとして設定されてます。
2.Trail Materialに設定されてるマテリアルをNoneに

3.Trailsを使ってない場合はまた無効に

これで二つ目のマテリアルを削除できました!
上記の情報は以下のUnity Answersからです。
https://answers.unity.com/questions/1423075/particle-multiple-material.html
おわりに
以上で少ないながらこちらから提供できる小ネタになります。
明日は君塚さんの「Oculus Go向けコンテンツを最速で作るぞ」です。 ぜひ読んでみてください!