Math 表現式

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

Windows
MacOS
Linux

Abs

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

例: -0.7 の Abs は 0.7 、-1.0 の Abs は 1.0、1.0 の Abs は 1.0 です。

使用例: Abs は、通常 DotProduct と併用されます。DotProduct (ドット積) は、-1..0..1 の順番で値が始まる一方、DotProduct の Abs は、1..0..1 の順番となります。

AbsExample.png

Add

Add 表現式は、2 つの入力値を受け取り、2 つを足して結果を出力します。この加法演算はチャンネル毎に実行されます。つまり、R チャンネルへの入力が加算され、G チャンネルが加算され、そして B チャンネルが加算されるなどのようになります。入力の片方が単一の Constant 値でない限り、両入力は同数のチャンネル数を持っていなくてはいけません。Constant は入力数に関係なくベクターに加法できます。

アイテム

説明

プロパティ

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) となります。

使用例: Add はカラーを明るくまたは暗くする際、もしくは UV テクスチャ座標をオフセットする際にしばし使用します。

AddExample.png

AppendVector

AppendVector 表現式は、チャンネルを結合して、オリジナルよりも多いチャンネルでベクターを作成することができます。例えば、 2 つの個別の Constants 値を受け取り、2チャンネルの Constant2Vector 値を作成するためにこれらをアペンドします。単一テクスチャ内でチャンネルの再順序付けをしたり、複数のグレースケール テクスチャを 1 つの RGB カラーテクスチャに結合する際に役立ちます。

アイテム

説明

入力

A

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

B

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

例: 0.2 と 0.4 のアペンドは、 (0.2、0.4) 、(0.2、0.4) と (1.0) のアペンドは (0.2、0.4) です。

AppendVectorExample.png

ArcSine

クリックしてフルサイズで表示

Arcsine は、逆正弦 (アークサイン) 関数を出力します。負荷が大きく、命令数に影響されない関数です。

ArcSineFast

クリックしてフルサイズで表示

ArcsineFast は、近似の逆正弦 (アークサイン) 関数を出力します。入力値は -1 から 1 の間でなければなりません。

ArcCosine

クリックしてフルサイズで表示

Arccosine は逆余弦 (アークコサイン) 関数を出力します。負荷が大きく、命令数に影響されない関数です。

ArcCosineFast

クリックしてフルサイズで表示

Arccosine は近似の逆余弦 (アークコサイン) 関数を出力します。入力値は -1 から 1 の間でなければなりません。

ArcTangent

クリックしてフルサイズで表示

Arctangent は逆正接 (アークタンジェント) 関数を出力します。負荷が大きく、命令数に影響されない関数です。

ArcTragnetFast

クリックしてフルサイズで表示

Arctangent は近似の逆正接 (アークタンジェント) を計算します。

ArcTangent2

クリックしてフルサイズで表示

Arctangent2 は、入力の符号を使用して、x / y の逆タンジェントを計算することで、四分円を決定します。負荷が大きく、命令数に影響されない関数です。

ArcrTangent2Fast

クリックしてフルサイズで表示

Arctangent2Fast は、入力の符号を使用して、X / Y の近似の逆タンジェントを計算することで、四分円を決定します。

Ceil

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

例: 0.2 の Ceil は 1.0 (0.2,1.6) の Ceil は (1.0,2.0) となります。

CeilExample.png

Clamp

Clamp 表現式は、最小値と最大値が定義された指定範囲に受け取った値を制限します。0.0 の最小値と 0.5 の最大値は、結果値が決して 0.0 より小さく、および 0.5 より大きくならないことを意味します。

アイテム

説明

プロパティ

Clamp Mode

使用する Clamp のタイプを選択します。CMODE_Clamp は範囲の両端値をクランプします。CMODE_ClampMin と CMODE_ClampMax は、範囲内のそれぞれ対象となる値のみをクランプします。

Min Default

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

Max Default

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

入力

Min

クランプに使用する最少値を受け取ります。

Max

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

例: (0.0) から (1.0) の入力範囲を Min 0.0 と Maxx 1.0 で 0.3 をクランプすると、結果は 0.3 になり、Min0.0 と Max1.0 で 1.3 をクランプすると結果は 1.0 になります。

ClampExample.png

ComponentMask

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

アイテム

説明

プロパティ

R

チェックされると、赤 (最初の) チャンネルの入力値が出力へ渡されます。

