3D Video Production/Gaea 2

Gaea 지형 제작 기초: Mountain부터 Height Map Export까지

보별 2026. 7. 15. 16:20
반응형

게임이나 시네마틱에 넓은 산악 지형이 필요할 때 언리얼 엔진의 Sculpt 도구만으로 모든 지형을 직접 만드는 것은 시간이 많이 걸린다.

산맥의 큰 형태뿐 아니라 계곡, 침식 흔적, 경사면별 머티리얼 영역까지 직접 칠해야 하기 때문이다.

이럴 때 활용할 수 있는 프로그램이 Gaea다.
Gaea에서는 여러 노드를 연결해 지형을 절차적으로 만들고, 완성된 지형을 Height Map으로 출력할 수 있다.
침식 경로나 경사도 같은 데이터도 별도의 Mask로 출력할 수 있어 언리얼 Landscape 머티리얼 작업까지 연결하기 좋다.

이번 포스트에서는 Mountain을 기반으로 산악 지형을 만들고, 지층과 침식 표현, 여러 지형의 합성, 경사도 Mask 제작을 거쳐 Unreal Engine용 Height Map과 Mask를 출력하는 과정을 정리했다.

 

Gaea에서 지형을 만드는 기본 원리

Gaea의 작업 방식은 각각의 기능을 가진 노드를 연결해 최종 지형을 만드는 구조다.

예를 들어 Mountain 노드는 산의 기본 형태를 만들고, Erosion은 그 산에 침식을 추가한다.
Transform은 위치를 옮기며, Combine은 서로 다른 산을 하나의 지형으로 합친다.

Cinema 4D에서 오브젝트와 제너레이터를 계층적으로 쌓아 결과를 만드는 방식에 익숙하다면, Gaea의 화면 이동과 속성 조절에도 비교적 빠르게 적응할 수 있다.
세부 인터페이스와 단축키는 다르지만, 원본을 직접 파괴하기보다 여러 기능을 연결해 결과를 만들어 간다는 점은 비슷하다.

실제로 노드를 하나씩 연결해 보면 지형을 직접 조각한다기보다, 지형이 만들어지는 규칙을 설계한다는 느낌에 가깝다.

 

기본 지형 확인하기: Canyon

Terrain - Landscape - Canyon을 선택하면 협곡 형태의 지형을 바로 생성할 수 있다.

Canyon은 물길을 중심으로 형성된 협곡 구조를 빠르게 만드는 노드다.
우측 속성 창에서 Scale, Depth, Valley, Slot, Style, Seed 등을 변경해 협곡의 폭과 깊이를 조절할 수 있다.

처음 Gaea를 실행했다면 Canyon처럼 하나의 노드만으로 결과가 명확하게 보이는 지형을 먼저 생성해 보는 것이 인터페이스를 익히기 좋다.

설정을 조금만 변경해도 계곡의 깊이와 흐름이 크게 달라져, 각 수치가 지형 전체에 어떤 영향을 주는지 확인하기 쉽다.

 

산 지형 만들기

기본 산 생성하기: Mountain

본격적인 작업에서는 Terrain - Primitive - Mountain을 추가해 산의 기본 형태를 생성했다.

Mountain의 속성에서 산의 높이와 폭, 형태를 조절할 수 있으며, Seed 옆의 주사위 버튼을 누르면 같은 설정을 유지한 상태에서 다른 형태의 산을 만들 수 있다.

지층 구조 만들기: FractalTerraces

Mountain 다음에는 FractalTerraces를 연결했다.

FractalTerraces는 지형에 여러 크기의 단차와 지층 구조를 추가하는 노드다.
일반적인 Terrace보다 불규칙하고 자연스러운 암반층을 만들 수 있다.

Octaves

Octaves는 지형에 생성되는 단차의 단계와 세부 층 수를 조절한다.

  • 낮은 값: 크고 단순한 지층
  • 높은 값: 작은 하위 단차와 세부 층 증가

값을 지나치게 높이면 산 전체가 일정한 패턴으로 잘린 것처럼 보일 수 있다.
큰 산의 실루엣을 확인한 뒤 필요한 정도만 올리는 것이 자연스럽다.

FractalTerraces를 적용한 직후에는 지층이 다소 인공적으로 보일 수 있지만, 이후 Erosion을 통과시키면 단차의 모서리가 자연스럽게 무너지면서 암반에 가까운 형태로 바뀐다.

물에 의한 침식 추가하기: Erosion

FractalTerraces 뒤에는 Erosion을 연결했다.

Erosion은 물이 지형을 따라 흐르면서 흙과 암석을 깎고, 이동시키고, 낮은 곳에 쌓는 과정을 시뮬레이션한다.
그 결과 산의 경사면에 물길과 계곡, 퇴적 지형이 만들어진다.

Duration

Duration침식이 진행되는 시간을 결정한다.

  • 낮은 값: 원래 산의 형태를 유지하면서 약한 침식 추가
  • 높은 값: 계곡과 물길이 깊어지고 지형 변화 증가

