Math マテリアル表現式

1 つ以上の入力で様々な数学演算を行うためのマテリアル表現式です。

Abs

Abs は、数学用語「absolute value (絶対値)」の略語です。Abs 表現式は絶対値、符号なしの値、または受け取った入力値を出力します。つまり、基本的にマイナス符号を取り除くことで負の数を正の数に変えます。正の数と「0」の場合は変化しません。

例: 「-0.7」の Abs は「0.7」、「-1.0」の Abs は「1.0」、「1.0」の Abs は「1.0」です

使用例: Abs は 2 つのベクター間の角度関係、つまり、それらが平行であるか、垂直であるか、中間にあるかどうかを決定するために、通常 Dot Product (内積) と一緒に使用されます。通常、2 つのベクターの内積を取得すると、値は「1.0 (2 つの並列ベクターの場合)」と「-1.0 (2 つの正反対のベクターの場合)」の間で補間され、「0」の中点は 2 つのベクターが垂直であることを示します。この内積の絶対値を取得すると、正の値は変更されませんが、負の値はマイナス記号が削除され正の数値に変換されます。したがって、結果は「0 (垂直ベクターの場合)」から「1.0 (ベクターが同じ方向を指すか反対方向を指すかに関係なく、平行ベクターの場合)」の間で補間されます。これにより、2 つのベクターが直交していない距離がわかります。

Absolute value Material Expression

Add

Add 表現式は 2 つの入力を受け取り、それらを加算して結果を出力します。 

複数のチャンネルで値を渡す場合、各チャンネルは個別に加算されます。例えば、各入力に RGB カラー値を渡すと、1 番目の入力の R チャンネルが 2 番目の入力の R チャンネルに加算され、結果が出力の R チャンネルに保存されます。そして、1 番目の入力の G チャンネルは 2 番目の入力の G チャンネルに追加され、結果が出力の G チャンネルに保存されます。

値の 1 つが単一の定数値でない限り、両方の入力には同じ数の値が必要となります。その場合、マルチ チャンネル入力の各チャンネルは単一の浮動小数点値に加算され、結果は出力値の個別のチャンネルに保存されます。

プロパティ

説明

Const A

加算する値を受け取ります。A 入力が未使用時のみ使用されます。

Const B

加算される値を受け取ります。B 入力が未使用時のみ使用されます。

入力値

A

加算する値を受け取ります。

B

加算される値を受け取ります。

例: 「0.2」と「0.4」の Add は「0.6」です。(0.2、-0.4、0.6) と (0.1、0.5、1.0) の Add は (0.3、0.1、1.6) です。(0.2、-0.4、0.6) と「1.0」の Add は (1.2、0.6、1.6) です。

使用例: 加算は、色を明るくしたり暗くしたり、UV テクスチャ座標をオフセットするためによく使用されます。

Add Material Expression

AppendVector

AppendVector 表現式を使うと、チャンネルを組み合わせて、オリジナルよりも多くのチャンネルをもつベクターを作成することができます。たとえば、2 つの個別の Constant 値を受け取り、それらを追加して 2 つのチャンネルの Constant2 Vector 値を作成できます。これは、単一のテクスチャ内でチャネルを並べ替えたり、複数のグレースケール テクスチャを 1 つの RGB カラー テクスチャに結合したりする場合に役立ちます。

入力

説明

A

追加する値を受け取ります。

B

追加される値を受け取ります。

例: 「0.2」と「0.4」の Append は (0.2,0.4)、(0.2,0.4) と (1.0) の Append は (0.2,0.4,1.0) です。

AppendVector Example

Arccosine

Arccosine 表現式は逆コサイン関数を出力します。

負荷が大きく、命令数に影響されない関数です。ArccosineFast を使用すると、より高速に計算できますが、精度が低くなります。

MEN_ArcCosine.png

上の画像は、この表現式を適用した結果の 2 つの異なるビジュアリゼーションを示しています。

  • 上部のバーには、結果が出力色として表示されます。バーの左端には、入力値「-1」でこの表現式を使用した結果の色が表示され、バーの右端には値「1」の結果が表示されます。

  • グラフでは、X 軸は「-1」から「1」の範囲の入力値を表しています。Y 軸は、もう一度「-1」から「1」の範囲の入力値でこの表現式を使用した結果を示しています。

ArccosineFast

