数値演算ノードMath Nodes

シェーダー デザイナーでは、代数演算、論理演算、三角関数演算などの数値演算が演算ノードによって実行されます。In the Shader Designer, math nodes perform algebraic, logic, trigonometric, and other mathematical operations.

注意

シェーダー デザイナーで演算ノードを使用する際には、型の上位変換が特に顕著に見られます。When you work with math nodes in the Shader Designer, type promotion is especially evident. 型の上位変換が入力パラメーターに及ぼす影響については、「シェーダー デザイナー ノード」の「入力の上位変換」を参照してください。To learn how type promotion affects input parameters, see the "Promotion of inputs" section in Shader Designer Nodes.

数値演算ノードの参照Math node reference

ノードNode 詳細Details プロパティProperties
AbsAbs 指定された入力の要素ごとの絶対値を計算します。Computes the absolute value of the specified input per component.

入力 X の要素ごとに、結果のすべての要素が正の値になるように負の値が正の値に変換されます。For each component of input X, negative values are made positive so that every component of the result has a positive value.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
絶対値を決定する値。The values for which to determine the absolute value.

Output:

Output: 入力 X と同じOutput: same as input X
要素ごとの絶対値。The absolute value, per component.
なしNone
[追加]Add 指定された入力の要素ごとの合計を計算します。Computes the component-wise sum of the specified inputs per component.

結果の要素ごとに、入力 X と入力 Y の対応する要素が合計されます。For each component of the result, the corresponding components of input X and input Y are added together.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
合計する値のいずれか。One of the values to add together.

Y: 入力 X と同じY: same as input X
合計する値のいずれか。One of the values to add together.

出力:Output:

Output: 入力 X と同じOutput: same as input X
要素ごとの合計。The sum, per component.
なしNone
CeilCeil 指定された入力の要素ごとの切り上げを計算します。Computes the ceiling of the specified input per component.

各値は、その値以上の最も近い整数に切り上げられます。The ceiling of a value is the smallest integer that's greater than or equal to that value.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
切り上げを計算する値。The values for which to compute the ceiling.

出力:Output:

Output: 入力 X と同じOutput: same as input X
要素ごとの切り上げ。The ceiling, per component.
なしNone
ClampClamp 指定された入力の各要素を定義済みの範囲にクランプします。Clamps each component of the specified input to a predefined range.

結果の要素ごとに、定義済みの範囲に満たない値が範囲内の最小値に変更され、定義済みの範囲を超える値が範囲内の最大値に変更されます。範囲内の値は変更されません。For each component of the result, values that are below the defined range are made equal to the minimum value in the range, values that are above the defined range are made equal to the maximum value in the range, and values that are in the range are not changed.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
クランプする値。The values to clamp.

出力:Output:

Output: 入力 X と同じOutput: same as input X
要素ごとのクランプされた値。The clamped value, per component.
最大Max
範囲内の最大有効値。The largest possible value in the range.

最小Min
範囲内の最小有効値。The smallest possible value in the range.
CosCos 指定された入力の要素ごとのコサイン (ラジアン) を計算します。Computes the cosine of the specified input, in radians, per component.

結果の要素ごとに、対応する要素のコサイン (ラジアン) が計算されます。For each component of the result, the cosine of the corresponding component, which is provided in radians, is calculated. 結果の要素の値の範囲は [-1, 1] です。The result has components that have values in the range of [-1, 1].

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
コサイン (ラジアン) を計算する値。The values to compute the cosine of, in radians.

出力:Output:

Output: 入力 X と同じOutput: same as input X
要素ごとのコサイン。The cosine, per component.
なしNone
CrossCross 指定された 3 要素のベクターのクロス積を計算します。Computes the cross product of the specified three-component vectors.

クロス積を使用して、2 つのベクターで定義される表面の法線を計算できます。You can use the cross product to compute the normal of a surface that's defined by two vectors.

入力:Input:

X: float3X: float3
クロス積の左側のベクター。The vector on the left-hand-side of the cross product.

Y: float3Y: float3
クロス積の右側のベクター。The vector on the right-hand-side of the cross product.

出力:Output:

Output: float3Output: float3
クロス積。The cross product.
なしNone
DistanceDistance 指定したポイント間の距離を計算します。Computes the distance between the specified points.

