GameObject в переменную

Общие вопросы о Unity3D

GameObject в переменную

Сообщение suckduck 24 фев 2020, 22:11

Всем привет!
Есть префаб и после его создания, в процессе игры он меняет свои параметры(положение, значения в скриптах и тд). Так вот можно ли сохранить измененный go в переменную типа GameObject и убрать его со сцены чтобы позже его создать? Я пытался засунуть его в переменную но туда попадает только ссылка на объект сцены и когда я его удаляю (destroy()), то создать его по ссылке уже не получается, потому что объект потерян, по сути мне нужно сохранить состояние объекта в переменной. Можно это сделать?
suckduck
UNец
 
Сообщения: 21
Зарегистрирован: 07 сен 2019, 19:56

Re: GameObject в переменную

Сообщение Tolking 25 фев 2020, 01:53

нет.
В реал тайме нет. в едиторе просто перетащить в иерархию и создать префаб.
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2715
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: GameObject в переменную

Сообщение jetyb 25 фев 2020, 07:51

Можно просто вместо удаления деактивировать объект и держать в памяти, а потом просто применить метод Object.Instantiate. Правда так объект сохранится только на время работы игры.
jetyb
Адепт
 
Сообщения: 1486
Зарегистрирован: 31 окт 2011, 17:21

Re: GameObject в переменную

Сообщение suckduck 26 фев 2020, 20:30

Спасибо, так и сделаю
suckduck
UNец
 
Сообщения: 21
Зарегистрирован: 07 сен 2019, 19:56

Re: GameObject в переменную

Сообщение getAlex 04 мар 2020, 17:06

Если нужно за пределами одного запуска, то можно сохранять его компоненты через json утилиту и дальше в файл. Потом инстансить и возвращать поля и состояние. Либо, если это одиночный и обязательный объект, то можно сейвить его состояние в скриптабл.
getAlex
Адепт
 
Сообщения: 1775
Зарегистрирован: 10 авг 2013, 18:30


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8