Как сохранить проект в unreal engine 4
Перейти к содержимому

Как сохранить проект в unreal engine 4

  • автор:

Saving and Loading Your Game

The meaning of «saving the game» can vary considerably from one game to the next, but the general idea of enabling players to quit the game and then resume where they left off at a later time is a part of most modern games. Depending on what type of game you’re making, you may only need a few basic pieces of information, such as the last checkpoint the player reached and maybe which items the player has found. Or you may need much more detailed information, possibly involving things like a long list of the player’s social interactions with other in-game characters, or the current status of a variety of quests, mission objectives, or subplots. Unreal Engine 4 (UE4) features a saving and loading system that revolves around one or more custom SaveGame classes that you create to meet your game’s specific needs, including all of the information that you need to preserve across multiple play sessions. The system supports the ability to have multiple saved game files, and to save different SaveGame classes to those files. This is useful for separating globally-unlocked features from playthrough-specific game data.

Creating a SaveGame Object

To create a new SaveGame object, create a new Blueprint Class . When the Pick Parent Class dialog pops up, expand the Custom Classes dropdown, then select SaveGame. You can use the search box to jump directly to SaveGame. Name your new Blueprint MySaveGame.

savegame.png

In your new SaveGame object Blueprint, create variables for any information you would like to save.

In this example, there are also variables declared that will be used to store default values for the SaveSlotName and the UserIndex, so that each class that saves to this SaveGame object will not have to independently set those variables. This step is optional, and will cause there to be one save slot that gets overwritten if the default values are not changed.

SaveGameVariables.png

You can set default values for the variables after the Blueprint is compiled.

Saving A Game

Once you have created a SaveGame class, you can populate it with variables to store your game’s data. For example, you might create an integer variable to store the player’s score, or a string variable for the player’s name. When you save the game, you will transfer that information from the current game world into a SaveGame object, and when loading a game, you will copy it from the SaveGame object to game object like Characters, the Player Controller, or the Game Mode.

First, use the Create Save Game Object node to create an object based on your SaveGame class. Make sure you set the Save Game Class input pin’s dropdown to the class you’ve created, which is MySaveGame in this example. The Create Save Game Object node will automatically change its output pin type to match the type you specify with the Save Game Class input pin. This enables you to use it directly, without a Cast To node. You may want to save the resulting object to a variable by using Promote to Variable so that you can easily reuse the object you just created later on.

SaveGameBP_1.png

Now that the Save Game Instance holds your custom SaveGame object, you can send information to it. For example, you can set the Player Name field to «PlayerOne». Continue to set fields in your SaveGame object until it contains all of the data you want to store in the saved game file.

SaveGameBP_2.png

When the SaveGame object is fully populated, use the ASync Save Game To Slot node to finish saving the game. You will also need to provide a file name and a user ID. The file name and user ID in this example will be the default values created earlier. Execution will continue from the top pin immediately, and from the second pin once the savegame operation is complete. The output pins will not be valid until the second pin has executed.

SaveGameBP_3.png

Async Save Game To Slot is the recommended way to save your game, due to its ability to avoid hitches even when saving larger amounts of data. However, if your savegame data is small, or if you are saving from a menu or pause screen, you can save the game with the Save Game To Slot node, shown below, instead.

SaveGameBP_4.png

The following screenshot shows the entire Blueprint process for saving a game with the MySaveGame class:

Сохранение и загрузка игры в Unreal Engine

Здравствуйте, меня зовут Дмитрий. Я занимаюсь созданием компьютерных игр на Unreal Engine в качестве хобби. Сегодня я расскажу как сохранить игру на диск а потом загрузить её с диска.

Сначала вам необходимо определить какие переменные вы собираетесь сохранять делается это так, для C++:

image

После этого сохранение и загрузка осуществляется таким способом:
Сохранение:

Как можно видеть сохранение от загрузки отличается лишь тем какой архив мы используем FMemoryWriter — при сохранение и FMemoryReader при загрузке.
Object — Это экземпляр класса значения переменных которого мы хотим сохранить.
ObjectData — Это массив байт который мы записываем в файл или читаем из файла.
ArIsSaveGame — Этот флаг говорит о том что архив используется для сохранения переменных помечены как SaveGame.
ArNoDelta — Этот флаг нужно установит что-бы не возникла ошибка, которая возникает если значение переменной сначала устанавливается в конструкторе класса а затем на панели свойств класса. При сохранение переменной значение которой равно значению в конструкторе, и последующей загрузке, будет загружено значение из панели свойств.

После того как все значения переменных сохранены в архив нужно записать этот архив в файл. Делается это так:

Кроме того чтобы сэкономить место на диска можно сохранять и загружать файлы в сжатом виде:

При использование сжатия мы должны создать промежуточный архив FArchiveSaveCompressedProxy — для сжатия данных и FArchiveLoadCompressedProxy — для восстановления данных.

Собственно, на этом все
→ вот пример

Здесь при нажатии s происходит сохранение всех акторов на карте которые являются наследниками класса ISaveObject_StoryGraph. При нажатии l соответственен происходит загрузка, p — вывод переменных на экран i — инкремент переменных.

Кроме того в плагине для редактирования квестов тоже появилась возможность сохранятся и загружаться (клавиши [ — сохранить, ] — загрузить),
→ вот он.

Работа с проектами

Проект — набор ресурсов, контента и кода, которые работают сообща и выдают финальный результат для конечного пользователя. Все эти ресурсы хранятся на жестком диске в той же самой системе, что и внутри вашего запущенного проекта и в Content Browser’е.

На жестком диске ваш проект представляет папка со всеми ресурсами проекта, так же файлом .uproject, который определяет, какие ресурсы с ним связаны и какие загружать в редактор для последующей работы с ними. Простым языком, это как .exe файл, который загружает ресурсы программы, только специально для редактора UE4.

Вы можете создавать неограниченное количество проектов, и даже работать в нескольких параллельно.

Projects Browser

Запаковка проектов

Запаковка проектов

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

Подготовка проекта состоит из нескольких шагов. Для начала это компиляция кода для корректного запуска, после чего проходит запаковка контента, из которого и состояит игра. Этот контент запаковывается, в основном, под конкретную платформу на которой будет запущен проект. После всего этого останется останется подготовить проект для удобного использования и запуска, например установщик Windows.

В File меню вы сможете найти подменю под названием Package Project. Этот раздел отвечает за подготовку и запаковку вашего проекта для тестирования и распространения. Так же в этом разделе имеются дополнительные настройки запаковки.

После выбора нужной платформы, редактор Unreal Engine 4 начнет компиляцию кода, запаковку контента и подготовку проекта для дистрибутации или тестирования. Процесс может занимать очень долгое время, если в вашем проекте содержится большое количество контента(модели, звуки, карты и т.п.).

Запаковка проекта

Что бы запаковать ваш проект под конкретную платформу, выберете File > Package Project > [Имя платформы] в редакторе UE4.

Меню запаковки проекта

Вам будет предложено выбрать путь, куда будет помещен ваш проект, а затем начнется процесс запаковки проекта.

Процесс запаковки проходит в фоновом режиме, поэтому возможность использовать редактор остается. В нижнем правом углу будет показываться индикатор, который означает, что ваш проект запаковывается.

Прогресс запаковки

Данное окно позволяет прервать процесс в случае необходимости, а так же позволяет открыть окно логов. Окно будет открыто как отдельное окно, в котором будет подробно описан процесс компиляции. В случае ошибки, в данном окне можно посмотреть, на каком моменте и по какой причине был прерван процесс запаковки.

Окно лог

Для менее опытных пользователей, самые важные сообщения, такие как предупреждения или ошибки, можно посмотреть в отдельном окне Message Log.

Massage Log

Запуск проекта

После того, как проект был успешно запакован и подготовлен, вы можете найти его и запустить по пути, который был выбран перед процессом запаковки.

Для каждой платформы, исполняемые файлы для запуска могут различаться. Таким образом для Windows будет файл .exe, а для Android — .apk

Запуск проекта через проводник

