언리얼 엔진에서 배경을 제작하다 보면 같은 오브젝트를 일정한 규칙으로 반복 배치하거나, 모델링 프로그램으로 돌아가기에는 작은 문제를 레벨 안에서 바로 수정해야 할 때가 있다.
이번 포스트에서는 이 두 상황을 각각 PCG와 Modeling Mode로 해결해 보았다.
PCG에서는 Spline을 따라 울타리 메시를 반복 배치한 뒤 랜드스케이프의 높이에 맞게 투영했다.
Modeling Mode에서는 기본 도형 생성부터 CubeGrid 블록아웃, 선택 영역 편집, 오브젝트 결합과 분리, Pattern 복제, Sculpt와 Warp, Boolean과 Triangle Edit까지 확인했다.
PCG
PCG는 Procedural Content Generation, 즉 절차적 콘텐츠 생성을 뜻한다.
언리얼 엔진의 PCG Framework는 정해 둔 규칙과 입력 데이터를 바탕으로 포인트를 만들고 가공한 뒤, 그 위치에 메시와 콘텐츠를 생성하는 도구 모음이다.
에셋 유틸리티나 건물부터 생물군계와 넓은 월드까지 다양한 규모에 사용할 수 있다.
그래프 안에서 데이터가 노드를 따라 흐르고 결과를 실시간으로 확인한다는 점에서 블루프린트나 머티리얼 그래프와 사용 감각이 비슷하다.
PCG의 장점은 반복 작업을 규칙으로 바꿀 수 있다는 것이다.
넓은 숲, 도로 주변의 소품, 긴 울타리, 지형에 따른 오브젝트 분포처럼 범위가 크고 수정 가능성이 높은 작업에서는 수작업보다 효율이 커진다.
카메라에 보이는 작은 공간을 한 번만 완성하면 되는 장면이라면 그래프를 설계하고 예외를 수정하는 것보다 직접 배치하는 편이 더 빠를 수 있고, 반대로 같은 세트를 여러 샷에 재사용하거나 배치를 계속 바꿔야 한다면 PCG가 유용하다.
실제로 짧은 울타리 몇 개만 필요하다면 직접 복제하고 위치를 맞추는 편이 즉각적이었다.
하지만 경로가 길어지고 랜드스케이프를 계속 수정해야 하는 순간부터는 Spline과 Projection의 장점이 분명해졌다.
PCG 플러그인 활성화
PCG 기능을 사용하려면 먼저 Edit - Plugins에서 Procedural Content Generation Framework (PCG) 플러그인을 활성화한다.
검색창에 PCG를 입력하면 관련 플러그인이 여러 개 표시되므로, 기본 프레임워크 항목을 선택해야 한다.

플러그인을 켠 직후에는 하단의 Restart Now 안내에 따라 에디터를 다시 실행했다.
Landscape 위에 Spline 만들기
먼저 Landscape를 생성한다.
그다음 Modeling Mode로 이동해 Create - Draw Spline을 실행하고, 뷰포트에서 점을 찍어 오브젝트가 따라갈 경로를 만든다.
각 점 사이에는 곡선 또는 선분이 생성되며, 생성 후에도 컨트롤 포인트를 이동해 경로를 수정할 수 있다.


이번 작업에서는 레벨에 여러 액터가 있어도 이 Spline만 선택할 수 있도록 Spline Actor의 Tags 항목에 AAA를 입력한다.
Tag는 단순한 이름표가 아니라, 뒤에서 Get Spline Data가 원하는 액터만 검색하기 위한 조건이다.
태그의 철자가 다르면 검색 결과가 나오지 않으므로, 그래프와 액터에 동일한 태그 이름을 입력해야 한다.

빈 PCG Graph 생성 & PCG Volume 배치
콘텐츠 브라우저에서 우클릭한 뒤 PCG - PCG Graph를 선택하고 Create Empty PCG로 빈 그래프를 만든다.




PCG Graph를 레벨에 드래그하면 PCG Component가 포함된 볼륨 형태로 배치된다.
이번 작업에서는 PCG Volume이 Spline과 생성 영역을 감싸도록 크기와 위치를 조절했다.
볼륨은 PCG가 동작할 문맥과 범위를 눈으로 관리하기 좋게 해준다.

여기서 주의할 점은 Spline이 볼륨 안에 보인다는 이유만으로 항상 자동 선택되는 것은 아니라는 것이다.
Get Spline Data의 Actor Filter, Actor Selection, Tag, Bounds 관련 설정이 실제 검색 결과를 결정한다.
따라서 결과가 없을 때에는 볼륨 크기와 함께 액터 선택 조건도 확인해야 한다.
태그가 붙은 Spline 찾기: Get Spline Data
PCG Graph를 열고 Get Spline Data 노드를 만든다.
이 노드는 레벨의 Spline Data를 가져오는 역할을 한다.
이번 작업에서는 다음과 같이 설정했다.


