PART 3 · 강의 3/3

폴리지 분포

밀도 제어, Spatial Noise, 군집 시뮬레이션, Procedural Vegetation Editor로 대규모 식생을 생성합니다.

01

밀도 제어 전략

포인트 밀도를 정밀하게 제어하여 자연스러운 분포 만들기

자연스러운 식생 분포의 핵심은 밀도 제어입니다. 균일한 분포는 인위적으로 보이므로, 다양한 노이즈와 조건을 조합하여 불규칙하면서도 합리적인 분포를 만들어야 합니다.

밀도 조절 도구 비교

노드 방식 최적 용도
Spatial Noise Perlin/Simplex 노이즈 대규모 밀도 변이, 군집 형성
Density Remap 선형 변환 (scale + offset) 전체 밀도 범위 조정
Curve Remap Density 커브 기반 비선형 매핑 커스텀 밀도 분포 곡선
Distance to Density 참조점까지 거리 기반 특정 위치 주변 밀도 제어
Normal to Density 서피스 법선 방향 기반 경사면 식생 감소
다층 밀도 조합 패턴
// 여러 밀도 조절을 순차적으로 조합 [Surface Sampler] (1.0 ppsm) // 높은 초기 밀도 [Normal to Density] // 1단계: 경사면 밀도 감소 Mode: Multiply [Spatial Noise] // 2단계: 대규모 패턴 Mode: Multiply Cell Size: 5000 // 50m 스케일의 밀도 변이 [Spatial Noise] // 3단계: 소규모 디테일 Mode: Multiply Cell Size: 500 // 5m 스케일의 미세 변이 [Density Filter] (0.2 ~ 1.0) // 최종 간추리기 [Self Pruning] // 겹침 방지
02

군집 시뮬레이션

Poisson Disk, Voronoi 패턴으로 자연스러운 군집 형성

자연에서 식물은 종종 군집(클러스터)으로 자랍니다. PCG에서 군집 효과를 만드는 핵심 기법은 Voronoi 노이즈와 Copy Points 패턴입니다.

군집 배치 패턴
// 군집(Cluster) 식생 배치 // Step 1: 군집 중심점 생성 [Surface Sampler] // 희소한 포인트 (군집 중심) Points Per Sq.Meter: 0.001 [Self Pruning] // 군집 간 최소 거리 보장 // Step 2: 각 군집 주변에 포인트 확산 [Copy Points] Source: [Surface Sampler] // 밀집 포인트 Points Per Sq.Meter: 0.5 Bounded: true Target: 군집 중심 포인트 // Step 3: 군집 내부 자연스러운 분포 [Transform Points] // 약간의 랜덤 오프셋 Offset Min: (-300, -300, 0) Offset Max: (300, 300, 0) [Projection] // 지형 표면에 재투영 [Self Pruning] // 군집 내부 겹침 제거

Voronoi 기반 영역 분할

Attribute Noise의 Voronoi 모드를 사용하면 공간을 자연스러운 셀로 분할할 수 있습니다. 각 셀에 다른 식생 타입을 할당하면 자연스러운 패치(patch) 분포가 만들어집니다.

군집 크기 변형

모든 군집을 같은 크기로 만들면 패턴이 인위적으로 보입니다. 군집 중심 포인트의 $Scale에 랜덤 범위를 적용하면, Copy Points의 Bounded 모드에서 군집 크기가 자연스럽게 변합니다.

03

Select Points와 확률 기반 배치

랜덤 확률로 포인트를 선택하여 변형 만들기

Select Points 노드는 지정된 확률(Ratio)로 포인트를 랜덤 선택합니다. Density Filter와 달리 밀도 값에 무관하게 순수 확률로 선택하므로, 균일 분포에서 랜덤 솎아내기에 적합합니다.

파라미터 설명
Ratio 0~1 범위의 선택 확률. 0.3이면 30% 포인트만 선택
출력: Inside 선택된 포인트
출력: Outside 선택되지 않은 포인트
확률 기반 희귀 에셋 배치
// 희귀 에셋 배치: 꽃 중 5%만 특별한 꽃으로 [Surface Sampler][Density Filter][Self Pruning] [Select Points] Ratio: 0.05 // 5% 확률 Inside [Spawner: 희귀 꽃] // 특별한 에셋 Outside [Spawner: 일반 꽃] // 기본 에셋 // 이 패턴으로 레어 아이템, 특수 나무, 이벤트 오브젝트 등 배치
04

Procedural Vegetation Editor (PVE)

UE 5.7에서 도입된 실험적 식생 에디터

Procedural Vegetation Editor (PVE)는 UE 5.7에서 실험적으로 도입된 프레임워크로, PCG 위에 구축되어 식생 에셋의 생성과 배치를 통합적으로 관리합니다.

그래프 기반 식생 정의

PCG 그래프와 유사한 인터페이스로 식생 에셋의 분포 규칙을 정의합니다.

Nanite Skeletal Assembly

고품질 식생 에셋을 Nanite 스켈레탈 어셈블리로 직접 출력할 수 있습니다.

대규모 확장성

속도와 확장성을 위해 설계되어 대규모 오픈 월드의 식생 처리에 최적화되었습니다.

창의적 제어

아티스트 친화적인 인터페이스로 세밀한 식생 커스터마이징이 가능합니다.

실험적 기능 주의

PVE는 UE 5.7에서 Experimental 상태입니다. 프로덕션 환경에서는 아직 API 변경 가능성이 있으므로, 핵심 식생 시스템에는 기존 PCG 워크플로우를 사용하고, PVE는 프로토타이핑과 검증 용도로 활용하는 것을 권장합니다.

SUMMARY

핵심 요약

  • 자연스러운 분포를 위해 다층 밀도 조합(Normal, Spatial Noise, Distance)을 순차적으로 적용한다
  • 군집 패턴은 희소한 중심점 생성 후 Copy Points로 주변에 포인트를 확산시킨다
  • Voronoi 노이즈로 자연스러운 셀 기반 영역 분할이 가능하다
  • Select Points는 확률 기반 랜덤 선택으로 희귀 에셋 배치에 적합하다
  • PVE(UE 5.7 실험적)는 PCG 기반의 통합 식생 관리 프레임워크이다
  • 대규모 식생에서는 Self Pruning과 Density Filter를 반드시 병행하여 성능을 관리한다
PRACTICE

도전 과제

배운 내용을 직접 실습해보세요

실습 1: 자연스러운 숲 분포

큰 나무 → 관목 → 풀 순서로 계층적 식생을 배치하세요. Exclusion 노드를 사용하여 큰 나무 주변에 작은 나무가 배치되지 않도록 하고, 자연스러운 숲 구조를 만드세요.

실습 2: 멀티 메시 랜덤 배치

Static Mesh Spawner에서 Mesh Entry를 5개 이상 등록하고 가중치를 설정하여 다양한 메시가 랜덤으로 배치되게 하세요. 회전/스케일 랜덤도 적용하여 반복감을 줄이세요.

심화 과제: 시뮬레이션 기반 식생 분포

PCG에서 생태학적 규칙(큰 나무의 그늘에는 특정 식물만 성장)을 구현하세요. Influence Map 개념으로 각 식물의 주변 영향을 모델링하고 현실적인 생태계 분포를 만드세요.