【Unity】演出作成時見つけた色々
【Unity】演出作成時見つけた色々:
この記事はカヤックUnityアドベントカレンダー2018の10日目の記事になります。
本記事では自分がUnityで演出を作る作業の間見つけたUnity本来の便利な機能の紹介をします。
そして最初に断って置きますが、以下の画像やスクリーンショットはUnityバージョン5.6で取られました。
1.
インスペクターのタブの右上に開いた錠前があります。
2.設定したいオブジェクトかコンポネントを選択し、ドラッグします
※終わった後錠前の解除も忘れないでください。
この
- 現在の色の情報を保存
- 保存された色の情報を読み込む
保存する方法は
それをクリックするだけで色の情報は保存されます。
保存された色情報を読み込むには保存された色情報をクリックするだけです。
※最新のUnityでは
https://docs.unity3d.com/ja/current/Manual/PresetLibraries.html
ただし、その設定された動きの上に別の動きを加えたい時もあります。
探した結果、Unityのコンポネントの
これによってパーティクスシステムによって生成されたパーティクルをパーティクルシステム内で設定された動き以外で動かすことができます。
先ずは動かないパーティクルを生成するパーティクルシステムを準備します。
※動かないのは単に効果を分かりやすく見せるためです。
そして
生成されたパーティクルが
実際に動かしてみます。
※公式の
https://docs.unity3d.com/ja/current/Manual/terrain-WindZones.html
コンポネントのスクリプトを作成する時、変数を
公開された変数が少ない場合はそんなに気になりませんが、数が多くなると見づらくなります。
コンポネントスクリプト・表示1
この場合は
コンポネントスクリプト・表示2
多分もうあまり使われてませんが、もし問題がまだあるバージョンを使っててこの問題を遭遇した場合の対策として目を通して貰えれば幸いです。
先ずは問題の方です。
上記で指定された問題有りバージョンで時々パーティクルシステムのマテリアルを変更する時以下の状態に遭遇することはあると思います。
見ての通り、2つのマテリアルが設定されてますが、
その表示されてるマテリアルを右クリックしても削除するコマンドがなくて、
自分も最初の頃結局諦めて、もう一回最初からそのパーティクルシステムを組み込むことにしました。
けれど、この問題を簡単に解決する方法がありました。
以下の手順を実行すれば、その余分のマテリアルを削除できます。
1.
二つ目の余分のマテリアルは
2.
3.
これで二つ目のマテリアルを削除できました!
上記の情報は以下の
https://answers.unity.com/questions/1423075/particle-multiple-material.html
明日は君塚さんの「Oculus Go向けコンテンツを最速で作るぞ」です。
ぜひ読んでみてください!
はじめに
はじめまして、ソーシャルゲーム事業部の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
の効果を受けるための設定をします。パーティクルシステム設定
実際に動かしてみます。
実行
※公式の
WindZone
の情報です。https://docs.unity3d.com/ja/current/Manual/terrain-WindZones.html
Inspector
に公開された変数の見た目の整理
コンポネントのスクリプトを作成する時、変数をInspector
に公開することが結構あります。公開された変数が少ない場合はそんなに気になりませんが、数が多くなると見づらくなります。
この場合は
Header
という属性を使うことで表示された変数を区分して、見やすくすることができます。おまけ
パーティクルシステムに2つマテリアルが設定された時の解決方法
この問題は5.5と5.6に発生した問題で、2017.1にはもう修正されました。多分もうあまり使われてませんが、もし問題がまだあるバージョンを使っててこの問題を遭遇した場合の対策として目を通して貰えれば幸いです。
先ずは問題の方です。
上記で指定された問題有りバージョンで時々パーティクルシステムのマテリアルを変更する時以下の状態に遭遇することはあると思います。
一つのパーティクルシステムに2つマテリアル
見ての通り、2つのマテリアルが設定されてますが、
Renderer
の中には一つのマテリアルしか表示されてません。その表示されてるマテリアルを右クリックしても削除するコマンドがなくて、
Renderer
に表示されてるマテリアルをNone
にしてもそのRenderer
に使われたマテリアルしか消えなくて、もうひとつのマテリアルがそのまま残ってます。自分も最初の頃結局諦めて、もう一回最初からそのパーティクルシステムを組み込むことにしました。
けれど、この問題を簡単に解決する方法がありました。
以下の手順を実行すれば、その余分のマテリアルを削除できます。
1.
Trails
を有効に余分マテリアル発見
二つ目の余分のマテリアルは
Trails
を有効にすることによってRenderer
のTrail Material
として設定されてます。2.
Trail Material
に設定されてるマテリアルをNone
に余分マテリアル削除
3.
Trails
を使ってない場合はまた無効にTrails無効
これで二つ目のマテリアルを削除できました!
上記の情報は以下の
Unity Answers
からです。https://answers.unity.com/questions/1423075/particle-multiple-material.html
おわりに
以上で少ないながらこちらから提供できる小ネタになります。明日は君塚さんの「Oculus Go向けコンテンツを最速で作るぞ」です。
ぜひ読んでみてください!
オリジナルのエンクロージャ: |
20181203144921.png |
コメント
コメントを投稿