Language:
The translation of this page is out of date. Please see the English version for the latest version of the page.

ディストリビューション

バージョン:4.9

ディストリビューション は、データ タイプのグループです。不変な値、ある範囲内にあるランダムな値、カーブに沿って補間された値、パラメータ主導の値が可能になり、柔軟性を与えます。通常、サウンドキュー内のノードとパーティクルシステムのプロパティで使用されます。

エディタではアルファベット順に列挙されていますが、この概念を初めて知る方が理解しやすいように、ここでは複雑なものから並べてあります。

ディストリビューションをベイクする

どのディストリビューションのタイプを使っても、ディストリビューションの真下に必ず [Can be Baked (ベイク可能)] オプションがあります。これは、ディストリビューションの数値結果をルックアップ テーブルにベイクできるかどうかを決定します。ルックアップ テーブルへの値のベイクは、ランダム値やカーブ補正をすぐに計算するよりもはるかに効率的です。そのため、このオプションはデフォルト設定になっています。

ルックアップ テーブルで重要度の高い情報を失う結果になってしまうエッジケースに陥った場合、このオプションのチェックを外して、ティックごとに実際の値をシステムがチェックするようにします。もちろん、この方法だと効率は下がりますが、成功するのが難しく思われ、ルックアップ テーブルがなくなってしまった場合、このオプションも検討する価値があります。

CanBeBaked.png

ディストリビューションの種類

パーティクル システムの作成時に最大限のフレキシビリティを実現するために、ほとんどのパーティクル プロパティは DistributionFloatDistributionVector を利用します。ディストリビューションを使用する時には様々なオプションを利用できます。次のセクションで説明します。

実際に使う値は、使用するプロパティによって異なる点に留意してくだい。例えば、パーティクルの初期サイズは、パーティクルがスポーンするときに決まります。ディストリビューション タイプがプロパティの定数カーブに設定されていると、カーブから値を取り出すためにスポーン時のエミッター時間を使用します。

Float Distributions

アーティスト制御であるスカラー プロパティがあるときに使います。例としては、パーティクルのライフタイム、または、エミッターのスポーン レートがあります。

DistributionFloatConstant

定数であるプロパティの値を提供するために使用します。この値を数直線に表すと、以下のようなグラフになります。

FloatConstant_Graph.png

  1. 変化しない定数の浮動小数点値です。

次のダイアログが値の編集用に提供されます。

FloatConstant.png

DistributionFloatConstant のプロパティ

アイテム

説明

Constant

指定されたプロパティに対する静的かつ不変の数字です。

DistributionFloatUniform

プロパティの値の範囲を提供するために使用します。値が評価されると、返された値が選択範囲内にランダムに設定されます。

FloatUniform_Graph.png

  1. 最低値です。

  2. 最大値です。

  3. この範囲からランダム値を選択します。

これを種類として選択すると、値を編集するために次のダイアログが表示されます:

FloatUniform.png

DistributionFloatUniform のプロパティ

アイテム

説明

Min

乱数計算の最低値

Max

乱数計算の最大値

DistributionFloatConstantCurve

時間経過とともにグラフ エディタ上にプロットされるプロパティの値を提供するために使用します。時間が絶対 (エミッターのライフタイム) であるか、相対 (個々のパーティクルのライフタイム) であるかは、ディストリビューションを利用するモジュールによります。

floatConstantCurve_Graph.png

  1. キーフレーム ポイントです。

  2. 補間カーブです。指定した時間におけるこのカーブの値に基づいて、最終値が引き出されます。

  3. Tangent handles - キーフレーム内外へのカーブのフローの仕方を定義します。

これをタイプとして選択すると、値を編集するために次のダイアログが表示されます:

FloatConstantCurve.png

すべてのフィールドは手動で編集することができますが、これらの値の編集には、カーブ エディタ ウィンドウの利用をお勧めします。

DistributionFloatConstantCurve のプロパティ

アイテム

説明

Points

