모델링 모드 개요

모델링 에디터 모드의 기본 사항을 살펴봅니다.

Choose your operating system:

Windows

macOS

Linux

모델링 에디터 모드(Modeling editor mode)는 언리얼 엔진에서 직접 스태틱 메시를 생성 및 스컬프팅하기 위한 툴세트를 제공합니다. 이를 사용하여 새 메시를 생성하고, 빠르게 레벨 지오메트리의 프로토타입을 만들고, 기존 모델을 편집하여 월드에 다양성을 더할 수 있습니다. 이 개요에서는 이러한 툴과 워크플로에 대한 핵심 개념, 액세스 방법, 기본적인 작업 방법에 대해 간략하게 설명합니다.

모델링 에디터 액세스하기

모델링 에디터 모드를 사용하려면 모드 선택(Select Mode) 드롭다운을 클릭하고 모델링(Modeling) 을 선택합니다. 또는 SHIFT+5 를 누르면 이 모드로 즉시 전환할 수 있습니다.

툴바 및 '모델링' 패널이 표시됩니다. 툴바에서 툴을 선택하면 프로퍼티가 '모델링' 패널에 표시됩니다. 이 패널을 사용하여 셰이프 생성 또는 변경사항을 커밋하기 전에 툴의 출력을 환경설정할 수 있습니다.

핵심 개념 이해하기

모델링 에디터에서 제공하는 대부분의 툴은 다른 모델링 소프트웨어와 비슷하지만 모델링 에디터가 메시 편집을 구성하는 방법에는 몇 가지 중요한 차이가 있으며, 작업을 시작하기 전에 이를 알아 두는 것이 좋습니다.

트라이앵글과 폴리그룹

언리얼 엔진은 모든 모델을 트라이앵글화된 메시로 렌더링합니다. 즉, 메시를 임포트하거나 생성할 때 표면이 이미 다른 환경에서 정의되었는지 여부와 무관하게 자동으로 트라이앵글로 분할됩니다. 이를 통해 다음과 같은 사항을 보장할 수 있습니다.

  • UE는 렌더링할 수 없는 모델을 임포트하거나 생성할 수 없습니다.

  • 모든 그래픽 드라이버는 공통적으로 트라이앵글을 인식하므로 UE의 렌더링은 모든 플랫폼에서 포팅할 수 있습니다.

  • UE는 런타임에서 쿼드 또는 n각형을 트라이앵글로 리졸브하는 데 시간 및 리소스를 소모하지 않습니다.

그 결과 UE의 모델링 에디터에는 쿼드 또는 n각형의 개념이 없습니다. 트라이앵글이 엔진 내 모델링의 토대를 이룹니다. 따라서 대부분의 저레벨 편집 툴은 TriModel 카테고리에 있으며, 이는 전적으로 트라이앵글과 버텍스를 직접 선택 및 편집하는 기능을 기반으로 합니다.

언리얼 엔진은 쿼드 또는 n각형을 네이티브로 인식하지는 못하지만 이러한 기능을 모방하는 폴리그룹(PolyGroups) 을 지원합니다. 폴리그룹은 모델링 에디터에 포함된 다양한 툴에서 정의되고 폴리모델(PolyModel) 툴을 사용하여 조작할 수 있는 트라이앵글 컬렉션입니다. 로우 폴리곤 메시 및 블록아웃을 사용하여 작업하는 경우 폴리그룹은 원시 트라이앵글을 사용하여 작업하는 경우보다 직관적으로 표면과 인터랙션할 수 있는 방법을 제공합니다. 하지만 폴리그룹은 하이 폴리곤 메시에도 적용하는 것이 가능하며, 이를 통해 작업하기 까다로운 복잡한 메시 청크를 손쉽게 조작할 수 있습니다.