- Actor Filter: All World Actors — 레벨에 배치된 월드 액터 전체를 검색 대상으로 삼음
- Actor Selection: By Tag — 이름이나 클래스가 아니라 액터 태그로 대상을 고름
- Actor Selection Tag: AAA — AAA 태그가 붙은 Spline Actor만 가져옴
배치 포인트 만들기: Spline Sampler
Get Spline Data 뒤에 Spline Sampler를 연결한다.
이름 그대로 입력된 Spline을 일정한 규칙으로 샘플링하여 포인트를 만든다.
메시를 복제하는 것이 아니라 메시가 생성될 위치와 방향을 가진 포인트를 만드는 단계다.


이번 수업에서는 다음 항목을 중심으로 조정했다.
- Dimension: On Spline — Spline의 내부 면적이 아니라 선 위에서 포인트를 만듦
- Mode: Distance — Spline 길이를 기준으로 일정 거리마다 포인트를 만듦
- Distance Increment — 포인트 사이의 거리; 값을 줄이면 더 촘촘해지고, 값을 늘리면 간격이 벌어짐
처음에는 기본값으로 결과를 확인한 뒤, 울타리 한 조각의 실제 길이에 맞춰 Distance Increment를 조정했다.
값이 너무 작으면 메시가 겹치고, 너무 크면 이음새가 벌어진다.
특히 곡선 구간에서는 직선 기준 길이와 회전 차이 때문에 같은 간격이어도 바깥쪽과 안쪽의 간격이 다르게 보일 수 있다.
울타리 생성하기: Static Mesh Spawner
Spline Sampler 뒤에 Static Mesh Spawner를 연결한다.
노드의 Mesh Entries에 항목을 추가하고 Spline 위에 배치할 울타리 Static Mesh를 지정한다.
그러면 앞 단계에서 만든 각 포인트에 메시 인스턴스가 생성된다.


스폰 결과는 원본 메시의 Pivot을 기준으로 포인트에 놓인다.


Modeling Mode의 XForm - Edit Pivot을 사용해 Pivot을 하단 중앙으로 옮기면 울타리의 배치도 달라진다.



Pivot 수정은 이 PCG Graph만의 임시 설정이 아니라 원본 에셋 또는 출력 에셋에 영향을 줄 수 있다.
같은 메시를 다른 곳에서도 사용 중이라면 복제본을 만들어 피벗을 수정하는 편이 안전하다.
Landscape를 Sculpt했을 때 메시가 묻히는 이유
Spline을 만든 뒤 Landscape Mode의 Sculpt로 지형을 올리면, 기존 높이를 기준으로 생성된 울타리가 새 지형에 맞춰 자동으로 올라가지 않고 묻히거나 떠 있을 수 있다.
Spline에서 만든 포인트가 랜드스케이프 표면 정보를 아직 사용하지 않았기 때문이다.


긴 울타리를 수작업으로 하나씩 올리는 방식은 지형을 수정할 때마다 같은 보정이 필요하다.
그래서 Landscape 데이터를 그래프로 가져와 Spline Data를 표면에 투영한 뒤, 투영된 경로에서 포인트를 샘플링한다.
Get Landscape Data와 Projection 연결
그래프에 Get Landscape Data와 Projection을 추가한다. 연결은 다음과 같다.
- Get Spline Data의 출력을 Projection의 In에 연결
- Get Landscape Data의 출력을 Projection Target에 연결
- Projection의 출력을 Spline Sampler로 전달

Projection은 입력 데이터를 대상 표면에 재투영한다.
이번 작업에서는 Spline Data를 Landscape 표면에 투영하고, 뒤의 Spline Sampler가 투영된 경로를 샘플링해 포인트를 생성하도록 구성했다.
Landscape를 Sculpt한 뒤 PCG Graph가 다시 생성되면 변경된 표면 높이가 배치 결과에 반영된다.

Project Rotation을 활성화하면 Landscape의 표면 방향, 즉 표면 노멀이 투영 결과의 회전에 반영된다.
이후 Spline Sampler가 생성하는 포인트와 Static Mesh도 경사 방향에 맞게 기울어진다.

비활성화하면 위치는 Landscape의 높이를 따르되 회전은 원본 Spline의 방향을 더 유지한다.
기둥이나 울타리처럼 월드 Z축을 기준으로 세워 둘 오브젝트라면 비활성화한 결과가 더 자연스러울 수 있다.


세워진 기둥이 월드의 위쪽을 유지해야 하는 오브젝트라면 끈 결과가 더 자연스러울 수 있다.
다만 Projection은 울타리 메시 자체를 곡선에 맞게 휘는 기능이 아니다.
입력 경로나 포인트를 대상 표면에 재투영할 뿐, 개별 메시의 형상 자체를 변형하지는 않는다. 짧은 울타리를 촘촘히 배치하면 곡선을 따라가는 것처럼 보이지만, 급격한 굴곡에서는 조각 사이가 벌어지거나 서로 겹칠 수 있다.
무작위성 추가: Transform Points
반복 배치가 지나치게 규칙적으로 보이면 Spline Sampler 뒤, Static Mesh Spawner 앞에 Transform Points를 연결한다.
이 노드는 입력 포인트의 위치·회전·크기를 지정한 범위 안에서 변화시킨다.