全てのポイントをカーブに含める配列プロパティです。AddPoint_button.png ボタンを使ってここにポイントを作ることもできます。ただし、普通はグラフ エディタで点を追加する方が簡単かつ直感的です。

Point のプロパティ

InVal

通常、時間として計算されるグラフの横軸に沿った点の位置です。

InVal

通常、プロパティ値として計算されるグラフの縦軸に沿った点の位置です。

ArriveTangent

ポイントに入ってくるタンジェントの角度です。-150 から 150 の範囲の値が便利です。

LeaveTangent

ポイントから出て行くタンジェントの角度です。-150 から 150 の範囲の値が便利です。

InterpMode

ユーザーは様々なカーブの補間モードを選択できます。詳細は カーブ エディタ ユーザーガイド ドキュメントを参照してください。

DistributionFloatUniformCurve

このタイプは、時間経過と共にグラフ エディタ上にプロットされるプロパティの値の範囲を表します。時間のそれぞれのポイントで、 Min curve と Max curve 内に存在するランダム値が選択されます。

FloatUniformCurve_graph.png

  1. Min curve - このタイプは、時間経過による変化の最低値を定義します。

  2. Min curve - このタイプは、時間経過による変化の最大値を定義します。

  3. Resultant range - 時間の各ポイントでの最終値が選択されるグラフの範囲です。

これをタイプとして選択すると、値を編集するために次のダイアログが表示されます:

FloatUniformCurve.png

ConstantCurve の種類と同様に、この種類のディストリビューションもカーブ エディタで編集することをお勧めします。

DistributionFloatUniformCurve のプロパティ

アイテム

説明

Points

全てのポイントをカーブに含める配列プロパティです。AddPoint_button.png ボタンを使ってここにポイントを作ることもできます。ただし、普通はグラフ エディタで点を追加する方が簡単かつ直感的です。

Point のプロパティ

InVal

通常、時間として計算されるグラフの横軸に沿った点の位置です。

OutVal

通常、プロパティ値として計算されるグラフの縦軸の位置です。Uniform Curve の場合は、このプロパティに含まれる X 値と Y 値がそれぞれ出力の Min と Max を表します。

ArriveTangent

X と Y (min と max) 両方のポイントに対して入ってくるタンジェントの角度です。-150 から 150 の範囲の値が便利です。

LeaveTangent

X と Y (min と max) 両方のポイントから出て行くタンジェントの角度です。-150 から 150 の範囲の値が便利です。

InterpMode

ユーザーは様々なカーブの補間モードを選択できます。詳細は カーブ エディタ ユーザーガイド ドキュメントを参照してください。

DistributionFloatParticleParam

エミッタ用パラメータの単純なゲームコードの設定を可能にして、コード、ブループリント、マチネ経由で操作ができるようになります。ある範囲から別の範囲への入力値のマップを可能にするので、ゲームプレイ コードを更新せずに Cascade-space でパラメータの微調整ができます。ゲームプレイ コーダーで入力範囲が確定されると、アーティストは出力マッピングを使ってプロパティを自由に調整できます。

これをタイプとして選択すると、値を編集するために次のダイアログが表示されます:

FloatParticleParam.png

入力から出力へは、線形に再マップされます。したがって、最小入力 0 で最大入力 5 、最小出力 0 で最大出力 100 である場合、入力として 2 を渡すと、出力が 40 になることを意味します。

これは、パーティクル パラメータ変数を名前で共有できるために、複数の出力にマップする単純な 0-1 の入力を設定するのに非常に役立ちます。例えば、 SpawnRate を Particle Parameter Foo によって駆動するように設定し、 0-1 の入力と 20-200 の出力を設定できますし、また、入力を同じにして InitialSize で Foo を使用して、出力を 10-20 にすることもできます。

プログラマーなら、コードで次のように書くこともできるでしょう。

ParticleComponent->SetFloatParameter('MyParameter', CurrentParameter);

DistributionFloatParticleParameter のプロパティ

アイテム

説明

パラメータ名

