Sunday 19 January 2020

Creating 3D models for programs and games.

3D форматы файлов для игр
Я начинаю с XNA и Blender и я пытаюсь найти качественную, актуальную информацию о различных форматах 3D-файлов, используемых в разработке игр.
Очевидно, что многие игры разрабатываются с использованием нескольких пользовательских форматов 3D-файлов, но я заинтересован в выборе хорошего решения с использованием более распространенного формата.
8 самых распространенных форматов 3D файлов
Существуют разные форматы для хранения информации о 3D моделях. Наверняка вы слышали про самые популярные из них вроде: STL, OBJ, FBX, COLLADA и т.п. Они широко используются в 3D печати, видеоиграх, кино, архитектуре, медицине, конструировании и в процессе обучения. При этом в каждой из перечисленный сфер есть свои наиболее популярные форматы, которые сформировались в силу исторических или практических причин. В статье ниже мы рассмотрим различные форматы файлов 3D моделей и более детально остановимся на 8 самых популярных на сегодняшний день.
Основное назначение 3D файла - хранить информацию о 3D модели в виде обычного текстового или бинарного файла. По сути они кодируют информацию о геометрии, внешнем виде, сцене и анимации 3D модели.
Геометрия модели описывает ее форму. Внешний вид включает в себя цвета, текстуры, материал и т.п. Под сценой подразумевается  расположение источников освещения, камер и периферийных объектов. Ну и анимация характеризует перемещения 3D модели.
Однако не все форматы 3D файлов хранят всю эту информацию. Например, STL формат хранит только информацию о геометрии и игнорирует остальные дынные. С другой стороны, COLLADA сохраняет все эти данные.
STL и COLLADA - это всего лишь два из множества форматов, которые используются на практике. На сегодняшний существует более 100 форматов 3D файлов!
Импортирование мешей в Unity может быть выполнено с помощью двух основных типов файлов:
  1. Экспортированные 3D форматы файлов, такие как .FBX или .OBJ
  1. Собственные файлы 3D приложений, например такие как .Max и .Blend файлы из 3D Studio Max и Blender.
Любой из этих типов позволит вам добавлять свои меши в Unity, но есть соображения относительно того типа, который вы выберите:
Unity может читать .FBX.dae (Collada), .3DS.dxf и .obj файлы, obj или Collada экспортеры могут быть найдены для многих приложений, точно также как FBX экспортеры могут быть найдены здесьПреимущества:
  • Экспортируйте только необходимые данные
  • Проверяемые данные (перед импортированием в Unity, переимпортируйте в 3D пакет)
  • Как правило файлы меньшего размера
  • Поддерживает модульный подход - к примеру разными компонентами для интерактивности и типов коллизий
  • Поддерживает другие 3D пакеты, чьи форматы не поддерживаются у нас напрямую
Недостатки:
  • Может замедлять процесс прототипирования и итераций
  • Легче потерять след между исходной (рабочий файл) и игровой версией данных (к примеру экспортированный FBX файл)

Два самых популярных универсальных формата - это STL (расширение .STL) и COLLADA (расширение .DAE). Они очень широко используются для обмена данными о 3D медолях между CAD программами. Если вы хотите поделиться своей 3D моделью, вы можете конвертировать DWG файл в формат COLLADA - этот процесс называется "экспорт". Ваш друг берет этот COLLADA файл и импортируете его в Blender, где COLLADA файл конвертируется в "родной" формат BLEND. Таким образом, вы можете использовать разные CAD программы и при этом обмениваться данными.
  • Собственные и универсальные форматы - это основная вилка в мире форматов 3D файлов. На сегодняшний день в большинстве софтов для 3D моделирования есть возможность чтения и записи популярных универсальных форматов. Кроме того, большинство программ также поддерживают возможность работы с форматами от отдельных проихфодителей, которые стали настолько распространенными, что игнорировать их просто нельзя. 

No comments:

Post a Comment