- Offset Min / Max: X·Y·Z 위치에 더할 최소·최대 범위
- Rotation Min / Max: Pitch·Yaw·Roll에 적용할 최소·최대 회전 범위
- Scale Min / Max: 각 축의 최소·최대 크기 범위
최솟값과 최댓값 사이에서 값이 선택되므로, 자연물처럼 조금씩 다른 배치를 만들 수 있다.
단, 울타리와 벽처럼 서로 맞닿아야 하는 오브젝트에 큰 Offset, Rotation, Scale Jitter를 주면 연결부가 쉽게 벌어진다.
이런 오브젝트는 회전과 크기 변화를 매우 작게 두고, 풀·돌·나무처럼 연결성이 중요하지 않은 에셋에서 범위를 더 넓히는 편이 좋다.

Unreal Modeling Mode
Unreal Engine의 Modeling Mode는 전문 DCC 도구와 같은 수준의 전체 모델링 파이프라인을 목표로 하기보다, 레벨 안에서 메시를 만들고 수정하는 데 필요한 실용적인 기능을 제공한다.
모델링 프로그램에서 완성한 에셋을 Import한 뒤 창문 위치가 조금 어긋나거나, 피벗이 맞지 않거나, 촬영용 벽에 임시 구멍이 필요한 경우가 있다.
이런 수정은 외부 프로그램으로 돌아가 Reimport하는 것보다 레벨 안에서 처리하는 편이 빠르다.
Create: 기본 도형과 Subdivision
Modeling Mode의 Create 카테고리에서는 Box, Sphere, Cylinder 같은 기본 3D 도형을 생성할 수 있다.
도형을 만들 때 크기뿐 아니라 각 방향의 Subdivision을 설정해 면 수를 조절한다.


Subdivision이 높을수록 면과 정점이 많아져 Sculpt나 Warp에서 더 부드러운 결과를 얻을 수 있다.
반대로 단순한 벽이나 블록아웃에 처음부터 지나치게 높은 값을 주면 편집과 렌더링 비용만 커진다.

목적이 단순 배치라면 낮게, 뒤에서 변형할 형상이라면 필요한 축 위주로 높이는 것이 좋다.
Stairs: 계단 빠르게 만들기
Stairs 도구를 사용하면 계단을 한 단씩 복제하지 않고 주요 치수만으로 생성할 수 있다.


- Stairs Type: 직선·곡선·나선형, 채워진 형태 또는 단이 떠 있는 형태처럼 계단의 생성 방식을 선택
- Number of Steps: 계단 단수; 값이 커질수록 단이 많아짐
- Step Width: 계단을 정면에서 보았을 때 좌우 폭
- Step Height: 한 단이 올라가는 높이; 직선 계단에서는 대략 단수와 함께 전체 상승 높이를 결정
- Step Depth: 발을 딛는 한 단의 앞뒤 깊이; 직선 계단에서는 단수와 함께 전체 진행 길이를 결정
목적은 최종 건축 설계보다 블록아웃과 동선 확인이다.
사람 크기의 기준 액터를 옆에 두고 Step Height와 Step Depth를 조정하면 비례를 판단하기 쉽다.
CubeGrid Tool: 건물 외벽과 구멍 만들기
CubeGrid는 격자를 기준으로 블록을 밀고 당겨 건물 외벽 같은 형태를 빠르게 만드는 도구다.


면 또는 셀을 선택한 뒤 E를 누르면 그리드 방향으로 지오메트리를 끌어내고, Q를 누르면 안쪽으로 밀어 넣는다.
따라서 화면 방향에 따라 ‘높이를 올리고 내리는 것’처럼 보이지만, 정확히는 현재 그리드 방향으로 Pull과 Push를 수행하는 것이다.
Ctrl + E와 Ctrl + Q는 그리드 크기를 바꾼다.


같은 방식으로 벽 일부를 안쪽으로 끝까지 밀어 창문이나 출입구 구멍을 만들 수 있다.
새로 만든 CubeGrid 메시뿐 아니라 Starter Content에 포함된 기본 벽처럼 편집 가능한 Static Mesh에도 Modeling 도구를 적용할 수 있다.

Lumen을 고려한 벽 구성
Lumen은 실내를 하나의 거대한 메시로 만든 경우보다 벽, 바닥, 천장을 분리한 모듈형 지오메트리에서 Surface Cache와 Distance Field 계산을 더 안정적으로 수행한다.
따라서 복잡한 방 전체를 한 메시로 묶지 않고 적절히 분리하는 것이 권장된다.
Extrude Polygon & Extrude Path
Extrude Polygon은 뷰포트에서 점을 찍어 2D 윤곽을 만든 뒤 높이를 지정해 입체 오브젝트로 만드는 도구다.
정해진 Primitive만으로 만들기 어려운 바닥 형태, 단순한 건물 매스, 임시 플랫폼을 빠르게 만들 수 있다.
윤곽을 닫고 높이를 주면 내부가 채워진 볼륨 형태가 된다.