コードまたはブループリント スクリプトがパラメータにアクセスするときに使用する名前です。

Min Input

通常はゲームコード経由でディストリビューションに渡される最小値です。

Max Input

通常はゲームコード経由でディストリビューションに渡される最大値です。

Min Output

入力範囲からマップされた通りにカスケードに出力できる最小値です。

Max Output

出力範囲からマップされた通りにカスケードに出力できる最大値です。

Param Mode

入力値の使い方を制御します。以下の Param Mode Flag テーブルをご覧ください。

定数

入力がない場合、システムにデフォルト値です。

ParamMode フラグ

説明

DPM_Normal

入力値のみを残す。

DPM_Abs

再マッピングの前に入力値の絶対値を使用します。

DPM_Direct

入力値を直接使用します (再マッピングなし)。

Vector ディストリビューション

Float ディストリビューションは、アーティストによって制御されるスカラー プロパティがあるときに使います。例としては、パーティクルのサイズや速度があります。

DistributionVectorConstant

定数であるプロパティの値を決めるために使用します。

VectorConstant_Graph.png

  1. X- 軸値

  2. Y- 軸値

  3. Z- 軸値

これをタイプとして選択すると、値を編集するために次のダイアログが表示されます:

VectorConstant.png

LockedAxes フラグでユーザーは 1 つの軸の値を他の軸の値に対してロックできます。以下のフラグがサポートされています。

DistributionVectorConstant のプロパティ

アイテム

説明

Constant

指定されたプロパティに対する静的かつ不変の数字です。ベクター値では、 X、Y、Z 値が含まれます。

Locked Axes

ユーザーは、3 つある軸の 1 つの値を他の軸の値に対してロックし、ディストリビューションを簡単にします。以下の Locked Axes Flag テーブルをご覧ください。

Locked Axes Flag

説明

EDVLF_None

他の軸に対してどの軸もロックされません。

EDVLF_XY

Y 軸が X 軸値に対してロックされます。

EDVLF_XZ

Z 軸が X 軸値に対してロックされます。

EDVLF_YZ

Z 軸が Y 軸値に対してロックされます。

EDVLF_XYZ

Y 軸と Z 軸が X 軸値に対してロックされます。

注記:ロック フラグがアクティブであるとき、値はプロパティ ウィンドウの設定に反映しません。例えば、 LockedAxes フラグが EDVLF_XY に設定されている場合、 Y 値は、 X コンテンツを表示しません。ディストリビューションから (コードで) 値が取り出されたときにのみ、ロックされた軸の値が適用されます。

DistributionVectorUniform

プロパティの値の範囲を提供するために使用します。値が評価されると、返された値が選択範囲内にランダムに設定されます。

VectorUniform_Graph.png

  1. X 軸最小値

  2. X 軸最大値

  3. X 軸ランダム値

  4. Y 軸最小値

  5. Y 軸最大値

  6. X 軸ランダム値

  7. Z 軸最小値

  8. Z 軸最大値

  9. Z 軸ランダム値

これをタイプとして選択すると、値を編集するために次のダイアログが表示されます:

VectorUniform.png

DistributionVectorUniform のプロパティ

アイテム

説明

Min

乱数計算の最低値です。Vector Uniform では、 X、Y、Z 値が含まれます。

Max

乱数計算の最大値です。Vector Uniform では、 X、Y、Z 値が含まれます。

Use Extremes

Min と Max の中間ではなくて、 Min と Max の値を使用すべきだと表示します。

Locked Axes Flag

説明

EDVLF_None

他の軸に対してどの軸もロックされません。

EDVLF_XY

Y 軸が X 軸値に対してロックされます。

EDVLF_XZ

Z 軸が X 軸値に対してロックされます。

EDVLF_YZ

Z 軸が Y 軸値に対してロックされます。

EDVLF_XYZ

Y 軸と Z 軸が X 軸値に対してロックされます。

MirrorFlags によって、値の各コンポーネントの最小 / 最大値をミラーリングすることができます。以下のフラグがミラーリングをサポートします。

