LoginSignup
2
3

More than 3 years have passed since last update.

[Unreal Engine4] Material Nodeに対応するHLSL, GLSL

Last updated at Posted at 2020-11-03

はじめに

北千住さんの記事がとても見やすかったのでその形式を踏襲させていただきました.また,そちらの記事に関数の説明は載っているので参考にしてもらえればと思います.
また,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例です.(参考までに)

注意

  1. OutはすべてMaterialのベースカラーへ繋がっています.
  2. ViewerのQuadのUVは左上が原点です bandicam 2020-11-04 01-18-06-106.jpg

Floor

bandicam 2020-11-04 00-25-27-676.jpg

bandicam 2020-11-04 00-40-33-530.jpg

Frac

bandicam 2020-11-04 00-25-51-635.jpg

bandicam 2020-11-04 00-40-45-211.jpg

Fmod

bandicam 2020-11-04 00-29-21-113.jpg
bandicam 2020-11-04 00-40-54-668.jpg

Lerp

bandicam 2020-11-04 00-43-04-667.jpg

bandicam 2020-11-04 00-42-50-617.jpg

Power

bandicam 2020-11-04 00-31-28-370.jpg

bandicam 2020-11-04 00-43-59-835.jpg

Abs

bandicam 2020-11-04 00-33-49-378.jpg

bandicam 2020-11-04 00-44-18-369.jpg

ValueStep

1th inputによって1.0からoffsetを作って黒の開始させる.つまり,offset = 0.2だと0.8まで黒.

//glslとかに書き換えるとこんな感じ
//1th inputの値をoffsetとすると
v = step(1.0 - offset, x);

bandicam 2020-11-04 01-06-19-711.jpg

bandicam 2020-11-04 01-06-13-851.jpg

SmoothStep

bandicam 2020-11-04 00-34-15-635.jpg

bandicam 2020-11-04 00-45-08-255.jpg

Sign

bandicam 2020-11-04 00-35-24-627.jpg

bandicam 2020-11-04 00-45-35-853.jpg

Saturate

bandicam 2020-11-04 00-36-09-389.jpg

bandicam 2020-11-04 00-46-34-656.jpg

2
3
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
2
3