셰이프 툴을 사용하여 메시를 생성하는 경우 폴리그룹 모드(Polygroup Mode) 세팅을 사용하여 새 메시의 폴리그룹을 환경설정할 수 있습니다. 기본적으로 이는 셰이프별(Per Shape) 로 설정되며 전체 메시를 단일 폴리그룹으로 출력합니다. 하지만 면별(Per Face) 또는 쿼드별(Per Quad) 옵션을 사용하여 메시를 자동으로 인식 가능한 면 또는 쿼드 그룹으로 나눌 수도 있습니다. 이러한 그룹은 폴리모델 툴을 사용할 때 선택할 수 있습니다.

면별 폴리그룹

쿼드별 폴리그룹

이미지를 클릭하면 전체 크기로 표시됩니다.

이미지를 클릭하면 전체 크기로 표시됩니다.

또한 TriSel, GrpGen, GrpPnt 툴을 사용하여 폴리그룹을 생성할 수 있고, UV 툴은 메시의 UV 레이아웃을 바탕으로 폴리그룹을 생성할 수 있습니다.

이미지를 클릭하면 확대됩니다.

폴리그룹은 임의적인 특성을 가지므로 여러 개의 폴리그룹 레이어(PolyGroup Layer) 를 생성하여 동일한 모델에서 서로 다른 세트를 처리할 수 있습니다. 이렇게 환경설정하려면 어트리뷰트(Attribute) > AttrEd 툴을 사용하면 됩니다.

폴리그룹 레이어는 프로젝트 전체에 적용되는 것이 아니며 개별 스태틱 메시 에셋에 대해 생성됩니다. 즉, 서로 다른 두 메시가 동일한 폴리그룹 레이어를 갖는다고 가정할 수 없으며 필요에 따라 사례별로 정의할 수 있습니다.

툴, 실행 취소 히스토리, 변경사항 수락

모델링 에디터 모드의 메시 편집 툴 대부분은 메시에 변경사항을 즉시 적용하지 않습니다. 그 대신 변경된 메시의 프리뷰를 표시하며, 프롬프트로 취소(Cancel)수락(Accept) 버튼이 표시됩니다. 모델링 모드에서 나가거나 '취소' 를 누르면 변경사항은 버려지며 메시는 편집 시작 전의 모습으로 돌아갑니다. 수락 을 누르면 모델링 에디터가 변경사항을 적용합니다. 동일한 편집 세션 도중에 다른 모델링 툴을 선택하면 툴에서 변경사항을 적용합니다.

메시 편집 툴을 사용하는 도중에 언리얼 에디터는 툴이 수행한 개별 작업에 대한 실행 취소 히스토리를 유지합니다. 예를 들어 TriEd 또는 PolyEd 를 사용하여 돌출 작업을 여러 번 수행한 경우 실행 취소를 사용했을 때 가장 최근에 했던 작업부터 시작해서 편집의 각 히스토리를 거슬러 올라갑니다.

모든 툴의 세팅에는 툴 수락 시(On Tool Accept) 카테고리가 있으며, 이 카테고리를 통해 실행 취소 히스토리에서 모델링 작업에 적용할 사항을 환경설정할 수 있습니다. 기본적으로 '입력 처리(Handle Inputs)' 세팅은 입력 삭제(Delete Inputs) 로 설정되어 있습니다. 즉, 수락 을 눌렀을 때 언리얼 에디터는 메시 편집 세션을 단일 작업으로 취급하고,실행 취소(Undo) 를 누르면 마지막으로 수락 을 누른 이후 발생한 모든 변경사항을 되돌립니다. 모든 개별 변경사항 또는 일부를 유지하도록 입력 처리 를 변경할 수 있습니다.

메시, 에셋, 변경사항 유지 편집

모델링 모드에서 메시를 편집할 때 개별 메시 사본은 편집하지 않습니다. 그 대신 프로젝트의 '콘텐츠(Content) 폴더에 저장된 스태틱 메시 에셋의 인스턴스를 편집합니다. 여기에는 셰이프(Shapes)생성(Create) 카테고리에서 해당 툴로 생성된 메시가 포함되며, 이는 에셋을 Maps/_GENERATED 폴더에 배치합니다.

