Библиотека C++ с открытым исходным кодом для форматов 3D-данных
API C++, который поддерживает загрузку и обработку геометрических сцен из различных форматов 3D-данных. Вы можете интегрировать его с игровыми движками и привязать к другим языкам программирования.
Asset-Importer-Lib (Assimp) — это мощная библиотека с открытым исходным кодом, реализованная на C++. Это дает разработчикам программного обеспечения возможность загружать, а также обрабатывать геометрические сцены из различных форматов 3D-данных в своих собственных приложениях C++. Библиотека не зависит от платформы и обеспечивает простую интеграцию с игровыми движками и привязку к другим языкам программирования.
В мире существует несколько форматов 3D-файлов, и библиотека Assimp включает поддержку нескольких важных из них. Библиотека очень хорошо организована и поддерживает более 40 форматов 3D-файлов, таких как Collada, 3D Studio Max 3DS и ASE, Biovision BVH, Stanford Polygon Library, AutoCAD DXF, Neutral File Format, Autodesk DXF, Object File Format, Milkshape. 3D, LightWave Scene и многое другое.
Библиотека очень удобна для однократного импорта элементов из различных источников и сохранения их в формате, специфичном для движка, для легкого и быстрого доступа. Последняя версия также включает поддержку экспорта 3D-файлов в другие поддерживаемые форматы файлов. Библиотека поддерживает такие функции, как улучшенная локализация кэша вершин, триангуляция произвольных полигонов, поиск вырожденных полигонов, разделение больших сеток для преодоления ограничений графического процессора, оптимизация сеток, обеспечение максимальной целостности данных за счет проверки выходной структуры и узлов для меньшего количества вызовов отрисовки и т. д.
Начало работы с Ассимпом
Самый простой способ установить библиотеку Assimp — через cmake. Во-первых, вам нужно установить cmake. Пожалуйста, используйте следующую команду для плавной установки. Чтобы собрать библиотеку, просто откройте командную строку, перейдите в папку репо и запустите cmake.
Установить Assimp через cmake
cmake CMakeLists.txt
Загрузка и обработка 3D-моделей с помощью библиотеки C++
В библиотеку Open Asset Import Library (Assimp) включена поддержка доступа и загрузки 3D-моделей из некоторых распространенных форматов 3D-моделей внутри приложений C++. Вам нужно указать путь к файлу 3D-модели, и он начнет загрузку модели. Вы можете легко создать экземпляр и хранить в нем всю информацию о модели. Библиотека загрузит и прочитает модель в таком порядке, что материалы должны быть загружены перед сетками, а сетки должны быть перед узлами.
Преобразование CAD-моделей с помощью C++
Библиотека с открытым исходным кодом Assimp дает разработчикам программного обеспечения возможность загружать и преобразовывать модели CAD в другие поддерживаемые 3D-модели с помощью приложений C++. Вам необходимо указать адрес файла САПР, и после загрузки вы сможете легко преобразовать его в другие поддерживаемые форматы, такие как DAE, STL, OBJ, PLY, STEP, 3MF, FBX и многие другие.
Импорт и применение анимации к моделям
Библиотека Open Asset Import Library (Assimp) дает программистам возможность применять анимацию к моделям с помощью кода C++. Лучшим подходом будет сначала анимировать узлы в графе сцены, после чего вы сможете вычислить матрицы костей из текущего состояния графа сцены.