UDN
Search public documentation:
TerrainDesignKR
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
터레인 디자인 관련 지침과 정보
문서 변경내역: David Green 원저.
개요
터레인 만들기
터레인은 일반적으로 다음 2가지 중 1개의 기술을 사용하여 만들어집니다. 언덕과 골짜기를 만들기 위해 터레인 메쉬에 직접 손으로 페인팅을하는 방법이고, 다른 하나는 외부에서 만들어진 터레인 하이트맵 을 가져오기하는 방법입니다. 또한 하이트맵 정보는 DEMs (디지털 표고 모델: Digital Elevation Model) 정보에서 얻을 수 있습니다. 흙, 풀, 바위를 나타내는 재질 레이어는 텍스처가 터레인의 어디에 블렌드되야 하는지를 결정하는 터레인 알파맵 도구를 사용하여 만들 수 있습니다.
터레인 사용 및 맵 레이아웃
터레인는 도시 구획, 둘러싸인 정원 같은 작은 영역에서 잡동사니 더미에 이르기까지를 시뮬레이션하는 데 사용됩니다. 또는 전체 게임 맵은 산과 계곡 같은 지형적인 다양한 기능을 통합한 넓은 야외 터레인 디자인에 기반할 수 있습니다.
터레인은 특정적으로 설계된 큰 바위, 뷰트(buttes), 절벽, 물 평원등 지형적인 메쉬와 함께 연관되어 사용되는 경우가 많습니다. 추가 메쉬는 터레인에 나오는 다양한 foliage에도 사용됩니다. 터레인를 사용한 게임의 맵 디자인과 레이아웃은 대개 터레인 기능을 통해 플레이어의 움직임을 제한하고, 게임 맵의 "세계"에서 떠나거나 또는 떨어지지 않도록, 통과할 수 없는 산 또는 절벽을 경기장 지역의 주위에 만듭니다.
터레인 시스템은 원칙적으로 정점 Z 값이 각 교차점에서 삼각형의 고도를 결정하는 그리드 삼각형 메쉬 X*Y 배열을 렌더링합니다. 레벨 디자이너가 직면하는 도전 중 1가지는 최고의 비주얼 품질과 성능 설정을 제공하기 위해 이 터레인 메쉬의 적절한 레이아웃 및 해상도를 선택하는 것입니다.
터레인 크기
Unreal Engine 3는 최대 512k x 512k(524288 x 524288) Unreal 단위 의 월드 크기를 지원합니다. 이것은 1 UU = 2 cm의 기본 엔진 단위 변환을 사용하면 약 10 평방 킬로미터의 지역과 동일한 것입니다. 실제 게임 플레이 지역은 보통 이것보다 훨씬 작은 야외 터레인 기반 맵의 경우 보통 1 ㎢ 미만이다. 하늘의 천체와 같은 최대 세계 크기의 외부에 배치된 형상은 렌더링되지만, "월드" 형상은 총 사용 가능한 지역으로 제한됩니다.
Terrain.NumPatches에 의해 설정되는 터레인 heightmap XY 해상도(예: 128x128 또는 256x256) 및 터레인 패치의 크기를 지정하는 Display.DrawScale은 결국 최종 터레인 메쉬의 총 영역을 결정합니다. 터레인 디테일과 렌더링 성능 사이의 최고의 균형을 위해서는 가장 효과적인 패치 크기 값과 패치 수의 집합을 선택해야 합니다.
성능과 파일 크기의 두 가지 이유로 인하여 1024x1024 패치 이상의 터레인을 제작하는 것은 권장되지 않습니다. 예를 들면, 800 만개의 삼각형인 2048x2048의 터레인은 편집기에서 작업 시간이 길어지고 결과적으로 엄청난 맵 파일 크기를 초래합니다. 대부분의 경우, 512x512을 초과하는 터레인에는 어떤 기술적인 문제가 생길 수 있기 때문에, 맵 디자인은 대형 터레인이 올바른 선택인지 여부를 검토하고 가능하며 재평가해야 합니다.
하이트맵 비트 심도
Unreal Engine 터레인 시스템 가져오기 위해 외부 하이트맵 파일을 사용하여 맵을 만들 때, 항상 적합한 16 비트 하이트맵 형식과 파일 작업을 하십시오. 표준 페인트 소프트웨어의 지원이 간단하기 때문에 8 비트 회색조 하이트맵 파일을 선택하면, 사용 가능한 고도 범위의 1/256만을 사용하는 터레인을 초래하게 됩니다. 이것은 일반적으로 바람직하지 않은 계단 구조의 테라스 모습을 터레인에 가져오게 됩니다.
외부 하이트맵 파일과 작업하는 경우, 8 비트 회색조만을 편집하고 현재의 비디오 하드웨어에서 표시할 수 있기 때문에 표준 페인트 소프트웨어를 사용하여 하이트맵의 디테일을 페인트하는 것은 권장하지 않습니다. 이것은 8 비트 디스플레이 시스템에서 페인트된 모든 회색에 시각적으로 표시될 수 없는 256 레벨의 고도가 실제로는 있다는 것을 의미합니다. 즉, 8 비트 회색조 디스플레이에서 0(검정색) 값은 실제로 0에서 255 사이의 16비트 값이고, 1은 256에서 511 사이의 16비트 값입니다. 따라서 페인트하고 있는 값에 시각적인 정확도가 없다는 것입니다.
그리드에 남아 있기
Terrain 액터의 Advanced.bEdShouldSnap 속성은 터레인 패치가 그리드에 남아 있도록 항상 TRUE로 선택되야 합니다. 이것을 2의 거듭제곱 Display.DrawScale과 Display.DrawScale3D.X/.Y를 함께 사용하여 모든 가장자리에 있는 그리드에 제대로 맞는 패치를 초래합니다.
Terrain 액터가 맵의 위치로 이동했으면, Terrain 액터를 고정시키고 편집기에서의 우연적인 움직임을 방지하기 위해 Advanced.bLockLocation을 TRUE로 설정하십시오.
2의 거듭제곱
터레인 및 기타 게임 에셋을 작업할 경우, "2의 거듭제곱"이라는 단어가 자주 나옵니다. 2의 거듭제곱은 2^n(n은 0 이상의 숫자) 수식에서 계산되어지는 수입니다. 따라서 2^0 = 1. 2^1 = 2. 2^2 = 4. 2^3 = 8. 2^4 = 16 등이 계산됩니다. 터레인에서 사용되는 일반적인 2의 거듭제곱 값에는 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024가 포함됩니다.
패치의 수
NumPatches 속성에 대해 지원되는 특정 값은 Terrain.MaxTesselationLevel과 Terrain.MinTesselationLevel 값에 따라 달라집니다. 예를 들면, NumPatches는 TesselationLevel 값에 의해 40, 80, 심지어 255, 또는 256이 될 수 있습니다.
MaxTesselationLevel과 MinTesselationLevel 속성이 모두 1로 설정되어 있으면 1과 지원되는 최대 크기 사이에서 임의의 터레인 크기를 지정합니다. 이것은 41x79와 같은 이상한 크기의 터레인를 만들 수 있습니다. 1의 TesselationLevel 값을 사용하는 것의 단점은 절두체의 모든 터레인 삼각형은 동적 거리 LOD 테셀레이션 최적화 시스템을 사용하지 않고 렌더링되는 것입니다. 이것은 작은 터레인 조각에 대해서는 허용될 지 모르나 대형 터레인 시스템의 경우 맵의 렌더링되는 프레임 속도에 큰 영향을 미칩니다.
주의: 성능과 파일 크기의 두 가지 이유로 인하여 1024x1024 패치 이상의 터레인을 제작하는 것은 권장되지 않습니다. 예를 들면, 800만개의 삼각형인 2048x2048의 터레인은 편집기에서 작업 시간이 길어지고 결과적으로 엄청난 맵 파일 크기를 초래합니다. 대부분의 경우, 512x512를 초과하는 터레인에는 어떤 기술적인 문제가 생길 수 있기 때문에, 맵 디자인은 대형 터레인이 올바른 선택인지 여부에 대해 검토되야 하고 가능하면 재평가되야 합니다.
MinTesselationLevel 속성은 일반적으로 1의 기본값으로 설정되어야 합니다. 이것이 MaxTesselationLevel 속성과 같은 값으로 설정되는 경우, 두 속성을 1로 설정한 것과 같은 결과가 되어, 테셀레이션이 발생하지 않습니다. MinTesselationLevel이 MaxTesselationLevel의 절반과 같은 값으로 설정되면 (예 : Min = 2, Max = 4), 테셀레이션 영역의 수는 적어지고, 먼 거리에 있는 터레인은 증가 최적화 사분면을 갖지 않게 됩니다. 이는 즉, 1:4의 Min:Max 비율이 결과적으로 2개의 최적화된 거리 영역이되고, 2:4의 Min:Max은 단지 1개의 최적화된 거리 영역을 초래하게 될 것입니다.
거리 LOD 최적화 시스템을 활성화하기 위해 MaxTesselationLevel이 1이 아닌 값으로 설정된다면, NumPatches에 의해 지원되는 값은 여러 MaxTesselationLevel 값으로 제한됩니다. 예를 들면, MaxTesselationLevel이 4인 경우, NumPatches는 4, 8, 12, 16, 20, 24, ..., 등이 될 수 있습니다. MaxTesselationLevel이 8인 경우, NumPatches는 8, 16, 24, 32, 40, 48, ..., 등이 될 수 있습니다. 터레인 크기의 선택이 MaxTesselationLevel 값의 배수만으로 제한될지라도 동적 거리 LOD 테셀레이션 최적화를 사용하는 것이 강력히 권장됩니다.
드로우 스케일
드로우 스케일 Z
DrawScale3D.Z 속성은 Z 방향(상하)에 따라 각 터레인 메쉬 정점 위치에 대한 _ 입도(granularity)_ 를 결정합니다. DrawScale3D.Z 값이 낮을수록 고도 단계가 더 세밀하게 됩니다. DrawScale3D.Z 값이 높을수록 고도 단계는 더 커집니다. 총 65536개의 고도 값 밖에 없기 때문에, DrawScale3D.Z는 또한 터레인에 대한 총 고도 범위를 결정합니다.
DrawScale3D.Z에 대한 추가 정보가 아래에 포함되어 있습니다.
터레인 패치 크기 영역
| DrawScale | 패치(UUs 단위) | 패치(미터 단위) | 패치(피트 단위) |
|---|---|---|---|
| 64 | 64 uus | 1.28m (128cm) | 4.2ft (50.39 in) |
| 80 | 80 uus | 1.60m (160cm) | 5.25ft (62.99 in) |
| 96 | 96 uus | 1.92m (192cm) | 6.3ft (75.59 in) |
| 112 | 112 uus | 2.24m (224cm) | 7.35ft (88.19 in) |
| 128 | 128 uus | 2.56m (256cm) | 8.4ft (100.79 in) |
| 160 | 160 uus | 3.20m (320cm) | 10.5ft (125.98 in) |
| 192 | 192 uus | 3.84m (384cm) | 12.6ft (151.18 in) |
| 224 | 224 uus | 4.48m (448cm) | 14.7ft (176.38 in) |
| 256 | 256 uus | 5.12m (512cm) | 16.8ft (201.57 in) |
| 288 | 288 uus | 5.76m (576cm) | 18.9ft (226.77 in) |
| 320 | 320 uus | 6.40m (640cm) | 21ft (251.97 in) |
| 352 | 352 uus | 7.04m (704cm) | 23.1ft (277.17 in) |
| 384 | 384 uus | 7.68m (768cm) | 25.2ft (302.36 in) |
| 512 | 512 uus | 10.24m (1024cm) | 33.6ft (403.15 in) |
터레인 크기 대 맵 파일 크기
- Terrain 액터와 1 개의 지향성 빛을 가진 빈 지도.
- 터레인 레이어가 없음.
- 쿡되지 않음.
| 하이트맵 | 삼각형의 수 | 파일 크기 |
|---|---|---|
| 64x64 | 8,192 | 125kb |
| 128x128 | 32,768 | 3.2MB |
| 256x256 | 131,072 | 7.2MB |
| 512x512 | 524,288 | 28.7MB |
| 1024x1024 | 2,097,152 | 110MB |
- Terrain 액터와 1 개의 지향성 빛을 가진 빈 지도.
- 1개의 1024x1024 텍스처, 1개의 재질, 1개의 TerrainMaterial, 1개의 TerrainLayerSetup.
- 쿡되지 않음.
| 하이트맵 | 삼각형의 수 | 파일 크기 |
|---|---|---|
| 64x64 | 8,192 | 4MB |
| 128x128 | 32,768 | 6.38MB |
| 256x256 | 131,072 | 10.6MB |
| 512x512 | 524,288 | 32.9MB |
| 1024x1024 | 2,097,152 | 118MB |
터레인 크기 대 맵 영역
| NumPatches | DrawScale | 길이(Unreal 단위) | 미터 | 피트 |
|---|---|---|---|---|
| 64 | 64 | 4096 uus | 81.92 m | 268.77 ft |
| 64 | 96 | 6144 uus | 122.88 m | 403.15 ft |
| 64 | 128 | 8192 uus | 163.84 m | 537.53 ft |
| 64 | 192 | 12288 uus | 245.76 m | 806.3 ft |
| 64 | 256 | 16384 uus | 327.68 m | 1074.97 ft |
| 64 | 384 | 24576 uus | 491.52 m | 1612.6 ft |
| 64 | 512 | 32768 uus | 655.36 m | 2150.13 ft |
| 128 | 64 | 8192 uus | 163.84 m | 537.53 ft |
| 128 | 96 | 12288 uus | 245.76 m | 806.3 ft |
| 128 | 128 | 16384 uus | 327.68 m | 1074.97 ft |
| 128 | 192 | 24576 uus | 491.52 m | 1612.6 ft |
| 128 | 256 | 32768 uus | 655.36 m | 2150.13 ft |
| 128 | 384 | 49152 uus | 983.04 m | 3225.2 ft |
| 128 | 512 | 65536 uus | 1.3km (1310.72 m) | 4300.26 ft |
| 256 | 64 | 16384 uus | 327.68 m | 1074.97 ft |
| 256 | 96 | 24576 uus | 491.52 m | 1612.6 ft |
| 256 | 128 | 32768 uus | 655.36 m | 2150.13 ft |
| 256 | 192 | 49152 uus | 983.04 m | 3225.2 ft |
| 256 | 256 | 65536 uus | 1.3km (1310.72 m) | 4300.26 ft |
| 256 | 384 | 98304 uus | 1.97km (1966.08 m) | 1.22 miles (6450.39 ft) |
| 256 | 512 | 131072 uus | 2.6km (2621.44 m) | 1.63 miles (8600.52 ft) |
| 512 | 64 | 32768 uus | 655.36 m | 2150.13 ft |
| 512 | 96 | 49152 uus | 983.04 m | 3225.2 ft |
| 512 | 128 | 65536 uus | 1.31km (1310.72 m) | 4300.26 ft |
| 512 | 192 | 98304 uus | 1.97km (1966.08 m) | 1.22 miles (6450.39 ft) |
| 512 | 256 | 131072 uus | 2.62km (2621.44 m) | 1.63 miles (8600.52 ft) |
| 512 | 384 | 196608 uus | 3.93km (3932.16 m) | 2.44 miles (12900.79 ft) |
| 512 | 512 | 262144 uus | 5.24km (5242.88 m) | 3.26 miles (17201.05 ft) |
| 1024 | 64 | 65536 uus | 1.31km (1310.72 m) | 4300.26 ft |
| 1024 | 96 | 98304 uus | 1.97km (1966.08 m) | 1.22 miles (6450.39 ft) |
| 1024 | 128 | 131072 uus | 2.62km (2621.44 m) | 1.63 miles (8600.52 ft) |
| 1024 | 192 | 196608 uus | 3.93km (3932.16 m) | 2.44 miles (12900.79 ft) |
| 1024 | 256 | 262144 uus | 5.24km (5242.88 m) | 3.26 miles (17201.05 ft) |
| 1024 | 384 | 393216 uus | 7.86km (7864.32 m) | 4.89 miles (25801.57 ft) |
| 1024 | 512 | 524288 uus | 10.49km (10485.76 m) | 6.52 miles (34402.1 ft) |
터레인 최적화하기
- 256과 512 사이의, 되도록이면 128 이하의 DrawScale XY 값을 사용합니다. 128보다 낮은 값은 상당한 렌더링 파워를 필요로 하는 조밀한 터레인 메쉬를 생성합니다.
- 내장된 거리 LOD 테셀레이션 기능을 Terrain.MinTesselationLevel을 1로, Terrain.MaxTesselationLevel을 4로 설정하여 잘 활용합니다. 테셀레이션 기능을 비활성화하면 보통 절두체에서 더 많은 삼각형이 렌더되어, 더 많은 렌더링 파워가 필요하게 됩니다.
- 터레인에 적용하는 재질의 수를 제한합니다. 재질 설정이 단순할 수록, 더 빨리 렌더합니다.
- 결코 보이지 않거나 CSG 브러시 또는 StaticMesh 객체와 같은 다른 도형 및 에셋하에 위치한 터레인 삼각형을 숨기십시오. 이것은 Visibility Tool로 터레인을 편집 및 숨길 패치를 클릭하여 실행할 수 있습니다. 숨기기로 설정된 터레인 영역은 현저한 성능적 향상을 일으킬 만큼 반드시 충분히 커야 합니다. 즉, 각 나무 상자, 통, 나무 등의 밑에 1개의 개별 패치를 숨기는 것은 아무 의미가 없습니다.
드로우 스케일 XY 및 가라앉는 맵 에셋
CSG(Constructive Solid Geometry: 구조적 고체 기하학))와 정적 메쉬와 같은 에셋을 맵에서 사용하기 위해 만들 때, 에셋이 2의 거듭제곱 그리드 간격에 맞게 모든 에셋의 스케일을 조절하는 것이 일반화되어 있습니다. 터레인 패치도 2의 거듭제곱 크기로 스케일 조절되는 경우, 정적 메쉬 건물과 같이 터레인에 가라앉는 에셋은 터레인 패치 가장자리와 나란히 정렬합니다. 또한 내부가 보이지 않거나 가라앉은 에셋 밑에 있는 패치는 성능 증가를 위해 Terrain Visibility Tool을 사용하여 숨겨질 수 있습니다. 건물에서 처럼 에셋에 내부가 있으면, 해당 건물내에 있는 터레인의 패치는 구조내의 플레이어의 움직임을 방해하지 않도록 건물 안쪽으로 숨겨져야 합니다.
드로우 스케일 Z 대 고도 범위
고도 범위
다음 표에서 일반적인 DrawScale3D.Z 값과 최소에서 최대 하이트맵 값을 지원하는 동등한 최대 고도 범위(0 또는 검정색이 가장 낮은 G16 고도이고, 65535 또는 흰색이 가장 높은 G16 고도입니다.)를 열거됩니다. 실제 사용 시, DrawScale3D.Z 값이 64보다 큰 경우는 거의 없습니다. 외부 G16 하이트맵 파일이 가져오기된 경우, 64에서 128 이상의 DrawScale3D.Z를 필요로 하는 경우, 하이트맵이 사용 가능한 16 비트 범위 이상을 활용하여 모든 편집 입도(granularity)가 더 세밀화되고 페인팅 도중의 정점 이동도 세밀화될 수 있도록 변경되어야 합니다.
1 Display.DrawScale3D.Z 단위 = 하이트맵의 총 고도 범위의 512 Unreal 단위 인 곳에서의 실제 비율은 1:512입니다.
따라서 원하는 총 Unreal 단위 고도 범위를 512으로 나누면 사용해야 할 DrawScale3D.Z를 얻게 됩니다.
단계당 UU는 최대 고도 범위를 65536의 16 비트 하이트맵 범위로 나눈 값입니다.
1 Unreal 단위 = 2 cm. 1 피트 = 30.48cm 또는 0.3048 m. 1 m = 3.280839895 피트. 1000 m = 1 km. 5280 피트 = 1 마일. | DrawScale3D.Z | 최대 고도 | UU/단계 | 범위(미터) | mm/단계 | 범위(피트) | in/단계 |
|---|---|---|---|---|---|---|
| 1 | 512 uus | 0.0078125 | 10.24 m | 0.15625 | 33.6 ft | 0.00615" |
| 2 | 1024 uus | 0.015625 | 20.48 m | 0.3125 | 67.19 ft | 0.0123" |
| 4 | 2048 uus | 0.03125 | 40.96 m | 0.625 | 134.38 ft | 0.0246" |
| 8 | 4096 uus | 0.0625 | 81.92 m | 1.25 | 268.77 ft | 0.0492" |
| 16 | 8,192 uus | 0.125 | 163.84 m | 2.5 | 537.53 ft | 0.0984" |
| 24 | 12,288 uus | 0.1875 | 245.76 m | 3.75 | 806.3 ft | 0.148" |
| 32 | 16,384 uus | 0.25 | 327.68 m | 5.0 | 1075.06 ft | 0.197" |
| 48 | 24,576 uus | 0.375 | 491.52 m | 7.5 | 1612.6 ft | 0.295" |
| 64 | 32,768 uus | 0.5 | 655.36 m | 10.0 | 2150.13 ft | 0.394" |
| 80 | 40,960 uus | 0.625 | 819.20 m | 12.5 | 2687.66 ft | 0.492" |
| 96 | 49,152 uus | 0.75 | 983.04 m | 15.0 | 3225.2 ft | 0.591" |
| 112 | 57,344 uus | 0.875 | 1.15km (1,146.88 m) | 17.5 | 3762.73 ft | 0.689" |
| 128 | 65,536 uus | 1.0 | 1.31km (1,310.72 m) | 20.0 | 4300.26 ft | 0.787" |
| 256 | 131,072 uus | 2.0 | 2.62km (2,621.44 m) | 40.0 | 1.63 miles (8600.52 ft) | 1.575" |
| 512 | 262,144 uus | 4.0 | 5.24km (5,242.88 m) | 80.0 | 3.26 miles (17201.05 ft ) | 3.15" |
| 1024 | 524,288 uus | 8.0 | 10.49km (10,485.76 m) | 160.0 | 6.52 miles (34402.1 ft) | 6.3" |
| 2048 | 1,048,576 uus | 16.0 | 20.97km (20,971.52 m) | 320.0 | 13.03 miles (68804.2 ft) | 12.6" |
