티스토리 뷰

길지 않게 필요한 것만 써보려 합니다. 결국 퍼온건데 이 링크 기반입니다.

http://ko.esotericsoftware.com/spine-unity#spine-unity

 

Spine-Unity Runtime Documentation

Forums | GitHub | Additional documentation Integrating an official Spine Runtime into your applications requires a valid Spine license, though you are welcome to use the Spine Runtimes for evaluation purposes. Adding spine-unity into your Unity project: Do

ko.esotericsoftware.com

 

스파인 임포트 되었고 애니메이션이 있는 상황에서 이걸 어떻게 다룰 것인가?

 

기본이 되는 사용법 (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));
		};

이처럼 무명함수로 넣을 수 있음.

 

다음에 또 공부하고 추가 예정.

댓글
최근에 올라온 글
Total
Today
Yesterday
TAG
more
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31