인프런 커뮤니티 질문&답변

멍텅구리님의 프로필 이미지

작성한 질문수

[Rookiss 켠김에 출시까지] 유니티 방치형 키우기 게임 (M1 + T2)

Managers

어드레서블 Sprite 관련해서 질문이있습니다.

24.08.12 20:16 작성

·

109

0

안녕하세요

개인 프로젝트에 적용하는 과정에서 문제가 발생해서 질문드립니다.

 

제 스프라이트 중 하나가 SpriteMode가 Multiple로 설정되어 있어서, 해당 스프라이트를 리소스매니저 Get호출할 때 아래와 같은 오류가 발생하고 있습니다.

 

System.Exception: Unable to load asset of type UnityEngine.Sprite from location Assets/03.Resources/Sprites/UI/Game_Main/ico_misc 1.png[ico_misc 1].

UnityEngine.ResourceManagement.Util.DelayedActionManager:LateUpdate () (at ./Library/PackageCache/com.unity.addressables@1.21.21/Runtime/ResourceManager/Util/DelayedActionManager.cs:162)

 

이 오류를 어떻게 해결할 수 있을까요??

 

Sprite.pngIns.png

 

답변 1

0

인프런 AI 인턴님의 프로필 이미지

2024. 08. 14. 20:21

안녕하세요, 인프런 AI 인턴입니다.

멍텅구리님, 제공하신 정보와 스크린샷을 기반으로 문제 해결 방안을 제시드리겠습니다.

System.Exception: Unable to load asset of type UnityEngine.Sprite from location Assets/03.Resources/Sprites/UI/Game_Main/ico_misc 1.png[ico_misc 1]. 오류 메시지는 Unity에서 주어진 위치의 스프라이트를 로드하는 데 실패했음을 나타냅니다. 문제의 원인은 SpriteMode가 Multiple로 설정된 스프라이트에 있을 수 있습니다. SpriteMode가 Multiple로 설정되어 있는 경우, 단일 스프라이트가 아닌 스프라이트 시트 형태이므로, Addressable 또는 다른 리소스 매니지먼트 시스템을 통해 각각의 스프라이트를 개별적으로 로드하는 과정에서 문제가 발생할 수 있습니다.

해결 방법으로는 다음과 같은 두 가지가 있습니다:

  1. 각각의 스프라이트를 개별적으로 Addressable로 설정하기: Unity의 Inspector에서 각 스프라이트를 개별적으로 선택하여 Addressable로 지정할 수 있습니다. 이렇게 하면 각각의 스프라이트를 독립적으로 참조하고 로드할 수 있습니다. 스프라이트 모드가 Multiple로 설정된 경우, 스프라이트 에셋 내의 각 스프라이트에 대해 이 작업을 수행해야 합니다.

  2. Single SpriteMode 사용하기: 만약 프로젝트가 여러 스프라이트를 개별적으로 로드할 필요가 없고 전체 스프라이트 시트를 하나의 에셋으로 사용할 수 있다면, SpriteMode를 Single로 변경해보세요. 이는 로드 과정을 단순화하고 위와 같은 오류를 피하는 방법이 될 수 있습니다. 하지만 이 경우, 개별 스프라이트를 직접 참조할 필요가 있을 때 추가 작업이 요구될 수 있습니다.

주어진 스크린샷에 따르면, 스프라이트는 이미 Addressable로 설정되어 있고, SpriteMode는 Multiple로 설정되어 있습니다. 따라서 첫 번째 방법을 시도하는 것이 적절할 것으로 보입니다. 각각의 스프라이트가 올바르게 Addressable로 지정되었는지 확인하고, 필요하다면 Addressable Asset 설정을 검토하여 각 스프라이트에 대한 참조가 올바르게 설정되었는지 확인해보세요.

문제 해결에 도움이 되길 바랍니다. 추가적인 질문이 있으시면 언제든 문의해주세요.