Duration을 높인다고 항상 결과가 좋아지는 것은 아니다.
값이 지나치게 높으면 Mountain에서 만든 큰 실루엣이 무너지고 지형 전체가 비슷한 침식 패턴으로 바뀔 수 있다.

실제로 Duration을 높여 보니 세부 물길은 늘어났지만, 원래 산의 실루엣도 함께 무너지기 쉬웠다.
따라서 침식 디테일보다 큰 형태가 유지되는지를 먼저 확인하는 편이 중요했다.

Seed

Erosion의 Seed를 변경하면 흐르는 물길과 세부 침식 패턴이 달라진다.

동일한 Mountain을 사용하더라도 Erosion Seed만 변경해 서로 다른 지형을 만들 수 있다.

추가 침식하기: Erosion2

첫 번째 Erosion 뒤에 Erosion2를 연결해 한 번 더 지형을 처리했다.

Erosion2는 더 발전된 수리 침식 알고리즘으로, Downcutting과 퇴적물 이동, 강수 방향 등의 요소를 세밀하게 조절할 수 있다.

이번 작업에서는 기본적인 추가 침식 용도로 사용했지만, 모든 지형에서 Erosion과 Erosion2를 연속으로 사용해야 하는 것은 아니다.

첫 번째 침식에서 이미 지형이 충분히 자연스럽다면 Erosion2의 강도를 낮추거나 생략할 수 있다.
두 번의 침식을 거치면서 산의 중심 형태가 사라지는지 계속 확인해야 한다.

산의 위치 변경하기: Transform

완성한 산의 뒤에는 Transform을 연결했다.

Transform에서는 다음 요소를 조절할 수 있다.

  • Offset X·Y: 지형의 수평 위치
  • Offset Z: 높이
  • Scale: 전체 크기
  • Rotation: 회전
  • Blend Mode: 기존 입력과 결합하는 방식
  • Edges: 변형 후 외곽 경계 처리

이번 작업에서는 Edge 설정의 Wide 등을 사용해 이동된 산의 경계가 갑자기 잘려 보이지 않도록 조절했다.
Wide경계의 혼합 범위를 넓게 만들어 주변 지형과 더 부드럽게 이어지도록 한다.

한 개의 산을 잘 만든 뒤 노드 묶음을 복제하고 Transform만 변경하면, 서로 다른 위치에 유사한 성격의 산을 빠르게 배치할 수 있다.

같은 산을 복사했더라도 회전과 크기, Seed를 조금씩 바꾸면 반복되는 느낌을 크게 줄일 수 있다.

여러 산 합치기: Combine

서로 다른 Transform 결과를 Combine에 연결해 하나의 지형으로 합쳤다.

Combine은 두 개 이상의 Terrain, Mask, Color Map을 여러 연산 방식으로 합성하는 노드다.

Blend Mode

수업에서 사용한 Blend는 두 지형을 Ratio에 따라 일반적으로 혼합한다.

Ratio는 Blend 결과에서 각 입력이 반영되는 비율을 조절한다.
값을 변경하면서 두 지형 가운데 어느 형태를 더 강하게 남길지 결정할 수 있다.

다른 모드도 지형에 따라 유용하다.

  • Max: 더 높은 지형 값을 선택해 봉우리를 보존
  • Add: 높이를 더해 전체 지형을 높임
  • Subtract: 한 지형을 이용해 다른 지형을 깎음
  • Difference: 두 입력의 차이를 강조

Add는 두 높이의 합이 출력 범위를 넘어가면 평평하게 잘린 영역이 발생할 수 있으므로 Clamp 결과를 확인해야 한다.

Combine의 Add Input을 사용하면 세 번째 지형도 같은 노드에 연결할 수 있다.

산맥 구조 추가하기: MountainRange

Terrain - Landscape - MountainRange를 생성한 뒤 Combine의 추가 Input에 연결했다.

MountainRange는 하나의 봉우리보다 여러 봉우리가 길게 연결된 산맥을 만드는 데 적합하다.
Scale, Height, Style, Bulk와 Seed를 이용해 산맥의 범위와 성격을 조절할 수 있다.

아래 비교 이미지처럼 두 개의 개별 산만 합치면 주변이 비어 보일 수 있다.
MountainRange를 추가하면 중심 산과 외곽 산맥 사이를 자연스럽게 연결하는 데 도움이 된다.

좌측: MountainRange 추가 전 / 우측: MountainRange 추가 후

이 단계부터 지형이 하나의 봉우리 모음이 아니라 넓은 산악 지역처럼 보이기 시작한다.

지형 외곽 정리하기: Edge

Combine 다음에는 Edge 노드를 연결했다.

EdgeSize 값을 조절해 지형 가장자리의 높이를 낮추고, 외곽이 아래쪽으로 떨어지도록 정리했다.

