- 제목: Project Titanから学ぶオープンワールドワークフローと次世代移動コンポーネントMoverの設計
- 에픽 게임즈 재팬 Takashi Suzuki님이 Game Creator Conference에서 발표한 Titan 프로젝트 관련 자료의 번역입니다.
- 타이탄 미니 튜토리얼과 같이 보면 좋을 듯합니다.
- https://dev.epicgames.com/community/learning/tutorials/yjLn/unreal-engine-project-titan-mini-tutorials
요약
Project Titan 관련
- 월드 구축: World Partition (셀 기반 스트리밍), 자동화된 HLOD (Approximated Mesh 사용, 셀 내 버텍스 수가 너무 많진 않은지 체크), 커스텀 Landscape Designer 플러그인 (BP_LSD_HeightStamp, SplatManager_VIS 등) 활용
- 에셋 관리: 표준 베이스 머티리얼(M_BaseMaterial) 및 인스턴스 활용, 텍스처 규격(2의 거듭제곱, 채널 패킹)
- 최적화
- Nanite 적극 활용 (Static Displacement Mapping)
- Trim Sheet 및 Tiling Texture (Material Layers) 사
- 머티리얼 섹션 수 제한 (~3개)
- PCG 부하 주의
- VSM 최적화 (WorldPositionOffsetDisableDistance)
- Easy Imposter 활용
- 스켈레탈 메시를 월드에 배치하면 애니메이션 부하가 지속적으로 발생할 수 있음 -> BP_NPCTempMarker로 WP 셀 로드 이후 액터 생성/관리하는 구조 도입
- 협업: Prefab(Level Instance, Packed Level Blueprint) 사용, 소스 컨트롤(P4) 사용 시 전체 콘텐츠 제출
Mover
- UE 5.4/5.5 Experimental 기능
- CMC와의 차이점:
- 유연성: ACharacter 제약 없이 모든 액터/컴포넌트에서 사용 가능. 모놀리식 CMC와 달리 모듈식 구조 (BP/C++ 확장 용이)
- 이동 방식: 스윕 기반 CMC와 달리, 물리 기반 이동 (PhysWalkingMode) + 스윕 이동 지원. 강체와의 상호작용, 무게감 표현 가능
- 네트워킹: 빌트인 CMC 네트워킹 대신 롤백 네트워킹 지원 (NetworkPredictionLiaison 기본)
- 핵심 구조 및 흐름:
- MoverComponent: 핵심 컴포넌트
- ProduceInput (인터페이스 IMoverInputProducerInterface): 액터에서 입력을 받아 FCharacterDefaultInputs 같은 구조체에 담음
- MovementMode (UBaseMovementMode): 실제 이동 로직 정의 (걷기, 비행, 물리 보행 등). C++ 또는 BP로 커스텀 모드 구현 가능. OnGenerateMove (이동량 계산), OnSimulationTick (실제 이동 적용)
- MovementModeTransition: 모드 간 전환 로직 정의 (OnEvaluate, OnTrigger). 직접 SetMovementMode 대신 사용.
- LayeredMove: 루트 모션(FLayeredMove_RootMotionAttribute), 호밍 등 일시적 이동 변조
- MovementModifier: 앉기 시 속도 변경 등 일시적 파라미터/동작 수정
- SyncState (FMoverSyncState): 네트워크 동기화 및 롤백을 위한 상태 정보 저장 (위치, 속도, 입력, 베이스 등)
- 기타: NetworkPhysicsLiaison (고비용 재시뮬레이션 동기화), StandaloneLiaison (네트워크 없음) 등 백엔드 클래스 제공. AnimBP 연동 (PropertyAccess, GetTagsFromSyncState 예시)
서론 및 개요
Titan에서 얻을 수 있는 지식과 핵심 포인트
Mover의 설계
'정리 및 번역' 카테고리의 다른 글
[UE][번역] 언리얼 엔진 최적화 가이드: 프로파일링 기초 (0) | 2025.04.18 |
---|---|
[UE][번역] 언리얼5 렌더링 플로우 총정리(2024) 기초편 - 5 (PostProcess/Upscale) (0) | 2025.03.29 |
[UE][번역] 언리얼5 렌더링 플로우 총정리(2024) 기초편 - 4 (Translucent) (0) | 2025.03.29 |
[UE][번역] 언리얼5 렌더링 플로우 총정리(2024) 기초편 - 3 (Lighting) (0) | 2025.03.29 |
[UE][번역] 언리얼5 렌더링 플로우 총정리(2024) 기초편 - 2 (BasePass) (0) | 2025.03.29 |