프로시저럴 콘텐츠 생성(Procedural Content Generation, PCG) 프레임워크 의 데이터는 다음 타입으로 구분됩니다.
공간 데이터
공간 데이터에는 2차원(2D) 또는 3차원(3D) 공간에 대한 레퍼런스가 포함되어 있으며 볼륨, 하이트 필드, 스플라인, 포인트 데이터를 나타낼 수 있습니다.
볼륨
볼륨은 3D 셰이프를 나타내는 공간 데이터 타입으로, 부울 집합 연산이나 볼륨 샘플러(Volume Sampler) 노드를 사용하여 레벨에서 직접 샘플링하는 데 자주 사용됩니다.
표면
표면은 2D 데이터를 나타내는 공간 데이터 타입으로, XY 평면에 매핑되는 랜드스케이프 또는 2D 평면에 포인트를 생성하여 3D 셰이프에 투영하는 표면 샘플러(Surface Sampler) 노드 등이 있습니다.
선
선은 스플라인 및 랜드스케이프 스플라인 컴포넌트를 나타내는 공간 데이터 타입입니다. 이 데이터는 탄젠트와 포인트 스케일을 사용하여 스플라인의 주요 포인트를 읽습니다. 랜드스케이프 스플라인은 수직으로 투영되며 스플라인이 랜드스케이프에서 오프셋되더라도 항상 표면에서 적용됩니다. 이 데이터 타입은 스플라인 데이터 가져오기(Get Spline Data) 및 스플라인 샘플러(Spline Sampler) 노드를 사용하여 PCG 그래프에서 참조됩니다.
포인트
포인트 클라우드는 포인트 컬렉션을 나타내는 공간 데이터 타입으로, 포인트 컬렉션은 연결된 바운드가 있는 3D 공간의 표면이나 볼륨을 나타냅니다. 바운드를 통해 포인트는 셰이프를 여러 차원으로 나타낼 수 있습니다.
예를 들어, 3D 스피어를 포인트로 샘플링할 수 있으며 포인트 크기에 따라 포인트가 스피어의 셰이프를 얼마나 가깝게 따르는지 결정됩니다.
또한 각 포인트에는 0과 1 사이의 값으로 제한되는 밀도 값이 주어집니다. 밀도 값과 함께 이러한 포인트들은 공간의 부동 소수점 함수를 나타냅니다. PCG 그래프 노드는 이후에 샘플을 취하기 전에 공간에서 샘플링 밀도 값을 자주 생성 및 조작합니다.
포인트에는 다음과 같은 정보가 포함될 수 있습니다.
데이터 | 설명 |
---|---|
트랜스폼(Transform) | 이동, 회전, 스케일 정보입니다. |
최소 바운드(BoundsMin) 및 최대 바운드(BoundsMax) | 포인트가 나타내는 볼륨의 최소 및 최대 범위입니다. |
컬러(Color) | 포인트별 4채널 컬러 값입니다. |
밀도(Density) | 주어진 샘플링의 다른 포인트와 비교하여 포인트의 감쇠를 부동 소수점으로 나타냅니다. 샘플링 밀도를 결정하는 데 사용됩니다. |
경사(Steepness) | 포인트가 나타내는 볼륨의 소프트 정도입니다. 각 포인트에는 3D 바운드가 있으며 공간의 영역을 나타냅니다. 각 포인트의 경사 값을 통해 영향 범위의 셰이프를 제어할 수 있습니다. |
시드(Seed) | 다양한 작업 중에 난수 제너레이터에서 사용합니다. 이는 무작위성이 표현되는 방식과 월드 위치의 일관성을 유지하기 위해 위치에서 계산되는 방식을 제어하기 위해 조작될 수 있습니다. |
컴포짓 데이터
컴포짓 데이터는 합집합, 교집합, 차집합과 같은 집합 연산의 결과입니다.
결과를 다시 명시적 데이터로 변환하고 결과를 적용하기 전에 집합 연산을 복수 연산으로 서로 연결할 수 있습니다.
어트리뷰트 세트
어트리뷰트 세트는 사용자 정의 변수이며 PCG 그래프에 메타데이터로 저장됩니다. 이러한 변수는 다양한 어트리뷰트 연산 노드를 사용하여 조작하고 노드에서 사용할 수 있습니다.
일반적인 예로는 노드의 고급 핀을 확장하고 노출된 핀에 어트리뷰트를 연결하여 발견한 노드 세팅을 구동하는 것이 있습니다.
트랜스폼 포인트 노드에서 사용할 수 있는 어트리뷰트 입력입니다.
어트리뷰트는 PCG 노드 그래프 인터페이스의 일부인 어트리뷰트 목록 창에서 검사할 수 있습니다. PCG 프레임워크 사용에 대한 자세한 내용은 프로시저럴 콘텐츠 생성 개요를 참조하세요.