이 때문에 동일한 메시의 인스턴스가 여러 개 있을 수 있으며, 모델링 툴을 사용하여 이러한 인스턴스 중 하나를 편집할 수 있습니다. 이때 변경된 사항은 메시의 모든 사본에 적용됩니다. 따라서 주의 깊게 작업하지 않으면 원본이 손상될 수도 있습니다. 즉, 메시의 베리에이션을 생성하려고 했지만 메시를 덮어쓸 수도 있습니다.

레벨 에디터에서 복제 작업을 사용하는 대신 '생성' 카테고리에서 MshDup 툴을 사용하면 선택한 스태틱 메시 에셋의 복제본을 생성하고 이를 콘텐츠 폴더에 추가할 수 있습니다. 그러면 '뷰포트(Viewport)'에서 선택한 메시가 해당 에셋을 원본 대신 사용하게 됩니다. 이 툴을 사용하여 모델링 시작 전에 스태틱 메시 에셋을 복제하면 원본 에셋을 그대로 유지하면서 월드의 개별 스태틱 메시만 필요한 만큼 변경할 수 있습니다.

모델링 에디터 모드 사용하기

메시 생성하기

새 메시를 생성하려면 셰이프 카테고리에서 툴을 클릭하고 마우스 커서를 '뷰포트'로 움직입니다. 선택한 셰이프의 템플릿이 마우스 커서를 따라 레벨 그리드에 스냅됩니다. 게임 월드에서 메시를 추가할 위치를 클릭하면 에디터는 '모델링' 패널에서 환경설정된 파라미터로 해당 셰이프의 인스턴스를 생성합니다.

모델링 모드의 셰이프 툴

생성 그룹의 툴을 사용하여 메시를 생성할 수도 있습니다. 예를 들어 PolyExt 툴은 메시의 풋프린트를 드로한 다음 돌출시켜서 커스텀 3D 셰이프를 생성합니다.

모델링 모드에서 메시 생성하기

툴을 사용하여 메시를 생성하는 경우 출력 타입(Output Type)볼륨(Volume) 으로 변경하면 스태틱 메시 대신 트리거 볼륨이 생성됩니다.

메시 편집하기

모델링 에디터에 포함되어 있는 대부분의 툴은 게임 월드 내에서 기존 메시를 편집하는 것을 중심으로 빌드되어 있습니다. 예를 들어 TriEd 또는 PolyEd 를 선택하고 메시를 클릭하면 개별 컴포넌트를 선택하고 이에 대한 모델링 작업을 수행할 수 있습니다. '돌출(Extrude), '푸시 풀(Push Pull)', '면 잘라내기(Cut Faces) 등 TriEdPolyEd 툴의 개별 작업은 '모델링' 패널에 표시됩니다. 변경사항을 확정하려면 편집한 뒤 '뷰포트' 하단에서 수락 버튼을 클릭하면 되고 변경사항을 버리려면 취소 를 클릭하면 됩니다.

모델링 모드에서 메시 편집하기

월드의 어떤 스태틱 메시든 선택하여 이러한 툴로 편집할 수 있습니다. 모델링 에디터로 생성하지 않은 메시도 마찬가지입니다. 예를 들어 고퀄리티 스태틱 메시에서 격자(Lattice) 툴을 사용하여 빠르게 셰이프를 바꿀 수 있습니다.

고퀄리티 에셋을 편집하는 경우 MshDup 툴로 에셋을 복제하여 원본 에셋을 보존하는 것을 적극 권장합니다.

툴 카테고리

카테고리

설명

셰이프

큐브, 구체, 원기둥, 평면 등 단순 프리미티브를 사용하여 새 스태틱 메시 모델을 생성합니다.

생성

커스텀 셰이프와 패스로 새 스태틱 메시를 그립니다. MshDupMshMrg 를 사용하여 '콘텐츠' 폴더에서 메시 에셋을 복제하거나 통합하세요.

