Что случилось с Колладой?

13

Несколько лет назад казалось, что COLLADA будет довольно большой вещью, возможно, наконец, довольно стандартизированным форматом для передачи 3D-ресурсов из пакета DCC в конвейер инструментов игры. И это выглядело как хороший вариант для инди-разработчика, который не хотел замыкаться в одном 3D-пакете путем написания пользовательских экспортных плагинов.

Но я не много слышал об этом в последнее время. А Feeling Software, которая поддерживала формат со своими экспортерами Max / Maya и FCollada lib, похоже, отозвала любые бесплатные версии этих инструментов.

Коллада видит много пользы в эти дни? Существуют ли какие-нибудь бесплатные / недорогие библиотеки / инструменты, помогающие разобраться с форматом, или люди просто сами читают необработанный XML?

Или есть лучший вариант в наши дни - скажем, для инди-разработчика, который хочет получить модели / анимацию от потенциально Макса, Майи или Блендера в свой движок? - FBX? Что-то другое?

bluescrn
источник

Ответы:

5

Что касается инструментов, мой опыт показывает, что популярным решением для доступа к файлам .dae является collada-dom . Он только анализирует XML и дает вам доступ к древовидной структуре. Первоначально разработанный Sony, теперь это проект с открытым исходным кодом (и эталонная реализация).

В последнее время opencollada, кажется, привлекает некоторое внимание, но я никогда не использовал его. Он поставляется с плагинами для 3DS, Maya, Blender и SDK.

COLLADA Refinery - это инструмент для обработки .daeфайлов (например, триангуляционных поверхностей).

Что касается его принятия, большинство основных инструментов создания (3DS, Maya, Houdini, Blender, Sketchup) поддерживают его по умолчанию. Однако при импорте экспортированной модели между различными программами возможны плохие результаты. Вы также должны быть осторожны с различными параллельными версиями, которые существуют в дикой природе (1.3, 1.4, 1.4.1).

FWIW, официальный твиттер-аккаунт для COLLADA, часто делает объявления об инструментах и ​​приложениях, которые получили поддержку COLLADA. Это может дать представление о поддержке в отрасли.

По моему опыту, это достаточно хороший способ обмена данными между системами. С точки зрения Gamedev, я не думаю, что это хорошее готовое решение. Это зависит от того, что вы делаете, но на этом этапе может потребоваться импортер, который обрабатывает файл (или DOM) для вашего движка. Я также был свидетелем очень медленных импортеров, поэтому для игрового движка я бы использовал конвертер COLLADA, а не импортер.

Фредерик Де Гроеф
источник
4
Кажется, что людям не хватает того, что это не тот формат, в который вы загружаете все свои игровые модели в свою игру. Это формат, который вы можете хранить и легко делить между инструментами создания контента. Ваша игра всегда должна была иметь свой собственный оптимизированный формат, из которого вы конвертируете, из collada.
jsimmons
... и как формат для обмена данными между инструментами, это ужасная идея, за исключением самых тривиальных наборов данных. Если все 3D-пакеты не будут визуализировать все файлы COLLADA одинаково, вы не получите преимущества перекрестных пакетов, которые рекламировались.
дэш-том-бэнг
10

Коллада был слишком сложным, на мой взгляд. Пострадали от дизайнеров, пытающихся заставить его обрабатывать все мыслимые комбинации 3D-активов; например, каждый возможный формат и конфигурация вершины / индекса.

Звучит здорово, но на практике это накладывает огромное бремя на любое программное обеспечение, которое необходимо для чтения формата.

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

Нам нужен простой разработанный формат, который покрывает 90% потребностей одним каноническим способом.

Джим блэклер
источник
Прямо сейчас для игровых активов есть выбор .obj (если вы не возражаете против отсутствия анимации и сжатия), .x (если вы используете DirectX) или какой-то проприетарный формат. PS Я хотел бы добавить, что мой друг работает над чем-то под названием «OpenMDL», что выглядит действительно многообещающе.
knight666
3
Действительно, плюс нет стандартных библиотек, и те, которые доступны, содержат ошибки, это не помогает. COLLADA слишком раздутая IMO и пытается быть всем для всех - это не
опровергает
2

Я думаю, что COLLADA была бы / могла бы быть намного более полезной, если бы у нее была стандартная и открытая реализация для чтения и записи формата, в дополнение к довольно страшному определению XML.

Его сила также в его неудаче - способность описывать практически все, и множеством различных способов, звучит великолепно с точки зрения экспорта, но является PITA для импорта и понимания.

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

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

Кроме того, если это предназначено для использования во внутреннем производственном конвейере, а не для общего выпуска, вы можете уменьшить определение и поддерживать только то, что фактически выходит из пакета (ов), который вы используете, вместо того, чтобы пытаться быть слишком общим ,

Так что да, это ошибочно и сложно, но работает, и вариантов не так уж много.

JasonD
источник
1
Если вы пишете экспортер, а потом не можете понять, как экспортировать какой-то новый фрагмент данных, который вам нужен, тогда вам не следует писать инструменты. Просто говорю'.
Даш-Том-Бэнг
2

Я знаю, что эта тема помечена как «решенная», но, IMO, вам стоит взглянуть на FBX. Autodesk использует этот формат, и это формат обмена всеми основными 3D-программами.

Так что не связывайтесь с Колладой.

Это раздутый, не интуитивно понятный - и не поддерживается основными игроками.

Это Autodesk - они покупают практически все 3D-приложения.

Autodesk FBX SDK: http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=7478532

jacmoe
источник
2
Да, это не делает это правильно! Autodesk
zebrabox
Это не поддерживается кем-то, кто хочет запереть вас в свои инструменты. Сюрприз! Однако основным игроком, использующим колладу, являются Epic Games, в частности UE3.
jsimmons
Серьезно, у FBX точно такая же проблема, как и у многих других «современных» форматов: он проприетарный. Это делает его совершенно не стартовым для использования в качестве «стандартного формата» или для тех, кто не хочет быть привязанным к одному поставщику.
snogglethorpe