В каких форматах бывают 3D модели и как их посмотреть?
#3d_моделирование@why_genos_screams
Многие форматы открывает встроенный в Windows 10 и 11 просмотровщик.
Для Android - бесплатное приложение Emb3D.
Онлайн -
https://sandbox.babylonjs.com/Что-то сложнее открывается в редакторах и конвертерах.
Для конвертации рекомендую
https://convert3d.org/ - не выгружает модель в интернет, конвертирует всё в браузере.
Как редактор и просмотровщик советую Bforartists, File > Import > имя формата и File > Export > имя формата.
Для специфичных форматов - Noesis, поддерживает плагины для игровых движков, но это продвинутые техники ;)
Итого: чаще всего хватит
https://convert3d.org/ и приложения для просмотра.
О популярных форматах:
1. Stereolithography (.stl)
Зачастую, 3D модели под печать.
Не поддерживает текстуры и часто без цвета - только статичная геометрия.
2. Wavefront OBJ (.obj + опциональный .mtl)
.obj содержит только статичную геометрию, но поддерживает текстурные координаты.
Чтобы применить текстуры, рядом должен лежать .mtl файл (библиотека материалов) и требуемые текстуры с правильными именами (как в библиотеке).
3. GL Transmission Format (.gltf или .glb)
ИМХО, самый удобный и современный формат. Поддерживает и геометрию, и текстуры (в том числе, карты нормалей и т.д.), и анимации, и освещение.
Если расширение файла .glb, то это "всё в одном" - просто откройте и пользуйтесь :)
Если же .gltf, то компоненты модели и текстуры будут в отдельных файлах.
Предпочитаю экспортировать модели с текстурами именно в .glb - ничего не потеряется, можно открыть в любом современном просмотровщике.
Первая троица - открытые форматы файлов, поддерживается практически любым софтом - как минимум, для импорта или экспорта.
Более редкие, но всё ещё популярные:
4. Filmbox (.fbx)
По возможностям схож с glTF, но закрытый (см. Autodesk). Поддерживается многим ПО.
5. COLLADA (.dae)
Предшественник glTF. Может содержать текстуры внутри или отдельными файлами.
6. Additive Manufacturing File и 3D Manufacturing Format (.amf и .3mf)
Разные, но похожие - созданы для 3D печати. Могут хранить цвета, текстуры и много других специфичных данных.
В отличие от предыдущих форматов, эти два откроются либо конвертером, либо слайсером.
7. Stanford Triangle Format (.ply)
Что-то среднее между OBJ и STL, используется для "сырых" данных (научное ПО, результаты сканирования и т.д.).
Может хранить информацию о цвете для каждой вершины, не поддерживает текстуры.
Совсем редкие/специфичные - .3ds, .md5, .x, .skp, .step и другие. Проще сначала скормить в конвертер; если не поможет, по расширению искать плагин или ПО.
Как быстро посмотреть, какие элементы модели мы получили?
В первом видео - встроенный просмотровщик 3D моделей в Windows. Модель Вивиан в формате .glb.
Справа сверху включаем отладочные виды.
При открытии отключились материалы, модель посерела - это реальная геометрия; если напечатать, то детализация будет такой или хуже.
Попереключаем режимы:
- Треугольники - как модель видит компьютер при отрисовке.
- Вершины - из чего составляются треугольники.
- UV координаты - как накладывается текстура; без них - никак :)
- Цвета вершин - цвет модели без текстур.
- ИД материалов - соответствие материалов/текстур частям.
- Альбедо - текстура основного цвета, без освещения.
- Карты нормалей - углы микрорельефа относительно треугольников, влияет на освещение.
У модели есть UV координаты - можно наложить текстуры. Всего три разных материала.
У лица нет карты нормалей.
Посмотрим на пуговицы - на карте нормалей видны особенности формы: одинаковый цвет значит одинаковый наклон, а здесь есть рисунок.
У треугольников нет этого микрорельефа - если напечатать, мелкие элементы будут отсутствовать.
Всегда смотрю карту нормалей как референс - швы одежды и гравировка зачастую видны только там.
Второе видео - модель в Emb3D, но тут нет отладки.
Альтернатива (только для glTF) - открыть в
https://github.khronos.org/glTF-Sample-Viewer-Release/ (см. скриншот), выбрать Normal Texture или Shading Normal.