Система контроля версий для blender сцен

Список разделов Blender 3D Общие вопросы

Описание: Если не знаете где спросить или нет времени искать нужный раздел
Модератор: exooman

Сообщение #1 Pavel » 18.02.2021, 17:09

Существуют ли системы контроля версий, которые можно использовать для blend сцен? В программировании исходный код можно хранить в git репозитории, что на много удобнее, чем вручную создавать папки и хранить в них разные версии. Можно ли как-то хранить аналогичным способом 3д модели и анимации?

Возможность объединять модели не нужна (как это есть в коде). Главное, чтобы отслеживать различия между версиями.

У меня единственная идея - это написать скрипт, который бы сохранял модели и анимации в текстовый формат. Но нужно игнорировать последовательность вершин, треугольников и т. д., сортировать их определённым образом. А потом извлечь разность этих данных и импортировать в блендер (или отрисовать с помощью OpenGL красным цветом удалённую геометрию, а зелёным добавленную).

Может есть лучший вариант?
Pavel M
Аватара
Сообщения: 1192

Сообщение #2 wolfram » 18.02.2021, 23:27

Да, существуют. Тут человек даже статью написал в 16 году: https://opensource.com/life/16/2/version-control-isnt-just-programmers
Я пользуюсь этим меркуриалом. Несколько раз уже спасало и экономило время.
По идее любую VCS можно для любых файлов использовать.
В сабстенс дизигнере раньше был perforce или кто-то еще из платных прям в настройках. А теперь можно любой прикрутить и настроить там.
wolfram M
Аватара
Сообщения: 62

Сообщение #3 grayich » 18.02.2021, 23:39

тогда уж сразу git )
Linux
grayich M
Аватара
Откуда: Харьков
Сообщения: 5692

Сообщение #4 Korchy » 18.02.2021, 23:40

Pavel писал(а):Но нужно игнорировать последовательность вершин, треугольников и т. д., сортировать их определённым образом.
При первом же нажатии ctrl+z все полетит т.к. сцена будет перестроена заново с нуля. Как в таких условиях проконтрлировать соответствие только изменений, я не представляю.
А в чем проблема использовать любую СКВ? Она будет хранить полные слепки с файлов сцены. Только в желании снизить объем занимаемый на диске?
Korchy M
Аватара
Сообщения: 2917



Сообщение #5 Pavel » 19.02.2021, 12:55

wolfram писал(а):По идее любую VCS можно для любых файлов использовать.
мне это не подходит.

grayich писал(а):тогда уж сразу git )
мне не только для хранения бинарных файлов это нужно

Korchy писал(а):А в чем проблема использовать любую СКВ?
мне не только хранить, но и сравнивать 3д модели нужно. Сравнивать визуально. Чтобы в блендере в 3д окне подсвечивались изменения средствами opengl.

Korchy писал(а):Только в желании снизить объем занимаемый на диске?
нет.

Korchy писал(а):При первом же нажатии ctrl+z все полетит т.к. сцена будет перестроена заново с нуля. Как в таких условиях проконтрлировать соответствие только изменений, я не представляю.
не совсем понял причём ctrl+z. Можно при сохранении blend файла запускать скрипт, который записывает в txt файл данные мешей. При ctrl+z ничего записываться не будет.

Добавлено спустя 11 минут 15 секунд:
Мне нужно в 3д окне примерно так иметь отображение разности:
Изображение
Pavel M
Аватара
Сообщения: 1192

Сообщение #6 grayich » 19.02.2021, 17:10

Pavel писал(а):мне не только для хранения бинарных файлов это нужно
ээ, а причём тут бинарные файлы?
Linux
grayich M
Аватара
Откуда: Харьков
Сообщения: 5692

Сообщение #7 Pavel » 19.02.2021, 17:29

grayich, я хочу не просто хранить бинарные blend файлы, а перевести их в текстовый формат (не всё, а только меши). Если хранить только бинарные файлы, то в коммитах каждый файл будет абсолютно новым, даже если у него был изменён только один байт, если я не ошибаюсь. И как потом найти разницу между двумя blend сценами? Я хочу извлечь разницу между коммитами и отрисовать её в 3д окне блендера (как на скриншоте выше). А не просто каждый раз искать самому, что визуально изменилось, удалилось и т. д.
Pavel M
Аватара
Сообщения: 1192

Сообщение #8 grayich » 19.02.2021, 17:40

Pavel писал(а):я хочу не просто хранить бинарные blend файлы, а перевести их в текстовый формат (не всё, а только меши)
git работает с файлами, но лучше всего он как раз работает с текстовыми файлами,
к примеру посмотри как на гитхабе выглядит разница сравнения комитов
https://github.com/domlysz/BlenderGIS/commit/90064e2fd031aa1933293f0443f6e605a31b63ec

это конечно web gui, но diff между коммитами git умеет из коробки, откаты объединения и прочее
git мощная штука, найди время ознакомиться с его возможностями
Linux
grayich M
Аватара
Откуда: Харьков
Сообщения: 5692


Вернуться в Общие вопросы

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 2 гостя