はじめに
北千住さんの記事がとても見やすかったのでその形式を踏襲させていただきました.また,そちらの記事に関数の説明は載っているので参考にしてもらえればと思います.
また,Unity, openFrameworks, TouchDesignerなどでShader言語を書いていて,UnrealEngineも触り始めたという方の作業効率の向上に繋がれば幸いです.
Type
UnrealEngine | HLSL | GLSL |
---|---|---|
Constant | float | float |
Constant2Vector | float2 | vec2 |
Constant3Vector | float3 | vec3 |
Constant4Vector | float4 | vec4 |
Texture Sample | sampler2D | sampler2D |
Function
UnrealEngine | HLSL | GLSL |
---|---|---|
Floor | floor | floor |
Frac | frac | fract |
Fmod | fmod | mod |
atan2 | atan2 | atan |
lerp | lerp | mix |
Power | lerp | mix |
Abs | abs | abs |
ValueStep | step | step |
SmoothStep | smoothstep | smoothstep |
Clamp | clamp | clamp |
VectorLength | length | length |
Distance | distance | distance |
Normalize | normalize | normalize |
HLSLのみ
UnrealEngine | HLSL |
---|---|
Saturate | saturate |
Sample NodeRecipe
これらの関数の特徴を捉えることが出来るノードレシピの1例です.(参考までに)
注意
Floor
Frac
Fmod
Lerp
Power
Abs
ValueStep
1th inputによって1.0からoffsetを作って黒の開始させる.つまり,offset = 0.2だと0.8まで黒.
//glslとかに書き換えるとこんな感じ
//1th inputの値をoffsetとすると
v = step(1.0 - offset, x);