ミラーフラグ

説明

EDVMF_Same

最小値として最大値を使用します。

EDVMF_Different

各値をセットとして使用します。

EDVMF_Mirror

最小値を最大値の逆数 (Max * -1) とします。

Mirror Flags プロパティの直下にある 0、1、2 はそれぞれ X、Y、Z を表します。

DistributionVectorConstantCurve

時間経過とともにグラフ エディタ上にプロットされるプロパティの値を提供するために使用します。時間が絶対 (エミッターのライフタイム) であるか、相対 (個々のパーティクルのライフタイム) であるかは、ディストリビューションを利用するモジュールによります。

VectorConstantCurve_Graph.png

  1. X 軸カーブポイント 0

  2. X 軸カーブポイント 1

  3. X 軸補間カーブ

  4. Y 軸カーブポイント 0

  5. Y 軸カーブポイント 1

  6. Y 軸補間カーブ

  7. Z 軸カーブポイント 0

  8. Z 軸カーブポイント 1

  9. Z 軸補間カーブ

これをタイプとして選択すると、値を編集するために次のダイアログが表示されます:

VectorConstantCurve.png

FloatConstantCurve タイプと同様に、このディストリビューション タイプもカーブ エディタによって編集することをお勧めします。

注記:ConstantCurve ディストリビューションに対して、 LockedAxes フラグを EDVLF_None 以外の何かに設定した場合、カーブ エディタは、混乱を避けるためにロックされた軸を表示しません。例えば、フラグを EDVLF_XY に設定した場合、カーブ エディタは、 X および Z カーブのみを含みます。

DistributionFloatConstantCurve のプロパティ

アイテム

説明

Points

全てのポイントをカーブに含める配列プロパティです。AddPoint_button.png ボタンを使ってここにポイントを作ることもできます。ただし、普通はグラフ エディタで点を追加する方が簡単かつ直感的です。

Point のプロパティ

InVal

通常、時間として計算されるグラフの横軸に沿った点の位置です。

InVal

通常、プロパティ値として計算されるグラフの縦軸に沿った点の位置です。

ArriveTangent

ポイントに入ってくるタンジェントの角度です。-150 から 150 の範囲の値が便利です。

LeaveTangent

ポイントから出て行くタンジェントの角度です。-150 から 150 の範囲の値が便利です。

InterpMode

ユーザーは様々なカーブの補間モードを選択できます。詳細は カーブ エディタ ユーザーガイド ドキュメントを参照してください。

Locked Axes Flag

説明

EDVLF_None

他の軸に対してどの軸もロックされません。

EDVLF_XY

Y 軸が X 軸値に対してロックされます。

EDVLF_XZ

Z 軸が X 軸値に対してロックされます。

EDVLF_YZ

Z 軸が Y 軸値に対してロックされます。

EDVLF_XYZ

Y 軸と Z 軸が X 軸値に対してロックされます。

DistributionVectorUniformCurve

時間経過と共にグラフ エディタ上にプロットされるプロパティの値の範囲を表します。最終値はそれぞれの軸の Min カーブおよび Max カーブの間からランダムに選択されます。

VectorUniformCurve_graph.png

  1. X 軸 Min カーブ

  2. X 軸 Max カーブ

  3. X 軸でランダムに補間されたカーブ

  4. Y 軸 Min カーブ

  5. Y 軸 Max カーブ

  6. Y 軸でランダムに補間されたカーブ

  7. Z 軸 Min カーブ

  8. Z 軸 Max カーブ

  9. Z 軸でランダムに補間されたカーブ

これをタイプとして選択すると、値を編集するために次のダイアログが表示されます:

VectorUniformCurve.png

DistributionVectorUniformCurve のプロパティ

アイテム

説明

Points

全てのポイントをカーブに含める配列プロパティです。AddPoint_button.png ボタンを使ってここにポイントを作ることもできます。ただし、普通はグラフ エディタで点を追加する方が簡単かつ直感的です。

