Страница 1 из 1

Поля класса или scriptableObject

СообщениеДобавлено: 02 май 2022, 22:01
_user_
Здравствуйте! Недавно узнал про scriptableObject и их применении в качестве хранителя данных. Такой вопрос возник: что будет выгоднее по ресурсам хранить 50 спрайтов в полях класса myClass префабов, которых 100 штук, или сделать ссылку в классе myClass на scriptableObject, который также будет хранить 50 спрайтов. У каждого префаба одни и те же спрайты.

Re: Поля класса или scriptableObject

СообщениеДобавлено: 02 май 2022, 22:16
waruiyume
Монописуально.

Re: Поля класса или scriptableObject

СообщениеДобавлено: 02 май 2022, 23:27
_user_
waruiyume писал(а):Монописуально.

Я смотрел видео codeMonkey и он вроде говорил, что выгодней использовать scriptableObject. Правда, я не понял когда именно. Если использовать scriptableObject, то он будет один на все прифабы. А вот если не использовать, то каждый скрипт прифаба будет хранить данные, хоть они и одинаковые. Я правильно думаю?

Re: Поля класса или scriptableObject

СообщениеДобавлено: 03 май 2022, 01:51
Saltant
_user_ писал(а):
waruiyume писал(а):Монописуально.

Я смотрел видео codeMonkey и он вроде говорил, что выгодней использовать scriptableObject. Правда, я не понял когда именно. Если использовать scriptableObject, то он будет один на все прифабы. А вот если не использовать, то каждый скрипт прифаба будет хранить данные, хоть они и одинаковые. Я правильно думаю?

Считай скриптаблобжект уникальным экземпляром с настраиваемыми полями.

Re: Поля класса или scriptableObject

СообщениеДобавлено: 03 май 2022, 04:45
1max1
_user_ писал(а):
waruiyume писал(а):Монописуально.

Я смотрел видео codeMonkey и он вроде говорил, что выгодней использовать scriptableObject. Правда, я не понял когда именно. Если использовать scriptableObject, то он будет один на все прифабы. А вот если не использовать, то каждый скрипт прифаба будет хранить данные, хоть они и одинаковые. Я правильно думаю?

В полях ты будешь хранить не сами объекты, а ссылки на них (такой своеобразный указатель на память весом 4 байта, грубо говоря uint с адресом) и не важно где они будут расположены, в каком-то СО или монобехе.
К слову, СО это альтернатива статическим полям, когда данные надо перемещать со сцены в сцену, но плюс сошек в том что для них можно сделать красивый инспектор редакторными скриптами)

Re: Поля класса или scriptableObject

СообщениеДобавлено: 03 май 2022, 08:55
_user_
1max1 писал(а):
_user_ писал(а):
waruiyume писал(а):Монописуально.

Я смотрел видео codeMonkey и он вроде говорил, что выгодней использовать scriptableObject. Правда, я не понял когда именно. Если использовать scriptableObject, то он будет один на все прифабы. А вот если не использовать, то каждый скрипт прифаба будет хранить данные, хоть они и одинаковые. Я правильно думаю?

В полях ты будешь хранить не сами объекты, а ссылки на них (такой своеобразный указатель на память весом 4 байта, грубо говоря uint с адресом) и не важно где они будут расположены, в каком-то СО или монобехе.
К слову, СО это альтернатива статическим полям, когда данные надо перемещать со сцены в сцену, но плюс сошек в том что для них можно сделать красивый инспектор редакторными скриптами)

Понял. Спасибо)

Re: Поля класса или scriptableObject

СообщениеДобавлено: 03 май 2022, 19:37
seaman
Нужно еще иметь в виду, что в СО можно сохранять код (не любой). Это может помочь в некоторых случаях. Например у Юнитеков был такой курс - создание АИ на СО.
https://www.youtube.com/playlist?list=P ... VkHrEkd4pi