Unity

[Unity] 유니티 내에서 기존 Sprite 를 Atlas Packer 를 이용해서 묶은 후 이용하기.

정보처리마법사 2017. 11. 5. 05:24
반응형

 

[Unity] 유니티 내에서 기존 Sprite 를 Atlas Packer 를 이용해서 묶은 후 이용하기.

 

 

 

Atlas Packer 이용하기 등

 

 

 

 

이모티콘・01・고양이 마멋 친구들 - Google Play 앱

이모티콘・01・고양이 마멋 친구들: 무료 이모티콘, 회원가입 없이! 카톡, SNS로 감정 표현이 쉬워져요. 귀여움 가득, 대화창을 더 풍성하게!

play.google.com

 

 

안녕하세요 정보처리마법사 입니다.

 

이번 포스팅의 주제는 아틀라스 패커의 이용 등에 관한 내용입니다.

 

 

 

 

 

 

 

 

아틀라스패커에 관해 심도있게 들어가는 포스팅은 아니구요, 그냥 제가 사용했던 패턴의 기록물입니다.

먼저 프로젝트창에서 마우스 우클릭 > Create > Sprite Atlas 를 선택합니다.

 

 

 

 

 

 

 

 

 

저기 보라색 아이콘이 아틀라스인데 그래픽편집툴(포토샵등)로 미리 아틀라스를 만들어서 집어 넣은 것 과는

조금 다른 패턴입니다. 저 보라색 아이콘의 아틀라스는 그냥 캐시에 저장된 메타데이터 같은 개념이라고 합니다.

 

 

 

 

 

 

 

 

 

Object for Packing 에 Sprite 들을 추가해줍니다.

그리고 Allow Rotation 과 Tight Packing 의 체크를 해제해줍니다.

체크를 해서 사용할 경우도 있겠지만 저같은 경우는 이미지가 겹치고 

임의로 회전이 되어서 사용할 수가 없었습니다.

 

 

 

 

 

 

리스트를 하나 선언해서 사용했습니다.

 

 

1
public List<Sprite> spriteForForge;
cs

 

 

 

 

 

 

 

 

이렇게 무식한 방법 말고 스마트한 방법이 있지 싶은데 전 그냥 이렇게 했습니다.

 

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
    private void SpriteSetter()
    {
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/1"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/2"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/3"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/4"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/5"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/6"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/7"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/8"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/9"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/10"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/11"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/12"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/13"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/14"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/15"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/16"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/17"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/18"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/19"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/20"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/21"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/22"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/23"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/24"));
        spriteForForge.Add(Resources.Load<Sprite>("Images/Forge/25"));
    }
cs
 

 

 

 

 

 

 

 

 

 

 

반복문을 사용해서 이미지를 세팅하였습니다.

 

 

 

 

 

 

 

 

이상으로 포스팅을 마칩니다. 감사합니다.

 

 



 

 

 

 

 

 

 

 

 

 

 

 

 

 

Fin.

 

잘 못 된 정보가 있으면 말씀해주세요~

 

공감버튼 클릭은 작성자에게 큰 힘이 됩니다.  행복한 하루 되세요.

 


 

 

반응형