티스토리 뷰
728x90
일반적인 UV는 데카르트좌표계를 사용하여 표현을 합니다.
- X(또는 U)축은 0에서 시작해서 수평으로 1까지 증가합니다.
- Y(또는 V)축은 0에서 시작해서 수직으로 1까지 증가합니다.
하지만 극좌표계에서는
- R(X,U)출력은 기준점으로부터의 거리를 알 수 있습니다. (0~1, 0은 검은색, 1로갈수록 하얀색)
- G(Y,V)출력은 기준점으로부터의 각도를 알 수 있습니다. (-0.5~0.5,음수를 표현할 수 없어 0.5를 add해서 표현)
void Unity_PolarCoordinates_float(float2 UV, float2 Center,
float RadialScale, float LengthScale, out float2 Out) {
float2 delta = UV - Center;
float radius = length(delta) * 2 * RadialScale;
float angle = atan2(delta.x, delta.y) * 1.0/6.28 * LengthScale;
Out = float2(radius, angle);
}
'Unity > Shader Graph' 카테고리의 다른 글
Voronoi (0) | 2021.01.15 |
---|---|
Render Texture (0) | 2021.01.14 |
Vertex Displacement (0) | 2021.01.14 |
Fresnel Effect (0) | 2021.01.13 |
Scene Color & Scene Depth (0) | 2021.01.13 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크