ArccosineFast 表現式は、より正確な結果を得られる Arccosine 表現式よりも計算が速い逆コサイン関数の近似値を出力します。入力は「-1」から「1」の間でなければなりません。

出力値のビジュアリゼーションについては、上記の Arccosine 表現式を参照してください。

Arcsine

Arcsine は、逆サイン関数を出力します。

負荷が大きく、命令数に影響されない関数です。ArccosineFast を使用すると、より高速に計算できますが、精度が低くなります。

MEN_ArcSine.png

上の画像は、この表現式を適用した結果の 2 つの異なるビジュアリゼーションを示しています。

  • 上部のバーには、結果が出力色として表示されます。バーの左端には、入力値「-1」でこの表現式を使用した結果の色が表示され、バーの右端には値「1」の結果が表示されます。

  • グラフでは、X 軸は「-1」から「1」の範囲の入力値を表しています。Y 軸は、もう一度「-1」から「1」の範囲の入力値でこの表現式を使用した結果を示しています。

ArcsineFast

ArcsineFast 表現式は、より正確な結果を得られる Arcsine 表現式よりも計算が速い逆コサイン関数の近似値を出力します。入力は「-1」から「1」の間でなければなりません。

出力値のビジュアリゼーションについては、上記の Arcsine 表現式を参照してください。

Arctangent

Arctangent 式は逆タンジェント関数を出力します。

負荷が大きく、命令数に影響されない関数です。ArctangentFast を使用すると、より高速に計算できますが、精度が低くなります。

MEN_ArcTangent.png

上の画像は、この表現式を適用した結果の 2 つの異なるビジュアリゼーションを示しています。

  • 上部のバーには、結果が出力色として表示されます。バーの左端には、入力値「-1」でこの表現式を使用した結果の色が表示され、バーの右端には値「1」の結果が表示されます。

  • グラフでは、X 軸は「-1」から「1」の範囲の入力値を表しています。Y 軸は、もう一度「-1」から「1」の範囲の入力値でこの表現式を使用した結果を示しています。

Arctangent2

Arctangent2 表現式は、象限の決定に入力符号が使用される x / y の逆タンジェントを出力します。

負荷が大きく、命令数に影響されない関数です。Arctangent2Fast を使用すると、より高速に計算できますが、精度が低くなります。

MEN_ArcTangent2.png

上の画像は、この表現式を適用した結果の 2 つの異なるビジュアリゼーションを示しています。

  • 上部のバーには、結果が出力色として表示されます。バーの左端には、入力値「-1」でこの表現式を使用した結果の色が表示され、バーの右端には値「1」の結果が表示されます。

  • グラフでは、X 軸は「-1」から「1」の範囲の入力値を表しています。Y 軸は、もう一度「-1」から「1」の範囲の入力値でこの表現式を使用した結果を示しています。

Arctangent2Fast

Arctangent2Fast 表現式は、象限の決定に入力符号が使用される X / Y の逆タンジェントの類似値を出力します。計算は高速ですが、 Arctangent2 表現式よりも精度が低くなります。

出力値のビジュアリゼーションについては、上記の Arctangent2 表現式を参照してください。

ArctangentFast

ArctangentFast 表現式は、より正確な結果を得られる Arctangent 表現式よりも計算が速い逆タンジェント関数の近似値を出力します。

出力値のビジュアリゼーションについては、上記の Arctangent 表現式を参照してください。

Ceil

Ceil 表現式は、値を受け取り、一番近い整数へ 切り上げて 結果を出力します。Floor and Frac も参照してください。

例: 「0.2」の Ceil は「1.0」です。(0.2、1.6) の Ceil は (1.0、2.0) です。

Ceil Material Expression

Clamp

Clamp 表現式は、最小値と最大値で定義された指定範囲に受け取った値を制限します。最小値として「0.0」、最大値として「0.5」を定義すると、結果の値は「0.0」より大きく「0.5」より小さいものになります。

プロパティ

説明

Clamp Mode

使用するクランプのタイプを選択します。CMODE_Clamp は、範囲の両端をクランプします。CMODE_ClampMin および CMODE_ClampMax は、範囲のそれぞれの端のみをクランプします。

Min Default

クランプ時に最小値として使用する値を受け取ります。最小値の入力が未使用時のみ使用されます。

Max Default

クランプ時に最大として使用する値を受け取ります。最大値の入力が未使用時のみ使用されます。

入力値

Min

クランプ時に最小値として使用する値を受け取ります。

Max

クランプ時に最大として使用する値を受け取ります。

