유니티 게임오브젝트에 애니메이션을 적용하기 위해서는 컴포넌트로 Animation을 추가해주면 된다.
[컴포넌트를 추가하는 방법]
1. 컴포넌트를 붙이길 원하는 게임오브젝트를 선택한다.
2. Add Component를 누른뒤 Animation을 추가한다.
3. Animation 컴포넌트가 추가되었다. 물론, 아무것도 넣지 않았기때문에 None 즉 아무 애니메이션도 존재하지 않는다.
4. death라는 애니메이션을 Animation에다가 집어넣었다. 이 경우 애니메이션 동작을 한 개(death)만 보여줄 경우이다.
5. 한 게임오브젝트에 여러 애니메이션을 재생하려면, Animations에다가 여러개의 애니메이션 파일을 집어넣는다.
그렇다면 Animations에 담긴 애니메이션 파일은 어떻게 사용할까?
일단, 코드에서 애니메이션을 실행하는 코드는 anim.Play("");이다.
그럼, Animations는 배열이므로 string[]배열을 사용해야 할 것이다.
하지만 배열은 선언할 때 반드시 크기를 명시해줘야 한다.
즉, 배열에 저장할 데이터의 크기를 확실히 모르거나 데이터가 도중에 추가될 가능성이 있다면 배열을 사용하면 안 된다.
List를 사용한다.
이렇게하면 된다.
중요한 함수는 AnimationArray()함수이다.
여기서, foreach문을 사용하여 AnimationState형으로 꺼내온 뒤, list에 저장한다(Add)
나는 항목들 중 랜덤으로 1회 플레이하기 위해서 Random.Range를 사용했고,
Play안에 난수를 집어넣었다. 이렇게 함으로써 랜덤한 애니메이션이 1회 플레이 될 것이다.
이상으로 애니메이션(Animation) 컴포넌트 안에 Animations 배열을 가져오는 방법에 대해 알아보았다.
'개발 > Unity & C#' 카테고리의 다른 글
[유니티] 유니티에서 Inspector 창 닫히지 않게 잠그기! (0) | 2018.04.16 |
---|---|
[유니티] 배열대신 LIst사용하는 이유와 방법 (0) | 2018.04.13 |
[유니티] 유니티에서 애니메이션(Animation) 사용시, 재생 횟수 설정하기... (0) | 2018.04.12 |
[유니티] 유니티에서 사운드 두 개 이어서 재생하는 방법! (0) | 2018.04.12 |
[유니티] transform.RotateAround 대신 transform.Rotate을 사용하자 (0) | 2018.04.09 |