正のスカラー値が返されます。The result is a positive scalar value.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
相互間の距離を特定するポイントのいずれか。One of the points to determine the distance between.

Y: 入力 X と同じY: same as input X
相互間の距離を特定するポイントのいずれか。One of the points to determine the distance between.

出力:Output:

Output: 入力 X と同じOutput: same as input X
距離。The distance.
なしNone
DivideDivide 指定された入力の要素ごとの商を計算します。Computes the component-wise quotient of the specified inputs.

結果の要素ごとに、入力 X の対応する要素が入力 Y の対応する要素で除算されます。For each component of the result, the corresponding component of input X is divided by the corresponding component of input Y.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
除算される値。The dividend values.

Y: 入力 X と同じY: same as input X
除数の値。The divisor values.

出力:Output:

Output: 入力 X と同じOutput: same as input X
要素ごとの商。The quotient, per component.
なしNone
DotDot 指定されたベクターのドット積を計算します。Computes the dot product of the specified vectors.

スカラー値が返されます。The result is a scalar value. ドット積を使用して、2 つのベクター間の角度を特定できます。You can use the dot product to determine the angle between two vectors.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
項のいずれか。One of the terms.

Y: 入力 X と同じY: same as input X
項のいずれか。One of the terms.

出力:Output:

Output: floatOutput: float
ドット積。The dot product.
なしNone
FloorFloor 指定された入力の要素ごとの切り下げを計算します。Computes the floor of the specified input per component.

結果の要素ごとに、入力の対応する要素以下の最も近い整数に値が切り下げられます。For each component of the result, its value is the largest whole integer value that's less than or equal to the corresponding component of the input. 結果のすべての要素が整数になります。Every component of the result is a whole integer.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
切り下げを計算する値。The values for which to compute the floor.

出力:Output:

Output: 入力 X と同じOutput: same as input X
要素ごとの切り下げ。The floor, per component.
なしNone
FmodFmod 指定された入力の要素ごとの剰余を計算します。Computes the component-wise modulus (remainder) of the specified inputs.

結果の要素ごとに、入力 Y の対応する要素の整数倍の値 m が入力 X の対応する要素から除算され、その剰余が返されます。For each component of the result, some integral (whole-number) multiple, m, of the corresponding component of input Y is subtracted from the corresponding component of input X, leaving a remainder. 倍数 m には、剰余が入力 Y の対応する要素より小さくなり、符号が入力 X の対応する要素と同じになる値が選択されます。The multiple, m, is chosen such that the remainder is less than the corresponding component of input Y and has the same sign as the corresponding component of input X. たとえば、fmod(-3.14, 1.5) は -0.14 を返します。For example, fmod(-3.14, 1.5) is -0.14.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
除算される値。The dividend values.

Y: 入力 X と同じY: same as input X
除数の値。The divisor values.

出力:Output:

Output: 入力 X と同じOutput: same as input X
要素ごとの剰余。The modulus, per component.
なしNone
FracFrac 指定された入力の要素ごとの整数部分を削除します。Removes the integral (whole-number) part of the specified input per component.

結果の要素ごとに、入力の対応する要素の整数部分が削除されます。小数部分と符号は変更されません。For each component of the result, the integral part of the corresponding component of the input is removed, but the fractional part and sign are retained. この小数値の範囲は [0, 1) です。This fractional value falls in the range [0, 1). たとえば、値 -3.14 は値 -0.14 になります。For example, the value -3.14 becomes the value -0.14.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
小数部分を計算する値。The values for which to compute the fractional part.

出力:Output:

Output: 入力 X と同じOutput: same as input X
要素ごとの小数部分。The fractional part, per component.
なしNone
LerpLerp 線形補間。Linear Interpolation. 指定された入力の要素ごとの加重平均を計算します。Computes the component-wise weighted average of the specified inputs.

結果の要素ごとの、入力 X と入力 Y の対応する要素の加重平均。For each component of the result, the weighted average of the corresponding components of the inputs X and Y. 重みは Percent (スカラー) で指定され、すべての要素に均一に適用されます。The weight is provided by Percent, a scalar, and is uniformly applied to all components. この演算を使用して、ポイント、色、属性などの値を補間できます。You can use this to interpolate between points, colors, attributes, and other values.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
開始値。The originating value. Percent がゼロの場合、結果は入力と同じです。When Percent is zero, the result is equal to this input.