G

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

B

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

A

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

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

ComponentMaskExample.png

Cosine

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

CosineWave.png

アイテム

説明

プロパティ

Period

結果として得られる振動の周期を特定します。つまり、これによって 1 つの振動が発生するまでの時間が分かります。

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

CosineExample.png

この例では、カラーは正弦波周波数で振動します。

CrossProduct

CrossProduct 表現式は、3 チャンネルのベクター値の 2 つの入力値の外積を計算し、結果として 3 チャンネルのベクター値を計算します。空間に 2 つのライン (またはベクター) が与えられ、外積は両方の入力に対して垂直なライン (またはベクター) となります。

アイテム

説明

入力

A

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

B

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

使用例: CrossProduct は、しばし 2 つの反対方向に垂直な方向を計算します。

CrossProductExample.png

Divide

Divide 表現式は、2 つの入力値を受け取り、1 番目の値を 2 番目の値で割った結果を出力します。除算はチャンネルごとに計算されます。つまり、最初の R チャンネルが 2 番目のチャンネルによって、最初の G チャンネルが 2 番目のチャンネルによって除算される形です。約数が single float 値でない限り、両方の入力値は同等でなければなりmさえん。どのチャンネルにおいてもゼロで割るとチャンネルにローカル ハードウェアの "無限" インプリメンテーションが含まれる結果になり、通常は非常に大きい正の値になります。

アイテム

説明

プロパティ

Const A

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

Const B

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

入力

A

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

B

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

例: A=(1.0) と B=(5.0) を持つ Divide を使うと (0.2) を出力して、暗いグレーとなります。

DivideExample.png

DotProduct

DotProduct 表現式は、別のベクターに投影された 1 つのベクターの長さ、もしくは大きさを乗じた 2 つのベクター間のコサインである dot product (内積) を計算します。この計算は、フォールオフの計算に頻繁に使用される技術です。DotProduct は、両方のベクター入力値に同等のチャンネル数を必要とします。

アイテム

説明

入力

A

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

B

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

DotProductExample.png

Floor

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

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

FloorExample.png

FMod

FMod 表現式は、2 つの入力値を除算した後の浮動小数点値余りを返します。被除数 (入力 "A") はどの値でも構いませんが、被除数が負の場合は結果も負になります。約数 (2 つ目のインプット) をゼロにするとゼロでの除算を意味することになるので使えませんが、約数は正であっても負であっても結果に影響しません。一般的なユースケースでは、最大値まで明るいマテリアルを作成し、次のフレームで急に最小値に戻し、最大値へ上昇する結果となります。

FModExample.png

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

Frac

Frac 表現式は、値を受け取り、受け取った値の端数部分を出力します。言い換えると、入力値が "X" の場合、結果は "X - X の Floor" です。出力値は 0 から 1 です。下限は含みますが、上限は含みません。CeilFloor も参照してください。

例: (0.2) の Franc は (0.2) です。(-0.2) の ranc は (0.8) です。(0.0,1.6,1.0) の ranc は (0.0,0.6,0.0) です。

FracExample.png

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

If

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

アイテム

説明

入力

A

単精度浮動小数点を受け取ります。

B

単精度浮動小数点を受け取ります。

A > B

A の値が B の値より大きい時、値を受け取り出力します。

A = B

A の値と B の値が同等の時、値を受け取り出力します。

A < B

A の値が B の値よりも小さい時、値を受け取り出力します。

IfExample.png

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

LinearInterpolate

LinearInterpolate 表現式はマスクに使用された第 3 の入力値に基づいて 2 つの入力値をブレンドします。これは Photoshop のレイヤーマスクのように、2 つのテクスチャ間のトランジションを定義するマスクのようなものです。マスク アルファの輝度は、二つの入力値から受け取るカラーの割合を決定します。アルファ値が 0.0/black (黒) の場合は最初の入力値が使用されます。アルファ値が 1.0/white (白) の場合は 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 線形補間) を実行します。

LerpExample.png

Max

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

このノードは Photoshop の Lighten に似ています。

MaxExample.png

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

アイテム

説明

プロパティ

Const A

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

Const B

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

入力

A

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

B

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

Min

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

このノードは Photoshop の Darken に似ています。

MinExample.png

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

アイテム

説明

プロパティ

Const A

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

Const B

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

入力

A

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

B

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

Multiply

