반응형

이제 캐릭터의 움직임을 최종적으로 갈무리할 Anim Graph 단계입니다. 결국 이곳에 가장 적절한 모션들을 가장 적절한 타이밍에 뿌리기 위해 지금까지 많은 로직을 거쳐왔다.

Advanced Locomotion V4가 시대가 많이 지났음에도 많이 사용되고 있는 것은 그만큼 범용성이 크게 구조가 잡혀 있어 스켈레탈 메시만 바꿔서 사용하기에 아주 유용하게 제작이 되어있다.

기본적인 애니메이션 레이어를 폭넓게 사용하고 있으며, 완성된 레이어 아웃풋 포즈를 기본포즈로 캐싱하여 그 이후에 레이어닝 되도록 설계되어 있다.

 

Layer Blending 살펴보기

  • Base Layer - 기본적인 이동, 점프, 공격, 앉기 등 모든 기본적인 무브먼트가 처리됩니다.
  • Overlay Layer - Base Layer에 더해질 Additive 모션들이 처리되는 곳이다. 무기나 체형에 따라 기본 모션의 형태가 이곳에 의해 달라진다.
  • Base Poses - 서기인지 앉기인지 처리하는 영역.

 

Base Layer 

 

Locomotion Cycles - 아래를 펼쳐 확인

더보기

 

캐릭터 무브먼트의 가장 기본이 되는 전후좌우 시작 움직임과 이동 루핑 움직임을 처리한다.

  • 가이드 9번(AnimBP - UpdateGraph) 의 Update Movement Values 부분에서 계산된 Velocity Blend / Stride / Walk&Run / Diagonal Scale 값을 가져와 가장 적절한 모션을 연결하여 가장 적절한 수치로 뿌려주는 역할을 한다.
  • https://tartist.tistory.com/170
 

Advanced Locomotion V4(UE4) 가이드 - 9 (Anim BP - UpdateGraph 가이드)

캐릭터 블루프린트의 Tick 그래프와 같은 기능을 하는 곳으로서 매 틱마다 업데이트되는 기능을 설정합니다. Do Every Frame - 아래를 펼쳐서 확인 더보기Update Chracter Info - 캐릭터의 인터페이스 이

tartist.tistory.com

더보기

 

  • Cycle Blending - 모든 방향과 스프린트를 캐시하여 여러 곳에서 사용할 수 있지만, 한번만 평가하여 사용할 수 있습니다. 마스크되지 않은 경우 스프린트를 사용합니다. 마스크는 질주시 무릎이 과도하게 압축되어 IK문제를 일으키는 것을 보완하는데 사용합니다.
  • Ditrectional States - 방향 전환을 하거나 Pelvis 회전을 변경할 때 높은 퀄리티의 블렌딩을 달성하기 위해 이동방향과 'HipOrientation_Bias'곡선을 기반으로 방향 주기를 함께 혼합합니다.
    • 이 부분에 대한 디버깅이 힘들어 AdvancedLocomotion_V4가 쓰기 상당히 어려운 난이도라할 수 있다.
    • Velocity Direction의 경우는 Move F만 처리하고, Looking Direction의 경우에는 스텝이 꼬이지 않도록 모든 방향에 대한 블렌딩을 처리한다.

 

 

 

Locomotion Detatil - 아래를 펼쳐 확인

 

더보기

Cycles에서 처리 된 기본 이동에 추가 세부 애니메이션을 적용합니다.

  • Running과 Walking 의 이동 조건은 Essectial Values 값의 Gait Enum 값을 참조하여 walk/run을 알게 되고, Weight_Gait 커브값에 미리 설정된 값(걷기 = 1, 뛰기 =2, 스프린트=3)을 이용하여 조건을 더 확실하게 처리한다.
  • Run에서 Walk로 넘어갈 땐 바로 넘어가면 되므로 애니메이션의 남은 값을 처리할 필요없지만, 모션이 마무리 되고 넘어가야할 모션들.. 예를들어 Start 모션이 넘어가는 분기에는 남은 모션Value 값을 계산하고 모션이 넘어가도록 처리된다.
    • Start 부분의 상체 처리는 가이드 8번의 Cycle Blending Notify Events 를 참고하면 자세히 확인할 수 있다.
    • https://tartist.tistory.com/169
 

Advanced Locomotion V4(UE4) 가이드 - 8 (Anim BP - 이벤트그래프 가이드)

캐릭터BP의 가이드가 완료되었습니다. 이제 마지막으로 애니메이션 블루프린트에서 무브먼트에 맞는 모션 처리가 어떻게 되어 있는지 가이드를 진행하겠습니다. 언리얼4용 Advanced Locomotion 에서

tartist.tistory.com

더보기

 

  • Pivot 처리 부분도 가이드 8번의 Cycle Blending Notify Events를 참고하면 됩니다.

 

 

 

Locomotion State - 아래를 펼쳐 확인

더보기

 

Detail에서 처리된 부분을 캐싱하여 Stop 상황과 Moving 상황을 처리한다. 

  • 기본적인 구조는 짧게 움직이고 멈출 때는 가이드 8번의 'Play Transition' 이벤트를 이용하여 짧게 멈추는 모션을 처리하고, Moving 스테이트가 완전히 블렌딩 된 후 멈추면 길게 멈추도록 처리 되어 있다.
 

Advanced Locomotion V4(UE4) 가이드 - 8 (Anim BP - 이벤트그래프 가이드)

캐릭터BP의 가이드가 완료되었습니다. 이제 마지막으로 애니메이션 블루프린트에서 무브먼트에 맞는 모션 처리가 어떻게 되어 있는지 가이드를 진행하겠습니다. 언리얼4용 Advanced Locomotion 에서

tartist.tistory.com

더보기

 

  • (N)Stop 스테이트 처리방식 - 이동 모션에는 Feet_Position 이라는 커브 정보를 가지고 있는데, 이 커브값을 활용하여 발이 떠있는 상태인지 지면에 닿은 상태인지를 체크하여 Foot IK를 활성화시킬지 안시킬지 정하게 된다.

 

 

반응형

+ Recent posts