본문 바로가기

진리는어디에

[Unity] Texture2D를 Sprite로 변경

스프라이트 객체를 AssetBundle로 만들고 난뒤 AssetBundle을 통해 스프라이트 객체로 로드를 했는데 로드를 하지 못하고 null을 리턴하는 현상이 발생했습니다. Unity 4.3 버젼에서는 스프라이트는 어셋번들로 빌드하게 되면 텍스쳐로 로드해서 스프라이트로 변환 해야 한다고하는 군요.

그래서 텍스쳐를 스프라이트로 변경하는 방법에 대해서 살짝 짚고 넘어가보도록 하겠습니다.

Rect rect = new Rect(0, 0, texture.width, texture.height);
sprite.GetComponent<SpriteRenderer>().sprite = Sprite.Create(texture, rect, new Vector2(0.5f, 0.5f));

참 쉽죠?ㅋ

추가 : Sprite Packer를 이용해 패킹한 sprite는 asset bundle을 통해서도 정상적으로 로드 되었다.

부록 1. 같이 읽으면 좋은 글들

유익한 글이었다면 공감(❤) 버튼 꾹!! 추가 문의 사항은 댓글로!!