카테고리 없음
Starter Assets - ThirdPerson Apply Root Motion 적용시 느려지는 문제 해결법(Apply Root motion & character Controller velocity 충돌)
밧지성
2024. 7. 17. 22:46
728x90
반응형
apply root motion을 체크하면 character controller의 velocity 값이 작아지는걸 확인했는데, root transform position(Xz)의 bake in position을 체크하지 않아서 움직이지 않는거 같다.(기본으로 주는 애니메이션이 xz이동 하지 않으니 체크해도 소용없을거 같긴 하다.)
private void Update()
{
_hasAnimator = TryGetComponent(out _animator);
JumpAndGravity();
GroundedCheck();
Move();
checkAnimationRootMotion("Attack3");
}
public void checkAnimationRootMotion(string AnimName)
{
AnimatorStateInfo stateInfo = _animator.GetCurrentAnimatorStateInfo(0);
Debug.Log(stateInfo.IsName(AnimName));
// 특정 애니메이션 상태에 root motion을 적용
if (stateInfo.IsName(AnimName))
{
_animator.applyRootMotion = true;
}
else
{
_animator.applyRootMotion = false;
}
}
일단 임시로 정한 해결 방법은 돌진, 특정 스킬등 Animation 자체의 이동이 필요하다면, 그 애니메이션에 한에서만 Apply Root Motion을 켜주는 것이다.
가장 정석적인 해결방법은 Mixamo와 같은 사이트에서 이동 애니메이션 등을 구할때 xz값으로 움직이는 (Mixamo 기준으로 In Place 가 체크되어있지 않은) 애니메이션을 구해서 적용하는것 일거 같다.
반응형