폴리모델

폴리그룹을 선택 및 편집하여 스태틱 메시 모델을 조작합니다. 모델에 두 개 이상의 폴리그룹이 있는 경우에만 사용할 수 있습니다. 어트리뷰트 그룹에서 TriModel 그룹의 TriSel 툴 또는 GrpPen, GrpPnt 툴을 사용하여 새 폴리 그룹을 생성합니다.

TriModel

원시 트라이앵글을 선택 및 편집하여 스태틱 메시 모델을 조작합니다.

디폼(Deform)

고레벨 디포머를 사용하여 스태틱 메시를 워프 및 스컬프팅합니다.

트랜스폼(Transform)

모델링 모드를 떠나지 않고 스태틱 메시에서 트랜스폼 작업을 수행합니다. 메시의 피벗 포인트를 편집하고, 볼륨과 스태틱 메시 간에 타입을 변경하고, 전체 오브젝트에 영향을 미치는 기타 작업을 수행할 수 있습니다.

MeshOps

스태틱 메시의 지오메트리에서 대규모 작업을 수행합니다. 여기에는 메시의 지오메트리 최적화에 도움이 되는 간소화(Simplify)리메시(Remesh) 툴과 병합 및 결합 작업이 포함됩니다.

VoxOps

스태틱 메시를 복셀로 변경하고 폴리곤 지오메트리로 되돌리기 전에 볼류메트릭 작업을 수행합니다. 여러 개의 메시를 선택하면 VoxMrg, VoxBlnd, VoxBool 을 사용하여 메시를 서로 결합하거나 빼는 등 부울 연산을 수행할 수 있습니다.

어트리뷰트

노멀, 탄젠트, 폴리그룹, 기타 파라미터 등 스태틱 메시의 다양한 어트리뷰트를 환경설정합니다. MatEd 툴을 사용하여 머티리얼을 페인팅할 수도 있습니다.

UV

메시의 UV 맵을 편집하여 텍스처가 표면에 매핑되는 방식을 변경합니다. 여기에는 자동 언랩 및 레이아웃 툴이 포함됩니다.

굽기(Baking)

텍스처 및 버텍스 컬러를 스태틱 메시에 굽습니다.

볼륨

스태틱 메시를 볼륨으로 변환하거나 볼륨 및 BSP 브러시를 스태틱 메시로 변환합니다. 스태틱 메시 콜리전을 검사하거나 메시 콜리전 지오메트리를 기반으로 새 메시를 생성할 수도 있습니다.

LOD

LOD 메시를 편집 및 관리합니다.

지오메트리 스크립트

지오메트리 스크립트(Geometry Script) 는 블루프린트 및 Python을 통해 메시 지오메트리를 생성 및 편집하는 기능을 제공하는 함수 라이브러리 세트를 포함하는 언리얼 엔진 플러그인입니다. 지오메트리 스크립트 UFunctions 및 블루프린트 노드는 UDynamicMesh 오브젝트에서 작동하며, 이는 FDynamicMesh3 C++ 트라이앵글 메시 데이터 구조체를 사용하여 생성되는 오브젝트입니다. 이 데이터 구조체는 지오메트리 프로세싱(Geometry Processing) 플러그인 및 모델링 에디터 모드(Modeling Editor Mode) 에서 사용되는 것과 동일한 것입니다.

지오메트리 스크립트는 에디터 유틸리티 위젯(Editor Utility Widgets)에셋 액션(Asset Actions) 에서 커스텀 메시 분석/프로세싱/편집 툴을 만드는 데 사용될 수 있으며, 액터 블루프린트에서 '프로시저럴 오브젝트'를 생성하고 복잡한 지오메트리 쿼리를 구현하는 데 사용될 수도 있습니다.

지오메트리 스크립팅을 사용하는 방법에 대한 자세한 내용은 지오메트리 스크립트 사용자 가이드를 참고하세요.