Все статьи Форматы 3D-моделей и библиотека Assimp
Assimp поддерживает множество форматов 3D моделей. В статье перечислены их особенности и собран список сайтов, где можно скачать модели.
Библиотека Assimp поддерживает множество распространённых форматов моделей со следующими ограничениями:
- анимированные модели успешно загружаются из форматов MD5, DAE
- статичные модели успешно загружаются из форматов MD5, DAE, MD3, MD2, BLEND, 3DS, OBJ, PLY
Анимированная модель отличается от статичной:
- Всегда есть данные о костях (для скелетной анимации)
- Возможно, есть данные об анимациях. Анимации представляют движения в разных состояниях — прогулка, атака, гибель, охрана позиции. Одна анимация является набором трансформаций в разных точках времени для разных костей.
Так выглядят визуализированные кости в Blender (серые кости под поверхностью модели):
Форматы MD5, MD3, MD2 (*.md5mesh
, *.md5anim
, *.md2
и т.д.)
Формат моделей MD5 был разработан компанией idSoftware для Doom III, игры жанра шутер от первого лица. В этом формате данные о поверхностях модели и об анимациях хранятся в разных файлах:
- геометрические данные (включая скелет модели) хранятся в файлах
*.md5mesh
- файлы анимации хранятся в файлах
*.md5anim
Формат полностью поддерживает скелетную анимацию и скиннинг вершин. Формат является текстовым, информация о моделях хранится в кодировке ASCII в виде, похожем на YAML. Текстуры хранятся в отдельных файлах (обычно TGA, DDS).
Форматы моделей MD2 и MD3 считаются старыми, но их до сих пор можно встретить в сети. Они разрабатывались для ранних игр компании Id Software, таких как Quake и Doom / Doom II.
Экспорт из Blender
Экспорт моделей из Blender в формат MD5 возможен с помощью скрипта io_export_md5.py
. Скрипт был опубликован на форуме katsbits.com.
- Обратите внимание, что работоспособность скрипта может быть нарушена в новых либо слишком старых версиях Blender, следует внимательно выбирать версию скрипта и версию Blender.
- На github есть доработанный скрипт для Blender 2.77
Где скачать
Скачать примеры моделей в формате MD5 можно в следующих источниках:
Формат Collada (*.dae
)
Основанный на XML формат Collada задуман как универсальный открытый стандарт для обмена данными между разными средами 3D-моделирования. Assimp умеет обрабатывать данный формат, в том числе он умеет загружать кости и анимации.
Экспорт из Blender
Формат Blender (*.blend
)
Данный формат используется для сохранения и загрузки моделей в Blender (открытом редакторе 3D-моделей). К сожалению, формат представляет из себя бинарный снимок памяти внутренних структур данных Blender, и поэтому сторонним программам и библиотекам трудно его разбирать. В результате Assimp не поддерживает загрузку костей и анимаций из моделей Blender.
Формат 3D Studio Max (*.3ds
)
Формат Wavefront OBJ (*.obj
)
Формат Stanford University PLY (*.ply
)
Данный формат используется во многих университетах как стандарт представления различных учебных моделей. Assimp умеет загружать статичные модели в данном формате.
Программы для упрощённого создания моделей
- MakeHuman — Open-Source кроссплатформенный WYSIWYG-редактор для создания модели человека, есть ppa для Ubuntu
Где скачать
- Коллекция “Game Ready 3D Models” на opengameart.org
- Набор моделей в формате 3DS на wiki.margtu.ru
- Архив Georgia Institute of Technology с набором стандартных моделей в формате PLY — здесь можно найти такие широко известные модели, как Stanford Bunny. Все они создавались для обкатки различных шейдеров и проведения курсов компьютерной графики в университетах мира.
- Модели в форматах MD2, FBX, 3DS, OBJ на telias.free.fr
- Архив разнообразных предметов интерьера, транспортных средств и тому подобного на artist-3d.com
- Большой каталог разнообразных 3D моделей (tf3dm.com)