안이 비어 있는 외벽처럼 경로를 따라 벽을 만들 때 사용하는 도구는 Extrude Path다.
선형 경로에 폭과 높이를 적용해 벽이나 램프 형태를 만들기 때문에, 면적 전체가 채워지는 Extrude Polygon과 구분해야 한다.



두 도구 모두 점의 순서와 윤곽의 교차 여부가 결과에 영향을 준다.
복잡하게 선이 겹치면 면 생성이 예상과 달라질 수 있으므로, 처음에는 단순한 윤곽으로 결과를 확인하고 세부 점을 추가하는 편이 좋다.
회전체 만들기: Revolve Path
Revolve Path는 2D 단면 경로를 그리고 지정한 축을 중심으로 회전시켜 입체 오브젝트를 만든다.
컵, 병, 기둥처럼 중심축을 기준으로 대칭인 형상에 적합하다.

축의 위치가 단면과 너무 멀면 가운데가 비어 있는 큰 회전체가 되고, 단면이 축을 가로지르면 겹치는 지오메트리가 생길 수 있다.
따라서 회전 전에 단면과 기준축의 상대 위치를 확인해야 한다.
Draw Spline & Mesh Spline
Draw Spline으로 뷰포트에 점을 찍어 원하는 경로를 만든다.

Draw Mode에 따라 탄젠트를 직접 조절하거나 자동으로 곡선을 만들 수 있으며, 닫힌 경로가 필요하면 Loop를 활성화해 시작점과 끝점을 연결한다.

이 단계에서 생성한 Spline은 위치와 방향을 저장하는 경로 데이터이므로 그 자체로 두께를 가진 메시가 되지는 않는다.
Spline을 선택하고 Mesh Spline을 실행하면 경로를 따라 삼각형 메시가 생성된다.
Thickness를 조절하면 Spline 주변의 두께가 바뀌어 튜브, 케이블, 테두리 같은 입체 오브젝트를 만들 수 있다.
닫힌 Spline에서는 시작점과 끝점의 연결 상태도 함께 확인해야 한다.


Tri Select: 삼각형 면 선택하기
Unreal Engine은 임포트된 폴리곤이 사각형처럼 보이더라도 최종 렌더링 단계에서는 삼각형으로 처리한다.
그래서 Select - Tri Select에서 오브젝트 표면을 선택하면 삼각형 단위로 표시되는 것이 맞다.

브러시로 면을 칠하면 선택 영역이 빨간색으로 표시된다.
Accept를 누르면 선택이 확정되어 노란색으로 표시되고, 이전에 비활성화됐던 Extrude, Inset, Outset, Bevel 같은 선택 영역용 도구를 사용할 수 있다.


Tri Select Brush는 Shift를 누른 채 칠해 선택 영역을 제거할 수 있다.
Tri Select의 Selection Mode

| Selection Mode | 기능 |
| Brush | 브러시가 닿은 표면의 삼각형 선택 |
| Volumetric Brush | 화면에 보이는 표면만이 아니라 브러시의 3D 볼륨 안에 들어온 삼각형을 선택; 뒤쪽 면까지 포함될 수 있음 |
| Angle Filtered | 처음 맞은 면과 노멀 각도가 지정 허용 범위 안에 있는 면만 브러시 영역에서 선택; 모서리를 넘지 않고 비슷한 방향의 면을 고르기 좋음 |
| Visible | 현재 뷰에서 보이는 삼각형만 브러시 영역에서 선택; 뒤쪽 면의 동시 선택을 줄임 |
| All Connected | 브러시가 닿은 삼각형과 토폴로지상 연결된 모든 삼각형 선택 |
| All in Group | 브러시가 닿은 면이 속한 연결 PolyGroup 전체 선택 |
| By Material (Connected) | 선택한 면과 같은 재질을 사용하면서 연결된 영역 선택 |
| By Material (All) | 연결 여부와 관계없이 같은 재질을 사용하는 모든 삼각형 선택 |
| By UV Island | 선택한 면과 같은 UV 아일랜드에 속한 삼각형 선택 |
| All Within Angle | 브러시 크기보다 노멀 각도 조건을 기준으로, 허용 범위 안의 연결 면을 넓게 선택 |
Selection Edits
선택을 만든 뒤에는 Selection Edits에서 영역을 정리한다.

