Version: 2023.1
言語: 日本語
Custom Data モジュール
Particle System Force Field

Renderer モジュール

Renderer モジュールの設定で、パーティクルの画像や メッシュ がどのように他のパーティクルによって変形、シェード、上書きされるかを決定します。

Renderer モジュールのビュー
Renderer モジュールのビュー

Renderer モジュールの使用

このモジュールは、Particle System コンポーネントの一部です。Unity は、新しいパーティクルシステムゲームオブジェクトの作成時、あるいは既存のゲームオブジェクトへの Particle System コンポーネントの追加時に、そのパーティクルシステムに Renderer モジュールを追加します。このモジュールはデフォルトで有効になっています。

新しいパーティクルシステムを作成するには、GameObject > Effects と選択し、Particle System オプションをクリックします。Unity によって新しいパーティクルシステムゲームオブジェクトが作成され、Hierarchy ウィンドウでそれが選択されます。Inspector ウィンドウ内の [Particle System]コンポーネントには、そのパーティクルシステムに関連する全ての設定とモジュールが含まれています。Renderer モジュールを選択すると、このモジュールのオプションが表示されます。

API

このモジュールは Particle System コンポーネントの一部なので、ParticleSystem クラスを通してこれにアクセスします。ランタイムでこれにアクセスして値を変更する方法については、Renderer モジュールを参照してください。

プロパティ

このセクション内の一部のプロパティでは、異なるモードを使用して値の設定が行えます。使用可能なモードについての詳細は、Varying properties over time を参照してください。

プロパティ 機能
Render Mode Unity がグラフィック画像 (またはメッシュ) からレンダー画像を生成する方法です。詳細は Render Mode (レンダーモード) および 各種の Billboard レンダーモード を参照してください。
Billboard Unity はパーティクルをビルボードとしてレンダリングします。このビルボードは Render Alignment に指定された方向を向きます。
Stretched Billboard パーティクルは カメラ の方向を向きます。様々なスケールの適用が可能です。
Camera Scale この設定は、Stretched Billboard レンダーモードを使用している場合にのみ利用可能です。

カメラの動きに応じてパーティクルをストレッチします。ゼロに設定すると、カメラの動きに基づくストレッチが無効になります。
Velocity Scale この設定は、Stretched Billboard レンダーモードを使用している場合にのみ利用可能です。

パーティクルを速度に比例してストレッチします。0 に設定すると、速度に基づくストレッチが無効になります。
Length Scale この設定は、Stretched Billboard レンダーモードを使用している場合にのみ利用可能です。

パーティクルをその速度の方向に沿って現在のサイズに比例してストレッチします。これをゼロに設定すると、パーティクルの長さが実質ゼロになり、消滅します。
Freeform Stretching この設定は、Stretched Billboard レンダーモードを使用している場合にのみ利用可能です。

パーティクルにフリーフォームストレッチを使用するかどうかを指定します。このストレッチ動作では、パーティクルを真正面から見た時にパーティクルが薄くなることはありません。
Rotate With Stretch この設定は、Stretched Billboard レンダーモードを使用している場合にのみ利用可能です。

パーティクルがストレッチされる方向に基づいてパーティクルを回転させるかどうかを指定します。これは、他のパーティクル回転 (角度) の上に追加されます。このプロパティは、 Freeform Stretching を有効にしている場合にのみ効果を発揮します。Freeform Stretching を無効にした場合は、Rotate With Stretch を無効にしても、パーティクルは常にストレッチの方向に基づいて回転します。
Horizontal Billboard パーティクルの面が XZ 軸に広がる “床” の面と平行になります。
Vertical Billboard パーティクルはワールドの Y 軸方向に直立していますが、カメラの方を向きます。
Mesh Unity がビルボードではなく 3D メッシュからパーティクルをレンダリングします。Mesh レンダーモードの具体的な設定については、下記の 詳細 を参照してください。
Mesh Distribution Unity がメッシュをパーティクルにランダムに割り当てる方法を指定します。

