Наткнулся тут на такую страничку: http://opengex.org/comparison.html
И стало интересно - неужели всё настолько плохо в glTF и всё хорошо в OpenGEX? Кто-нибудь пользовался glTF 2.0 в своём пайплайне / встраивал ли в движок? Что можете сказать, по своим впечатлениям, об этом формате, в сравнении с тем же FBX?
И, можно ли его использовать в рамках движка как свой формат моделей, или всеравно эффективнее иметь свой и из gltf просто импортировать?
И, смотрел ли кто OpenGEX, пробовал ли с ним работать?
glTF хорош для ассетов. Данные готовы для того, чтобы их сразу класть в видео память. Плюс json формат, парсер писать в разы проще, так как есть библиотеки для чтения. Например, для webGL в браузере они нативные. Я пробовал на swift, 5 минут, и у тебя все в структурах.
FBX сложнее и не настолько очевидный. Нужен опыт или исследование примеров. Плюс это изначально формат для передачи сцен между пакетами моделирования, анимирования и проч, а не как игровой формат. Много лишнего для игрового движка и нужна адаптация данных.
Табличка отличная, кстати, дает хорошее представление о форматах.
Табличка от авторов OpenGEX всего-лишь отображает сильные стороны их собтвенного формата, по мнению его авторов.
Некоторые пункты вызывают недоумение:
Configurable distance, angle, and time units
По мнению авторов, явно обозначенные единицы измерения (метры/радианы/секунды) в glTF являются недостатком, ведь OpenGEX умеет задавать коэффициенты масштабирования (к сферической единице измерения в вакууме - и они ещё называют свой формат более подходящим для pipeline, в отличие от glTF обозначенном как run-time формат)!
Я, конечно, понимаю, что возможность задавать единицы может быть полезной (для более компактного представления в текстовой форме / бережного хранения чисел с плавающей точкой, если модель задаётся в единицах сильно отличающихся от метров), но отсутствие информации о единицах измерения вообще (как в спецификациях OpenGEX), по-моему гораздо хуже.
Иные элементы, указанные красным, доступны через расширения glTF (некоторые находятся в разработке, но это не мешает их использовать).
Более того - при желании можно написать своё расширение glTF и/или поучаствовать в обсуждении спецификаций формата или его расширений.
Свой собственный формат всегда предпочтительней формата общего назначения, т.к. таковой не может учитывать все особенности движка и имеет компромиссы для совместимости. Впрочем, выдумывать и поддерживать свой собственный формат - занятие хлопотное. Если основы формата подходят для целей движка, и скорость его чтения устраивает - то проще дополнить glTF недостающие элементы своими расширениями.
Интересно, судя по таблице старая COLLADA имеет больше возможностей чем glTF, хотя PBR есть только в glTF, но нету официальных экспортеров из 3DS Max/Maya и наверное из Blender.
Andrey
> PBR есть только в glTF
А в чём это выражается? В нём хранятся материалы? Я как-то сразу решил выкинуть материалы в отдельные файлы.
Да и формат локаций изначально начал писать свой, чтоб потом на этом не заморачиваться.
Daniil Petrov
> А в чём это выражается?
я не ковырял glTF вообще, просто увидел в таблице, так что ничего не могу сказать.
Кинжал
Главный разработчик движка Godot Engine уже сравнивал эти форматы и выбрал GLTF
Часть 1 - https://godotengine.org/article/we-should-all-use-gltf-20-export-… -game-engines
Часть 2 - https://godotengine.org/article/small-defense-gltf
Тема в архиве.