[UE][번역] Project Titan에서 배우는 오픈 월드 워크플로우와 차세대 이동 컴포넌트 Mover의 설계

2025. 4. 17. 01:38·정리 및 번역
  • 제목: 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
'정리 및 번역' 카테고리의 다른 글
  • [UE][번역] 언리얼 엔진 최적화 가이드: 프로파일링 기초
  • [UE][번역] 언리얼5 렌더링 플로우 총정리(2024) 기초편 - 5 (PostProcess/Upscale)
  • [UE][번역] 언리얼5 렌더링 플로우 총정리(2024) 기초편 - 4 (Translucent)
  • [UE][번역] 언리얼5 렌더링 플로우 총정리(2024) 기초편 - 3 (Lighting)
winterseaotter31
winterseaotter31
winterseaotter31 님의 블로그 입니다.
  • winterseaotter31
    게임 개발 랭커가 될 거야!
    winterseaotter31
  • 전체
    오늘
    어제
    • 분류 전체보기 (11)
      • Column (3)
      • 정리 및 번역 (8)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

    • 게임 개발 랭커가 될 거야!
  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
winterseaotter31
[UE][번역] Project Titan에서 배우는 오픈 월드 워크플로우와 차세대 이동 컴포넌트 Mover의 설계
상단으로

티스토리툴바