この設定は、Mesh レンダーモードを使用する場合にのみ利用可能です。
Uniform Random Unity はメッシュを均等なウェイトでランダムにパーティクルに割り当てます。パーティクルシステム全体には、どの時点においても、考えられる各メッシュがほぼ同数含まれます。

この設定は、Mesh レンダーモードを使用している場合にのみ利用可能です。
Non-uniform Random Unity は、それぞれにユーザー定義のウェイトが設定されたメッシュを、パーティクルにランダムに割り当てます。

この設定を有効にすると、Renderer モジュールの Inspector ウィンドウに Meshes リストが表示され、リスト内の各メッシュに Mesh Weightings フィールドが表示されます。Mesh Weightings フィールドでは、Unity が各メッシュをパーティクルに割り当てる頻度を制御できます。

この設定は、Mesh レンダーモードを使用している場合にのみ利用可能です。
Mesh Weightings Unity がこのメッシュをパーティクルに割り当てる確率を制御します。ウェイトは相対的なものです。つまり、あるメッシュの 2 倍のウェイトを持つメッシュがある場合、それらの絶対値に関わらず、2 倍のウェイトを持つメッシュが 2 倍の確率で割り当てられます。詳細は、下記の “詳細” セクションにある Mesh Distribution: Non-uniform random を参照してください。

この設定は、Mesh レンダーモードを使用し、Mesh Distribution プロパティを “Non-uniform Random” に設定した場合にのみ利用可能です。
None Unity はパーティクルを一切レンダリングしません。トレイルだけをレンダリングして全てのデフォルトのパーティクルレンダリングを非表示にしたい場合は、これを Trails モジュールと併用すると便利です。
Normal Direction ビルボードのライティングの計算方法を指定します。値が 0 の場合、ビルボードが球体であるかのようにライティングが計算されます。この結果、ビルボードがより球体のように見えます。値が 1 の場合、ビルボードが平らなクアッドであるかのようにライティングが計算されます。

このプロパティは、Billboard レンダーモード (BillboardStretched BillboardHorizontal Billboard、または Vertical Billboard) のいずれかを使用している場合にのみ利用可能です。
Material Unity がパーティクルのレンダリングに使用するマテリアルです。
Trail Material Unity がパーティクルのトレイルをレンダリングするために使用するマテリアルです。

このオプションは、Trails モジュールが有効な場合のみ利用可能です。
Sort Mode Unity がパーティクルシステムでパーティクルの描画とオーバーレイを行う順序です。
None この設定が有効な場合、Unity はパーティクルのソートを行いません。
By Distance アクティブなカメラからの距離に基づいて、システム内のパーティクルをソートします。Unity は、カメラに近い方のパーティクルを、遠い方のパーティクルの上にレンダリングします。この設定でカメラを回転させても、パーティクルの順序は変わりません。
Oldest in Front Unity は、最も長く存在したパーティクルをパーティクルシステムの前面にレンダリングします。
Youngest in Front Unity は、存在期間が最も短いパーティクルをパーティクルシステムの前面にレンダリングします。
By Depth Unity は、カメラのニアプレーンからの距離に基づいてパーティクルをレンダリングします。この設定でカメラを回転させると、パーティクルの順番が変わる場合があります。
Sorting Fudge パーティクルシステムのソート順のバイアスです。値を低くすると、パーティクルシステムが、他の透明なゲームオブジェクト (他のパーティクルシステムを含む) の上に描画される可能性が増加します。この設定は、シーンに表示されるパーティクルシステム全体にのみ影響し、システム内の個々のパーティクルのソートは行いません。
Min Particle Size (他の設定を考慮しない) 最小のパーティクルサイズです。ビューポートサイズに対する割合として表現されます。

このプロパティは、Billboard Render Mode (BillboardStretched BillboardHorizontal BillboardVertical Billboard) のいずれかを使用している場合にのみ利用可能です。
Max Particle Size (他の設定を考慮しない) 最大のパーティクルサイズです。ビューポートサイズに対する割合として表現されます。



