UE5 C++ | Warehouse Wreckage, 지오메트리 브러쉬를 통한 간단한 맵 (유데미)
언리얼 강의 중 Section 2를 정리한 세번째 글입니다.
UE5 C++ | Warehouse Wreckage, 지오메트리 브러쉬를 통한 간단한 맵 (유데미)
강의 정보 🎓
- 강의명: Unreal Engine 5 C++ Developer: Learn C++ & Make Video Games
- 플랫폼: 유데미
- 현재 섹션: Section 2 - Warehouse Wreckage
- 주요 내용: 지오메트리 브러쉬를 통해서 간단한 창고를 구현하였다.
지오메트리 브러쉬 생성 과정 🏭
- 액터 배치 패널 클릭(Place Actors Panel)
- 지오메트리 탭에 박스 드래그&드랍
- 브러쉬 세팅 X, Y, Z값 수정 (언리얼은 기본 cm단위임)
- 최대한 스케일은 건들지 말기 → Brush Setting을 건드린다.
- Wall Brush와 Wall Subtract Brush
- 기존 Brush를 복사하고 기존 Brush크기를 20씩 늘린다.
- 복사한 Brush의 브러쉬 타입을 Subtractive로 설정하게 되면 내부에 간단한 창고를 볼 수 있다.
- 이를 활용해 창문을 생성
- 복사할 대상을 선택하고 Alt와 함께 이동시키면 복사가 된다.
- 머테리얼을 끌어다 쓰면 텍스쳐가 적용되는 것을 볼 수 있다.
스케일을 건드리지 말아야 하는 이유 ⚠️
언리얼에서는 지오메트리(브러시) 작업 시 Transform -> Scale
값을 변경하는 대신, Brush Settings에서 X, Y, Z 값을 조정하는 것이 권장된다.
왜 스케일을 건들면 안 되나요?
- 역행렬 계산 시 정확도 문제
- 비균등 스케일(예: X=2, Y=1, Z=0.5 등)이 적용되면, Transform의 역행렬 계산이 불안정해질 수 있다고 한다.
- 예를들어 물리 연산, 라이트 계산 등에서 문제가 발생할 수 있다고 한다.
- 브러시 부울 연산 오류 가능성
- 지오메트리 브러시는 내부적으로 CSG(Constructive Solid Geometry)를 사용하는데, 이 과정에서 비정규화된 스케일은 예상치 못한 결과를 초래할 수 있다.
- 스케일은 시각적만 변화시킴
Transform -> Scale
은 모델의 물리적 크기를 바꾸는 것이 아니라,단순히 시각적인 크기만 변경하는 것이기 때문에, UV 매핑, 라이트맵 해상도, 콜리전 등 실제 계산에는 영향을 안 주거나 문제를 일으킬 수 있다.
지오메트리 브러쉬의 역할 📌
- 언리얼 엔진 5.3.2 기준으로 지오메트리 브러쉬(Geometry Brush)는 BSP(브러시 기반의 지오메트리)를 생성하는 엑터이다.
- 주된 역할은 레벨 디자인 초기 단계에서 간단한 형태의 공간을 빠르게 만들거나 테스트할 때 사용된다.
주요 특징 및 역할
항목 | 설명 |
---|---|
빠른 프로토타이핑 | 복잡한 메시를 만들지 않고도 벽, 바닥, 방 등의 단순 구조를 빠르게 구현할 수 있음 |
CSG 연산 지원 | Additive(추가) / Subtractive(제거) 브러시를 사용해 공간을 생성하거나 파낼 수 있음 |
빌드 필요 | BSP는 빌드 시 조명이 굽히거나(CPU Lightmass) 충돌 처리되므로, 성능 테스트나 프리뷰용으로 적합 |
게임 최종용 아님 | 브러시 기반 지오메트리는 최적화에 불리해 최종 게임에서는 Static Mesh로 교체하는 것이 일반적 |
예: 레벨의 기본 구조를 설계할 때 방, 복도, 홀 같은 공간을 임시로 만들고 테스트할 수 있으며 동굴 입구를 파내거나, 건물 벽에 구멍을 뚫는 등의 부울 연산이 필요할 때 활용 가능하다.
참고
UE5에서는 나나이트(Nanite)와 고해상도 메시가 일반화되면서 브러시 기반 설계는 다소 구식으로 취급되고, 대부분의 제작자는 모델링 툴이나 모델링 엑터(Modeling Tools)를 통해 메시 기반으로 직접 편집하는 경우가 많다고한다.
일반 모델(메쉬)과의 차이 ✅
언리얼 엔진 5.3.2 기준으로 지오메트리 브러쉬(Geometry Brush)와 일반 모델(Static Mesh 등)의 차이를 구조, 사용 목적, 퍼포먼스 측면에서 아래와 같이 정리된다:
1. 구조적 차이
항목 | 지오메트리 브러쉬 (BSP/Brush) | 일반 모델 (Static Mesh 등) |
---|---|---|
데이터 형태 | 엔진 내에서 CSG 연산을 위한 내부 형식 | 외부 DCC 툴(Blender, Maya 등)이나 UE 모델링 도구로 만든 메시 |
변형 가능성 | 브러시 툴로 기본 형태만 변형 가능 (박스, 원기둥 등) | 자유롭게 모델링된 복잡한 형태 지원 |
텍스처 매핑 | 자동 UV, 수동 조정 불가 | UV 직접 설정 가능 |
2. 제작 및 워크플로우 차이
항목 | 지오메트리 브러쉬 | 일반 모델 |
---|---|---|
제작 도구 | 언리얼 에디터 내부에서 생성 | 외부 3D 툴 or UE의 Modeling Tools |
변형 및 편집 | 브러시 설정값 기반 (단순) | 정점, 면 단위까지 정밀 편집 가능 |
CSG 지원 | O (Additive/Subtractive) | X (부울 연산 별도 처리 필요) |
3. 퍼포먼스 및 최종 게임 반영
항목 | 지오메트리 브러쉬 | 일반 모델 |
---|---|---|
최적화 | 퍼포먼스 비효율적, 나이트나이트 불가 | 나나이트, LOD, 컬링 등 최적화 유리 |
게임에서 사용 | 프로토타입용, 실제 게임에서는 거의 사용 안 함 | 실제 게임 환경 구성 시 주력 사용 |
컬리전 처리 | 자동 생성되지만 정확도 낮음 | 커스텀 컬리전 설정 가능 |
결론
- 지오메트리 브러쉬: 빠른 테스트와 CSG 기반 구조 설계용. 개발 초기에 유용.
- 일반 모델 (Static Mesh): 실제 게임 제작에 사용. 최적화와 비주얼 품질 모두 유리.
요약 및 느낀점 📝
- 지오메트리 브러쉬를 통해 간단한 공장 맵을 만들어 보았다.
- 지오메트리 브러쉬는 간단한 프로토 타입으로 테스트 느낌의 공간을 빠르게 만들 수 있다.
느낀점 💡
지오메트리 브러쉬에 대한 내용을 GPT한테 물어보니 다음처럼 상세히 알 수 있었다. 간단하게 공간을 채울 수 있다는 점은 좋은 것 같다.
다음 포스트 🧭
다음 포스트에서는 공장에 액터를 배치하고 발사체를 발사하면서 충돌을 확인할 예정
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.