Unity ScriptableObject Поведение загрузки - PullRequest
0 голосов
/ 13 февраля 2019

Предположим, у меня есть два следующих объекта ScriptableObject:

public class Topic : ScriptableObject
{
    public string Title;
    public Sprite TitleImage;
    public Level[] Levels;
}

public class Level : ScriptableObject 
{
    // Various level properties here (strings, Sprite, AudioClip, ...)
}

В игре несколько тем, и каждая тема имеет несколько уровней.Тема и уровень существуют как файлы .asset.

Теперь, когда я создаю экран выбора темы, в котором мне нужны только Topic.Title и Topic.TitleImage, что Unity будет делать с объектами ScriptableObject, указанными в Levelsполе?Будут ли загружены эти данные?

1 Ответ

0 голосов
/ 13 февраля 2019

Если Unity имеет ссылку на объект из любого другого объекта, загруженного в память, он будет загружен в память.

Так что, если у вас есть что-либо в массиве уровней, он будет загружен, да.

Как правило, это не проблема, ScriptableObjects должен быть довольно легковесным, но вы должны знать, на что ссылаются ваши ссылки, например, если ваш уровень содержит ссылку на префаб GameObject, все, что ссылки GameObject будут загруженытоже, и это идет по всей цепочке.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...