왜 안되나해서 이것저것해보고 찾고 하다보니 알게됨
Resources는 Unity에서 관리?하는 Special Folder중에 하나고 이 안에 sprite를 넣고 packing하려고하면 안된다.
이유는 packing을 하면 내부적으로 Library에 AtlasCache를 생성해 관리를 해주는걸로 아는데 Resources에 넣고 packing을 하게되면 이중으로 메모리를 사용하게 되니까 엔진자체에서 막아놓은듯..
어차피 UGUI에서 제공하는 Atlas는 NGUI와는 다르게 직접적으로 Atlas파일을 생성하는게 아니라 추상적으로 packing하려는 이미지를 묶어주는것이기 때문에 그냥 다른 곳에 놔두고 패킹해서 쓸것만 쓰면된다.. 가 되려나..
지금 테스트해볼것 - Resources폴더안에 들어있는 것이나 사용되는 파일이 빌드시 포함될텐데 평소엔 사용되지 않다가 코드상에서 이벤트가 발생했을때만 사용되는 이미지가 있고, 이 이미지는 Resources가 아닌 외부폴더에 들어있을경우 어찌될것인가..
-----------------------------------------------------
현재 당면한 문제점
구현하고자 하는 바는 이렇다
동적으로 코드상에서 sprite를 교체하고싶다.
이 sprite들은 sprite packer를 통해서 atlas로 묶어서 관리할 것이다.
헌데 코드상에서 교체하려면 Resources.Load말고는 할 수가 없는데.. 물론 일일히 배열이나 리스트로 전부 다 때려 넣어둘수도 있겠지만.. 이건 아닌거같고.. 이렇게 쓰는건 한두장정도면 몰라도 아이템아이콘같은걸 이렇게 할수는 없는데 으헝..
포럼을 좀 찾다보니 이미 이 문제들은 Unity5 이전부터 안고있던 문제였고 5에 와서도 여전히 해결되지 않은듯하다. 으앙
참고:http://forum.unity3d.com/threads/unity-4-5-sprite-packer-does-not-pack-images-inside-resources-folder.248349/
-----------------------------------------------------
다시 정리하자면 문제점은 Unity가 제공해주는 packing을 쓰고싶지만, packing을 하려면 Resources폴더에 넣어선 안된다.
근데 에셋번들로 받던 어쩌건간에 결국 Resources안에 있어야 사용할수있는데 이러면 packing을 어떻게 하냐는 것이다.
자동으로 묶어주나.. 확인해봐야하는데 요즘 5.0만지질 않고있어서 ㅎㅎ