지난 시간에 이어 Animation 클립의 Animator 상태 설정 할 예정입니다. 


이 작업을 하기 전에 Animation을 설정해야 하는 반복에 대해 먼저 간단히 알려드리겠습니다.

먼저 0_idle 에니메이션은 기본적으로 사용되는 에니메이션으로 계속 반복될 수 있도록 Loop Time값을 True로 설정해줍니다. 

1_damage 에니메이션은 기본적으로 사용되는 에니메이션으로 계속 반복될 수 있도록 Loop Time값을 False로 설정해줍니다.  (체크하지 않으시면 됩니다.)


이것으로 Animation의 반복은 간단하게 확인 해 보았습니다.


이제 본론으로 들어가 상태 설정하기를 해 볼 예정입니다.


상태라고 하니 감이 잘 오지 않을 수 있지만 학부생 시절 배웠던 State Diagram을 떠올려 보며 작업을 하였습니다.

Player 객체의 Inspector를 보면 위 그림의 붉은 칸에 있는 Animator 라는 컴포넌트에 Controller가 연동이 되어있는데 이 항목이 아래에 노랗게 표시되어있는 player를 선택해줍니다.


더블클릭을 하면 위와같이 player의 Animator Tab이 활성화 되며 위와같이 되었습니다. 원 블로그에 강좌에서는 1_damage가 보였는데 저는 보이지 않았습니다.


그래서 1_damage를 위와 같이 추가하였습니다. 드레그 엔 드롭으로 쉽게 만들어진 에니메이션을 추가할 수 있었습니다.


추가된 화면은 위와 같습니다.


이제 트렌지션(Transition)을 추가해 보겠습니다. 0_idle을 선택한 후 오른쪽 클릭을 하면 위와 같은 팝업메뉴를 확인할 수 있으며, 그 후 아래의 1_damage를 선택해주면 죕니다. 


그러면 위와 같은 연결선이 생기고 빨간 원의 부분은 1_damage를 선택한 후 트렌지션을 만드는 과정중에 화면을 캡쳐하였습니다. 이것도 마찬가지고 0_idle을 선택하여줍니다. 그러면 아래와 같이 상태가 표시됩니다.


위와 같이 양방향으로 상태가 연결된 것을 확인할 수 있습니다.


이제 상태를 바꾸기 위한 값을 추가하는 작업입니다.

위의 그림에서 붉은 원으로 표시한 Parameter Tab을 선택한 후 아래의 그림을 봅니다.


위 그림의 플러스 버튼을 누르면 아래와 같은 팝업 메뉴가 열립니다.


위 팝업메뉴와 같이 bool type을 선택해 주고 넘어가면


bool type의 파라미터가 추가되고 이름을 DamageCheck로 변경하였습니다. 기본값으로는 체크가 되어있지 않은 False를 주었습니다. 그 후 0_idle에서 1_damage로 가는 Transition을 선택합니다.

 그 후 위의 붉은 상자표시에 있는 컨디션을 추가하여 줍니다. 그러면 아래의 그림과 같이 컨디션이 추가됩니다.


추가된 컨디션에는 아까 설정했던 DamageCheck값이 보이고 해당 값을 True로 변경해줍니다. 즉, 해당값이 True가 되면 상태가 변경되는 것 입니다.


 위와 같이 1_damage에서 0_idle로 가는 Transition을 선택합니다. 그 후 저는 따로 컨디션을 추가하지 않고 90% 1_damage이 재생되었을 때 0_idle로 가도록 위와 같이 설정하였습니다.


마지막으로 1_damage가 더 짧은 에니메이션으로 30프레임 기준으로 작성을 하였지만 데미지 입은 상태를 더 잘 표현하기 위해 재생속도값을 수정하여 3배 빠르게 재생이 되도록 하였습니다.


이렇게 해 주면 이제 스크립트에서 DamageCheck값을 변경하여 Damage입은 상태까지 표현할 수 있도록 하였습니다.


이 다음에는 장애물 요소, 이 게임에서 피해야 하는 장애물인 호박(Enemy) 오브젝트 만들기를 하겠습니다.


+ Recent posts