В Unreal Editor для Fortnite (UEFN) интегрирована система контроля версий, которая является важной частью управления проектами, командных процессов и контроля качества. Это единый достоверный источник информации для разработчиков проекта.
Включение Unreal Revision Control в командных проектах облегчает взаимодействие между участниками команды, предотвращает сбои в работе и ускоряет выпуск острова за счёт сокращения времени разработки. Ежедневная синхронизация проекта требует некоторых усилий, однако результат того стоит.
Как работает Unreal Revision Control
Unreal Revision Control — это готовое решение для всех новых островов в UEFN. Эта система делает «снимки состояния» острова и его ресурсов. На этих снимках отражается текущее состояние файлов и ресурсов острова после их отправки.
Нажмите на изображение, чтобы его увеличить.
Выберите Unreal Revision Control на панели Настроек проекта по умолчанию для нового проекта.
Выберите Только я из выпадающего меню Выбор команды, если работаете над проектом в одиночку, или название своей команды, если работаете над командным проектом. Вы можете отключить Unreal Revision Control для своих личных проектов.
Проекты, в которых используется Unreal Revision Control, размещаются на серверах.
Синхронизация последних изменений отмечается значком загрузки.
Вы также можете использовать Unreal Revision Control из Структуры. Статус контроля версий ресурса будет отображаться для справки в правой части строки ресурса в окне сборки. Вы также можете нажать правой кнопкой мыши на ресурс в «Структуре», а затем выбрать Контроль версий > Извлечь из выпадающего меню.
Используйте Unreal Revision Control в своих проектах
Включение контроля версий при создании новых проектов добавляет следующие функции на нижнюю панель инструментов:
Контроль версий
Синхронизация изменений / По последней версии
Зафиксировать изменения / Изменения отсутствуют.
Все функции Unreal Revision Control доступны под панелью «Сведения» проекта.
Контроль версий
Индикатор контроля версий. Зелёная галочка указывает, что в этом проекте используется контроль версий. Нажмите на стрелку, чтобы открыть меню управления, в котором можно просмотреть изменённые файлы и ресурсы и изменить настройки контроля версий.
Измените настройки контроля, выбрав Изменить настройки системы контроля версий… в выпадающем меню. В результате откроется Вход в систему контроля версий. Здесь можно включать/выключать автоматические настройки и просматривать Журнал контроля версий.
Нажмите на изображение, чтобы его увеличить.
Автоматическое извлечение
Функция Автоматическое извлечение включается автоматически при создании нового проекта. Она работает путём автоматического извлечения ресурса при внесении изменений или перемещении ресурса в окно просмотра.
Эта функция блокирует ресурс, в который вы внесли изменения, и не позволяет другому участнику команды вносить изменения в тот же объект, поскольку он уже извлечён вами. Просматривая ресурсы, перечисленные в Структуре, вы можете увидеть, какие ресурсы извлёк ваш коллега.
Использование функции автоматического извлечения позволяет избежать конфликтов и помогает вам и вашим коллегам совместно работать над проектами с минимально возможными конфликтами.
Если эта функция отключена, система Unreal Revision Control предложит вам либо повторно подключиться к Интернету, либо сохранить изменения локально.
Автоматический возврат
Функция Автоматический возврат позволяет избежать конфликтов с участниками команды путём автоматического аннулирования изменений, внесённых вами в ресурс, который уже был извлечён другим пользователем. Вы получите предупреждение о конфликте и отмене изменений.
Эта функция избавит вас от необходимости тратить время на ресурс лишь ради того, чтобы в итоге потерять свою работу. В Окне сборки вы можете быстро проверить, над какими ресурсами работают ваши товарищи по команде в данный момент.
Синхронизация изменений
Эта функция извлекает последний снимок состояния проекта из системы контроля версий и синхронизирует его с данными на диске. Когда отображается кнопка Синхронизация последних изменений, нужно выполнить синхронизацию с последней версией проекта. Если необходимости в синхронизации нет, кнопка меняется на По последней версии.
Когда вы нажмёте Синхронизация последних изменений, вы перенесёте последний снимок состояния проекта в локальную среду, где сможете продолжить работу над проектом.
Вы можете вносить и сохранять изменения без синхронизации с последним снимком состояния, однако такие изменения не должны конфликтовать с изменениями в последнем снимке состояния. Вы также не должны вносить изменения в ресурс, ранее извлечённый другим пользователем.
Для получения подробной информации о возможных конфликтах см. Конфликты в Unreal Revision Control.
Зафиксировать изменения
Зафиксируйте все изменения и создайте новый снимок состояния проекта со всеми зафиксированными изменениями. После внесения в проект изменений, которые необходимо зафиксировать, кнопка меняется с Изменения отсутствуют на Зафиксировать изменения.
Unreal Revision Control отслеживает историю изменений исходных файлов в собственных форматах экосистемы UE, но не в форматах другого ПО (такого как Blender, Photoshop и т. д.).
При нажатии Зафиксировать изменения открывается окно Зафиксировать изменения. Затем будет сделан новый снимок состояния острова, после чего откроется окно с этим снимком. Перечислите изменения, внесённые в ресурсы, в Описании списка изменений, а затем нажмите Отправить, чтобы создать новый снимок состояния острова.
Если в списке фиксируемых изменений есть элемент, который нужно откатить до более ранней версии, это можно сделать из окна отправки.
Выберите ресурс и нажмите на него правой кнопкой мыши. Откроется выпадающее меню с пунктом Вернуть. Выберите Вернуть, и любые изменения, внесённые в проект, будут аннулированы.
Описание списка изменений: добавьте описание изменений, которые вы внесли в извлечённый ресурс. Эта функция делает снимок состояния ресурса.
Знак «+»: новый ресурс в Unreal Revision Control.
Галочка: извлечённый ресурс.
Оставить файлы извлечёнными: включение этого параметра означает, что файлы будут оставаться в извлечённом состоянии даже после того, как вы зафиксируете изменения.
Отправить: отправка изменений в Unreal Revision Control.
Отмена: аннулирует снимок состояния и возвращает вас в проект.
После сохранения и успешной отправки изменений ваши товарищи по команде смогут синхронизироваться с новой версией проекта. У всех участников команды обновится эскиз проекта, на котором появится значок загрузки, информирующий о необходимости синхронизации проекта.
Сохранение проекта и фиксация изменений — это разные операции. С помощью функции сохранения проекта вы можете сохранить проект на диске, а при фиксации изменений создаётся снимок состояния проекта на текущий момент.
Такие снимки состояния содержат историю изменений ресурсов проекта, которую вы сможете просмотреть позже, чтобы понять, как, почему и кем изменялся конкретный ресурс с течением времени.
Извлечение ресурса проекта
Извлекая ресурс, вы блокируете его редактирование другим участником команды. Объект контролирует тот, кто первым извлёк его.
Чтобы извлечь конкретный ресурс:
Нажмите правой кнопкой мыши на эскиз ресурса, чтобы открыть его меню.
Выберите Контроль версий > Извлечь.
После того как вы извлечёте ресурс, на его эскизе появится красная галочка. Ваши товарищи по команде увидят другой значок на эскизе, благодаря которому они узнают, что ресурс уже извлечён другим пользователем.
После фиксации объекта любой пользователь, имеющий доступ к проекту, должен будет синхронизироваться с его последней версией для последующего редактирования ресурса.
Нажав правую кнопку мыши, вы откроете меню, в котором доступны следующие функции:
| Особенность | Описание |
|---|---|
Синхронизировать и извлечь | Синхронизирует проект и извлекает ресурс. |
Пометить для добавления | Помечает ресурс для добавления в проект. |
История | Открывает окно, в котором отображается история изменений выбранного ресурса или проекта. Нажмите, чтобы увеличить изображение. |
Вернуть | Откатывает выбранный файл до предыдущей версии. |
Объединить | Объединяет два файла выбранного ресурса в один. |
Обновить | Обновляет статус выбранного ресурса. |
«Один модуль — один файл» в Scene Graph
Функция Один модуль — один файл (OFPE) для проектов со Scene Graph теперь доступна в бета-версии. Ранее при использовании Unreal Revision Control (URC) любые изменения модулей Scene Graph блокировали весь файл проекта, что сильно затрудняло совместную работу. Функция OFPE сохраняет каждый модуль в отдельный файл ресурсов, позволяя нескольким участникам работать над проектами с Scene Graph параллельно и с меньшим числом конфликтов.
Включение OFPE в проекте
Выполните следующие действия, чтобы включить OFPE в вашем проекте Scene Graph.
На панели инструментов нажмите Проект и выберите Настройки проекта.
В настройках проекта нажмите, чтобы развернуть секцию «Бета-доступ». Поставьте флажок для параметра Один модуль — один файл.
В Структуре щёлкните правой кнопкой мыши на верхнем уровне вашего проекта, чтобы открыть контекстное меню. В разделе «Сущность уровня» выберите Сохранить принадлежащие сущности во внешних файлах.