| 버튼 | 기능 |
| Clear | 현재 선택 모두 해제 |
| Select All | 편집 대상의 모든 삼각형 선택 |
| Invert | 선택 영역과 비선택 영역을 서로 바꿈 |
| Grow | 선택 경계의 정점에 닿는 인접 삼각형을 포함해 선택 영역을 한 단계 확장 |
| Shrink | 선택 경계에 닿는 삼각형을 제거해 영역을 한 단계 축소 |
| Flood Fill | 공유 엣지로 연결된 삼각형을 따라 선택을 전체 연결 파트로 확장 |
| Largest Tri Count Part | 연결 파트 중 삼각형 수가 가장 많은 부분 선택 |
| Largest Area Part | 연결 파트 중 실제 표면적이 가장 큰 부분 선택 |
| Optimize Border | 가늘게 튀어나온 선택이나 작은 오목 부분을 정리해 경계 단순화 |
| Expand to Materials | 현재 선택된 면과 같은 재질을 사용하는 면으로 선택 확장 |
Extrude, Inset, Outset, Bevel: 선택 영역에 적용
선택이 적용되면 이전에 비활성화됐던 편집 도구를 사용할 수 있다.

- Extrude: 선택 면을 바깥쪽 또는 안쪽으로 밀어 새로운 측면을 만듦
- Inset: 선택 영역의 경계 안쪽에 새로운 테두리를 만듦
- Outset: 선택 경계를 바깥 방향으로 확장한 테두리를 만듦
- Bevel: 날카로운 경계를 여러 면으로 깎아 완만하게 만듦; Bevel Distance로 깎이는 폭 조절





C4D의 유사 기능을 사용해 본 경우 조작 결과가 익숙하다.
다만 언리얼에서는 선택이 삼각형 또는 PolyGroup 기준으로 계산되므로, 적용 전 선택 경계가 의도한 모양인지 확인한다.
XForm - Merge & Actor - Merge Actors 차이
두 개 이상의 오브젝트를 선택한 뒤 XForm - Merge를 실행하면 여러 입력 메시를 하나의 메시 오브젝트로 결합할 수 있다.
단순히 편집 대상으로 하나의 형상을 만들고 싶을 때 편리하다.



반면 상단 메뉴의 Actor - Merge Actors는 선택 액터를 새 Static Mesh 에셋으로 통합하면서 병합 방식, 재질, LOD 같은 에셋 생성 옵션을 다루는 워크플로다.

XForm - Merge로 원하는 결과가 나오지 않거나, 렌더링용 통합 에셋과 세부 병합 설정이 필요할 때 Merge Actors를 고려한다.
두 기능은 이름은 비슷하지만 출력 목적이 다르다.
여러 오브젝트를 하나로 합치면 관리가 단순해질 수 있지만, 개별 수정과 교체는 어려워진다.
반복 사용 중인 모듈을 너무 이른 단계에서 합치기보다 배치가 확정된 뒤 출력 복사본을 만드는 편이 안전하다.
XForm - Split
XForm - Split은 하나의 메시 안에 들어 있는 형상을 개별 오브젝트로 분리한다.
Split Method에서 연결된 지오메트리, PolyGroup, 재질 등 현재 UI가 제공하는 기준을 선택하고 미리보기를 확인한 뒤 Accept한다.

분리 기준에 따라 결과 수가 달라진다.
외형상 떨어져 있어도 정점이나 얇은 면으로 연결되어 있으면 하나의 연결 파트로 판단될 수 있고, 재질 기준을 선택하면 붙어 있는 메시도 재질 슬롯에 따라 나뉠 수 있다.
원하는 형상이 표시됐을 때 적용해야 한다.
Pattern으로 Line, Grid, Circle 배열하기
오브젝트를 선택하고 Pattern을 실행하면 C4D의 Cloner처럼 같은 형상을 규칙적으로 복제할 수 있다.
- Line: 한 방향을 따라 일직선으로 배열한다.
- Grid: 두 방향 또는 세 방향의 격자로 배열한다.
- Circle: 중심과 반지름을 기준으로 원 또는 원호 형태로 배열한다.






각 방식에서 방향, 간격, 개수 등을 조절할 수 있다.
Translation, Rotation, Scale의 Jitter를 사용하면 각 복제본에 제한된 무작위성을 추가할 수 있다.


동일한 오브젝트가 너무 규칙적으로 보이는 상황에 유용하지만, 건축 부품처럼 정렬이 중요한 대상에서는 Jitter를 최소화한다.
이번 작업에서 생성한 Pattern 결과는 복제본별 컴포넌트가 유지되어 일부를 따로 삭제하거나 수정할 수 있었다.


그러나 이것이 항상 고정된 출력은 아니다.
Output 설정에 따라 개별 액터, 여러 Static Mesh Component, 또는 Instanced Static Mesh Component로 만들 수 있으므로, 후속 편집이 필요한지와 성능이 중요한지를 기준으로 출력 방식을 확인해야한다.
Circle에서 혼동하기 쉬운 설정은 각도 범위와 회전 보간이다.
Start Angle과 End Angle은 복제본이 배치되는 원호의 시작과 끝 범위를 정한다.
예를 들어 전체 원이 아니라 반원만 채우는 데 사용한다.
반면 Start Rotation과 End Rotation은 Interpolate가 활성화됐을 때 첫 복제본에서 마지막 복제본까지 각 오브젝트의 회전값을 점진적으로 바꾼다.
즉, 지정한 시작 회전에서 끝 회전까지 각 복제본이 순차적으로 보간되어 배치된다고 정리할 수 있다.


