Добрый день,
подскажите как делают diff по 3d ассетам (а также другим видам ассетов) в индустрии разработки игр. Сейчас стоит актуальная задача - грамотное использование source control на своих проектах в UE4. У меня есть опыт использования Git в обычной разработке ПО (текстовые diff-ы). Но не могу найти никакой информации по diff-ам бинарных ассетов, кроме сравнения картинок на GitHub и Blueprint-ов для UE4.
Подскажите, как обычно делают диффы, разруливают мердж-конфликты и тд по бинарным ассетам в разработке игр?
Вадим Ремин, Ну со сценой решают копипастой, ты свой кусок настроил, кто-то ещё настроил. Потом содятся и вставляют их в общую сцену. Ну или вложенные префабы.
Вадим Ремин, это смотря как представлена сцена и какие возможности по совместному редактированию есть у инструментов.
Например, для Wakfu Online был сделан специальный редактор для совместного заполнения локации. При этом, локальные редакторы у дизайнеров являются простыми сетевыми клиентами к БД локаций. И этот инструмент действительно работает.
В моем личном опыте есть реализация сцены в виде построчного json. Каждый элемент - одна строчка. Формат - текстовый. Конфликты, слияния и диффы делаются на ура. Проблем тоже нет, кроме проблемы расползания строчек по вертикали и общего размера файла.
А с бинарными форматами все однозначно: пока один сотрудник его не положил на место, второй его взять не может.
Евгений Шатунов, спасибо, очень интересно. В UE4 тоже есть инструмент для совместной работы над сценой, как я понимаю примерно подобный же механизм. Спасибо буду думать.