例: (0.0) から (1.0) の入力範囲で、Min 「0.0」、Max 「1.0」でクランプすると「0.3」が得られます。また、「1.3」を Min 「0.0」、Max 「1.0」でクランプすると「1.0」を得られます。

Clamp Material Expression

ComponentMask

ComponentMask 表現式を使用すると、入力からチャンネルの特定のサブセット (R、G、B、および/または A) を選択して、出力に渡すことができます。入力が単一の定数値でない限り、入力に存在しないチャネルを渡そうとするとエラーが発生します。この場合、単一の値が各チャンネルに渡されます。渡すために選択された現在のチャンネルは、式のタイトル バーに表示されます。

プロパティ

説明

R

チェックされている場合、入力値の赤 (最初のチャンネル) が出力に渡されます。

G

チェックされている場合、入力値の緑 (2 番目) のチャンネルが出力に渡されます。

B

チェックされている場合、入力値の青 (3 番目) のチャンネルが出力に渡されます。

A

チェックされている場合、入力値のアルファ (4 番目) のチャンネルが出力に渡されます。

例: 入力が (0.2,0.4,1.0) で G チャンネルの ComponentMask は、出力 (0.4) を生成します。これは、カラー ベクトルとして使用すると、40% の明るいグレースケール値として表示されます。

Component Mask Example

Cosine

Cosine 表現式は、[0, 1] の入力範囲および [-1, 1] の出力範囲に正弦波の値を繰り返し計算します。最も一般的には、この関数は、Time 式と入力値を関連付けして継続的な振動の波形を出力することでよく知られていますが、ワールド スペースやスクリーン スペース、また継続した滑らかな円が必要なその他のアプリケーションでさざ波の作成に使用することもできます。波形を視覚的に表現したものが以下となります。出力範囲は [0、1] に調整しています。

CosineWave.png

プロパティ

説明

Period

結果として得られる振動の周期を特定します。結果として得られる振動の周期を特定します。言い換えれば、これによって 1 つの振動が発生するまでの時間、または波形にある連続する各々の山または谷の時間がわかります。例えば、上の画像だと時間は 1 秒です。

使用例: この表現式は振動効果が必要な場合に役立ちます。振動の速度と振幅は、時間入力 (速度) または出力 (振幅) を乗算することにより、動的に簡単な制御が可能です。

上記の例では、色はコサイン周波数で振動します。

CrossProduct

CrossProduct 表現式は、3 チャンネルのベクター値の 2 つの入力値の外積を計算し、結果として 3 チャンネルのベクター値を計算します。空間に 2 つのベクターがある場合、外積は両方の入力に垂直なベクターになります。

入力

説明

A

3 チャンネルのベクター値を受け取ります。

B

3 チャンネルのベクター値を受け取ります。

使用例: CrossProduct は、他の二方向に垂直な方向を計算するためによく使用されます。

Cross product example

Divide

Divide 表現式は 2 つの入力を受け取り、1 番目の入力を 2 番目の入力で割った結果を出力します。

複数のチャンネルで値を渡す場合、各チャンネルは個別に除算されます。例えば、各入力に RGB カラー値を渡すと、1 番目の入力の R チャンネルが 2 番目の入力の R チャンネルに除算され、結果が出力の R チャンネルに保存されます。そして、1 番目の入力の G チャンネルは 2 番目の入力の G チャンネルに除算され、結果が出力の G チャンネルに保存されます。

値の 1 つが単一の浮動小数点値でない限り、両方の入力には同じ数の値が必要となります。その場合、マルチ チャンネル入力の各チャンネルは単一の浮動小数点値に除算され、結果は出力値の個別のチャンネルに保存されます。

任意のチャンネルで除数が 0 から 0.00001 の間の場合、0.00001 に引き上げられます。任意のチャンネルで除数が 0 から -0.00001 の間の場合、-0.00001 に下げられます。これにより、ゼロで割った際に発生するエラーを回避できます。ただし、チャンネルの出力値が非常に大きくなる可能性もあります。

プロパティ

説明

Const A

除算される値、被除数を受け取ります。A 入力が未使用時のみ使用されます。

Const B

除算する値、約数を受け取ります。B 入力が未使用時のみ使用されます。

入力値

A

除算される値、被除数を受け取ります。

B

除算する値、約数を受け取ります。

例: A=(1.0) と B=(5.0) で Divide を使うと (0.2) が出力され、暗いグレーとなります。

