언리얼/Shading

언리얼5 기본 셰이딩 따라하기 - 2

스스배 2023. 12. 24. 20:57

https://www.youtube.com/watch?v=95Xr4GG-7zY

 

 

원 모양 마스킹

(x - h)^2 + (y - k)^2 = r^2

위와 같은 원의 방정식을 이용 

(0, 0)좌표가 아닌 (0.5, 0.5)가 중심이 되게 하기 위해서 각 x와 y좌표에 0.5씩 빼주기

 

위의 원 방정식을 거리 계산 공식을 이용해 간소화

 

커스텀 노드에 아래 코드를 삽입

d <= 0.5는 step(d, 0.5)와 같은 기능

float d = length(pos - uv); 
return d <= 0.5;

 

 

 

flac(uv * gridSize) 으로 타일링 가능

flac: 소수점만 가져와 출력

 

위 타일링 코드와 원 마스킹 코드를 합쳐서

10x10 타일 형식의 원 마스킹 + 시간에 따른 애니메이션을 최종으로 만듦

 

HLSL 코드

float d = length(pos - frac(uv*gridSize)); 
return d <= radius;