본문 바로가기

언리얼러닝/HLSL

Unreal - Technical Shading - HLSL Basics / Simple Shapes

 

 

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

Unreal Material Node중 원모양을 만드는 노드가 있지만

직접만들어보자 원의 공식은 학생때 배웠다.

원의 공색대로 노드를 배열하면

아래와 같이 나온다. 언리얼의 UV좌표는 좌상이 0,0이고 1사분면이라 이걸 입력하면 오른쪽그림아 상하로 반전된다.

따라서 .5를 빼서 원점을 가운데로 옮겨주어야 한다. Power는 -를 계산을 못해서 Multiply를 이용 제곱을 계산해주자

그럼 add node의 프리뷰는 다음과 같이 된다.

Substract의 연산을 Vector로 하면 좀더 간단하게 바꿀수있다.

Power의 Exp입력에 Time>Sine을 연결해주면 원의 크기가 주기적으로 변한다.

Sine을 Subtract의 입력으로 연결하면 위치가 대각선으로 바뀐다.

 

 

 

 

 

뒤에 Step(,0.5)를 붙여주면 하드한 테두리의 원을 얻을수 있고

 

Step노드 대신 HLSL로는 다음과 같이 쓸수 있다.

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

 

 

TexCoord에 10을 곱해주고 Frac노드를 거치면 소수점만 남기 대문에 다음과 같이 원을 만들수 있다.

Radius에 Time>sine을 입력해서 움직이는 원들을 만들수 있다.

 

 

'언리얼러닝 > HLSL' 카테고리의 다른 글

Unreal HLSL 문법공부 ShaderToy  (1) 2025.02.26
HLSL  (0) 2025.02.24