LoginSignup
6
2

More than 5 years have passed since last update.

【UE4】マテリアルノードのifについて

Posted at

UE4のマテリアル内で使用されるif表現式が個人的には少し直感的では無く、初見で少し迷った覚えがあるので備忘録として把握している内容をメモ。


【Math 表現式】ifについて

挙動としては、予め比較結果に応じて渡す値を「(A > B)」「(A == B)」「(A < B)」の3つの入力ピンより指定しておき、AとBが比較される際に、その結果に応じて各ピンに入力している値が出力ピンより渡されるイメージ。

例えば下記の様にA = 5, B = 3で比較した場合は、A > Bが成立するので(A > B)ピンに入れている値「1,0,0」が出力ピンより渡される。

sample1.png

また、別の例を挙げるとA = 0, B = 2で比較した場合には、A < Bが成立するので(A < B)ピンに入れている値「0,1,0」が出力ピンより渡される。

sample2.png


プログラミング言語っぽく書くと下記の様なイメージになるかと思われる。
→return で返される値が出力ピンより渡される値

if(A > B)
{
    return /* (A > B)の入力ピンに入れた値 */
}
else if(A == B)
{
    return /* (A == B)の入力ピンに入れた値 */
}
else if(A < B)
{
    return /* (A < B)の入力ピンに入れた値 */
}

なお、(A == B)が未指定の場合は(A > B)が(A >= B)の扱いになる模様

if(A >= B)
{
    return /* (A > B)の入力ピンのに入れた値 */
}
else if(A < B)
{
    return /* (A < B)の入力ピンに入れた値 */
}

sample3.png

6
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
2