UDN
Search public documentation:
LandscapeCreatingKR
English Translation
日本語訳
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
日本語訳
中国翻译
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
랜드스케이프 새로 만들기
개요
랜드스케이프 크기
랜드스케이프 컴포넌트
랜드스케이프는 언리얼 기본 렌더링 유닛, 표시여부 계산, 콜리전 등의 컴포넌트로 나뉘어 있습니다. 랜드스케이프의 컴포넌트는 모두 같은 크기이며, 항상 정사각형입니다. 랜드스케이프 컴포넌트의 크기는 생성 시간에 결정되며, 선택은 만들려는 랜드스케이프의 크기와 디테일에 따라 달라집니다. 각 컴포넌트의 하이트 데이터는 단일 텍스처에 저장됩니다. 이때문에 그 크기는 2승수 버텍스가 되어야 합니다. 인접한 두 컴포넌트의 에지(선분, 가장자리)를 따라 공유된 버텍스 열은 복제되어 각 컴포넌트에 저장됩니다. 이때문에 각 컴포넌트의 쿼드 수에 대해 고려해 보는 것이 좋습니다. 아래는 컴포넌트 넷으로 된 초간단 랜드스케이프(녹색 외곽선 부분)입니다. 각 컴포넌트는 하나의 쿼드로 되어 있습니다. 컴포넌트 하나가 떨어져 있는데, 컴포넌트가 만나는 버텍스가 어떻게 복제되는지를 보여주기 위함입니다.컴포넌트 섹션
컴포넌트는 1 또는 4 (2x2) 개의 서브섹션으로 선택 분할 가능합니다. 이 섹션은 랜드스케이프 LOD 계산에 있어서의 기본 단위입니다. 각 섹션의 크기는 버텍스 측면에서 볼 때 마찬가지로 (최대 256 한도의) 2승수 크기가 되어야 합니다. 이는 다양한 LOD 레벨을 텍스처의 밉맵에 저장할 수 있게 하기 위함입니다. 이는 컴포넌트의 쿼드 수가 (컴포넌트별 1섹션이면) 2승수 - 1 또는 (컴포넌트별 4섹션이면) 2승수 - 2 중 하나가 되게 만듭니다. 4 섹션을 포함하는 개별 컴포넌트는 아래 그림에서 (녹색 외곽선으로) 나타나 있습니다. 각 섹션은 9 (3x3) 쿼드로 이루어져 있습니다. 여기서도 섹션이 만나는 버텍스가 겹치는 것을 볼 수 있습니다.하이트맵 차원 계산하기
보시듯이 랜드스케이프의 차원은 각 섹션의 쿼드 수, 각 컴포넌트의 섹션 수, 랜드스케이프에 존재하는 컴포넌트의 수에 따라 결정됩니다. 컴포넌트 수와 그 컴포넌트 각각의 해상도를 결정하고 나면, 전체 랜드스케이프 차원 계산은 간단해 집니다. 시나리오별로 예를 들어 보겠습니다: 예제 1버텍스가 64x64 인 섹션 하나로 구성된 컴포넌트로 시작한다면, 컴포넌트 크기는 63x63 쿼드입니다. 이러한 컴포넌트 10x10 으로 된 랜드스케이프가 있다 친다면, 랜드스케이프의 총 쿼드는 630x630 입니다. 즉 그런 랜드스케이프에 대한 하이트를 가져오려면, 631x631 버텍스 크기의 하이트맵이 있어야 합니다. 왜냐면 쿼드의 수보다 항상 하나 더 많은 버텍스 열이 있기 때문입니다 (예로 1x1 쿼드라면 버텍스는 4 필요). 고로 적정 랜드스케이프 크기는 631x631 입니다.예제 2
서브섹션 넷으로 나뉜 컴포넌트가 있고, 각각은 64x64 버텍스로 구성됩니다. 이는 섹션 별로 63x63 쿼드이며, 컴포넌트 별로 126x126 쿼드입니다. 이 컴포넌트가 32x32 개라면, 각 방향에 총 126 * 32 = 4032 쿼드가 나오게 됩니다. 즉 총 랜드스케이프는 4033x4033 버텍스가 될 것입니다.위 예제들은 정사각 랜드스케이프만 살펴봤습니다. 그러나 정사각형이 아닌 랜드스케이프도 만들 수 있습니다. 예를 들어 첫 예제에서, 10x10 는 딱 정해진 것이 아닙니다. 컴포넌트별로 63 쿼드라 가정하면, AxB 컴포넌트의 총 크기가 버텍스로 (A*63+1 , B*63+1) 이기만 하면 어느 랜드스케이프든 가능한 것입니다.
퍼포먼스 고려사항
컴포넌트 크기 vs 컴포넌트 총 수 사이의 선택은 퍼포먼스 측면에서 상충 관계에 있습니다. 컴포넌트 크기가 작을 수록 LOD 전환이 빠르게 일어나 터레인 오클루전도 많이 발생하지만, 크기가 작으니 컴포넌트를 더 많이 필요로 할 것입니다. 각 컴포넌트에는 렌더-스레드 CPU 프로세싱 비용이, 각 섹션에는 드로 콜 비용이 있으니, 최소로 유지하는 것이 좋습니다. 에픽에서 권장하는 최대 랜드스케이프 크기는 1024 컴포넌트 입니다.추천 랜드스케이프 크기
편의를 위해, 랜드스케이프 컴포넌트 수를 최소화시키면서 영역을 최대화시키는 크기 수치는 이와 같습니다.총 크기 (버텍스) | 섹션별 쿼드 | 컴포넌트별 섹션 | 컴포넌트 크기 (쿼드) | 총 컴포넌트 |
---|---|---|---|---|
4033x4033 | 63 | 4 (2x2) | 126x126 | 1024 (32x32 컴포넌트) |
2017x2017 | 63 | 4 (2x2) | 126x126 | 256 (16x16 컴포넌트) |
1009x1009 | 63 | 4 (2x2) | 126x126 | 64 (8x8 컴포넌트) |
1009x1009 | 63 | 1 | 63x63 | 256 (16x16 컴포넌트) |
509x509 | 127 | 4 (2x2) | 254x254 | 4 (2x2 컴포넌트) |
505x505 | 63 | 4 (2x2) | 126x126 | 16 (4x4 컴포넌트) |
255x255 | 127 | 4 (2x2) | 254x254 | 1 |
253x253 | 63 | 4 (2x2) | 126x126 | 4 (2x2 컴포넌트) |
127x127 | 63 | 4 (2x2) | 126x126 | 1 |
127x127 | 63 | 1 | 63x63 | 4 (2x2 컴포넌트) |
새 랜드스케이프 만들기
하이트맵과 레이어 임포트
- Unsigned/Singed - 가져온 하이트맵 데이터가 부호 있는지 없는지를 설정합니다.
- PC/Mac - 가져온 하이트맵 데이터의 바이트 순서를 설정합니다.
레거시 터레인을 랜드스케이프로 변환하기
-
Max Component Size
(최대 컴포넌트 크기)는 2제곱 - 1 수의 1배, 2배, 3배수여야 합니다. (예: 1,2,3, 3,6,9, 7,14,21, 15,30,45, ...) -
Num Patches [X/Y]
([X/Y] 패치 수)는Max Component Size
의 곱수여야 합니다. -
Max Tessellation Level
(최대 테셀레이션 레벨)은 1 이어야 합니다.