본문 바로가기

유니티/유니티 엔진

[유니티] 애니메이션

728x90
반응형

 애니메이션

 

유니티 엔진을 이용하여 오브젝트에 애니메이션을 추가하는 것도 가능하다.

 

먼저 Project에 Animation을 추가해준다.

 

그리고 추가해준 Animation을 적용시키고 싶은 오브젝트에 드래그&드롭한다.

 

그러면 해당 오브젝트에 적용시킬 애니메이션들을 관리할 수 있는 Animation Controller가 생성될 것이다.

 

 

 

 

 

 

 

 

 Animation

 

만들어준 애니메이션을 더블클릭하면 Animation 창이 뜰 것이다.

 

이 창을 열고 애니메이션을 추가할 오브젝트를 Hierarchy 창에서 클릭한다.

 

그리고 원하는 스프라이트 이미지를 넣어 애니메이션을 추가할 수 있다.

 

추가해준 스프라이트 이미지들은 재생되기를 원하는 시간에 드래그&드롭으로 배치할 수 있다.

 

 

 

 

다른 애니메이션들도 추가하고 싶다면 애니메이션을 추가로 만든 후 마찬가지로

Hierarchy 창의 적용시키고 싶은 오브젝트에 애니메이션을 드래그&드롭 해준다.

 

그리고 Animation 창을 열어 설정할 애니메이션을 선택한 후 애니메이션을 만들어주면 된다.

 

 

 

 

 

 

 

 

 

 

 

 Animation Controller

 

애니메이션 컨트롤러를 더블클릭하면 다음과 같은 Animator 창이 뜰 것이다.

 

 

 

 

 

 

이 창에서 애니메이션을 우클릭하여 Make Transition을 선택하여 transition을 만들 수 있다.

 

이 transition을 이용하여 원하는 애니메이션을 순서대로 진행시킬 수 있다.

 

 

 

 

 

 

애니메이션을 언제 전환시킬 것인지를 선택하기 위해서 트리거도 만들 수 있다.

 

Animation 창의 Parameters 창을 들어가면 원하는 형태의 트리거를 만들 수 있다.

 

 

 

 

이후 transition을 하나 선택한 후 Inspector 창을 보면 Conditions가 있다.

 

Conditions 에서 + 를 누르면 원하는 상태일 때 애니메이션이 진행되도록 설정할 수 있다.

 

나는 bool 형 트리거인 Walk를 만들어서 Walk가 true이면 Walk 애니메이션을 진행시키고

False이면 Walk 애니메이션을 멈추고 기본상태인 Idle 애니메이션으로 돌아가게끔 만들었다.

 

 

 

 

 

 

 

 

 

 Animator 컴포넌트

 

스크립트에서 Animator 컴포넌트를 불러와서 방금 만든 애니메이션 파라미터에 접근할 수 있다.

 

SetFloat, SetInteger, SetBool, SetTrigger 함수들을 사용하여 파라미터의 값을 조정할 수 있다.

 

나는 Bool 형 파라미터를 만들었기 때문에 SetBool 함수를 사용해보겠다.

 

아래 코드처럼 작성하면 w 키를 눌렀을 때 Walk 애니메이션으로 전환되는 것을 확인할 수 있다.

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class NewBehaviourScript : MonoBehaviour
{
    Animator MyAnimator;
    // Start is called before the first frame update
    void Start()
    {
        MyAnimator = GetComponent<Animator>();
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKeyDown(KeyCode.W))
            MyAnimator.SetBool("Walk", true);
    }
}

 

 

 

 

 

 

 

 

 부가기능 (루프)

 

애니메이션을 계속해서 반복시킬 수도 있다.

 

Animator 창에서 원하는 애니메이션을 더블클릭하면 Inspector 창에 Animation Clip 이 나온다.

 

여기서 Loop Time 에 체크박스를 선택해주면 애니메이션이 한 번만 실행되지않고 계속 반복된다.

 

 

만약 걷는 모션을 설정했는데 반복을 체크하지 않았다면 한 번만 걷는 모션을 취하고 더 이상 움직이지 않을 것이다.

728x90
반응형