Y: 入力 X と同じY: same as input X
終了値。The terminal value. Percent が 1 の場合、結果は入力と同じです。When Percent is one, the result is equal to this input.

Percent: floatPercent: float
入力 X から入力 Y までの距離に対する割合として表されるスカラーの重み。A scalar weight that's expressed as a percentage of the distance from input X towards input Y.

出力:Output:

Output: 入力 X と同じOutput: same as input X
指定された入力に対して共線的である値。A value that's collinear with the specified inputs.
なしNone
Multiply AddMultiply Add 指定された入力の要素ごとの積和演算を実行します。Computes the component-wise multiply-add of the specified inputs.

結果の要素ごとに、入力 M と入力 A の対応する要素の積が、入力 B の対応する要素に加算されます。For each component of the result, the product of the corresponding components of the inputs M and A is added to the corresponding component of input B. この演算は、直線のポイントとスロープの数式や、スケールの後にバイアスを適用する数式など、一般的な数式で使用されます。This operation sequence is found in common formulas—for example, in the point-slope formula of a line, and in the formula to scale and then bias an input.

入力:Input:

M: floatfloat2float3、または float4M: float, float2, float3, or float4
積和演算する値のいずれか。One of the values to multiply together.

A: 入力 M と同じA: same as input M
積和演算する値のいずれか。One of the values to multiply together.

B: 入力 M と同じB: same as input M
他の 2 つの入力の積に加算する値。The values to add to the product of the other two inputs.

出力:Output:

Output: 入力 M と同じOutput: same as input M
要素ごとの積和演算の結果。The result of the multiply-add, per component.
なしNone
MaxMax 指定された入力の要素ごとの最大値を計算します。Computes the component-wise maximum of the specified inputs.

結果の要素ごとに、入力の対応する要素の大きい方の値が取得されます。For each component of the result, the greater of the corresponding components of the inputs is taken.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
最大値を計算する値のいずれか。One of the values for which to compute the maximum.

Y: 入力 X と同じY: same as input X
最大値を計算する値のいずれか。One of the values for which to compute the maximum.

出力:Output:

Output: 入力 X と同じOutput: same as input X
要素ごとの最大値。The maximum value, per component.
なしNone
MinMin 指定された入力の要素ごとの最小値を計算します。Computes the component-wise minimum of the specified inputs.

結果の要素ごとに、入力の対応する要素の小さい方の値が取得されます。For each component of the result, the lesser of the corresponding components of the inputs is taken.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
最小値を計算する値のいずれか。One of the values for which to compute the minimum.

Y: 入力 X と同じY: same as input X
最小値を計算する値のいずれか。One of the values for which to compute the minimum.

出力:Output:

Output: 入力 X と同じOutput: same as input X
要素ごとの最小値。The minimum value, per component.
なしNone
MultiplyMultiply 指定された入力の要素ごとの積を計算します。Computes the component-wise product of the specified inputs.

結果の要素ごとに、入力 X と入力 Y の対応する要素が乗算されます。For each component of the result, the corresponding components of the inputs X and Y are multiplied together.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
積和演算する値のいずれか。One of the values to multiply together.

Y: 入力 X と同じY: same as input X
積和演算する値のいずれか。One of the values to multiply together.

出力:Output:

Output: 入力 X と同じOutput: same as input X
要素ごとの積。The product, per component.
なしNone
NormalizeNormalize 指定されたベクターを正規化します。Normalizes the specified vector.

正規化されたベクターは、元のベクターの向きを保持しますが、大きさは保持しません。A normalized vector retains the direction of the original vector, but not its magnitude. 正規化されたベクターを使用すると、ベクターの大きさは重要でない場合の計算が簡単になります。You can use normalized vectors to simplify calculations where the magnitude of a vector is not important.

入力:Input:

X: float2float3、または float4X: float2, float3, or float4
正規化するベクトル。The vector to normalize.

出力:Output:

Output: 入力 X と同じOutput: same as input X
正規化後のベクトル。The normalized vector.
なしNone
One MinusOne Minus 1 と指定された入力の差を要素ごとに計算します。Computes the difference between 1 and the specified input per component.

