응용프로그램/유니티(Unity)

Unity2D_애니메이션제어

zelkova 2017. 2. 6. 21:58

<목차로 돌아가기>


 Unity2D_애니메이션제어


선택된 그림을 만들어 놓은 Player 객체에 드래그하고 이름정하기

저는 PlayerIdle 이라고 지정했습니다.



그리고 아래의 이미지도 똑같이 Player 객체에 드래그하고 이름을 설정합니다. PlayerChop, PlayerHit로 지정했습니다.





이런식으로 작업을 끝내면 아래와 같은 파일들이 생성됩니다

Player는 애니메이션 제어창이고

PlayerIdle, PlayerChop, PlayerHit는 애니메이션 단위 입니다.

여기서 Player를 더블클릭하면 Animator가 활성화됩니다.




이제 Animator창의 좌상단의 Parameters를 클릭하고 +버튼을 클릭후 Trigger을 클릭합니다.

이름은 각각 PlayerChop과 PlayerHit로 지정합니다.






PlayerIdle 우클릭하고 Make Transition 클릭합니다. 그후에 PlayerChop 클릭!



그럼 화살표가 찍히는데 

PlayerIdle과 PlayerChop간에 화살표로 연결합니다.

playerIdle과 PlayerHit간에 화살표로 연결합니다.

아래와 같이요~




이제 하이라키에서 Player 객체를 클릭 -> Inspector 창의 Add Component 클릭 ->New Script에서 Player로 이름을 지정하고 C# 스크립트를 생성합니다.



생성한 스크립트를 더블클릭하면! C# 소스를 넣을 수 있는 창이 뜨는데 아래와 같이 입력합니다.


  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;

  4. public class Player : MonoBehaviour {

  5.     private Animator animator;

  6. void Start () {
  7.         animator = GetComponent<Animator> (); 
  8. }
  9. void Update () {
  10.         if (Input.GetButtonDown ("Fire1"))
  11.         {
  12.             animator.SetTrigger ("PlayerChop");
  13.         }
  14.         if (Input.GetButtonDown ("Jump"))
  15.         {
  16.             animator.SetTrigger ("PlayerHit");
  17.         }
  18. }
  19. }

저장하고 재생버튼을 누르고 Ctrl(좌측)과 스페이스바를 눌르면 애니메이션이 동작하는 것을 보실 수 있습니다.


참 쉽죠^_^?




 animator 관련 기타 소스, 지식

private Animator anim;

anim.Play("클립이름, 레이어, 클립시작지점)


animator에서 transition 하나에서 조건을 여러개 지정하면 and조건

animator에서 transition 여러개에서 하나씩 지정하면 or조건

반응형