Rounded Rectangle 노드
설명
Width 및 Height 입력에서 지정한 크기의 UV 입력을 기반으로 둥근 직사각형 셰이프를 생성합니다. 각 모서리의 반지름은 Radius 입력에 의해 정의됩니다. 생성된 셰이프는 Tiling And Offset 노드를 연결하여 오프셋하거나 타일링할 수 있습니다. UV 공간 내에서 셰이프를 오프셋하는 기능을 유지하기 위해 타일링된 셰이프는 자동으로 반복되지 않습니다. 반복되는 둥근 직사각형 효과를 얻으려면 먼저 Fraction 노드를 통해 입력을 연결하십시오.
참고: 이 노드는 프래그먼트 셰이더 단계에서만 사용할 수 있습니다.
포트
이름 | 방향 | Type | 바인딩 | 설명 |
---|---|---|---|---|
UV | 입력 | 벡터 2 | UV | 입력 UV 값 |
Width | 입력 | 플로트 | None | 둥근 직사각형 너비 |
높이 | 입력 | 플로트 | None | 둥근 직사각형 높이 |
Radius | 입력 | 플로트 | None | 모서리 반지름 |
Out | 출력 | 플로트 | None | 출력 값 |
생성된 코드 예제
다음 예제 코드는 이 노드의 가능한 결과 중 하나입니다.
void Unity_RoundedRectangle_float(float2 UV, float Width, float Height, float Radius, out float Out)
{
Radius = max(min(min(abs(Radius * 2), abs(Width)), abs(Height)), 1e-5);
float2 uv = abs(UV * 2 - 1) - float2(Width, Height) + Radius;
float d = length(max(0, uv)) / Radius;
Out = saturate((1 - d) / fwidth(d));
}