Divide Material Expression example

DotProduct

DotProduct 表現式は内積を計算します。これは、一方のベクターの長さを他方に投影したもの、または 2 つのベクター間のコサインに大きさを掛けたものとして計算されます。これは、フォールオフの計算によく使われる手法です。DotProduct では、両方のベクター入力と同じ数のチャンネルが必要です。

入力

説明

A

任意の長さの値またはベクターを受け取ります。

B

A と同じ長さの値またはベクターを受け取ります。

Dot product Material Expression

Floor

Floor 表現式は、値を受け取り前の整数へ 切り下げて 結果を出力します。CeilFrac も参照してください。

例: 「0.2」の Floor は「0.0」です。 (0.2、1.6) の Floor は (0.0、1.0) です。

Floor Material Expression

Fmod

Fmod 表現式は、2 つの入力値を除算した後の浮動小数点値余りを返します。被除数 (入力「A」) には任意の値を指定できますが、負の被除数は負の結果になります。ゼロによる除算はできないことから約数 (2 番目の入力) はゼロにできませんが、約数が負であっても正であっても結果に影響はありません。一般的なユースケースは、最大値まで明るくなり、すぐに次のフレームで最小値に戻って、再び最大値に向かって上昇し始めるようなマテリアルの作成です。

この例では、FMod が 0 から 1 への UV 進捗を受け取り、それを変換して緑チャンネルの X 軸で 0.2 UV ごとに周期を繰り返されるようにしています。

Frac

Frac 表現式は値を受け取り、それらの値の端数部分を出力します。つまり、入力値「X」の場合、結果は「X - X の Floor」です。出力値の範囲は「0」から「1」で、下限を含みますが、上限は含みません。CeilFloor も参照してください。

例: (0.2) の Frac は (0.2) です。(-0.2) の Frac は (0.8) です。(0.0、1.6、1.0) の Frac は (0.0、0.6、0.0) です。

Frac Material Expression

この例では、Franc ノードは一連の繰り返しとなる 0 - 1 数列へ時間を変更しています。色を緑から赤へフェード (Lerp を通じて) させて、緑へ戻り、これを無限に繰り返します。

If

If 表現式は、2 つの入力値を比較し、比較結果に基づいて他の 3 つの値のうち 1 つを渡します。比較される両方の入力値は両方とも単一の浮動小数点値でなければなりません。

入力

説明

A

単一の浮動小数点値を受け取ります。

B

単一の浮動小数点値を受け取ります。

A > B

A の値が B の値よりも大きい場合に出力する値を受け取ります。

A = B

A の値が B の値に等しい場合に出力する値を受け取ります。

A < B

A の値が B の値よりも小さい場合に出力する値を受け取ります。

If Material Expression

この例では、If 表現式が高さマップを受け取り、高さが 0.45 値を上回るまたは下回るかによって赤、もしくは緑を出力します。

LinearInterpolate

LinearInterpolate 表現式はマスクに使用された第 3 の入力値に基づいて 2 つの入力値をブレンドします。これは Photoshop のレイヤーマスクのように、2 つのテクスチャ間のトランジションを定義するマスクのようなものです。マスク アルファの輝度は、二つの入力値から受け取るカラーの割合を決定します。アルファ値が 0.0 の場合は、最初の入力値が使用されます。アルファ値が 1.0 の場合は、2 番目の入力値が使用されます。アルファ値がグレイ (0.0 と 1.0 の間) の場合、出力値は 2 つの入力値のブレンドになります。ブレンドはチャンネル毎に処理されることにご注意ください。アルファ値が RGB カラーの時、アルファの赤のチャンネル値によって A と B の赤のチャンネル間のブレンドが定義されます。これは、 A と B の緑のチャンネルの間のブレンドを定義する、アルファの緑のチャンネルとは 別になります

アイテム

説明

Const A

この値は (0.0) にマッピングされます。この A の入力が未接続の場合に限り使用されます。

Const B

この値は白 (1.0) にマッピングされます。 B の入力が未接続の場合に限り使用されます。

Const Alpha

マスク アルファとして使用する値を受け取ります。アルファ入力が未接続の場合に限り使用されます。

入力値

A

黒 (0.0) にマッピングされた値を受け取ります。

B

白 (1.0) にマッピングされた値を受け取ります。

Alpha

マスク アルファとして使用する値を受け取ります。