Point のプロパティ

InVal

通常、時間として計算されるグラフの横軸に沿った点の位置です。

OutVal

通常、プロパティ値として計算されるグラフの縦軸の位置です。Vector Uniform Curve の場合、プロパティに含まれる V1 と V2 の値はそれぞれ出力の最小値と最大値を表します。これらの値それぞれに X 軸、Y 軸、Z 軸の値が含まれます。

ArriveTangent

V1 と V2 (最小値と最大値) のポイントに入ってくるタンジェントの角度を提供します。これには X、Y、Z の値が含まれていて、 -150 から 150 前後の範囲が便利な値です。Vector Uniform Curve の場合、プロパティに含まれる V1 と V2 の値はそれぞれ出力の最小値と最大値を表します。これらの値それぞれに X 軸、Y 軸、Z 軸の値が含まれます。

LeaveTangent

X と Y (min と max) 両方のポイントから出て行くタンジェントの角度です。-150 から 150 の範囲の値が便利です。Vector Uniform Curve の場合、プロパティに含まれる V1 と V2 の値はそれぞれ出力の最小値と最大値を表します。これらの値それぞれに X 軸、Y 軸、Z 軸の値が含まれます。

InterpMode

ユーザーは様々なカーブの補間モードを選択できます。詳細は カーブ エディタ ユーザーガイド ドキュメントを参照してください。

Use Extremes

Min と Max の中間ではなくて、 Min と Max の値を使用すべきだと表示します。

Locked Axes Flag

説明

EDVLF_None

他の軸に対してどの軸もロックされません。

EDVLF_XY

Y 軸が X 軸値に対してロックされます。

EDVLF_XZ

Z 軸が X 軸値に対してロックされます。

EDVLF_YZ

Z 軸が Y 軸値に対してロックされます。

EDVLF_XYZ

Y 軸と Z 軸が X 軸値に対してロックされます。

MirrorFlags によって、値の各コンポーネントの最小 / 最大値をミラーリングすることができます。以下のフラグがミラーリングをサポートします。

ミラーフラグ

説明

EDVMF_Same

最小値として最大値を使用します。

EDVMF_Different

各値をセットとして使用します。

EDVMF_Mirror

最小値を最大値の逆数 (Max * -1) とします。

他のカーブタイプと同様に、このディストリビューション タイプもカーブ エディタによって編集することをお勧めします。

DistributionVectorParticleParam

前述した FloatParticleParam タイプと同等のベクターです。コード、ブループリント、マチネにより値を操作することができます。

これをタイプとして選択すると、値を編集するために次のダイアログが表示されます:

VectorParticleParam.png

DistributionFloatParticleParameter のプロパティ

アイテム

説明

パラメータ名

コードまたはブループリント スクリプトがパラメータにアクセスするときに使用する名前です。

Min Input

通常はゲームコード経由でディストリビューションに渡される最小値です。

Max Input

通常はゲームコード経由でディストリビューションに渡される最大値です。

Min Output

入力範囲からマップされた通りにカスケードに出力できる最小値です。

Max Output

出力範囲からマップされた通りにカスケードに出力できる最大値です。

Param Mode

入力値の使い方を制御します。以下の Param Mode Flag テーブルをご覧ください。

定数

入力がない場合、システムにデフォルト値です。

Locked Axes Flag

説明

EDVLF_None

他の軸に対してどの軸もロックされません。

EDVLF_XY

Y 軸が X 軸値に対してロックされます。

EDVLF_XZ

Z 軸が X 軸値に対してロックされます。

EDVLF_YZ

Z 軸が Y 軸値に対してロックされます。

EDVLF_XYZ

Y 軸と Z 軸が X 軸値に対してロックされます。

ParamMode フラグ

説明

DPM_Normal

入力値のみを残します。

DPM_Abs

再マッピングの前に入力値の絶対値を使用します。

DPM_Direct

入力値を直接使用します (再マッピングなし)。