Unreal

[Unreal] 4월 25일 수업정리

k-codestudy 2025. 4. 25. 12:57

리타겟 애니메이션과 몽타주에 대한 수업을 들었다

 

리타겟 애니메이션

애니메이션을 옮기는 작업은 5.4 이후 버전에만 가능하다.

 

애니메이션 우클릭 (리타켓 애니메이션)
Target : 원하는 스켈레탈 매쉬 선택 / 아래 원하는 애니메이션 더블 클릭
원하는 파일 클릭 / Rename New Assets : 목차를 설정

  • Search에 바꿀 이름, Replace에 바뀔 이름을 설정하면 바뀌게 됨 

 

Control Rig

  • 애니메이션 그래프에서 확인할 수 있고 발 맞춤 기능을 가지고있다.
  • 수영을 할때는 오류가 있을 수 있기에 꺼줘야 한다.

alpha 값 : 1.0
alpha 값 : 0.0

몽타주

  • 몽타주(Montage)는 하나 이상의 애니메이션 시퀀스를 조합해서 특정 조건에 따라 실행할 수 있게 만든 구조이다.
  • 주로 공격, 회피, 상호작용 같은 특정 행동을 수행할 때 사용되며, 몽타주 내에서는 애니메이션을 구간별로 나누고, 블렌딩, 섹션 구분, 노티파이 이벤트 처리 등을 할 수 있다
  • 즉, 강제로 특정 애니메이션을 불러서 덮어 씌우게 하는 것이다

생성

  • 일반 애니메이션은 초록색 / 몽타주 애니메이션은 파란색으로 분류 

주의점 

직업적 단점: 데이터를 가리지 않음

  • 애니메이션 관리의 단점은 특정 애니메이션을 고르는 기능이 부족하다는 점
  • 예: 동작별 구분 없이 모든 애니메이션이 뒤섞여 있어서 찾기 어렵고 관리 복잡함
  • 즉, 사용하기에는 분류 체계 필요: 카테고리, 태그, 기능 별로 체계화해야 유지 보수가 쉬워짐

블렌딩 타임의 문제 (Blend In/Out)

  • 몽타주 좌측에 있는 Blend In / Blend Out 시간 설정이 문제의 핵심
  • 예: Blend In이 0.5초이면, 몽타주 실행 시 0.5초 동안 기존 애니메이션과 섞이면서 전환됨

문제 발생 지점

  • 짧은 애니메이션을 몽타주로 감싸 실행할 경우, 블렌딩 타임이 실제 애니메이션 길이보다 과도하게 적용되어 어정쩡한 느낌 발생
  • 예: 선딜이나 후딜이 필요한 경우 타이밍이 꼬이거나 이상한 모션이 연출될 수 있음
  • 반면, 긴 애니메이션의 경우에는 Blend In/Out 덕분에 전환이 부드럽게 느껴질 수 있음

결론

  • 몽타주 설정을 통해 게임 플레이 시 이상하지 않게, 자연스럽게 보이도록 하는 것이 최우선
  • 시스템적으로 완벽하지 않아도, 플레이어 입장에서 어색하지 않으면 성공
  • 따라서 상황에 맞는 유연한 설정과 테스트가 중요함
Play Montage
  • Left Mouse Button 호출
  • Play Montage 호출 
  • in Skeletal Mesh Component에 Mesh 연결
  • Montage to Play 클릭 후 원하는 몽타주 설정 
 
실행

루트 모션 

스켈레톤의 루트 본의 애니메이션을 기준으로 하는 캐릭터의 동작이다

 

Hidden in Game을 키고 차이점을 확인해보자

일반적인 실행
EnableRootMotion On ( 루트 모션 On )
루트 모션을 킨 후 실행

일반적인 애니메이션의 경우 캡슐은 움직이지 않고 애니메이션만 실행되는 것을 확인할 수 있다

하지만 루트 모션을 키게 되면 애니메이션이 움직임에 따라 캡슐도 같이 움직이는 것을 확인 할 수 있다

 

문제점 

점프를 하는 애니메이션 실행을 하여 문제점을 확인해 보겠다

루트 모션 Off
루트 모션 On

점프 모션에서 루트 모션 적용 이슈

루트 모션이 켜져 있을 경우, 캐릭터가 점프를 하지 않음 (월드 이동 없음)

  • 원인: 루트 모션이 물리 이동력(예: AddForce, LaunchCharacter 등)보다 우선되거나 덮어쓰기 때문

예:

  • 루트 모션이 Z 방향으로 움직임을 포함하지 않으면 실제 점프 안 일어남
  • 루트 모션이 꺼져 있어야 점프 물리가 정상 작동됨

루트 모션이 먹는 애니메이션 / 안 먹는 애니메이션

동일한 방식으로 루트 모션 설정했는데 어떤 애니메이션은 적용되고, 어떤 건 안 됨

 

이유

  • 애니메이션 데이터 자체에 루트 본(root bone) 움직임이 포함되어 있는지 여부 또는 Root Motion Mode가 제대로 설정되어 있지 않음