プログラマー: LinearInterpolate はパラメータのアルファ値に基づいて A と B の間の各チャンネルの lerp (Linear Interpolate 線形補間) を実行します。

Linear Interpolate example

Logarithm10

Logarithm10 ノードは、入力値の常用対数とも呼ばれる「10」を底とする対数を返します。つまり、底となる「10」の値を受け取り、この表現式で返された数値を累乗すると、入力値が取得されます。

この表現式は正の入力値のみ使用できます。

Logarithm2

Logarithm2 ノードは、入力値の「2」を底とする対数を返します。つまり、底となる「2」の値を受け取り、この表現式で返された数値を累乗すると、入力値が取得されます。

この表現式は正の入力値のみ使用できます。

Max

Max 表現式は 2 つの入力を受け取り、高い方の値を出力します。

このノードをカラー入力で使用すると、結果は Photoshop の Lighten レイヤー ブレンドモードに似たものとなります。

Max Material Expression

上記の例では、A は「0」、B は「1」です。したがって、結果のベースカラーは「1」(白) です。

プロパティ

説明

Const A

最初の値を受け取ります。A 入力が未使用時のみ使用されます。

Const B

2 番目の値を受け取ります。B 入力が未使用時のみ使用されます。

入力値

A

比較する最初の値を受け取ります。

B

比較する 2 番目の値を受け取ります。

Min

Min 表現式は 2 つの入力を取り、2 つのうちの低い方を出力します。

このノードをカラー入力で使用すると、結果は Photoshop の Darken レイヤー ブレンドモードに似たものとなります。

Min Material Expression

上記の表現式では、A は "0" で B は "1" なので、ベースカラーは "0" (黒) になります。

プロパティ

説明

Const A

最初の値を受け取ります。A 入力が未使用時のみ使用されます。

Const B

2 番目の値を受け取ります。B 入力が未使用時のみ使用されます。

入力値

A

比較する最初の値を受け取ります。

B

比較する 2 番目の値を受け取ります。

Multiply

Multiply 表現式は 2 つの入力を受け取り、それらを乗算して結果を出力します。入力としてカラー値を渡すと、結果は Photoshop の Multiply レイヤー ブレンドモードに似たものとなります。

複数のチャンネルで値を渡す場合、各チャンネルは個別に乗算されます。例えば、各入力に RGB カラー値を渡すと、1 番目の入力の R チャンネルが 2 番目の入力の R チャンネルに乗算され、結果が出力の R チャンネルに保存されます。そして、1 番目の入力の G チャンネルは 2 番目の入力の G チャンネルに乗算され、結果が出力の G チャンネルに保存されます。

値の 1 つが単一の浮動小数点値でない限り、両方の入力には同じ数の値が必要となります。その場合、マルチ チャンネル入力の各チャンネルは単一の浮動小数点値に乗算され、出力値の個別のチャンネルに保存されます。

プロパティ

説明

Const A

乗算する最初の値を受け取ります。A 入力が未使用時のみ使用されます。

Const B

乗算する 2 番目の値を受け取ります。B 入力が未使用時のみ使用されます。

入力値

A

乗算する最初の値を受け取ります。

B

乗算する 2 番目の値を受け取ります。

UE4 のマテリアルは [0,1] に限定されないことを忘れないでください。カラー / 値が 1 より大きい場合、Multiply 表現式は実際のところ色が明るくなります。

例: 「0.4」と「0.5」の乗算は「0.2」です。 (0.2、-0.4、0.6) と (0.0、2.0、1.0) の乗算は (0.0、-0.8、0.6) です。 (0.2、-0.4、0.6) と「0.5」の乗算は (0.1、-0.2、0.3) です。

使用例: 乗算は、色 / テクスチャを明るくまたは暗くするためによく使用されます。

UV を 1 倍してから 2 倍にすると、テクスチャ スケールがどのように変化するかに注意してください。

Normalize

Normalize 表現式は、計算して入力を正規化した値を出力します。正規化されたベクター (「単位ベクター」とも呼ばれます) の全長は 1.0 です。これは、入力の各コンポーネントがベクターの合計の大きさ (長さ) で除算されるということです。

例: Normalize に (0、2、0) または (0、0.2、0) を渡すと、(0、1、0) が出力されます。Normalize に (0、1、-1) を渡すと、(0、0.707、-0.707) が出力されます。唯一の特殊なケースは、すべてベクターがゼロの時で、この場合変化はありません。

正規化された入力ベクター

