Distributions(ディストリビューション)

定数値、一定範囲内のランダム値、カーブに沿って補間された値、パラメータによって動く値を使用することでフレキシビリティをもたらすデータ タイプです。

Choose your operating system:

Windows

macOS

Linux

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

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

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

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

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

CanBeBaked.png

Distribution (ディストリビューション) のタイプ

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

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

Float Distributions

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

DistributionFloatConstant

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

FloatConstant_Graph.png

  1. 変化しない定数の float 値です。

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

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

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

OutVal

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

ArriveTangent

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

LeaveTangent

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

InterpMode

様々なカーブの補間モードを選択できます。詳細は

[カーブ エディタ ユーザーガイド](Basics/ToolsAndEditors/CurveEditor)
のページを参照してください。

DistributionFloatUniformCurve

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

FloatUniformCurve_graph.png

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

  2. Max 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

様々なカーブの補間モードを選択できます。詳細は

[カーブ エディタ ユーザーガイド](Basics/ToolsAndEditors/CurveEditor)
のページを参照してください。

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 テーブルをご覧ください。

Constant

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

ParamMode フラグ

説明

DPM_Normal

入力値のみを残します。

DPM_Abs

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

DPM_Direct

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

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

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

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. Z 軸最大値

  3. X 軸ランダム範囲

  4. Y- 軸最小値

  5. Y 軸最大値

  6. Y 軸ランダム範囲

  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

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

OutVal

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

ArriveTangent

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

LeaveTangent

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

InterpMode

様々なカーブの補間モードを選択できます。詳細は

[カーブ エディタ ユーザーガイド](Basics/ToolsAndEditors/CurveEditor)
のページを参照してください。

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

様々なカーブの補間モードを選択できます。詳細は

[カーブ エディタ ユーザーガイド](Basics/ToolsAndEditors/CurveEditor)
のページを参照してください。

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 テーブルをご覧ください。

Constant

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

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

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

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる