Что такое GLB
GLB — это бинарный контейнер формата glTF 2.0, объединяющий в одном файле меши, материалы, а иногда и анимации с текстурами. Он хорошо сочетается с 3D-отображением в браузере (WebGL) и удобен для распространения и кеширования. В нашем приложении объекты мебели загружаются именно в этом формате — для проверки внешнего вида вместе с 2D-расстановкой на плане.
Как масштаб связан с инструментом планировки
В 2D-части сантиметры связаны с пикселями на экране. А вот то, равна ли «1 единица» в координатах 3D-модели одному метру или одному сантиметру, отличается от файла к файлу. Если модель выглядит слишком крупной или слишком мелкой, самый надёжный способ — выровнять масштаб объекта в DCC-инструменте (Blender, экспорт из SketchUp и т. п.) и заново экспортировать GLB. Даже если модель создаёт генеративный ИИ, в конце концов стоит измерить размеры в Blender или аналогичном приложении и сверить их с реальными каталожными значениями мебели.
На что обратить внимание при создании GLB с помощью ChatGPT и других генеративных ИИ
С 2024 года чат-ориентированные ИИ всё чаще выдают «черновой» код или 3D-данные, но стоит учитывать следующее:
- Проверьте формат вывода: если результат приходит в виде текстового фрагмента кода или Base64, вставить его напрямую в браузер и заставить работать может не получиться. Сохраните файл локально и проверьте, что расширение и MIME-тип корректны.
- Авторские права и лицензии: если внешний вид, унаследованный от обучающих данных, слишком похож на существующий товар, это может создать ограничения для коммерческого использования. Даже для домашнего планирования расстановки рекомендуется использовать оригинальные модели или материалы с чётко определённой лицензией, если модель предполагается публиковать.
- Разброс качества: перевёрнутые нормали, «негерметичные» меши, текстурные пути, оставшиеся относительными, — всё это может приводить к тому, что в некоторых просмотрщиках модель отображается полностью чёрной. Если возникла такая проблема, часто помогает пересохранить файл через экспорт «glTF 2.0» в Blender.
- Пример запроса (для справки): «Обеденный стол на основе прямоугольного параллелепипеда шириной 120 см, глубиной 80 см и высотой 75 см. Четыре ножки. Точка отсчёта — центр нижней грани. Единицы измерения — метры. Простой меш без лишнего освещения, подходящий для glTF» — если явно указать размеры и точку отсчёта, расхождений будет меньше. Но поскольку ИИ достраивает недостающее по догадке, результат обязательно нужно проверять на следующем этапе.
Рекомендуемый рабочий процесс (практический подход)
- Определите ширину, глубину и высоту по каталогу или собственным замерам
- Смоделируйте объект как набор простых форм в Blender или аналогичном приложении, зафиксировав размеры числовым вводом
- Ограничьтесь простым материалом на основе Principled BSDF и не экспортируйте файл с неприменёнными модификаторами
- При экспорте в glTF/GLB включите опцию «встраивать текстуры»
- Загрузите модель в веб-версию инструмента и проверьте, как она соотносится с 2D-расстановкой
Размер файла и производительность
Текстуры высокого разрешения и чрезмерно детализированная геометрия могут приводить к падению частоты кадров в мобильных браузерах. Для целей проверки расстановки чаще всего достаточно упрощённой модели с небольшим числом полигонов. Также полезно ограничить текстуры размером 2048 пикселей и меньше с помощью Photoshop или инструментов сжатия и убрать лишние UV-развёртки.
Если модель не отображается
- Проверьте консоль разработчика браузера на ошибки, связанные с WebGL или CORS
- Откройте тот же файл GLB в другом просмотрщике (например, glTF Viewer), чтобы понять, не повреждён ли сам файл
- Проверьте, не используется ли только сжатие Draco, которое может не поддерживаться на стороне загрузки
Работа с самим инструментом доступна в веб-приложении. Об общей политике сайта и обработке данных читайте в политике конфиденциальности.