Unity에서 SkeletonAnimation 또는 SkeletonGraphic(ui용)의 SkeletonDataAsset를 교체해야하는 경우가 있다. 보통 위 Inspector내에서 교체하는데, Runtime중에 Script로 교환 할 때는 아래와 같은 코드로 해야 한다. SkeletonGraphic m_animation; .... var skeletonDataAsset = Resources.Load("{your resource path}"); m_animation.skeletonDataAsset = skeletonDataAsset; m_animation.Initialize(true); 마지막에 Initialize(true)를 해줘야 하는게 핵심이다. 끝.
Unity에서 런타임 중 스프인 오브젝트의 스킨을 바꿔야 하는 경우가 있다. SkeletonAnimation.Skeleton에 SetSkin이라는 함수가 있길래, 쉽게 변경이 가능한 줄 알았는데, 잘 변경 되지 않았다. Skeleton.Update()함수도 해봤는데 먹히지 않았다. 뭐가 문제지? 라고 생각하고 검색해 본 결과 SetSkin함수 호출 후, SetSlotsToSetupPose()라는 함수를 호출해야 한다고 한다. public void SetSkin(string skin_name) { m_animation.Skeleton.SetSkin(skin_name); m_animation.Skeleton.SetSlotsToSetupPose(); } 위 코드처럼 해보면 깔끔하게 잘 변경된다.
Spine에 포토샵에서 작업하던 내용을 바로 import할 수 있는 스크립트를 제공하고 있다. 바로 PhotoshopToSpine 이라는 포토샵 스크립트다. 이 기능을 사용하기 전 까지는, [포토샵에서 캐릭터 파츠별로 이미지 저장] -> [캐릭터 뼈대 구성] -> [파츠를 뼈대로 드래그앤드랍] -> [이미지 위치 재조정] 의 과정을 걸쳐 설정했었는데, 이 스크립트를 이용하면 [PhotoshopToSpine로 json 저장] -> [spine에서 불러오기] -> [뼈대 설정] 으로 그 과정이 간결해 진다. 특히 [이미지 위치 재조정]의 과정이 빠져 너무 편하다. (사실 뼈대 설정도 포토샵에서 가능) 1. 설치 https://github.com/EsotericSoftware/spine-scripts/tree..