Deform - Vertex Sculpting
Vertex Sculpt는 Landscape Sculpting과 비슷하게 브러시로 메시 표면을 밀고 당긴다.


여러 Sculpting Brush를 선택해 부풀리기, 누르기, 평탄화, 스무딩과 같은 변형을 수행한다.

이 도구는 기존 정점을 이동하므로 원본 메시의 정점이 부족하면 브러시 형태가 부드럽게 나오지 않는다.
저해상도 메시라면 먼저 Remesh 또는 Subdivide로 필요한 밀도를 확보하고 작업 해야한다.
Sculpt 과정에서 표면 노멀을 다시 확인해야 할 수도 있다.
Deform - Dynamic Sculpting
Dynamic Sculpt는 브러시로 변형하는 동안 필요한 부분을 로컬 Remeshing해 지오메트리를 추가할 수 있다.
기존 정점만 움직이는 Vertex Sculpt보다 부드럽고 세부적인 조형에 적합하다.


Sculpting - Brush Type에서 목적에 맞는 브러시를 고른다.

장점은 필요한 곳에 해상도를 늘릴 수 있다는 것이고, 주의점은 토폴로지가 달라진다는 것이다.
Remesh가 UV와 기존 속성에 영향을 줄 수 있으므로 완성된 텍스처 에셋을 수정할 때에는 Preserve UV 관련 옵션과 결과를 확인해야 한다.
Deform - Smooth
Smooth는 선택한 오브젝트 표면을 전체적으로 부드럽게 만든다.
Interactive Smoothing Options - Smoothing 값으로 강도를 조절한다.


울퉁불퉁한 버텍스 분포를 완화하거나 Sculpt 흔적을 정리할 때 사용한다.
강도가 지나치게 높으면 의도한 모서리와 실루엣까지 둥글게 무너질 수 있다.
작은 값부터 올리고, 단단한 경계를 보존해야 하는 형상에서는 적용 범위와 반복 횟수를 줄인다.
Deform - Offset
Offset은 각 정점을 표면 노멀 방향으로 이동시킨다.

Offset - Distance가 양수이면 일반적으로 바깥 방향으로 팽창하고, 음수이면 노멀 반대 방향인 안쪽으로 이동한다.


닫힌 오브젝트에서는 음수 값이 전체 형상을 줄여 얇아지는 것처럼 보일 수 있다.
하지만 열린 한 장짜리 표면은 두께가 바뀌기보다 표면 위치가 안쪽으로 이동할 수 있다.
일정한 두께를 만들려는 목적이라면 단순 Offset과 Create Shell 동작을 구분해야 한다.
Deform - Lattice
Lattice는 오브젝트를 둘러싸는 3차원 제어 격자를 만든 뒤 격자점을 움직여 메시를 변형한다.
각 축의 Resolution은 메시 자체의 폴리곤 수가 아니라 변형을 조절할 격자점의 밀도를 정한다.
Resolution이 높을수록 더 좁은 구간을 세밀하게 조절할 수 있고, 낮을수록 넓은 범위가 함께 움직인다.


원하는 격자점을 선택하고 기즈모로 이동·회전·스케일하면 주변 메시가 함께 따라간다.
C4D의 FFD 계열 Deformer와 비슷하게 전체 비율을 유지하며 넓은 형태를 구부리거나 좁히는 데 적합하다.

Height 1000, Height Subdivisions 100 Cube로 Warp 확인하기
Warp의 차이를 보기 위해 Height 1000, Height Subdivisions 100의 긴 Cube를 만든다.
세로 방향 정점이 충분해야 휘어지는 곡선이 부드럽게 보이기 때문이다.


Cube를 선택하고 Deform - Warp를 실행하면 기본 모드인 Bend가 적용되어 오브젝트가 휘어진다.

뷰포트에 표시되는 연녹색 축과 핸들을 움직이면 변형의 중심축과 적용 구간, 방향을 바꿀 수 있다.
단순히 수치만 바꾸는 것보다 어떤 축을 기준으로 계산되는지 보면서 조절하는 것이 중요하다.
- Bend: 지정 축 구간을 곡선으로 휨
- Flare 또는 Squish 계열 모드: 축을 따라 단면을 눌러 압축하거나 반대로 팽창시키는 형태를 만듦
- Twist: 축을 따라 단면을 점진적으로 회전시켜 꼬인 형태를 만듦




Lower Bound와 Upper Bound는 변형이 계산되는 축 구간의 아래쪽과 위쪽 한계를 정한다.
범위를 좁히면 일부 구간에 변형이 집중되고, 넓히면 긴 범위에 분산된다.
Bend Degrees는 Bend 모드에서 전체 휘어지는 각도를 조절한다. 값의 부호를 바꾸면 반대 방향으로 휜다.

