티스토리 뷰
길지 않게 필요한 것만 써보려 합니다. 결국 퍼온건데 이 링크 기반입니다.
http://ko.esotericsoftware.com/spine-unity#spine-unity
스파인 임포트 되었고 애니메이션이 있는 상황에서 이걸 어떻게 다룰 것인가?
기본이 되는 사용법 (Animation State를 사용 ver.)
var skeletonAnimation = GetComponent<SkeletonAnimation>();
skeletonAnimation.AnimationState.SetAnimation(0, "run", true);
첫번째 파라미터 : 트랙넘버 (하나의 애니메이션이 여러개의 트랙으로 되어있을경우...)
두번째 파라미터 : 애니메이션 네임
세번째 파라미터 : 루프애니메이션인지 아닌지
여기서 하나 더 설명
지연 애니메이션
지금 당장말고 조금있다가 예약 걸고 싶은 경우!
skeletonAnimation.AnimationState.AddAnimation(0, “run”, true, 0f); // 이전 애니 종료 시 플레이
skeletonAnimation.AnimationState.AddAnimation(0, “run”, true, 4f);
파라미터 앞 세 개는 위와 동일, 뒤에는 몇 초 딜레이 후에 애니메이션 시작된다는 파라미터.
이 부분을 0으로 하면 이전 애니 종료되자마자 플레이하라는 것.
할당으로 스파인 사용
skeletonAnimation.TimeScale = 1.5f;
skeletonAnimation.Loop = true;
skeletonAnimation.AnimationName = "run";
여기서 잠깐 지금 쓴 이 애니메이션 스테이트는 편한데 다른 방식으로 스파인을 이용할 수도 있다.
마치 이것처럼...
좀 더 직관성 있게 바꿀 수 있다.
좌우 반전시키고 싶을 때
skeletonAnimation.skeleton.scaleX = Mathf.Abs(skeletonAnimation.skeleton.scaleX);
skeletonAnimation.skeleton.scaleX = -Mathf.Abs(skeletonAnimation.skeleton.scaleX);
애니메이션 콜백
이 이미지로 시점 확인이 가능함.
skeletonAnimation.AnimationState.Start += delegate (TrackEntry trackEntry) {
Debug.Log(string.Format("track {0} started a new animation.", trackEntry.TrackIndex));
};
이처럼 무명함수로 넣을 수 있음.
다음에 또 공부하고 추가 예정.
'개발일기 > 유니티3D' 카테고리의 다른 글
유니티에서 해당 안드로이드 단말기의 국가정보를 알고 싶을 때.. (0) | 2019.06.20 |
---|---|
LayerMask 와 비트연산... (0) | 2019.06.03 |
Unite Seoul 2019 다녀옴 (0) | 2019.05.23 |
UGUI 드래그로 오브젝트 회전 (0) | 2019.05.07 |
JDK 유료화에 대응하는 나 (0) | 2019.05.02 |
댓글