В Json можно сохранить GameObject? То есть чтобы его можно

было создать. То есть вместе с моделькой или ссылкой на префаб. А то GameObject как класс, кажется, не содержит такого поля как ссылка на префаб, ну или оно недоступно.

14 ответов

32 просмотра

https://docs.unity3d.com/ScriptReference/JsonUtility.FromJson.html В теории есть что-то такое, но сам не трогал подобное поточнее подсказать не смогу

splashgy
https://docs.unity3d.com/ScriptReference/JsonUtili...

Only plain classes and structures are supported; classes derived from UnityEngine.Object (such as MonoBehaviour or ScriptableObject) are not.

Фереште- Автор вопроса
splashgy
https://docs.unity3d.com/ScriptReference/JsonUtili...

Там написано: "Поддерживаются только простые классы и структуры; классы, производные от UnityEngine.Object (такие как MonoBehaviour или ScriptableObject), не являются таковыми." При этом в описании GameObject сразу сказано: "класс в UnityEngine / Наследуется от: Объект" То есть получается, что эта утилита не может сохранять GameObject. А в принципе это как-то возможно? Есть вот такая штука: https://www.dropbox.com/s/yhrb9667qye17et/USLU_QuickStart.html Там, судя по написанному, нужно специальные компоненты вешать на префабы и объекты в сцене, чтобы отследить их связь между собой. Значит, встроенной возможности это сделать нет?

нельзя так сделать

Ну сделай кастомный класс, засунь туда нужные данные, а класс потом в джейсон, и по нему потом генерь объект какой хочешь, делов на 5 минут)

Фереште- Автор вопроса
Cliosity
Ну сделай кастомный класс, засунь туда нужные данн...

Ссылку на префаб? А где я её возьму? Только вручную собирать, сам объект мне её не отдаст?

Нет. В Json нельзя сохранить сам GameObject. Но всегда можно сделать SO, для каждого нужного тебе префаба, сгенерировать каждому SO уникальный ID, сохранять этот ID и инстансить префаб из этого SO при надобности. Ну или в SO можешь Dictionary сделать, где уникальные ID будут ключами к префабам.

Фереште- Автор вопроса
Илья
Нет. В Json нельзя сохранить сам GameObject. Но вс...

То есть мне нужно вручную каждому объекту прописать, из какого префаба он создан?

Фереште
То есть мне нужно вручную каждому объекту прописат...

Если объекты создаются через фабрики, а не в случайном месте случайным скриптом, то это вопрос 2-3 строчек кода

Фереште- Автор вопроса
Илья
Если объекты создаются через фабрики, а не в случа...

Я просто уточнить. Что это именно я делаю, а не класс GameObject. Спасибо.

Фереште- Автор вопроса
Илья
Нет. В Json нельзя сохранить сам GameObject. Но вс...

А инфа в SO разве не пропадёт при закрытии редактора/игры?

Фереште- Автор вопроса
Alexander Pluzhnikov
Пропадет

И что тогда делать?

Фереште
А инфа в SO разве не пропадёт при закрытии редакто...

Какая инфа? Размещённые там на момент разработки префабы с уникальными ID - нет, не пропадут. (если, конечно, правильно сериализуешь Dictionary) Ты же в SO ничего во время игры не сохраняешь, значит и пропадать там нечему

Похожие вопросы

Обсуждают сегодня

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
3
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
В тг можно спарсить всех кто пишет в группе? Если список участников скрыт
S
3
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
Всем привет. Не понимаю, в чём тут шутка юмора. Убирается только разрешение на send_messages. А send_media_messages остаётся. Как сделать, чтобы оба убирались? await b...
Alexander
2
Карта сайта