Чем Scriptable Object отличается от скрипта с префабом
|
|
alexsilent | Дата: Среда, 16 Сентября 2020, 16:44 | Сообщение # 1 |
почти ветеран
Сейчас нет на сайте
| Думаю, стоит ли изучать SO (Scriptable Object), и в связи с этим вопросы:
1) Есть ли какое то преимущество у Scriptable Object по сравнению с обычным скриптом с префабом? Данные можно хранить и в обычном скрипте закрепив за префабом, так это всё отличие от Scriptable Object, то что SO не нужен дополнительный пустой префаб или есть ещё фишки?
2) Также думаю, можно ли как-то хранить данные здоровье, кастомизацию и прочее для всех NPC в игре, а также вещи во всех контейнерах мира в SO?! Удаляются ли SO при перезагрузки уровня? Можно ли менять данные SO в течении игровой сессии, чтобы там переменные были изменены до остановки игры? PS Хотя это всё можно сделать и с обычным инстанс префаба со скриптом с данными, с галочкой DontDestroyOnLoad, но всё же интересно что может SO
Сообщение отредактировал alexsilent - Среда, 16 Сентября 2020, 16:53 |
|
| |
AndrewNovak | Дата: Четверг, 17 Сентября 2020, 09:25 | Сообщение # 2 |
почетный гость
Сейчас нет на сайте
| 1. Эти 2 подхода имеют место жить.
+ SO меньше жрут чем monobeh + префаб. + Легко подменять + Очень хорошо подходят для конфигов и парсинга данных из вне
- Неудобная вложенность и то, первого уровня. - Не ресетятся в эдиторе. - Можно напороться на дублирование - Тяжело проследить рефы и дебажить при нескольких копиях.
2. Хранить можно, но если для каждого NPC свой SO то у тебя будет очень много дублирований SO удаляются после закрытия игры. В едиторе измененные значения остаются после выхода из плеймода.
В общем очень хорошо подходят для какой то группы статичных данных, аля диалог, или квест или скины. Для динамики чуть посложнее.
COLD DEPTH Steam PUSS! COLD DEPTH
|
|
| |
drcrack | Дата: Четверг, 17 Сентября 2020, 10:01 | Сообщение # 3 |
старожил
Сейчас нет на сайте
| Я хотел было ответить, но понял что сам не знаю Загуглил — все равно не нашел внятного разбора Все перечисляют одни и те же малозначащие различия типо "Легко подменять" (см. предыдующий пост) Это все нам как бы говорит о том, что разница хоть и есть, она мало на что влияет и можешь делать так, как удобно PS Я использую SO
Сообщение отредактировал drcrack - Четверг, 17 Сентября 2020, 10:02 |
|
| |
alexsilent | Дата: Четверг, 17 Сентября 2020, 10:16 | Сообщение # 4 |
почти ветеран
Сейчас нет на сайте
| Цитата AndrewNovak ( ) В общем очень хорошо подходят для какой то группы статичных данных, аля диалог, или квест или скины. Для динамики чуть посложнее.
Критичная проблема. Решил остаться на обычных инстансах.
|
|
| |
drcrack | Дата: Четверг, 17 Сентября 2020, 10:21 | Сообщение # 5 |
старожил
Сейчас нет на сайте
| Цитата Критичная проблема. В чем конкретно проблема? В том что измененные значения сохраняются в ассете? Так и в префабе сохраняются) А если ты создаешь экземпляр префаба и уже его сравниваешь с SO так это вообще довольно глупое сравнение т.к. совершенно разные вещи. Неудивительно что SO тебе тут не подходит.
Сообщение отредактировал drcrack - Четверг, 17 Сентября 2020, 10:22 |
|
| |