2023. 2. 13. 12:02ㆍ카테고리 없음
스크립트를 안쓴지 벌써 3년이 되어간다.
다 까먹은듯 하다. 솔직히 말해, 읽는 거는 되는 거 같은데, 이걸 용접하는 거를 아직 잘 모른다. 사실 읽을줄 안다는 거도 그 기능을 어렴풋이 알 뿐 완전히 이해하는 거도 아니다. 그런데 내가 원하는 기능들은 유티티 런타임의 기능이 필수적이었고, 그런 이유로 내가 앞으로 공부하는데 필요한(그리고 프로그래머 분에게도 중요한 자료가 되는) 정보들을 메모하고자 한다.
https://www.youtube.com/watch?v=B7Zk1bx-tqg
Spine 믹스 앤 매치(런타임 스킨)
한국에서는 믹스앤 매치인데, 영미권 포럼에서는 Runtime skin라는 말이 정말 많이 나오더라. 사실 둘다 의미하는 바는 같다. 스파인에서는 스킨이라는 기능이 있는데, 이 스킨은 한꺼번에 하나만 변경이 된다. 예시를 들자면, 캐릭터가 있고 상의 하의가 있다면, 별도의 세팅 없이 유니티에 임포트 될 시 상의 하의 통째로 바꿔지기만 한다. 이런 상황은 코스튬 작업에 있어 굉장히 불편하기에, 원하는 부위만 바꿔치기를 하는 기능을 믹스앤 매치(런타임 스킨)이라 부르는 거다.
이렇게 말이다.
이걸 하기 위해서는 스파인 애니메이터가 몇가지 공정을 해둬야 하는데 이는 스킨 플레이스 홀더와, 이 스킨의 네이밍들을 프러그래머에게 사전에 공지를 해드려야 한다는 거다. 스킨 플레이스 홀더의 분류는 대략적으로
파츠/변경되는 스킨 코드 로 구성되어 있다.
이런식으로... (좋은 네이밍 방식은 아니다. 일관성있게 네이밍 짓는게 중요해 보인다. )
이 스킨의 기능은 꽤나 강력한데 이 특징을 정리하자면 이렇다.
1. 스킨에서는 본을 추가하는 것이 가능하다. 즉 스킨 2 전용 본을 추가하고, 스킨 3 전용본을 추가하는 식으로. 이 전용본들은 서로에게 영향을 주지 않는다. 스킨 플레이스 홀더에 함께 들어가 있기에, 스킨을 변경하면 그 변경된 스킨에 있는 본 그대로 변경이 된다.
2. 하지만 공동적으로 있는 본들은 변경되지 않는다. 즉, "어떠한 스킨 플레이스 홀더"에 있는 본은 변경되지 않는 구조다. 이걸 통해 공통적으로 모션을 공유시키는 것이 가능해진다.
3. 슬롯-어태치먼트 변경이 가능하다. 단 변경할 어태치먼트는 그 스킨에서만 사용이 가능하다. 때문에 약간의 반복작업이 어느정도 들어가 있다. 이를 효율적으로 하기 위해서는 어태치 먼트가 변경되는 타이밍에 대해 정리를 해두는 것이 중요해 보인다.
이제 유니티로...
기본적으로, 유니티에서는 스크립트 없이 스킨만 있는 스파인 파일을 덜렁 주면, 이렇게 한가지밖에 설정이 안된다. 여러개를 동시에 둘려면 이제 앞에 말한 믹스앤 매치를 설정해 두어야 한다.
http://ko.esotericsoftware.com/spine-runtime-skins
http://ko.esotericsoftware.com/spine-unity-mix-and-match
https://github.com/pharan/spine-unity-docs/blob/master/spine-unity-mix-and-match.md