Height Subdivisions를 충분히 준 큐브는 Bend가 매끄럽지만, 같은 변형을 저해상도 큐브에 적용하면 몇 개의 직선 구간처럼 꺾여 보일 수 있다.
반대로 세분화를 지나치게 높이면 결과는 부드러워도 삼각형 수가 빠르게 증가하므로 필요한 축에만 값을 주는 것이 좋다.
Model - Subdivide
기본 Cube를 생성해 선택한 뒤 Model - Subdivide를 실행한다.


Subdivision Level은 세분화 계산을 반복하는 단계다.
값이 올라갈수록 더 많은 폴리곤이 생성되고, 방식에 따라 표면이 부드러워지거나 원래 모양을 유지한 채 분할된다.


이 도구는 메시 자체의 지오메트리를 직접 늘리므로 레벨 값을 한 단계 올릴 때마다 삼각형 수가 크게 증가할 수 있다.
공식 문서에서 안내하는 Triangle Count 제한과 미리보기를 확인해야 한다.
이 작업은 일반 Modeling Mode 편집 흐름이 Static/Dynamic Mesh를 대상으로 하고 Skeletal Mesh의 스키닝 구조를 유지하는 세분화 작업이 아니다.
Model
두 개 이상의 오브젝트를 선택한 뒤 Model 카테고리를 보면 활성화되는 도구가 달라진다.


한 오브젝트의 표면을 편집하는 도구와 두 입력 사이의 관계를 계산하는 Boolean처럼 필요한 입력 개수가 다르기 때문이다.
버튼이 비활성화됐다면 도구 오류보다 현재 선택 개수와 액터 유형을 먼저 확인한다.
Boolean: 두 오브젝트의 부피 계산
두 오브젝트를 선택하고 Boolean을 실행하면 선택 순서에 따라 첫 번째 메시가 A, 두 번째 메시가 B가 된다.

Operation에서는 계산 방식을 선택한다.

- Difference A - B: A에서 B와 겹치는 부피를 제거; A에 B 모양의 구멍을 뚫는 결과
- Difference B - A: B에서 A와 겹치는 부피를 제거; 같은 두 메시라도 남는 기준이 반대가 됨
- Intersection: A와 B가 서로 겹치는 부피만 남김
- Union: A와 B를 하나의 합쳐진 부피로 만듦


Boolean은 교차하는 폐쇄형 솔리드에서 가장 예측 가능한 결과를 만든다.
열린 면, 두께가 없는 평면, 뒤집힌 노멀, 자기 교차가 있는 메시에서는 구멍이나 불필요한 조각이 생길 수 있다.
실행 전에 두 오브젝트가 실제로 겹치는지 확인하고, 미리보기에서 새 경계가 깨지지 않았는지 살펴본 뒤 Accept를 눌러 적용해야한다.
Boolean은 원하는 구멍이 바로 보이기 때문에 단순해 보였지만, 입력 메시가 조금만 열려 있어도 경계가 예상과 달라졌다.
Preview에서 단면과 남는 오브젝트를 한 바퀴 확인한 뒤 Accept하는 습관이 재작업을 줄일 수 있다.
PolyCut & Plane Cut & Mirror
PolyCut은 선택한 메시를 Shape에서 지정한 도형으로 자른다.


기본 Shape는 Circle이므로 원형 구멍이나 원형 절삭 결과를 빠르게 만들 수 있다.
위치, 회전, 크기를 바꿔 절삭 영역을 맞출 수 있다.


Plane Cut은 지정한 평면을 기준으로 메시를 자른다.


평면의 기즈모를 이동하거나 회전해 자를 방향을 정하고, 어느 쪽을 남길지 확인한다.
오브젝트의 바닥을 평평하게 만들거나 일부를 잘라내는 데 사용할 수 있다.
Mirror는 지정한 기준면을 중심으로 형상을 대칭 복사한다.


결과는 하나의 메시로 만들어질 수 있으며, 중앙 경계가 정확히 맞지 않으면 겹치거나 틈이 생길 수 있다.

기준면을 대칭축에 정확히 놓고 Weld 또는 경계 병합 옵션이 있는지 확인한다.
Mesh - Fill Holes
면을 삭제하거나 Boolean 이후 열린 경계가 생겼다면 Mesh - Fill Holes로 구멍을 메울 수 있다.



도구는 열린 경계 루프를 찾아 새 면을 생성한다.
단순한 평면 구멍은 비교적 깔끔하게 채워지지만, 경계가 복잡하거나 여러 루프가 얽혀 있으면 만들어지는 삼각형 흐름이 고르지 않을 수 있다.
구멍을 채운 뒤에는 표면 방향과 노멀을 확인하는 게 좋다.
겉면이 어둡게 보이거나 뒤에서만 보인다면 새 면의 노멀 방향이 뒤집혔을 가능성이 있다.
Mesh - Tri Select의 Mesh Edit 기능
Mesh 카테고리의 Tri Select에서도 Select 카테고리와 같이 삼각형을 고르고 후속 편집을 할 수 있다.
선택된 면을 삭제하거나 분리하고, 노멀을 뒤집는 작업에 적합하다.

