본문 바로가기
tips/유니티 & 개발

유니티 2D 애니메이션 4. Swap sprite

by 디지털 수공업자 2020. 9. 6.
반응형

1. 교체할 스프라이트 준비

Swap기능을 사용하려면 교체하기 전 스프라이트와 동일한 Bone, Geometry셋팅이 되어있는 다른 스프라이트를 준비한다.
딱히 스프라이트가 구부러지거나 접힐 필요없이 단독으로 교체되는 것이라면 그냥 스프라이트 교체만 해도 된다.

 

2. Sprite library asset

asset폴더안 어딘가에 Sprite library asset 파일을 생성한다.
캐릭터를 구성하고 있는 스프라이트들 각각을 Sprite library에 등록해두고 교체한다.

생성된 Library를 선택하고 Inspector에서 + 버튼을 눌러 Category List를 추가하고, 추가된 Category List의 이름과 사이즈를 작성하고 바꿀 스프라이트를 연결해준다. Category List에 연결한 스프라이트들은 캐릭터 스프라이트와 동일한 Bone과 Geometry설정을 가진 스프라이트이다. 
다른 부위 교체가 더 필요하다면 Category를 추가하여 구성한다.

Scene에 나와있는 캐릭터 스프라이트 중 교체하려는 스프라이트 오브젝트에 Sprite Library 콤포넌트를 추가하고, 위에서 만든 Sprite Library Asset파일을 연결해준다.

 

3. Sprite Resolver

같은 오브젝트에 Sprite Resolver 콤포넌트를 추가하고 Category에 Sprite library에서 만들었던 Category항목을 선택하면, Library에서 등록했던 Category의 아이템들이 모두 나타난다. 아이템을 선택하면 스프라이트가 즉시 교체되는 것을 확인할 수 있다.

 

4. Script

using UnityEngine.Experimental.U2D.Animation ;

public class PlayerPartsSwitcher : MonoBehaviour {
        
    public void SwitchParts() {

		spriteResolver = GetComponent<SpriteResolver>() ;
        // SpriteResolver 콤포넌트 연결.
        
        spriteResolver.SetCategoryAndLabel(categoryName, labelName) ;
        // Category이름(string)과 Label이름(string)으로 세팅.

    }

}

 

 

1편 PSB 파일
boxwitch.tistory.com/16

2편 Bone, Geometry, Weight
boxwitch.tistory.com/17

3편 Sprite skin, IK
boxwitch.tistory.com/20

 

참고자료.

unity 2d animation. youtu.be/EZtpACxCTEE
sprite swap. youtu.be/hUERvxcKt_I

반응형

댓글