このプロパティは、Billboard Render Mode (BillboardStretched BillboardHorizontal BillboardVertical Billboard) のいずれかを使用している場合にのみ利用可能です。
Render Alignment このプロパティは、パーティクルビルボードが向く方向を決定します。
View パーティクルはカメラの平面に向きます。
World パーティクルがワールド座標軸に揃えられます。
Local パーティクルがゲームオブジェクトの Transform コンポーネントに合わせて揃えられます。
Facing パーティクルが、アクティブなカメラのゲームオブジェクトの Transform コンポーネントで定義される直接の位置に向きます。
Velocity パーティクルが、それ自体の速度ベクトルと同じ方向を向きます。
Enable Mesh GPU Instancing このプロパティは、Mesh レンダーモードを使用している場合にのみ利用可能です。

このプロパティは、Unity が GPU インスタンスを使用してパーティクルシステムをレンダリングするかどうかを制御します。これは、互換性のあるシェーダーの使用を必要とします。詳細は パーティクルメッシュ GPU インスタンシング を参照してください。
Flip 指定された軸に沿ってパーティクルの一部をミラー (反転) します。値を大きくすると、より多くのパーティクルが反転されます。
Allow Roll カメラに向いているパーティクルがカメラの Z 軸を中心に回転できるかどうかを制御します。VR アプリケーションでは、ヘッドマウントディスプレイ (HMD) の回転によって、パーティクルシステムが望ましくない形で回転する場合があるため、この設定を無効にすると特に役立つ可能性があります。
Pivot 回転するパーティクルの中央のピボット位置を変更します。値はパーティクルサイズの乗数です。
Visualize Pivot シーン ビューでパーティクルのピボットポイントをプレビューします。
Masking パーティクルシステムによってレンダリングされるパーティクルが、スプライトマスク との相互作用時にどのように動作するか設定します。
No Masking パーティクルシステムは、シーンのスプライトマスクと相互作用しません。これがデフォルトのオプションです。
Visible Inside Mask パーティクルは、スプライトマスクが覆っている部分は表示されますが、スプライトマスクの外側では表示されません。
Visible Outside Mask パーティクルは、スプライトマスクの外側で表示されますが、スプライトマスクが覆っている部分は表示されません。
Apply Active Color Space リニア色空間でのレンダリング時に、システムが、パーティクルのガンマ空間の色を GPU にアップロードする前に変換します。
Custom Vertex Streams マテリアルの頂点シェーダーでどのパーティクルプロパティが使用可能かを設定します。詳細は パーティクルシステム - 頂点ストリームとスタンダードシェーダーサポート を参照してください。
Cast Shadows このプロパティが有効の場合、パーティクルシステムは、影を作るライトに照らされた時に影を生成します。
On このパーティクルシステムの影を有効にします。
Off このパーティクルシステムの影を無効にします。
Two-Sided Two Sided を選択すると、メッシュのどちら側からでも影が落とせるようになります。このプロパティが有効の場合は裏面のカリングは考慮されません。
Shadows Only Shadows Only を選択すると、影が表示されますがメッシュ自体は表示されません。
Shadow Bias 影をライトの方向に沿って動かします。これにより、ビルボードでのボリューム近似に起因するシャドウアーティファクトが除去されます。
Motion Vectors このパーティクルシステムの Transform コンポーネントの、スクリーン空間におけるピクセルごとの動きを、モーションベクトルを使用して追跡するかどうか設定します。

ノート: 全てのプラットフォームがモーションベクトルをサポートしているわけではありません。詳細は SystemInfo.supportsMotionVectors を参照してください。
Camera Motion Only カメラの動きのみを使用してモーションを追跡します。
Per Object Motion 特定のパスを使用して、このレンダラーのモーションを追跡します。
Force No Motion モーションを追跡しません。
Receive Shadows このシステム内のパーティクルが他のソースから影を受けられるかどうかを指定します。不透明なマテリアルのみが影を受けられます。
Sorting Layer ID レンダラーのソートレイヤーの名前です。
Order in Layer このレンダラーの、ソートレイヤー内における順番です。
Light Probes プローブに基づくライティング補間モードです。
Reflection Probes この設定が有効で、シーン内にリフレクションプローブが存在する場合は、Unity が、最も近いリフレクションプローブからこのゲームオブジェクトにリフレクションテクスチャを割り当て、そのテクスチャをビルトインシェーダーの均一変数として設定します。
Anchor Override ライトプローブ システムや リフレクションプローブ システムの使用時に補間位置を決定する Transform です。

