https://www.youtube.com/watch?v=pF_5etchEvE
회전하는 마스킹
HLSL 코드
float result = 0;
for (int i = 0; i < nSides; i++)
{
float angle = (i / nSides) * 2 * 3.14 + t;
float2 pos = center + radius * float2(cos(angle), sin(angle));
result += length(pos - uv) < size;
}
return result;
nSides: 그려질 원의 개수,
angle: 그려질 원의 라디안 값
t: 시간
center: 원의 중심
pos: 원의 중심으로 부터 얼마나 떨어져 있는지
result: 원의 방정식을 이용해 원 그리기
※ result를 계속해서 더해주는 이유: =만 있을 경우에는 이전 값이 지워지고 갱신하게 됨
대신 +를 해주면 이전값은 그대로고 지금값을 추가하는 형태로 계산
'언리얼 > Shading' 카테고리의 다른 글
언리얼5 기본 셰이딩 따라하기 - 5 (Raymarching) (0) | 2023.12.25 |
---|---|
언리얼5 기본 셰이딩 따라하기 - 3 (0) | 2023.12.24 |
언리얼5 기본 셰이딩 따라하기 - 2 (0) | 2023.12.24 |
언리얼5 기본 셰이딩 따라하기 - 1 (0) | 2023.12.24 |