Загрузка всех подспрайтов спрайта - PullRequest
0 голосов
/ 25 апреля 2019

Я пытаюсь загрузить все спрайты с учетом текущего спрайта в рендере спрайтов на объекте, однако я не могу загрузить каждый отдельный спрайт (2d спрайт с несколькими «фреймами», т.е. спрайт-листом) независимо от того, что я пытаюсь .

Я использовал

Resources.LoadAll<Sprite>(AssetDatabase.GetAssetPath(spriteRenderer.sprite.GetInstanceID()).Replace(".png", ""));

И даже

Resources.LoadAll<Sprite>(Path);

Но я не могу заставить его загружать то, что мне нужно (обычно это вообще не работает, но в более старой версии Unity загружались круглые полосы загрузки и знаки ошибок). Я создал фреймы / субспрайты спрайта.

Я пытался изменить путь, просто используя имя спрайта, чтобы включить тип файла во что-нибудь еще, но ничего не работает. Я использую Unity 2019.1.0f2, если это имеет значение.

Ответы [ 2 ]

0 голосов
/ 26 апреля 2019

Это закончилось простым недоразумением.Все мои папки были в папке «Активы», тогда как они должны были быть в папке «Активы / Ресурсы».Теперь я могу загрузить спрайты спрайта рендерера спрайтов, используя

spriteRenderer.sprite.GetInstanceID()).Replace(".png","").Replace("Assets/Resources/","")

Это немного долго, но работает!

Спасибо Louis Ingenthron за подсказку!

0 голосов
/ 25 апреля 2019

То есть вы хотите загрузить кучу спрайтов, верно?
Вы пробовали это?

Sprite[] loadedSprites = Resources.LoadAll("Sprites", typeof(Sprite));

Если вы используете это, ваше единство должно иметь папку с именем Ресурсы. По сути, в первом параметре LoadAll говорится следующее: «Ресурсы / спрайты», а затем он ищет все типы, являющиеся спрайтом, внутри папки спрайтов.

Примечание. Убедитесь, что все файлы .png, которые планируется использовать, подписаны как Sprite (2D и пользовательский интерфейс). Это можно сделать, щелкнув png в единстве и в правом углу скажет «Тип текстуры».

...