結果の要素ごとに、入力の対応する要素が 1 から減算されます。For each component of the result, the corresponding component of the input is subtracted from 1.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
1 から減算される値。The values to be subtracted from 1.

出力:Output:

Output: 入力 X と同じOutput: same as input X
1 と指定された入力との、要素ごとの差。The difference between 1 and the specified input, per component.
なしNone
PowerPower 指定された入力の要素ごとの指数演算 (累乗近似) を実行します。Computes the component-wise exponentiation (power) of the specified inputs.

結果の要素ごとに、入力 X の対応する要素が入力 Y の対応する要素で累乗されます。For each component of the result, the corresponding component of input X is raised to the power of the corresponding component of the input Y.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
底の値。The base values

Y: 入力 X と同じY: same as input X
指数の値。The exponent values.

出力:Output:

Output: 入力 X と同じOutput: same as input X
要素ごとの指数演算。The exponentiation, per component.
なしNone
SaturateSaturate 指定された入力の各要素を [0, 1] の範囲にクランプします。Clamps each component of the specified input to the range [0, 1].

この範囲は、パーセンテージなどの相対単位を表すために計算で使用できます。You can use this range to represent percentages and other relative measurements in calculations. 結果の要素ごとに、入力の対応する要素の 0 未満の値が 0 に変更され、1 を超える値が 1 に変更されます。範囲内の値は変更されません。For each component of the result, the corresponding component values of the input that are less than 0 are made equal to 0, values that are larger than 1 are made equal to 1, and values that are in the range are not changed.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
飽和させる値。The values to saturate.

出力:Output:

Output: 入力 X と同じOutput: same as input X
要素ごとの飽和させられた値。The saturated value, per component.
なしNone
SinSin 指定された入力の要素ごとのサイン (ラジアン) を計算します。Computes the sine of the specified input, in radians, per component.

結果の要素ごとに、対応する要素のサイン (ラジアン) が計算されます。For each component of the result, the sine of the corresponding component, which is provided in radians, is calculated. 結果の要素の値の範囲は、[-1, 1] です。The result has components that have values in the range [-1, 1].

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
サイン (ラジアン) を計算する値。The values to compute the sine of, in radians.

出力:Output:

Output: 入力 X と同じOutput: same as input X
要素ごとのサイン。The sine, per component.
なしNone
SqrtSqrt 指定された入力の要素ごとの平方根を計算します。Computes the square root of the specified input, per component.

結果の要素ごとに、対応する要素の平方根が計算されます。For each component of the result, the square root of the corresponding component is calculated.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
平方根を計算する値。The values for which to compute the square root.

出力:Output:

Output: 入力 X と同じOutput: same as input X
要素ごとの平方根。The square root, per component.
なしNone
SubtractSubtract 指定された入力の要素ごとの差を計算します。Computes the component-wise difference of the specified inputs.

結果の要素ごとに、入力 Y の対応する要素が入力 X の対応する要素から減算されます。For each component of the result, the corresponding component of input Y is subtracted from the corresponding component of input X. この演算を使用して、1 つ目の入力から 2 つ目の入力までのベクターを計算できます。You can use this to compute the vector that extends from the first input to the second.

入力:Input:

X: floatfloat2float3、または float4X: float, float2, float3, or float4
減算元の値。The values to be subtracted from.

Y: 入力 X と同じY: same as input X
入力 X から減算する値。The values to subtract from input X.

出力:Output:

Output: 入力 X と同じOutput: same as input X
要素ごとの差。The difference, per component.
なしNone
Transform 3D VectorTransform 3D Vector 指定された 3-D ベクターを別の空間に変換します。Transforms the specified 3-D vector into a different space.

この演算を使用すると、ポイントまたはベクターを共通の空間に移して、重要な計算の実行に使用することができます。You can use this to bring points or vectors into a common space so that you can use them to perform meaningful calculations.

入力:Input:

Vector: float3Vector: float3
変換するベクトル。The vector to transform.

出力:Output:

Output: float3Output: float3
変換されたベクトル。The transformed vector.
システムからFrom System
ベクターのネイティブ空間です。The native space of the vector.

システムへTo System
ベクターを変換する空間です。The space to transform the vector into.