Unreal Engine Mesh Data
파일 확장자
.fbx
: static mesh, skeletal mesh, animation, texture, camera data를 포함
: 가장 범용적이고 권장되는 포멧
- 외부 3D 프로그램에서 제작한 메쉬/ 애니메이션 import (Blender, Maya)
.obj
: static mesh 데이터만 포함
: Texture, UV 포함 가능. Animation은 포함 불가능.
- 간단한 모델 (건물, 가구 등)
.dae
: Collada 포멧으로 XML 기반.
: 모델, 텍스처, 뼈대 데이터를 포함
- 제한적이지만 일부 3D 툴에서 사용할 경우 호환
.glb / .gltf
: 경량 포맷, texture, mesh, animation 포함
- 웹 및 실시간 렌더링에 최적화
- AR / VR 컨텐츠나 가벼운 모델을 가져올 때 사용
.abc
: Aldmbic 포맷, 캐시된 애니메이션 데이터를 포함
: 필름, 시뮬레이션 작업에 적합
- 복잡한 애니메이션 또는 물리 캐시 데이터 가져오기 적합
.uasset
: unreal engine 고유의 포맷, static mesh와 skeletal mesh를 포함
: 외부에서 직접 편집 불가
- 언리얼 내에 생성된 메쉬나 에셋을 저장
Static Mesh
LOD(Level of Detail)
: 거리에 따른 시각적 변화
StaticMesh - Detail - LOD Import
화면 크기에 따라 거리(화면 크기) 조절된다
- 사용 예시 : 리소스 등의 용량 크기 조절을 위해 플레이어와의 거리에 따른 조절
Skeletal Mesh
: 본(Bone) 구조를 포함한 3D 모델, 애니메이션을 적용할 수 있는 메쉬
- 본(Bone)과 연동
: 메쉬의 버텍스(Vertex)는 본에 스킨(Skin)되어, 본의 움직임에 따라 변형
- 애니메이션 적용
: 다양한 애니메이션 시퀀스를 통해 캐릭터의 동작 표현
가상 본(Bone) 추가 (Rigging)
: 소켓을 추가하여 장비 착용 가능
Physics Asset
: 스켈레탈 메쉬의 물리적 특성, 충돌(Collision)을 정의 하는 에셋, 물리 시뮬레이션에 사용
- 물리 바디 (Physics Body)
: 각 본에 연결된 충돌 프리미티브(캡슐, 박스 등)를 통해 물리적 상호작용 정의
- 컨스트레인트 (Constraint)
: 본 간의 물리적 제약을 설정, 자연스러운 움직임을 구현
- 래그돌 (Ragdoll)
: 캐릭터가 자연스럽게 쓰러지는 효과 구현
Skeleton
: 스켈레탈 메쉬의 본(Bone) 계층 구조를 정의하는 데이터, 애니메이션의 기반
- 본 계층 구조
: 부모-자식 관계로 이루어진 본의 구조를 정의하여, 캐릭터의 움직임을 제어
- 애니메이션 공유
: 동일한 스켈레톤을 사용하는 여러 스켈레탈 메쉬 간에 애니메이션 공유
- 소켓(Socket) 추가
:무기, 악세서리 등을 부착하기 위한 소켓을 정의 가능
(Skeletal Mesh, Mixamo에서 가져오기 - FBX Binary, T-pose)
Retargeting
: 애니메이션 데이터를 하나의 스켈레톤에서 다른 스켈레톤에 재사용할 수 있도록 매핑, 조정하는 작업업
애니메이션 시퀀스(오리지널) - 리타겟 시퀀스
- 타깃 스켈레탈 메시 - 애니메이션 넣을 스켈레탈 메쉬 선택
- 애니메이션 익스포트
외부 애니메이션 시퀀스 적용하기
(Mixamo - Animation 다운로드 시, Skin 다운로드 유무 설정하기)
.fbx import 시, 적용할 스켈레톤 선택
적용된 예시
블루프린트 캐릭터
애니메이션 시퀀스 토대로 애니메이션 몽타주 제작
생성 - 애님몽타주 생성
애니메이션 블루프린트 생성
애니메이션 - 애니메이션 블루프린트
ABP_Character
캐릭터 블루프린트에서 키보드 입력에 맞게 작성
BP_Character
Quixel Bridge (FAB)
컨텐츠 브라우저 추가 - Fab
항목 선택, Add to Project
여러 에셋 브러쉬 작업 : 언리얼 에디터의 모드를 Foliage 모드로 변경하여 에셋 사용