{!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} 확률 샘플링 | Visual Effect Graph | 10.8.0
docs.unity3d.com
"{0}"의 검색 결과

    목차 표시/숨기기

    확률 샘플링

    메뉴 경로: Operator > Logic > Probability Sampling

    Probability Sampling 연산자는 가중치가 케이스를 선택할 확률을 제어하는 일종의 switch-case 연산을 수행합니다. 모든 가중치가 동일한 경우 이 연산자는 다양한 출력 값의 균일한 분포를 생성합니다.

    img

    연산자 설정

    설정 설명
    Integrated Random (인스펙터) 이 연산자가 난수 자체를 생성하는지, 아니면 대신에 커스텀 난수를 입력할 수 있는지 여부를 지정합니다.
    Seed 난수의 범위를 정의합니다. 자세한 내용은 난수를 참조하십시오.
    이 설정은 Integrated Random을 활성화한 경우에만 나타납니다.
    Constant 생성된 난수가 상수인지 여부를 지정합니다. 자세한 내용은 난수를 참조하십시오.
    이 설정은 Integrated Random을 활성화한 경우에만 나타납니다.
    Entry Count 테스트할 케이스 수입니다. 최대값은 32입니다.

    연산자 프로퍼티

    입력 타입 설명
    Weight 0 float 첫 번째 값의 가중치입니다. 이 값이 나머지 가중치보다 더 클수록 연산자가 첫 번째 값을 선택할 확률이 더 높습니다.
    Value 0 설정 가능 연산자가 Weight 0을 선택한 경우 출력할 값입니다.
    Weight 1 float 두 번째 값의 가중치입니다. 이 값이 나머지 가중치보다 더 클수록 연산자가 두 번째 값을 선택할 확률이 더 높습니다.
    Value 1 설정 가능 연산자가 Weight 1을 선택한 경우 출력할 값입니다.
    Weight N float 더 많은 케이스를 노출하려면 Entry Count를 늘리십시오.
    Value N 설정 가능 더 많은 케이스를 노출하려면 Entry Count를 늘리십시오.
    Rand float 이 연산자가 가중치 중에서 값을 선택하는 데 사용하는 값입니다. 0과 1 사이여야 합니다. 이 프로퍼티는 Integrated Random을 비활성화한 경우에만 나타납니다.
    Hash uint 이 연산자가 상수 무작위 값을 만드는 데 사용하는 값입니다. 이 프로퍼티는 Constant를 활성화한 경우에만 나타납니다.
    Output 타입 설명
    Output 설정 가능 해당 케이스 엔트리가 Input 값과 같은 경우의 값입니다. 일치하는 항목이 없으면 Default입니다.

    연산자 설정

    노드 설정을 보려면 노드의 헤더에 있는 톱니바퀴 아이콘을 클릭하십시오.

    프로퍼티 설명
    타입 이 연산자가 사용하는 값 타입입니다. 이 프로퍼티가 지원하는 타입 리스트는 사용 가능한 타입을 참조하십시오.

    사용 가능한 타입

    다음의 타입을 입력 값 및 출력 포트에 사용할 수 있습니다.

    • Bool
    • Int
    • Uint
    • Float
    • Vector2
    • Vector3
    • Vector4
    • Gradient
    • AnimationCurve
    • Matrix
    • OrientedBox
    • Color
    • Direction
    • Position
    • Vector
    • Transform
    • Circle
    • ArcCircle
    • Sphere
    • ArcSphere
    • AABox
    • Plane
    • Cylinder
    • Cone
    • ArcCone
    • Torus
    • ArcTorus
    • Line
    • Flipbook
    • Camera

    생성된 HLSL 코드에서 이러한 타입을 로컬 변수로 할당할 수 없으므로, 이 리스트에는 버퍼 또는 텍스처에 해당하는 타입이 포함되지 않습니다.

    세부 정보

    이 연산자의 내부 알고리즘은 다음 샘플 코드로 설명할 수 있습니다.

    //Input
    
    float[] weight = { 0.2f, 1.2f, 0.7f };
    
    char[] values = { 'a', 'b', 'c' };
    
    //Compute prefix sum of height
    
    float[] prefixSumOfWeight = new float[height.Length];
    
    prefixSumOfHeight[0] = weight[0];
    
    for (int i = 1; i < weight.Length; ++i)
    
        prefixSumOfHeight[i] = weight[i] + weight[i - 1];
    
    //Pick a random value [0, sum of all height]
    
    var rand = Random.Range(0.0f, weight[weight.Length - 1]);
    
    //Evaluate probability sampling
    
    char r = 'z';
    
    for (int i = 0; i < weight.Length; ++i)
    
    {
    
        if (rand < prefixSumOfWeight[i] || i == weight.Length - 1)
    
        {
    
            r = values[i];
    
            break;
    
        }
    
    }
    
    //Output
    
    Debug.Log("Result : " + r.ToString());
    
    문서 개요
    맨 위로
    Copyright © 2023 Unity Technologies — 상표 및 이용약관
    • 법률정보
    • 개인정보처리방침
    • 쿠키
    • 내 개인정보 판매 금지
    • Your Privacy Choices (Cookie Settings)