5.4 게임애니메이션샘플 6 [Steering]
마지막이다.
처음엔 이게 뭔가 싶어 이렇게 저렇게 만져봤는데.
로테이션 전환을 자동으로 아주 자연스럽게 해 주는 요물이다.
이건 애님비피에서만 동작하는거라 애님비피만 추가하면 된다.
함수 두개 추가
EnableSteering
"이 기능은 캐릭터가 움직이고 있는지 또는 공중에서 움직이고 있는지 확인하여 애니메이션의 루트 모션이 조종될 수 있는지 여부를 결정합니다. 이렇게 하 idle 애니메이션이 조종어 미끄러지는 것을 방지할수 있습니다."
함수 자체는간단 하다 무브 스테이트가 무빙이 혹은 무브 모드가 인에어이면 1
GetDesiredFacing
"이 기능은 스티어링 노드에 목표 회전을 제공합니다. 이 목표는 예측된 궤적에서 미래를 향하는 방향을 사용하여 계산됩니다. 이를 통해 스티어링 노드는 현재 액터 회전 방향으로 항상 스티어링하는 것이 아니라 미래 방향으로 회전할 수 있으며, 이는 스티어링 노드가 너무 뒤쳐지게 할 수 있습니다."
요롷게 하고
스티어링을 달아준다.
잠깐 다시 캐릭터BP로 가서 보면
벡터 형태의 상태에 따른 속도가 있다.
이건 x정면 y측면 z후면 상태에 따른 속도를 설정한건데
스티어링이 없으면 이런 문제가 발생 한다.
정면상태에서 측면 상태로 전환이 되어 속도는 줄었는데 로테이션이 되지 않아 스트라이드 워핑이 되어 버린것이다.
이걸 스티어링으로 교정해 준다.
이쯤에서 마무리.
처음 프로젝트를 열어봤을때는 어드밴스로코모션 처럼 이해 할수 없는 부분들이 많을거라 생각 했는데, 그거보단 이해하기 쉬웠다.
이전보다 정확하고 간편한 디스턴스매칭이 너무 마음에 든다.
여기서 이제 상호작용이나 공격 피격 등등 게임 애니메이션으로 완성시켜 나가는 부분이 무엇보다 중요하겠다는 생각이 든다.
댓글
댓글 쓰기