Полезное

Мы Вконтакте

Discord канал

#
Модератор: icms
Аватара пользователя
Пользователь
Сообщения: 4069
с высоты, своего опыта, я бы посоветовал тебе такую иерархию, создай структуру, для каждого класса, а потом создай структуру, которая будет объеденять все структуры созданные ранее, сохраняй эту структуру и дело в шляпе.
Но вариантов вообще масса, можно сохранить все, в одном массиве типа стринг - абсалютно все, всего в одном массиве.
Каждая строка, будет содержать в себе данные о каждом объекте в мире. Такой вариант тоже имеет право на существование, точнее он мне нравится не менее чем куча структур в одной структуре, или просто куча структур.

Вообщем, есть два идеальных варианта.

1. У тебя всего одна структура в сэйвгэйме
2. У тебя всего один массив типа стринг в сэйв гэйме, как я говорил, трансформ объекта не удобно хранить в стринге, хотя вполне возможно, если будет желание хранить трансформ в стринге, рекомендую храниить его под индексами 0-8, тоесть первыми, индекс 9, пусть отвечает, что это за объект(класс), дальше все остальное.
Аватара пользователя
Пользователь
Сообщения: 2319
Night Obscure , неплохой момент залезть в С++.
и через сериализацию сделать сохранения.
На ++ ровно как ты и говорищь - в байтовый массив сохраняется.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 2319
можешь создать актора какого в плюсах
добавь пару переменных с флагами
объяви структуру
FArchive
добавь переменную массива байтов сделай из EditEdywhere
чтобы видеть как они заполняются
напиши в акторе методы сериализации и десериализации
и попробуй в BP их поюзать
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 138
если сделать свою собственную сохранялку не самоцель, то вот - https://www.unrealengine.com/marketplace/rama-save-system
Аватара пользователя
Пользователь
Сообщения: 11
Snake писал(а):
Night Obscure , неплохой момент залезть в С++.
и через сериализацию сделать сохранения.
На ++ ровно как ты и говорищь - в байтовый массив сохраняется.

Я в курсе. Я изначально это и имел ввиду. Просто раньше я делал игры на C# на Unity и делал там именно так. Сейчас решил перейти на UE, но плюсы знаю не очень, поэтому и делаю пока на блюпринтах.
Аватара пользователя
Пользователь
Сообщения: 2319
ну знаний С# и подсмотреть в чужой код должно хватить, чтоб с сериализацией разообраться... пример кода только найти нужно, от которого оттолкнуться.
_________________
we need to go deeper
Аватара пользователя
Пользователь
Сообщения: 4069
как много вариантов и способов, для реализации одной из самых стандартных задач. Сохранить значение переменных это ведь совсем пустяк, несколько сложнее это именно логика для загрузки, она в принципе всегда будет так или иначе уникальной, и зависеть от конкретной игры.
Для каждого уникального актора, будет своя уникальная логика, и ничто не поможет это автоматизировать. И пофиг где это делать(бп,с++), где умеешь там и делай.
Логика лично у меня всегда - сначала на русском и листе бумаги(если слишком сложная для меня и удержать в голове всю систему(алгоритм) не получается).
А сохранить все переменные и организовать иерархию, это не более 20% от общей сложности.
Аватара пользователя
Пользователь
Сообщения: 48
Я тоже столкнулся с проблемой сохранения. Такой простой вопрос, а решает через ... Эпики удивили, честно.

Прихожу к выводу, что данная система сохранения на блупринтах в корне не верная. Только сериализация способна выдать нужный результат. Можно, конечно, делать грамотные структуры, но чёрт возьми это не получится сделать если вы работаете в команде. Ибо кроме программистов полно и других людей, которые делают акторы (например кат-сцены) и понятия не имеют что такое сохранения и зачем оно нужно.

Надеюсь, в скором времени Эпики сделают нод в BP сериализация/десериализация.

Snake, а ты бы хотя бы небольшой тутор по этому делу накатал. Хрен пойми как этим пользоваться.

Тестил Раму (Rama), к сожалению, работает неполноценно (не учитывает заспавненные акторы, ещё что-то), работает через раз, слишком перегружен функционалом. Всё должно быть в один нод (сохранить текущее состояние) и в один нод (загрузить состояние) и точка!
_________________
by Starter
Аватара пользователя
Пользователь
Сообщения: 589
Starter писал(а):

Надеюсь, в скором времени Эпики сделают нод в BP сериализация/десериализация.



Сомневаюсь что то изменится. Лучше не надеяться. А пытаться самому что то придумать.
Аватара пользователя
Пользователь
Сообщения: 2319
Цитата:
Snake, а ты бы хотя бы небольшой тутор по этому делу накатал. Хрен пойми как этим пользоваться.

не дорос я еще туторы по C++ писать...
это у @WssIDs надо просить туториал,
он мне обьяснял как это работает.
_________________
we need to go deeper
Последний раз редактировалось Snake 22 янв 2018, 13:31, всего редактировалось 2 раз(а).


Сейчас этот форум просматривают: Google [Bot] и гости: 13

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница