최대 1 분 소요

📜Blend Tree적용.


애니메이션 간의 전환을 위해, 모든 애니메이션에 transition을 추가했다. 그러나 이 방법으로는 다른 종류의 애니메이션이 추가되면 점점 더 transition이 복잡해질 것 같았다. 그래서, 같은 종류의 애니메이션들을 모아놓고 관리하기 위해 Blend Tree를 사용하기로 결정했다.

블랜드 트리 적용 1

Animator가 한결 깔끔해졌다.


📜Run Blend Tree 적용.


입력값에 따라 상하좌우로 달리는 애니메이션을 Blend Tree를 사용하여 만들어 보았다. “IsRunning”이라는 Boolean 파라미터를 추가하여, 현재 플레이어가 달리고 있는 상태인지 아닌지에 따라 Blend Tree간의 전환을 가능하게 했다.

블랜드 트리 적용 2

그리고 달리는 애니메이션도 좌우 애니메이션보다 위아래 애니메이션을 우선적으로 출력하도록 하였다.


Blend Tree에서 애니메이션 우선 순위

Blend Tree는 2가지 파라미터를 기반으로 애니메이션을 출력한다. 만약 단순히 상하좌우로만 움직인다면 애니메이션 우선순위에 대해서는 고민할 필요가 없겠지만 Moonlighter에서는 대각선 방향 이동도 있기 때문에, 대각선으로 이동했을 때 위아래 애니메이션과 좌우 애니메이션 중 어떤 애니메이션이 출력될지 정해야 한다. 원본 게임에서는 위아래 애니메이션을 우선적으로 출력하기 때문에, 위아래 애니메이션을 우선적으로 출력하는 방향으로 결정했다.


Blend Tree

블랜드 트리 적용 3

블랜드 트리의 파라미터가 만약 (1,1)로 들어온다면? 정답을 생각보다 간단했다. 바로 위에있는 애니메이션을 출력하고 있다. 따라서 위아래로 달리는 애니메이션을 위에 추가해주면 되었다.


📜동작 확인


이동후 방향 유지

이동 후 이동한 방향을 유지한체 Idle상태가 잘 유지되었다.


대각선 이동 우선순위 확인

대각선 이동시 위아래 애니메이션이 출력되는걸 알 수 있다.

댓글남기기