| Mesh Edit | 기능 |
| Create Polygroup | 선택한 삼각형에 새로운 고유 PolyGroup을 지정 후, 그룹 단위 선택과 편집에 사용할 수 있음 |
| Delete | 선택한 삼각형을 삭제해 열린 경계를 만듦; 필요하면 Fill Holes로 후처리 |
| Disconnect | 선택 영역을 주변 삼각형에서 연결 해제; 선택 경계에 새로운 메시 경계가 생기지만 같은 오브젝트 안에 남음 |
| Duplicate | 선택 영역으로 새 Mesh Object를 만듦; 원본 선택 면은 유지됨 |
| Flip Normals | 선택한 삼각형의 앞뒤 방향을 뒤집음; 선택 경계에는 하드 노멀이 생길 수 있음 |
| Separate | 선택 면을 원본에서 제거하고 별도의 메시 오브젝트로 만듦 |
| Smooth Border | 선택 경계를 스무딩해 울퉁불퉁한 테두리를 완화 |
Delete와 Flip Normals는 결과가 바로 눈에 보이지 않는 각도도 있다.
삭제 뒤에는 뒷면과 구멍을 확인하고, 노멀 반전 뒤에는 조명 방향을 바꾸거나 양쪽에서 표면을 확인한다.
Triangle Edit & Tri Select의 차이
두 도구는 모두 삼각형 메시를 편집하지만 접근 방식이 다르다.
Tri Select는 Brush, Visible, Angle Filtered, Material, UV Island 같은 규칙으로 넓은 면 영역을 빠르게 선택하고 그 선택에 편집 명령을 적용하는 데 강하다.
불규칙한 조형 표면을 칠하듯 고르거나 연결 파트를 한 번에 선택하기 좋다.
Triangle Edit은 정점, 엣지, 면을 직접 선택해 기즈모로 이동하고 형태를 바꾸는 저수준 편집에 더 가깝다.
드래그 또는 Marquee로 요소를 고른 뒤 위치를 옮겨 창문의 폭과 높이, 꼭짓점 위치 같은 구체적인 형상을 수정할 수 있다.

면을 편집하는 경우에는 Select Faces만 활성화하면 불필요한 정점이나 엣지가 함께 선택되는 것을 막을 수 있다.

창문의 위치와 크기처럼 꼭짓점을 직접 움직여야 하는 작업은 Select Vertices 또는 UI에 표시되는 점 선택 모드를 활성화하는 편이 정확하다.

Triangle Edit에서 면만 필터링한 뒤 창문 주변을 옮기면 의도하지 않은 점 선택이 줄었다. 반대로 창문의 폭을 미세하게 조절할 때에는 Vertex 선택으로 바꿔 모서리 점만 움직이는 것이 더 빠르다.
이번 포스트의 PCG 작업은 Spline - Point - Mesh의 데이터 흐름을 이해하는 것이 핵심이었다.
Get Spline Data로 원하는 경로를 찾고, Spline Sampler로 배치 포인트를 만들며, Static Mesh Spawner가 그 포인트에 메시를 생성한다.
랜드스케이프 변화에 대응하려면 Projection으로 높이와 회전을 다루고, Transform Points로 필요한 범위 안에서 변주를 추가한다.
Modeling Mode에서는 어떤 도구를 선택하느냐보다 현재 메시의 상태와 편집 단위를 먼저 파악하는 것이 중요했다.
정점이 충분한지, 하나의 메시인지 여러 액터인지, 삼각형·PolyGroup·재질 중 어떤 기준으로 선택할지, 결과가 원본에 적용되는지 새 에셋으로 생성되는지를 확인하면 도구가 훨씬 예측 가능해진다.
PCG와 Modeling Mode 모두 외부 프로그램을 완전히 대체하는 기능이라기보다 반복 배치와 현장 수정에 드는 시간을 줄이는 도구다.
고정된 작은 촬영 배경은 직접 배치하고, 규칙적으로 반복되거나 수정이 잦은 부분은 PCG로 처리하며, 레벨 안에서 발견한 단순한 메시 문제는 Modeling Mode로 해결하는 식으로 역할을 나누는 것이 효율적이다.
'3D Video Production > Unreal Engine (5.6.1)' 카테고리의 다른 글
| UE 5.6 실내 모델링 & C4D 아치형 창문 만들기 (0) | 2026.09.08 |
|---|---|
| UE 5.6 Modeling Mode: 메시 결합·UV·노멀·머티리얼 수정하기 (0) | 2026.09.07 |
| UE 5.6 Foliage & Motion Design (0) | 2026.09.03 |
| UE 5.6 Landscape: Landmass를 활용한 지형 제작 (0) | 2026.09.02 |
| UE 5.6 Landscape: Height Map 불러오기부터 Water Body까지 (0) | 2026.09.01 |