모션매칭에 관하여 두번째 질문이 있습니다.

안녕하세요 늘 도움 주셔서 감사합니다.

<br/>

첫번째 질문입니다.

저희는 180도 턴에서 캐릭터가 조금 더 스피디하게 움직이길 원해서 그렇게 시퀀스를 만들었습니다. (첨부영상 : 180도 턴 시퀀스 영상)

그런데 모션매칭으로 180도 턴을 하다보면 모션의 마지막 부분이 블랜딩이 되어서 그런지 스퀀스의 마지막 처럼 스피디한 느낌이 나지 않고 있습니다. (첨부영상 : 180도 모션매칭 영상)

무브먼트 컴포넌트에서 지면마찰이나 감속 등을 아무리 바꿔봐도 해당 부분이 개선이 안되고 있어 어떻게 해야 할지 도움을 좀 구하고 싶습니다.

<br/>

두번째 질문입니다.

오늘 처음 겪은일이긴 합니다만 모션매칭을 사용하는데 갑자기 노란색으로 본이 표시되고 있었습니다. 플레이중이었습니다. 마치 showbones 치트를 친 느낌 이었습니다.

애님BP는 GameAnimationSample을 그대로 가지고 와서 작업중이며, 최근들어 메시 및 스켈레톤에 변경사항이 많이 있긴 했습니다. 그러다 갑자기 노란색으로 본이 표시되던 것이 사라졌습니다. (메시를 업데이트 하긴 했는데 이유를 모르겠습니다.)

모션매칭을 빼고 일반 애니메이션을 베이스로 AnimBP에 연결해두면 그런 노란색 본이 나오지 않아서 모션매칭에서 무언가 발생한거 같다는 추측은 했습니다만

여태까지 작업하면서 처음 보던 현상이라 혹시 아실까 싶어 질문 드립니다.

<br/>

즐거운 저녁 되시길 바랍니다.

감사합니다.

안녕하세요.

게임 애니메이션 샘플에서는 캐릭터의 Gait에 따라서 가속도와 마찰력을 변경하고 있어서 블루프린트 코드에서 수정해야 합니다.

CBP_SandboxCharacter에 calculateGroundFriction 함수, CalculateMaxAcceleration 함수를 참고 해보시기 바랍니다.

[Image Removed]​

그리고 모션매칭을 이용하더라도 캐릭터의 움직임은 캐릭터 무브먼트의 움직임을 따르기 때문에 애니메이션 시퀀스의 움직임처럼 보이지 않을 수 있습니다.

이 경우에는 반대방향으로 재생이 되어야 할 때 몽타주를 재생하는 방법을 사용할 수 있습니다.

또 다른 방법으로는 AnimNode_OffsetRootBone을 활용하는 방법이 있습니다.

OffsetRootBone 노드는 메시 컴포넌트의 이동과 애니메이션의 루트 모션을 분리하여 관리합니다.

이를 통해 캐릭터가 실제로는 이동하지만 루트 본은 제자리에 유지하거나, 반대로 루트 본이 천천히 따라잡도록 할 수 있습니다.

주의할 점은 Root Offset 값이 너무 크면 지형 지물과의 충돌로 인해서 캐릭터를 뚫는 현상이 발생할 수 있습니다.

GameAnimationWidget 에서 RootOffset을 디버깅 할 수 있으니 참고해보시면 좋겠습니다.

[Image Removed]​

본이 한번씩 보인다는 부분은 애니메이션 노드에서 Pose Watch로 인해서 보이는 것이 아닐까 추측됩니다.

애님블루프린트 상단 메뉴에 Window → Pose Watch Manager에 있는 Pose Watch로 설정된 부분들을 모두 제거 해보시면 도움이 될 것 같습니다.

만약 이후에도 재연이 계속 이루어진다면 샘플 프로젝트 첨부 부탁드립니다.

[Image Removed]

​감사합니다.