詳細

Render Mode (レンダーモード)

Render Mode (レンダーモード) は、いくつかの 2D Billboard グラフィックモードと 1 つの Mesh モードの中から選択できます。3D メッシュは、岩などの固いゲームオブジェクトの表現に際してパーティクルをよりリアルに見せるとともに、雲、火の玉、液体などのボリューム感を向上させることができます。 メッシュをパーティクルシステム の Mesh レンダーモードで動作させるには、そのメッシュの読み取り/書き込みを有効にする必要があります。メッシュを (Inspector ウィンドウの Meshes リストを使用して) パーティクルシステムに割り当てると、Unity が、そのメッシュの読み取り/書き込みを自動的に有効にします。

各種の Billboard レンダーモード

2D ビルボードグラフィックスを使用する場合、各種のレンダーモードによって、異なる用途に適した様々な結果が得られます (以下参照)。

  • Billboard モードは、例えば雲のような、どの方向から見ても同じような外観の、ボリュームを表現するパーティクルに役立ちます。
  • Horizontal Billboard モードは、パーティクルが地面を覆う場合 (例: 標的や、魔法の呪文エフェクト) や、地面に対して平行に飛んだり浮かんだりする平らなオブジェクト(例: 手裏剣) がある場合に役立ちます。
  • Vertical Billboard モードは、それぞれのパーティクルを、XZ 平面に対して垂直に直立しながらも Y 軸中心に回転できるようにします。これは、平行投影カメラを使用していて、パーティクルの大きさを一定に保ちたい時に役立ちます。
  • Stretched Billboard モードは、従来のアニメーターが使用してきた “stretch and squash” (ストレッチアンドスクアッシュ、伸ばしと潰し) の技法と類似した方法で、パーティクルの見た目の速度を強調します。Stretched Billboard モードでは、パーティクルはカメラの方を向く形で揃えられるだけでなく、速度によっても揃えられます。これは、Velocity Scale の値にかかわらず発生し、Velocity Scale が 0 に設定されていたとしても、このモードのパーティクルは速度に合わせて揃います。

Billboard レンダーモードを使用する場合、Normal Direction を使用して、平らな矩形のビルボードに球状のシェーディングを作成できます。これは、パーティクルにライトを適用するマテリアルを使用する場合に、3D パーティクルのように見せるのに役立ちます。

Mesh Distribution: Non-uniform Random

Renderer モジュールの Inspector ウィンドウで、Mesh Weightings 入力が強調表示されています。
Renderer モジュールの Inspector ウィンドウで、Mesh Weightings 入力が強調表示されています。

Mesh DistributionNon-uniform Random に設定されている場合、Unity が特定のメッシュをパーティクルにランダムに割り当てる頻度をカスタマイズできます。これは、Meshes リストと Mesh Weighting フィールドを使用して行います。

Meshes リスト内の、左側のフィールドにはパーティクルシステムに使用させたいメッシュが表示され、右側のフィールド (上の画像で強調表示されている部分) にはそのメッシュの Mesh Weighting が表示されます。各メッシュの Mesh Weighting フィールドを使用して、Unity がそのメッシュをパーティクルに割り当てる頻度を、他のメッシュとの相対的な関係で制御します。これはデフォルトでは 1 (等しい確率でメッシュが割り当てられる) に設定されています。

Meshes リストにメッシュを追加するには、追加 (+) アイコンを選択します。Meshes リストからメッシュを削除するには、そのメッシュを選択し、削除 (-) アイコンを選択します。


  • 2018–10–16 公開ページ

  • GPU インスタンシングは Unity 2018.1 で追加

  • 新しいパーティクルシステムのオプションは、2018.3 で Renderer モジュールに追加NewIn20183

Custom Data モジュール
Particle System Force Field