{!See https://docs.google.com/document/d/1takg_GmIBBKKTj-GHZCwzxohpQz7Bhekivkk72kYMtE/edit for reference implementation of OneTrust, dataLayer and GTM} {!OneTrust Cookies Consent} {!OneTrust Cookies Consent end} {!dataLayer initialization push} {!dataLayer initialization push end} {!Google Tag Manager} {!Google Tag Manager end} Polygon 노드 | Shader Graph | 10.8.0
docs.unity3d.com
"{0}"의 검색 결과

    목차 표시/숨기기

    Polygon 노드

    설명

    Width 및 Height 입력에서 지정한 크기의 UV 입력을 기반으로 일반 폴리곤 셰이프를 생성합니다. 폴리곤의 면 개수는 Sides 입력이 결정합니다. 생성된 셰이프는 Tiling And Offset 노드를 연결하여 오프셋하거나 타일링할 수 있습니다. UV 공간 내에서 셰이프를 오프셋하는 기능을 유지하기 위해 타일링된 셰이프는 자동으로 반복되지 않습니다. 반복되는 폴리곤 효과를 얻으려면 먼저 Fraction 노드를 통해 입력을 연결하십시오.

    참고: 이 노드는 프래그먼트 셰이더 단계에서만 사용할 수 있습니다.

    포트

    이름 방향 Type 바인딩 설명
    UV 입력 벡터 2 UV 입력 UV 값
    Sides 입력 플로트 None 면 개수
    Width 입력 플로트 None 폴리곤 너비
    높이 입력 플로트 None 폴리곤 높이
    Out 출력 플로트 None 출력 값

    생성된 코드 예제

    다음 예제 코드는 이 노드의 가능한 결과 중 하나입니다.

    void Unity_Polygon_float(float2 UV, float Sides, float Width, float Height, out float Out)
    {
        float pi = 3.14159265359;
        float aWidth = Width * cos(pi / Sides);
        float aHeight = Height * cos(pi / Sides);
        float2 uv = (UV * 2 - 1) / float2(aWidth, aHeight);
        uv.y *= -1;
        float pCoord = atan2(uv.x, uv.y);
        float r = 2 * pi / Sides;
        float distance = cos(floor(0.5 + pCoord / r) * r - pCoord) * length(uv);
        Out = saturate((1 - distance) / fwidth(distance));
    }
    
    문서 개요
    맨 위로
    Copyright © 2023 Unity Technologies — 상표 및 이용약관
    • 법률정보
    • 개인정보처리방침
    • 쿠키
    • 내 개인정보 판매 금지
    • Your Privacy Choices (Cookie Settings)