Unreal Engine PCG Detail (1) - PCG Node
Plugins
Create PCG
PCG 노드는 좌측 창이나 Tab을 통해 가져올 수 있다
PCG 배치 시, Landscape에 닿게 배치해야만 사용가능
Node Shortcut (노드 선택 상태 단축키)
[D] - Debug
[A] - Inspect
[E] - Enable / Disable
[Q] - Straighten Connection(s)
레벨에 배치된 PCG 선택 - ctrl + [E] - PCG Editor 창 단축키
Get Landscape Data
: 랜드스케이프의 정보를 가져온다
Surface Sampler
: 임의로 위치를 생성해준다. Debug 상태에서만 확인 가능. Inspect를 켜서 만든 각 포인트들의 모든 정보(Postion, Location, Scale 등)를 Attribute 창을 통해 표시한다.
Debug 상태
Inspect 상태의 Attribute 창
Density의 값
0 == White
0 < n <1, n == Grey
1 == Black
Surface Sampler Settings
Seed
: 수치 변경을 통해 랜덤으로 변경 가능 (랜덤 배치)
Points Per Squared Meter
: 정해진 영역 내의 배치 양 조절
Looseness
: 각 점과의 거리 조절
Point Extents
: 포인트의 크기 (포인트의 수에 영향을 준다)
Unbounded
: PCG 경계 여부. 없을 경우 Landscape 전체에 적용
Static Mesh Spawner
: Static Mesh를 적용하고, 값을 조절
Single Static Mesh
Mesh Selector - Mesh Entries - Add Element - Index - Descriptor - Static Mesh
*Static Mesh - Nanite 활성화
Multi Static Mesh
Static Mesh를 검색한 상태로 적용하면 편리
Mesh Entries - Index - Weight
: 해당 Static Mesh가 차지하는 비중. (입력 값 / 합산한 값)
Transform Points
: 포인트의 위치, 방향, 크기 등의 변형을 조절, 최소값, 최대값을 통해 적용 범위 조절 가능능 (Debug 상태에서 사용)
Transform Points - Debug, Static Mesh Spawner - Disabled 상태
Transform Points - Debug, Static Mesh Spawner - Enable 상태
* Surface Sampler과 동시에 디버그 하는 경우, 원래 위치와 비교할 수 있다.
* Transform Points Enable / Disable로 적용 전 / 후 비교 가능
Disable (Before)
Enable (After)
PCG 생성 이후 Landscape 변경 시
Force Regen (강제 재생)을 통해 Landscape 정보 업데이트
경사진 Landscape에 적용된 PCG 조절
Transform Points - ✓ Absolute Rotation
: 랜드 스케이프의 경계면과 상관 없이 생성 (자연스럽게 생성되지 않음)
해당 영역에 포인트가 생성되지 않도록 하여 자연스럽게 연출
Adding Other Static Mesh
Self Pruning
: 겹치는 Mesh 제거
Pruning Type
Large to Small
: 큰 포인트를 우선순위로 정하고 작은 포인트를 삭제
Small to Large
: 작은 포인트를 우선순위로 정하고 큰 포인트를 삭제
All Equal
: 비율을 동등하게 설정
Mesh와 Point의 크기를 동일하게 설정하기
결과값이 더 정확하게 나오기 위함
Bounds Modifier
: Points 설정값의 배율 조절
Bounds Min / Bounds Max
: 한 축의 각 끝의 값
ex) Bounds Min X == X축의 오른쪽 값, Bounds Max X == X축의 왼쪽 값
Result
특정 포인터 제거하기
Difference
: Difference의 매개 변수는 포인트 데이터가 아닌 공간 데이터(Spatial Data).
* Difference를 사용할 때, Density Function은 Binary로 설정해야한다.
Node에 Binary를 적용시키기 위해 Disable - Enable을 한다.
겹치지 않도록 할 Static Mesh의 Transform Points를 Difference에 연결
Result
Difference Node 순서 배치
- Differences로 사용할 노드는 Static Mesh Spawner 이전의 노드를 사용
- Self Pruning 이전에 사용된다
Final Result