正規化されていない入力ベクター

法線マテリアル出力にプラグインする表現式に対して正規化する必要はありません。

OneMinus

OneMinus 表現式は入力値「X」を受け取り、「1 - X」を出力します。この演算はチャンネルごとに実行されます。

例: 「0.4」の OneMinus は「0.6」です。 (0.2、0.5、1.0) の OneMinus は (0.8、0.5、0.0) です。(0.0、-0.4、1.6) の OneMinus は (1.0、1.4、-0.6) です。

使用例: 入力カラーが [0、1] の範囲にある場合、OneMinus は一般に「invert (反転)」と呼ばれるものと同じ効果があります。つまり、OneMinus は入力に加算すると白を生成する補完カラーを返します。

OneMinus ノードを追加すると、テクスチャ サンプルの値が反転します。

Power

Power 表現式は 2 つの入力値、つまり基本値 (Base) および指数 (Exp) を受け取ります。基本値を指数で累乗し、結果を出力します。つまり、Base にそれ自体を Exp 倍した値を返します。

プロパティ

説明

Const Exponent

指数値を受け取ります。Exp 入力が未使用時のみ使用されます。

入力値

Base

基本値を受け取ります。

Exp

指数値を受け取ります。

例: Base が「0.5」、Exp が「2.0」の累乗は「0.25」です。

使用例: Power に渡すカラーが [0,1] にある場合、Power は一種のコントラスト調整のような動作を行います。つまり、非常に明るい値はわずかに下がり、暗い値は大幅に下がります。

Power ノードを追加すると、テクスチャ サンプルのコントラストが向上します。

Round

Round 表現式は、入力値を最も近い整数に四捨五入します。例えば、入力値の小数部分が「0.5」以上の場合、出力値は切り上げられます。「0.5」未満の場合、出力値は切り捨てられます。

Round 実行前

Round 実行後

例:

  • 値「1.1」は 値「1」値に切り捨てられます。

    • 値「1.4」は、値「1」に切り捨てられます。

  • 値「1.5」は、値「2」に切り上げられます。

  • 値「1.85」は、値「2」に切り上げられます

Saturate

Saturate ノードは値を 0 と 1 の間にクランプします。「0」未満の値は「0」に引き上げられ、「1」より大きい値は「1」に引き下げられます。値が「0」から「1」の間の場合、変更はありません。ほとんどの最新のグラフィック ハードウェアでは Saturate の実行負荷はぼぼ無いため、マテリアルのパフォーマンスに対する影響はありません。そのため、「0」から「1」の入力値または出力値をクランプする必要がある場合は、いつでもこのノードを使用できます。

Saturate Material Expression

使用例: このノードは、入力値もしくは出力値を「0」と「1」の間にクランプする必要がある場合に使用します。

Step

Step マテリアル表現式は、Y の参照値より大きいか小さいかに応じて、X のすべての値に対して 0 または 1 を返します。

以下では、線形グラデーション (0 から 1) が X 入力に接続されています。Y の値 (0.25) が基準値となります。0.25 未満のグラデーションのすべての値は 0 (黒) を返し、0.25 以上のすべての値は1 (白) を返します。

Y の値を大きくすると、黒と白の間のしきい値が移動することに注意してください。

Step 式は、突然のオン/オフ効果が必要な場合に役立ちます。たとえば、Step 式を使用して、グレースケール テクスチャを白黒マスクに単純化することもできます。

SmoothStep

SmoothStep を使用すると、最小しきい値と最大しきい値の間の値を 0 から 1 の間で補間できます。SmoothStep は 3 つ引数を受け取ります

  • Min は補間の下端を定義します。SmoothStep は、Min 以下の値に対して 0 (黒) を返します。

  • Max 補間の上端を定義します。Smoothstep は、Max 以上の値に対して 1 (白) を返します。

  • Value 補間のソース値を定義します。たとえば、グラデーションまたはグレースケール テクスチャマップ。

この式は、エッジにある程度の滑らかさを持たせたいトランジションに役立ちます。

以下では、LinearGradient が Value 入力に渡され、Min 値と Max 値が 0.1 と 0.9 に設定されます。これにより、0.1 が黒、0.9 が白の比較的滑らかなグラデーションになります。

最小値と最大値は、補間の開始位置と終了位置を制御します。