Конфигурация Название EXE Расположение
Development [Имя проекта].exe [Путь]WindowsNoEditor[Имя проекта]BinariesWin64
Shipping [Имя проекта]-Win32-Shipping.exe.exe [Путь]WindowsNoEditor[Имя проекта]BinariesWin32

Распространение

Дополнительные настройки

Дополнительные настройки можно найти в File > Package Project > Packaging Settings в главном меню редактора UE4.

Окно настроек проекта

Build Configuration Конфигурация проекта. Для отладки режим Debug. Для тестирования больше подойдет режим Development. Для финального распространения — режим Shipping.
Staging Directory Директория, которая будет содержать запакованный проект. Будет автоматически обновлено при выборе другого пути перед запаковкой.
Full Rebuild Определяет, будет ли скомпилирован весь код, или же только измененная часть(Выкл). Это может ускорить время запаковки. При подготовки проекта к распространению(режим Shipping) убедитесь, что данная опция включена, что бы не пропустить ничего лишнего при запаковке.
Use Pak File Определяет, запаковывать ли весь контент в один файл(.pak) для более удобного распространения, или же хранить контент в индивидуальных файлах(Выкл).

Запаковка контента

При обновлении вашего контента, вам может не понадобится перекомпилировать весь проект для того, что бы запустить его и проверить. Вместо этого, в UE4 существует возможность запаковать только сам контент на нужную платформу. Сделать это можно через File > Cook Content > [Платформа].

Project Browser

При первом запуске у вас отобразится «Project Browser».

Project Browser является основным хранилищем ваших проектов. В нем вы можете создать новый проект, так и открыть уже существующий проект с вашего компьютера. Так же имеется поддержка проектов «Примеров», в которых можно оценить возможности и работу Unreal Engine 4.

Открытие проектов

Здесь будет показан весь список ваших проектов, когда хоть один будет создан. Изначально, тут будет приведен список всех проектов в папке установки.

Двойной клик по иконке открывает проект.

Иконка проекта состоит из .png картинки размером 192х192 пикселей, которая находится в папке с проектом. Есть возможность назначить горячую клавишу на обновление иконки, что бы быстро снять скриншот и поставить его на место иконки. Если же вы вручную не предоставите иконку, то она будет автоматически снята со скриншота, который создается каждый раз, когда вы выходите из редактора или из проекта.

Что бы найти проект, вы можете ввести текст в поле Filter Projects. Будут показаны все проекты, содержащие введенное имя.

Так же вы можете нажать Browse и выбрать проект на вашем компьютере. Вам нужно выбрать .uproject файл.

В Project Tab вы так же можете поставить галочку на Always load last project on startup, что позволит пропусить окно Project Browser’а и запускать сразу выбранный вами проект.

Что бы вручную задать эту настройку, войдите в настройки редактоа, найдите вкладку «General» > «Load & Saving» и установите настройку «Load the Most Recently Loaded Project at Startup».

Создание новых проектов

Вкладка New Project позволяет вам создать новый проект из существующих заготовок. Blank создает полностью пустой проект.

Всего имеется два типа заготовок: C++ и Blueprint. C++ означают, что логику вашего проекта вы будете писать на C++. Другой типо означает, что для логики вам будет предоставлен визуальный скриптовый язык — Blueprint. В процессе разработки можно совмещать два типа.

  • Blank — чистый проект без какой-либо логики
  • FirstPerson — заготовка под шутеры от первого лица
  • Flying — Заготовка под простые «леталки»
  • Puzzle — Заготовка для логической игры
  • Rolling — Заготовка с катающимся мячиком
  • (2D)Side Scroller — Платформер. 2D создает заготовку для 2х-мерного платформера.
  • Third Person — Заготовка с видом от третьего лица
  • Top Down — Вид сверху и управлением мышью
  • Twin Stick — Заготовка с аркадой видом сверху
  • Vehicle — Заготовка для создания авто-симуляторов. Заготовка Vehicle Advanced создает автомобиль с улучшенной системой подвески

Что бы создать новый проект:

  1. Выберете заготовку из списка
  2. Установите настройки проекта.
  3. Введите название вашего проекта и путь к нему.
  4. Нажмите Create

