애니메이션 인덱스로 호출해보기 - 정리중
Unity 2016. 1. 7. 18:081. 일단 상황
1-1. 아직 그래픽 작업이 안되어있어서 에셋스토어에서 무료 모델을 몇 개 가져와서 뿌렸음
1-2. 여러개 로드도 다 하고 크기도 맞추고 기본 설정을 다 했는데, 애니메이션 이름이 다름
예) 1번 캐릭터 Wait, Walk, Attack 2번 캐릭터 idle, run, attack
1-3. 이게 지금 한두개면 괜찮은데 그래픽 작업이 안 된상황에서
나중에 또 몇 개 더 가져다가 종류가 늘어나면 하나하나 다 바꾸기도 뭐해서
Inspector 의 Animation탭을 보니 Element Number로 나누어져 있길래 그걸 사용해서 바꿀 수 있지 않을까 싶음
1-4. enum 선언 번호랑 해서 맞춰서 뿌려주면 될거 같음. 이거다 싶어 방법을 찾기위해 검색시작
2. 진행
2-1. 찾아보니 같은 고민을 하는 분들이 좀 있었음
2-2. 일단 오브젝트 안에 애니메이션이 몇 개 있는지 확인하는 방법
선언한오브젝트이름.GetComponent<Animation>().GetClipCount();
2-3. 오브젝트 안에 애니메이션 이름들을 볼 수 있는 방법
int idx = 0;
foreach (AnimationState anim in 선언한오브젝트이름.GetComponent<Animation>())
{
Debug.Log("Animation (" + idx + ") name : " + anim.name);
idx++;
}
2-4. 2-3번 방법으로 오 해결되었네..... 필요한 index 보내줘서 그 이름 받아다가 리턴해주면 되쟎아 쉽네 ㅎㅎ 했음
2-5. 지금은 테스트라 2~3개정도 뿌리고 있는데 나중에 얼마나 많이 뿌릴지 잘 모르겠어서 리스트로 관리하고 있었음
2-6. 근데 2-3 방법으로 함수 만들어서(일단은 같은 클래스 안에서) 실행시켜보니 애니메이션이 다르게 나옴
2-7. 멘붕???
2-8. 그래서 일단 무식하게 로그를 다 찍어보기로 했음
2-9. Start()에서 처음 오브젝트 로드부분 -> 리스트에 ADD를 한 부분까지는 프리팹의 애니메이션 순서와 똑같이 나옴
2-10. Update()에서 애니메이션이 변경되는 부분에서 로그를 찍어보니 순서가 바뀌어있음?????
2-11. 멘붕 <- 현재 여기입니다.
PS. 난 이렇게 하는 방식만 있는줄 알았는데 애니메이션 다르게 제어하는 방식이 있다고 누가 지나가면서;;;;
'Unity' 카테고리의 다른 글
레이캐스트로 마우스클릭 받아오기 메모 (0) | 2015.12.22 |
---|---|
유니티......... (0) | 2014.05.16 |
유니티 SQL 연결 정리 (0) | 2014.04.09 |