그 결과 Gaea의 Preview에서는 잘라낸 지형 모형처럼 측면이 보인다.
다만 Height Map으로 출력할 때 실제 수직 측면 Mesh가 생성되는 것은 아니며, 지형 가장자리의 높이 값이 낮아진 결과로 이해하면 된다.

최종 침식 정리하기: Wizard2

Edge 다음에는 Wizard2를 연결했다.

Wizard2는 복잡한 Erosion 설정을 다음과 같은 단계형 옵션으로 간소화한 노드다.

  • Power
  • Depth
  • Scale
  • Deposits
  • Flow
  • Shape
  • Detail

각 항목은 Low, Med, High, Ultra 중에서 선택할 수 있다.

이번 작업에서는 Power와 Flow를 Medium으로 설정했다.

Power전체적인 침식 효과의 강도를, Flow물길과 흐름 특징의 강조 정도를 조절하는 항목으로 볼 수 있다.
이번 작업에서는 두 값을 Medium으로 설정해 기존 지형의 형태를 크게 무너뜨리지 않는 범위에서 침식 결과를 보완했다.

세부 수치를 하나씩 조절하지 않아도 여러 결과를 빠르게 비교할 수 있어, 초기 지형의 방향을 잡을 때 사용하기 편했다.

경사도 Mask 만들기: Slope

Wizard2의 결과를 Slope 노드에 연결했다.

Slope지형의 경사각을 분석해 지정한 범위에 해당하는 부분을 흰색으로, 나머지를 검은색으로 출력한다.

이번 작업에서는 대략 다음 범위를 사용했다.

  • 최소: 25~30도
  • 최대: 70~80도

기본 설정에서는 완만한 평지와 낮은 경사 영역이 주로 흰색으로 선택되고, 가파른 경사면은 검은색으로 나타났다.

이번 작업처럼 Range의 최솟값을 25~30도, 최댓값을 70~80도로 조절하면 완만한 평지는 선택 범위에서 제외되어 검은색으로 바뀌고, 지정한 중·고경사 영역이 흰색으로 선택된다.
최댓값보다 더 가파른 영역 역시 범위 밖이므로 다시 검은색으로 나타날 수 있다.

Micro Accent

Micro Accent작은 경사 변화와 표면의 미세한 굴곡을 강조한다.

값을 높이면 바위와 절벽 영역이 더 확실하게 구분되지만, 최댓값에서는 작은 노이즈까지 선택될 수 있다.
Mask를 언리얼에서 확인한 뒤 지나치게 얼룩진다면 값을 낮추거나 Falloff를 높이는 편이 좋다.

흰색과 검은색이 뚜렷할수록 적용 결과를 예상하기 쉽지만, 실제 머티리얼 경계에는 어느 정도 회색 전환이 있는 편이 자연스럽게 보인다.

최종 노드 연결

 

Height Map & Mask 출력하기

최종적으로 다음 노드를 Export 대상으로 지정했다.

  • Wizard2
  • Slope

노드를 우클릭하거나 속성에서 Mark for Export를 선택한 뒤 Project - Build and Export로 이동한다.

출력 설정

  • Resolution: 출력 해상도
  • Build: 저장 경로와 Build 설정
  • Nodes: 출력할 노드와 파일 형식
  • Format: PNG

이번 수업에서는 출력 형식을 PNG 64로 설정했지만, Unreal Engine Landscape에 직접 사용할 목적이라면 파일의 용도에 맞춰 형식을 나누는 편이 좋다.
지형의 높이 정보를 저장하는 Height Map은 PNG 16, Slope와 Flow처럼 머티리얼 영역을 지정하는 Mask는 일반적으로 PNG 8로도 충분하다.

출력 결과에서는 다음 파일을 활용할 수 있다.

  • Wizard2_Out: Landscape 높이를 만드는 Height Map
  • Wizard2_Flow: 물길과 침식 흐름 Mask
  • Wizard2_Deposits: 퇴적 영역 Mask
  • Wizard2_Wear: 깎인 암반 영역 Mask
  • Slope_Out: 경사면 머티리얼 Mask

아래 출력 폴더를 보면 Height Map 하나와 Flow, Deposit, Wear, Slope가 각각 별도의 PNG로 저장된 것을 확인할 수 있다.

 

Gaea 지형 제작에서 중요한 것은 단순히 많은 노드를 연결하는 것이 아니다.

Mountain으로 기본 산의 형태를 만들고, FractalTerraces와 Erosion 계열 노드로 지층과 침식 흔적을 추가한 뒤, Transform과 Combine으로 여러 지형을 배치하고 합성하는 작업 순서를 이해하는 것이 핵심이다.

마지막으로 완성된 지형은 Height Map으로, 경사도와 물길 같은 분석 결과는 Mask로 분리해 출력할 수 있다.
이 데이터를 Unreal Engine으로 가져가면 같은 지형을 기준으로 Landscape의 형태와 머티리얼 분포를 연결할 수 있다.