После создания, откроется редактор и запустится стандартный уровень.

Так же проект можно создать через выпадающеее меню во вкладке File > New Project…

Настройки проекта

При создании проекта, у вас имеется возможность установить его начальные настройки графики и контента. После создания проекта, эти настройки можно изменить в настройках проекта.

Русские Блоги

Используйте Git для резервного копирования или восстановления в UE4

Поскольку раньше я делал резервную копию перед работой утром и копировал ее во время обеда во время обеда, теперь я обнаружил, что Git используется для управления версиями ue4, но мне все еще нужно создавать резервную копию всего файла, как и раньше, потому что после того, как я удалил папку, чертеж сообщил об ошибке После повторного перехода Git к предыдущей версии возникли проблемы, и некоторые объекты, которых больше не было в этой версии, также появились.

1. Установите Git

Используйте Git, который мне прислал брат Лян, просто установите его по умолчанию

2. Справочный веб-сайт

3. Регистрация

После завершения установки найдите «Git» -> «Git Bash» в меню «Пуск», и появится окно командной строки, указывающее, что установка Git прошла успешно!

install-git-on-windows

После завершения установки вам понадобится последний шаг для настройки, ввод в командной строке: требуется ввод вручную

Поскольку Git — это распределенная система контроля версий, каждая машина должна сообщать самостоятельно: ваше имя и адрес электронной почты. Вы можете беспокоиться, что, если кто-то намеренно притворится кем-то другим? Не беспокойтесь об этом. Прежде всего, мы считаем, что все — это масса добрых и невежественных.

нота git config Командовал —global Параметр. Использование этого параметра означает, что все хранилища Git на вашем компьютере будут использовать эту конфигурацию. Конечно, вы также можете указать другое имя пользователя и адрес электронной почты для определенного хранилища.

4. ue4 создать управление версиями

Нажмите наПотом появилсяНачать ждать

Поскольку проект большой, Git также очень медленно сохраняет

Тогда это

Нажмите, чтобы принять настройки

На этом этапе: если в выходной информации указано, что резервное копирование не удалось, и он показывает, что файл Git уже существует, вы используете принудительное удаление, чтобы удалить файл Git в его каталоге (при первом использовании) Вдруг обнаружил, что это абсолютный путь. Что если я его удалю? )

Если раньше он не устанавливался, это ×, теперь он зеленый, и его можно скопировать

5. UE4 использует Git для резервного копирования.

Пока я хочу сделать резервную копию, нажмите и это

Я произвольно назвал имя, это имя после Git, чтобы облегчить будущее восстановление, вы можете видеть, что шейдер + означает новое дополнение

6. UE4 восстанавливает предыдущую версию

Как правило, щелкните правой кнопкой мыши в моем каталоге .Git, чтобы выбрать

Вы можете увидеть следующую версию всех моих резервных копий, а затем выбрать одну из них для резервного копирования

В Git используйте HEAD Представляет текущую версию, которая является последней отправкой test0, а предыдущая версия HEAD^ , Предыдущая версия HEAD^^ , Конечно, напишите от 100 до 100 версий ^ Легче посчитать, поэтому написано HEAD

Теперь мы хотим откатить текущую версию test0 к предыдущей версии. 2019 , Вы можете использовать git reset команда:

На данный момент шейдер 22 моего теста ушел, а UE4 вернулся к предыдущей версии.

Или ввод команды, подобный этому

Поскольку я знаю, что фиксация 190417 является 3c222afaed и т. Д., То мой ввод командной строкиМожно

7, резервное копирование самой предыдущей версии UE4

Я этого не делал, вы можете обратиться к веб-сайту, но лучше не закрывать командное окно Git

Последняя версия append GPL Я этого больше не вижу! Это похоже на то, как будто вы попали в челнок времени из 21 века в 19 век. Если вы хотите вернуться, вы не можете вернуться. Что делать?

На самом деле, способы есть: пока окно командной строки не было закрыто, вы можете найти его. append GPL из commit id да 1094adb. , Так что вы можете указать версию назад в будущее:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *