레벨 스텝 시스템

레벨 스텝(Level Step) 시스템은 World Creator의 지형 생성에서 핵심적인 요소이자 빠른 지형 생성 속도의 주요 원인입니다(강력하게 GPU에 최적화된 필터를 사용하는 것 외에도). 이 글은 시스템이 무엇인지와 이를 최대한 활용하는 방법을 간략히 설명합니다.

레벨 스텝 시스템이 정확히 무엇인가요?

예를 들어 1/4 정밀도의 1k 지형을 선택할 때, World Creator는 단지 4k 맵에서 지형을 계산해 표시하는 것만이 아닙니다. 대신 업샘플링 알고리즘을 반복적으로 사용합니다: 2x2px 그리드에서 시작해 4x4px, 8x8px 등으로 각 단계마다 해상도를 두 배씩 늘려갑니다.

이것이 각 필터와 World Creator 전반의 다양한 UI 요소에 존재하는 레벨-스텝 인터페이스의 기반입니다. 따라서 레벨 8에서 필터의 강도를 조정하면 업샘플링 체인에서 8번째 텍스처(즉 8번째 또는 256x256px 텍스처)에 대한 해당 필터의 영향력이 변경됩니다.

업샘플링은 World Creator가 서로 다른 해상도 버전의 지형으로 작업할 수 있게 하여 렌더링 시간을 크게 줄여줍니다. 예를 들어 입자 기반 침식에서는 침식되는 지점에서 퇴적물이 쌓이는 지점까지 이동해야 합니다. 주변 지형에 따라 퇴적물이 상당한 거리를 이동해야 할 수 있습니다. 이 과정이 고해상도 이미지에서 계산되면 퇴적물이 수백 픽셀을 이동해야 할 수 있고, 그 모든 픽을 처리해야 합니다. 낮은 해상도에서 작업하면 알고리즘이 동일한 지도상의 거리를 다루기 위해 필요한 단계가 줄어들어 계산 시간이 크게 감소합니다.

업샘플링 워크플로의 추가 이점은 낮은 지형 레벨들이 전체 지형의 형태에 미치는 영향입니다. 이 효과는 아래 이미지들에서 관찰할 수 있는데, 낮은 및 중간 레벨이 주로 생성된 지형의 전반적인 형태에 영향을 미치고 높은 레벨은 최종 지형에 작은 디테일을 더하는 데 기여합니다.

기본 지형
낮은 레벨
중간 레벨
높은 레벨

아래의 두 합성 이미지에서도 이것을 명확히 볼 수 있습니다. 낮은 레벨과 중간 레벨의 조합이 최종 지형 형태에 가장 큰 기여를 하지만, 추가적인 높은 레벨은 주로 최종 해상도에서 보다 선명한 효과를 만들어내는 데 유용합니다.

이는 필터와 해당 설정에 크게 의존한다는 점을 주목할 가치가 있습니다. 예를 들어 이 침식 과정에서는 각 레벨에 사용되는 비의 강도가 높은 레벨에서는 낮아지며, 이는 결과에 상당한 영향을 미칩니다.

낮은 & 중간 레벨 결합
최종 침식

레벨 스텝 시스템의 올바른 사용법

필터

일반적으로 필터는 낮은 레벨에서 더 빠르게 작동합니다. 거의 모든 필터/레이어가 픽셀 단위로 작동하기 때문입니다. 레벨 8은 256x256px, 즉 65,536픽셀을 의미합니다. 반면 레벨 11의 텍스처는 2,048 x 2,048px, 즉 총 4,194,304픽셀입니다. 현대 GPU는 이러한 병렬화된 프로세스를 매우 효율적으로 실행하고 World Creator는 고도로 최적화된 견고한 알고리즘을 사용하지만, 높은 레벨이 더 비용이 많이 듬을 확인할 수 있습니다. 최대 성능을 얻으려면 시각적으로 만족스러운 결과를 유지하면서 불필요한 계산 오버헤드를 피하기 위해 높은 레벨을 줄여보세요. 이는 특히 침식 및 시뮬레이션 필터에 해당되는데, 이들은 종종 레벨당 픽셀당 여러 반복을 수행하므로 높은 레벨에서 비용이 더욱 커집니다.

형상 레이어

쉐이프(shape) 레이어는 일반적으로 레벨 시스템에서 성능 저하가 적습니다. 쉐이프 레이어로 작업할 때 주요 고려사항은 지형에 얼마나 많은 세부사항을 포함시키고 싶은지와 필터 효과의 강도입니다.

아래 이미지를 보면 레벨 스텝이 증가할수록 쉐이프 레이어가 더 선명해지는데, 이는 더 높은 해상도에서 지형과 블렌딩되기 때문입니다.

반면, 동일한 지형에 필터들을 적용한 모습을 보면 필터 스택이 미치는 효과가 더 높은 레벨 스텝에서 줄어드는 것을 알 수 있습니다. 이는 필터들이 작업을 수행할 수 있는 레벨 수가 적어지고, 일반적으로 전체 지형 형태에 더 큰 영향을 미치는 낮은 레벨을 간과하는 경향이 있기 때문입니다. 이는 앞서 이미 설명되었습니다.

낮은 레벨 베이스
중간 레벨 베이스
높은 레벨 베이스
낮은 레벨 필터
중간 레벨 필터
높은 레벨 필터

Last updated

Was this helpful?