Multiply 表現式は、 2 つの入力値を受け取り、その入力値を掛け合わせて結果を出力します。Photoshop のレイヤーのブレンドモードの乗算に似た機能です。乗算はチャンネルごとに計算されます。つまり最初の R チャンネルを 2 番目の R チャンネルと掛け、最初の G チャンネルを 2 番目の G チャンネルと掛けます。片方の値が single float 値でない限り、両方の入力は同等の入力値でなくてはいけません。

アイテム

説明

プロパティ

Const A

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

Const B

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

入力

A

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

B

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

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

例: 0.4 と 0.5 の Multiply は 0.2 、 (0.2、-0.4、0.6) と (0.0、2.0、1.0) の Multiply は (0.0、-0.8、0.6) 、 (0.2、-0.4、0.6) と 0.5 の Multiply は (0.1、-0.2、0.3) となります。

使用例: Multiply は、しばしカラー / テクスチャを明るく、もしくは暗くするために使用します。

MultiplyExample.png

Normalize

Normalize 表現式は、入力の標準値を計算して出力します。ノーマライズされたベクター ("単位ベクター" とも呼ばれます) の全長は 1.0 です。つまり、入力値の各コンポーネントをベクターの大きさ (長さ) で割ることを意味します。

例: Normalize で (0,2,0) あるいは (0,0.2,0) をパスすると、(0,1,0) が出力されます。Normalize で (0,1,-1) をパスすると (0, 0.707, -0.707) が出力されます。すべてのベクターがゼロの場合は特別なケースとなり、変化しません。

Normalized Input Vector

Non-Normalized Input Vector

Normal マテリアル出力値に接続された表現式は、標準化する必要はありません。

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 は入力値に加算すると白を作り出すといった、補完カラーを返します。

OneMinusExample.png

Power

Power は、2 つの入力値を受け取り、Base を Exp 乗の累乗をして結果を出力します。言い換えると、Base がその値によって Exp 回乗算されます。

アイテム

説明

プロパティ

Const Exponent

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

入力

Base

ベース値を受け取ります。

Exp

指数値を受け取ります。

例: Base0.5 の Exp2.0 乗は 0.25 になります。

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

PowerExample.png

Round

Round は端数部分が半分以上の場合、その値を次の整数へ値を四捨五入します。半分以下の場合は切り捨てます。

Before Round

After Round

例:

  • 1.1 は四捨五入すると 1 となります。

  • 1.4 は四捨五入すると 1 となります。

  • 1.5 は四捨五入すると 2 となります。

  • 1.85 は四捨五入すると 2 となります。

Saturate

The Saturate ノードは値を 0 と 1 の間にクランプします。最新のグラフィックス ハードウェアの多くの場合、Saturate は命令負荷がほとんどありません。

SaturateExample_00.png

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

Sine

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

SineWave.png

アイテム

説明

プロパティ

Period

結果として得られる振動の周期を特定します。つまり、これによって 1 つの振動が発生するまでの時間が分かります。

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

SineExample.png

SquareRoot

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

SqrtExample.png

Subtract

Subtract ノードは 2 つの入力値を受け取り、最初の入力値から 2 番目の値を減算し差分を出力します。減算はチャンネルごとに実行されます。つまり、 2 番目の入力の R チャンネルが最初の入力値から減算され、 2 番目の入力の G チャンネルから最初の入力値が減算される、といった具合です。2 番目の入力値が単一の定数値でない限り、両入力値は同数のチャンネルを持たなくてはいけません。定数は、ベクターのさまざまな入力値から減算されます。

アイテム

説明

プロパティ

Const A

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

Const B

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

入力

A

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

B

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

例: 0.5 から 0.2 を減算すると 0.3 、 (0.2、-0.4、0.6) から (0.1、0.1、1.0) を減算すると、 (0.1、-0.5、-0.4) 、 (0.2、0.4、1.0) から 0.2 を減算すると (0.0、0.2、0.8) になります。

使用例: Subtract は、濃いカラーやオフセット UV に使用出来ます。

SubtractExample.png

Tangent

クリックしてフルサイズで表示

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

Truncate

Before Truncate

After Truncate

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

例:

  • 1.1 は切り捨てると 1 になります。

  • 1.4 は切り捨てると 1 になります。

  • 2.5 は切り捨てると 2 になります。

  • 3.1 は切り捨てると 3 になります。

タグ
Select Skin
Light
Dark

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信