2 番目のスライドでは、最小値と最大値が 0.6 と 0.8 に設定されているため、より急激な遷移が発生します。0.6 未満はすべて黒、0.8 を超えるものはすべて白で、その間に滑らかなグラデーションがあります。

Sign

Sign ノードは、数値入力が負、正、「0」ちょうどであるかどうかを示します。

  • 入力が負の場合、このノードは「-1」を出力します。

  • 入力が「0」丁度の場合、このノードは「0」を出力します。

  • 入力が正の場合、このノードは「1」を出力します。

Sine (正弦波)

Sine 表現式は、[0、1] の入力範囲と [-1、1] の出力範囲にサイン波の値繰り返し出力します。この表現式と Cosine 表現式の出力の違いは、出力波形が四分の一にオフセットされることです。つまり「Cos(X)」は「Sin(X + 0.25)」に等しくなります。最も一般的には、この関数は、Time 式と入力値を関連付けして継続的な振動の波形を出力することでよく知られていますが、ワールド スペースやスクリーン スペース、また継続した滑らかな円が必要なその他のアプリケーションでさざ波の作成に使用することもできます。波形を視覚的に表現したものが以下となります。出力範囲は [0、1] に調整しています。

SineWave.png

プロパティ

説明

Period

結果として得られる振動の周期を特定します。言い換えれば、これによって 1 つの振動が発生するまでの時間、または波形にある連続する各々の山または谷の時間がわかります。例えば、上の画像だと時間は 1 秒です。

使用例: この表現式は振動効果が必要な場合に役立ちます。振動の速度と振幅は、時間入力 (速度) または出力 (振幅) を乗算することにより、動的に簡単な制御が可能です。

SquareRoot

SquareRoot 表現式は入力値の平方根を出力します。ベクターに適用する場合、各コンポーネントは個別に処理されます。

0 から 1 の範囲のテクスチャの場合、これにより画像の見かけのコントラストが低下します。たとえば、以下のキャリブレーション テクスチャでは、暗い値が明るくなり、白い値がグレイにシフトします。

Square Root Material Expression

Subtract

Subtract ノードは 2 つの入力を受け取り、最初の入力から 2 番目の入力を減算し、その差を出力します。

複数のチャンネルで値を渡す場合、各チャンネルは個別に減算されます。例えば、各入力に RGB カラー値を渡すと、1 番目の入力の R チャンネルが 2 番目の入力の R チャンネルに減算され、結果が出力の R チャンネルに保存されます。そして、1 番目の入力の G チャンネルは 2 番目の入力の G チャンネルに減算され、結果が出力の G チャンネルに保存されます。

値の 1 つが単一の定数値でない限り、両方の入力には同じ数の値が必要となります。その場合、マルチ チャンネル入力の各チャンネルは定数値が除算された値を持ち、結果は出力値の個別のチャンネルに保存されます。

プロパティ

説明

Const A

被減数の値を受け取ります。A 入力が未使用時のみ使用されます。

Const B

減数される値を受け取ります。B 入力が未使用時のみ使用されます。

入力値

A

被減数の値を受け取ります。

B

減数される値を受け取ります。

例: 「0.5」と「0.2」の Subtract は「0.3」です。 (0.2、-0.4、0.6) と (0.1、0.1、1.0) の Subtract は (0.1、-0.5、-0.4) です。 (0.2、0.4、1.0) と「0.2」の Subtract は (0.0、0.2、0.8) です。

使用例: Subtract は、色を暗くしたり、UV のオフセットに使用できます。

Subtract Material Expression

Tangent

Tangent ノードは、指定された値のタンジェントを出力します。

MEN_Tangent.png

上の画像は、この表現式を適用した結果の 2 つの異なるビジュアリゼーションを示しています。

  • 上部のバーには、結果が出力色として表示されます。バーの左端には、入力値「-1」でこの表現式を使用した結果の色が表示され、バーの右端には値「1」の結果が表示されます。

  • グラフでは、X 軸は「-1」から「1」の範囲の入力値を表しています。Y 軸は、もう一度「-1」から「1」の範囲の入力値でこの表現式を使用した結果を示しています。

Truncate

Truncate の前

Truncate の後

Truncate ノードは、整数部分は変更せずに端数部分を削除して、値を切り捨てます。

例:

  • 入力値「1.1」は切り捨てると「1」になります。

  • 入力値「1.4」は切り捨てると「1」になります。

  • 入力値「2.5」は切り捨てると「2」になります。

  • 入力値「3.1」は切り捨てると「3」になります。

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