전체 페이지뷰

2017년 9월 26일 화요일

Unity Tutorial: 2D Roguelike, part 6

Player Animator Controller


이번에는 플레이어의 에니메이터 컨트롤러를 설정하고 스크립트를 통해 어떤 애니메이션을 플레이 할 지를 결정하도록 하겠습니다.

프리팹으로 가서 Player 프리팹을 드래그해서 Hierarchy에 배치합니다. 그리고 AnimatorContoller 폴더에서 Player의 컨트롤러를 찾아 더블클릭 한 후 아래 그림처럼 배치합니다.

기본으로  PlayerIdle이 플레이 되고, 적의 공격을 받으면 PlayerHit, 벽을 두드릴 땐 PlayerChop이 플레이 되어야 합니다.

Parameters를 선택하고 + 버튼을 눌러 playerChop, playerHit의 두 Trigger형 파라미터를 생성합니다.


다음으로 PlayerIdle에 우클릭 하고 Make Transition해서 PlayerChop으로 이어주고, 반대로도 이어줍니다. 그리고 PlayerIdle에서 PlayerChop으로 이어진 Transition 화살을 클릭하고 인스펙터를 봅니다.

PlayerChop으로 변화할 때 PlayerIdle 애니메이션이 끝나길 기다리거나 특정 시간까지 기다리거나 할 필요가 없으므로 Has Exit Time에 체크 해제합니다. 3D 애니메이션이라면 블렌딩이 필요하겠지만 2D 기반의 스프라이트 애니메이션은 그런 것이 필요 없습니다.  따라서 Transition Duration을 0으로 바꾸고, Conditions는 playerChop으로 합니다.

다음은 PlayerChop에서 PlayerIdle로 이어지는 화살표를 선택하고 Exit time을 1, Transition Duration을 0으로 합니다. 이 경우에는 때리는 동작을 정해진 시간만큼만 보여주고 바로 다음 동작으로 바뀌면 되므로 Has Exit Time은 체크한 채로 둡니다.



이번에는 같은 방식으로 PlayerIdle과 PlayerHit 사이에 서로 transition을 연결합니다.

PlayerChop과 똑같이 transition의 프로퍼티를 조정해 주면 플레이어 애니메이터 컨트롤러의 세팅이 끝납니다.

댓글 없음:

댓글 쓰기