🎨 그래픽 & 아트/Shader · VFX

언리얼 셰이더 노드 정리

gameuiux 2025. 5. 26. 01:32
728x90
반응형

러프니스(Roughness) 셰이더

물리 기반 렌더링(PBR)에서 표면의 거칠기를 표현하는 핵심 요소로,

빛이 표면에 어떻게 반사되는지를 결정합니다.

이 값은 0에서 1 사이의 범위를 가지며, 0에 가까울수록 표면이 매끄럽고 반사가 선명하며,

1에 가까울수록 표면이 거칠고 반사가 흐릿해집니다.

  • 검은색(0): 매우 매끄러운 영역
  • 흰색(1): 매우 거친 영역

러프니스(Roughness) 셰이더 0과 1

 


TexCoord[0]

메시의 UV 좌표값을 가져오는 기본 노드

  • TexCoord[0] UV 채널 0번의 좌표를 가져옴 (좌표 인덱스 0)
  • 출력값 float2 (X=U, Y=V) 즉, (0~1) 범위의 UV 좌표
  • 주 용도 텍스처 매핑, UV 기반 연산, 마스크 생성 등


Mask ( R G ) [Shift+C]

Emissive에 연결했을 때

 

R / G / RG


수학 연산

Multiply 곱하기 / Divide 나누기 / Add 더하기 / Subtract 빼기

Abs 절댓값 / 1-x one minus / Power 거듭제곱

 

 

Vector, Vector2, Vector3


프리뷰 > 우클릭 > 노드 프리뷰 시작

 


Lerp 셰이더 - 선형 보간 (Linear Interpolation)


A -0.5 시작값 / B 0.5 끝값 / Alpha 보간 계수 (0~1 사이 값)

Output = A * (1 - Alpha) + B * Alpha
            = -0.5 * (1 - Alpha) + 0.5 * Alpha

 

즉, Alpha 값이 0이면 -0.5, 1이면 0.5, 그 사이면 선형적으로 보간됩니다.

 

어디에 쓰이냐면? Lerp(-0.5, 0.5)은 보통

  • UV 중심 기준 좌우 반대 방향 offset 생성
  • UV 좌표의 범위를 -0.5 ~ 0.5로 리매핑
  • Radial falloff나 마스크 중심 정렬

예: TexCoord의 X축 (0~1)을 -0.5~0.5로 만들고 싶을 때 자주 씀.


Texture Sample

텍스처 데이터를 샘플링하는 데 사용

슬롯 설명
UVs 텍스처를 매핑할 UV 좌표 입력 (보통 TexCoord 연결)
Tex 연결된 텍스처 에셋
Apply View MipBias 뷰 마다 MipBias를 적용할지 여부 (보통 건드리지 않음)
RGB 텍스처의 R, G, B 채널 묶음 출력
R / G / B / A 각 채널별 개별 출력
RGBA 모든 채널을 float4로 출력


Append

두 개의 스칼라(float) 또는 벡터를 하나의 벡터로 결합할 때 사용

A 값 B 값 결과 출력값
0.5 0.25 float2(0.5, 0.25)
float2(0.3, 0.6) 0.2 float3(0.3, 0.6, 0.2)

 

주 용도

  • UV 조합: X값은 노이즈, Y값은 타임 기반 스크롤 등 조합할 때
  • Normal 조작: Normal Map 수정 시 커스텀 XYZ 만들기
  • Distortion 연산: R값과 G값을 합쳐서 새로운 UV 방향으로 만들기


Panner

텍스처의 UV 좌표를 시간(Time)에 따라 지속적으로 이동(스크롤)시키는 데 사용

항목 설명
Coordinate 입력 UV (보통 TexCoord)
Time 시간 기반 애니메이션 (기본은 자동 연결됨)
Speed X / Y X축, Y축 이동 속도※ -0.3이면 왼쪽으로, 0.3이면 위로 이동

 


Fresnel(프레넬)

화각에 따라 반사되는 빛의 세기가 달라지는 현상을 설명하는 용어

예를 들어 웅덩이 위에 서서 수직으로 내려다보는 경우 수면 위에 빛 반사가 많지는 않을 것이고

관찰자가 머리를 움직여 웅덩이의 수면이 시선과 평행이 될수록 수면 위의 빛 반사가 점점 더 많이 보일 것이다.

물과 유리는 모두 강한 프레넬 경향성을 띠며, 이는 정면에서 보면 상대적으로 투명해 보이고 비스듬한 각도에서 보면 빛을 더 많이 반사함을 뜻함.

언리얼 엔진에서 Fresnel 머티리얼 표현식은 표면 노멀과 카메라 방향의 내적을 기준으로 감쇠를 계산한다.

표면 노멀이 카메라를 똑바로 가리켰을 때 출력 값은 0, 표면 노멀이 카메라와 직각일 때 출력 값은 1이다.

음의 컬러가 없도록 결과는 [0, 1]로 범위제한된다.

입력값 설명
ExponentIn: 2.0 프레넬 강도 곡률 (값이 클수록 중심은 어둡고, 테두리 강조됨)
BaseReflectFractionIn: 0.04 시선 정면 반사율 (보통 낮게 유지)
Normal 커스텀 노멀을 사용할 수 있음 (기본은 surface normal)
출력 뷰어 방향 기반 테두리 강조 마스크 (0~1 float)

 

입력값
설명
Base: Fresnel 출력 프레넬 마스크 값
Exp: 3.0 3제곱하여 테두리를 더욱 강조 (중앙은 더 어둡게)

 


https://dev.epicgames.com/documentation/ko-kr/unreal-engine/unreal-engine-materials-tutorials?application_version=5.4

 

728x90
반응형