Официальный glTF/GLB-плагин Khronos для 3ds Max

Vasyl Lukianenko
Vasyl Lukianenko
3D Artist and Technical Author

Еще несколько лет назад glTF воспринимался как формат "для веб-разработчиков". Сегодня ситуация изменилась: модели в glTF и GLB открываются прямо в браузере, используются в дополненной и смешанной реальности, попадают в игровые движки, онлайн-магазины и интерактивные конфигураторы.

С этим форматом работает Google Model Viewer, позволяющий встраивать 3D-модели и AR-просмотр в обычную веб-страницу. Он применяется в экосистеме Microsoft Mixed Reality и в инструментах Shopify для трехмерного представления товаров. Сценарии, знакомые по сайтам и цифровым проектам IKEA, Nike и Wayfair, - рассмотреть товар со всех сторон, изменить отделку, поставить мебель в комнату через AR - хорошо показывают, зачем бизнесу легкий и переносимый формат 3D-контента.

На glTF опирается и значительная часть современного веб-стека. Его поддерживают Three.js, Babylon.js и PlayCanvas, поэтому один и тот же ассет можно использовать в карточке товара, браузерном просмотрщике, WebXR-проекте или интерактивной презентации. Бинарный вариант формата, GLB, особенно удобен для передачи готовой модели: геометрия, материалы, текстуры и анимация могут находиться в одном файле.

Для 3D-художника это означает простую вещь: glTF давно перестал быть экзотикой. Если вы создаете контент для веба, AR, игр, конфигураторов или каталогов, рано или поздно вам придется с ним работать.

Однако у пользователей Autodesk 3ds Max отношения с этим форматом долгое время были непростыми. Экспорт существовал, но полноценного и предсказуемого рабочего процесса - от импорта до редактирования и повторной выдачи готового файла - не хватало.

Теперь это должно измениться. Khronos Group поддержала выпуск бесплатного open-source импортера и экспортера glTF 2.0 для Autodesk 3ds Max. И важен здесь не только новый набор функций, но и то, кто стоит за проектом.

Почему участие Khronos действительно имеет значение

Khronos Group - не очередной сторонний разработчик конвертера. Это открытый отраслевой консорциум, в рамках которого развивается сам стандарт glTF.

Именно Khronos определяет, как должны храниться PBR-материалы, анимация, камеры, освещение и расширения формата. Поэтому участие организации дает проекту несколько серьезных преимуществ:

  • реализация следует логике и спецификации самого glTF;
  • новые возможности формата могут появляться в плагине без долгой цепочки посредников;
  • проект рассчитан на дальнейшую поддержку, а не на единственный релиз;
  • исходный код открыт, поэтому ошибки и несовместимости может находить и исправлять сообщество;
  • документация развивается вместе с инструментами.

Важно точно сформулировать роль Khronos: организация спонсировала и выпустила проект, разработанный совместно с опытными независимыми специалистами и сообществом. Это не просто новый официальный ярлык на старом экспортере Autodesk, а отдельные плагины импорта и экспорта, созданные для полноценной работы с glTF 2.0.

Khronos уже сообщила о намерении продолжать поддержку проекта, включая развитие KHR_interactivity и будущего glTF 2.1. Иными словами, речь идет не о разовой попытке закрыть пробел, а о фундаменте для долгосрочного рабочего процесса.

Проект начался не с чистого листа

У нового плагина есть полезная предыстория. Его основой стала многолетняя работа независимого программиста Hayashi Satoshi, ранее выпускавшего коммерческие glTF-плагины для 3ds Max. Khronos привлекла его к проекту вместе с разработчиком Josef Wienerroither, имеющим большой опыт создания и проверки плагинов для 3ds Max.

В тестировании, подготовке документации и адаптации инструмента к реальным задачам художников участвовал технический 3D-художник Eric Chadwick из DGG.

Такой путь выглядит разумнее, чем разработка "с нуля". В основу лег инструмент, выросший из практического опыта, после чего его довели до открытого проекта с документацией, исходным кодом и долгосрочной поддержкой сообщества.

Плагин распространяется бесплатно по лицензии Apache 2.0. Исходники доступны на GitHub, а готовые сборки предназначены для 3ds Max версий 2020-2027. Это особенно важно для студий с неоднородным парком программ: не всем приходится немедленно переходить на последнюю версию Max ради доступа к новому формату.

Что было не так с прежней работой через 3ds Max

Встроенные возможности 3ds Max позволяли получить glTF или GLB, но в серьезном производственном процессе одного факта наличия кнопки Export было недостаточно.

Главной проблемой оставалась фрагментарность. Импорт и экспорт не образовывали единый маршрут, а художнику часто приходилось собирать его самостоятельно:

  • подготовить отдельную версию сцены;
  • упростить или заменить материалы;
  • экспортировать модель;
  • проверить ее во внешнем просмотрщике;
  • отдельно оптимизировать геометрию и текстуры;
  • исправить обнаруженные проблемы в Max;
  • повторить весь цикл.

Особенно неприятно это ощущалось при работе с материалами. Corona и V-Ray дают художнику очень богатый набор шейдеров, но glTF устроен иначе: он ориентирован на переносимый PBR-материал, который должен одинаково интерпретироваться в разных приложениях.

Карты Metalness, Roughness и Ambient Occlusion тоже требуют правильной упаковки по каналам. Если конвертация выполняется неудачно, небольшая модель может получить неожиданно тяжелые текстуры. В реальной работе PNG с упакованными картами иногда разрастались до десятков мегабайт, а итоговый GLB становился слишком большим для веба. После этого приходилось подключать внешние оптимизаторы, снова проверять материалы и вручную искать компромисс между качеством и размером.

Добавим сюда нестабильный перенос сложных сцен, отсутствие удобного полноценного импорта и необходимость поддерживать собственные MaxScript-сценарии - и становится понятно, почему многие художники использовали Blender или отдельные конвертеры как промежуточную станцию.

Новый проект Khronos пытается убрать именно эту фрагментарность.

Не просто экспорт, а полноценный round-trip

3dsmax khronos gltf plugin
Loading...

Ключевое выражение в описании плагина - round-trip pipeline. Дословно его можно передать как "полный цикл работы с возвратом в исходный формат":

GLB or glTF → import into 3ds Max → edit → export back to GLB or glTF.

Это важное изменение в подходе. glTF становится не финальным контейнером, к которому нельзя безопасно прикоснуться, а рабочим форматом внутри 3ds Max.

Плагин стремится переносить сцену в Max и обратно с максимально возможным сохранением ее устройства: геометрии, материалов, камер, источников света, анимации, инстансов и поддерживаемых расширений. Например, можно получить GLB от заказчика, поправить модель или анимацию и выдать обновленный файл без обязательной конвертации через FBX и стороннее приложение.

Разумеется, слово round-trip не означает математически идеального совпадения при любой сцене. 3ds Max и glTF по-разному представляют часть данных, а некоторые возможности Max просто не имеют прямого аналога в стандарте. Но единый импортно-экспортный маршрут уже сам по себе заметно сокращает количество ручных операций.

Скачать Khronos GLTF/GLB плагин можно по этой ссылке. 

Скачать Khronos GLTF/GLB плагин

Что умеет новый импортер

khronos gltf importer for 3dsmax 2.00
Loading...

Импортер читает файлы .gltf и .glb и переносит в сцену те элементы, с которыми художник ожидает продолжить работу:

  • меши, сплайны и формы;
  • камеры и источники света;
  • PBR-материалы и текстуры;
  • анимацию;
  • Skin и Morph;
  • инстансы;
  • данные поддерживаемых расширений glTF.

Особенно интересна работа с современными PBR-свойствами. Плагин понимает не только базовые цвет, металличность и шероховатость, но и ряд расширений для более сложных поверхностей: clearcoat, anisotropy, transmission и volume. Это позволяет корректнее переносить лакированные, анизотропные и прозрачные материалы, не сводя все к самому простому шейдеру.

Поддерживаются UV-трансформации и сжатые форматы текстур. Поскольку сам 3ds Max не открывает WebP напрямую, импортер может преобразовать такую текстуру в PNG для редактирования, одновременно сохранив путь к оригиналу в пользовательских атрибутах. При последующем экспорте плагин способен снова использовать исходный сжатый файл - это помогает избежать лишнего перекодирования и дополнительной потери качества.

Для пользователей 3ds Max 2024 и новее предусмотрен Khronos PBR Neutral Tone Mapping. Он помогает приблизить отображение PBR-материалов во вьюпорте к нейтральному виду, ожидаемому в glTF-просмотрщиках. Это не отменяет финальную проверку в целевой платформе, но уменьшает вероятность неприятного сюрприза после экспорта.

Экспортер: больше контроля над результатом

khronos gltf exporter for 3dsmax 2.01
Loading...

Экспортер создает все основные варианты glTF 2.0:

  • .gltf вместе с отдельными .bin и текстурами;
  • единый .gltf со встроенными ресурсами;
  • бинарный .glb, в котором данные собраны в одном файле.

Для публикации на сайте чаще всего удобен GLB: его проще передавать, хранить и подключать. Раздельный glTF полезнее во время отладки, когда нужно быстро заменить текстуру или заглянуть в структуру файла.

Плагин экспортирует геометрию, сплайны, формы, камеры и освещение, умеет сохранять иерархию, а также поддерживает обычные инстансы и расширение EXT_mesh_gpu_instancing. Последнее особенно полезно для сцен с большим количеством повторяющихся объектов - например, стульев, светильников или элементов декора. Но режим GPU-инстансинга имеет свои правила и может не сохранить часть иерархии или анимационных данных, поэтому включать его стоит осознанно.

Анимация охватывает перемещение, вращение и масштаб, Morph-анимацию и ряд дополнительных параметров через KHR_animation_pointer. Для процедурных контроллеров, у которых нет обычных ключей, предусмотрен Bake Animation. Цена удобства предсказуема: покадровый bake увеличивает объем данных, поэтому для веба лучше использовать его только там, где он действительно нужен.

Экспортер также передает Skin и Morph-деформации, пользовательские свойства сцены, объектов и материалов через extras, умеет создавать несколько сцен в одном файле и поддерживает варианты материалов. Последнее удобно, если одна модель должна иметь несколько отделок - например, ткань разных цветов или несколько вариантов корпуса.

Упаковка Metalness, Roughness и Occlusion

Одна из самых практичных функций - контроль над тем, как собираются карты Metalness, Roughness и Ambient Occlusion.

В glTF эти данные обычно упаковываются по каналам одной текстуры. Такой подход экономит место и количество запросов при загрузке модели, но требует правильной подготовки. Новый экспортер предлагает несколько сценариев:

  • сохранить оригинальную карту, если модель была импортирована из glTF и ее упаковку не нужно менять;
  • заново собрать Metalness, Roughness и Occlusion в одну текстуру;
  • собрать Metalness и Roughness вместе, оставив Occlusion отдельно;
  • выбрать разрешение и формат создаваемых карт.

Для художника это намного понятнее, чем ручная сборка каналов в Photoshop или отдельной утилите. Одновременно появляется контроль над размером: для небольшого объекта в браузере далеко не всегда нужны карты 4K.

Экспортер также работает с WebP и KTX2 через специальные атрибуты. Эти форматы могут существенно уменьшить вес текстур, однако степень сжатия, качество и совместимость следует проверять на целевой платформе. Чем агрессивнее настройки, тем внимательнее нужно осматривать градиенты, нормали, прозрачность и мелкие детали.

Corona и V-Ray: меньше ручной конвертации

Для многих пользователей 3ds Max этот раздел важнее всего остального. Экспортер заявляет поддержку материалов Scanline, PBR, Physical, glTF, Arnold, V-Ray, Corona и USD.

Это означает, что перед выдачей GLB больше не обязательно вручную перестраивать каждый обычный Corona- или V-Ray-материал в стандартный PBR. Плагин пытается перевести его основные свойства в модель, понятную glTF.

Но здесь важно сохранять реалистичные ожидания. Corona и V-Ray создавались для высококачественного офлайн- и GPU-рендеринга, а glTF - для быстрого и переносимого отображения в реальном времени. Между ними нет полного соответствия.

Лучше всего конвертируются материалы с понятной PBR-логикой:

  • базовый цвет;
  • roughness или glossiness, который можно однозначно преобразовать;
  • metalness;
  • normal или bump;
  • opacity;
  • простая эмиссия.

Сложные процедурные цепочки, Blend-материалы, нестандартные Falloff-настройки, многослойные покрытия, дисплейсмент и рендерер-специфичные эффекты могут потребовать запекания или ручной доводки. Поэтому поддержка Corona и V-Ray - не волшебная кнопка, а хороший способ резко сократить объем рутинной работы.

Практичный подход остается прежним: сделать экспорт, открыть GLB в том просмотрщике или движке, где он будет использоваться, и сравнить результат с исходной сценой.

Draco: когда геометрия должна весить меньше

Плагин умеет применять Draco compression и записывает в файл расширение KHR_draco_mesh_compression.

Draco сжимает данные меша: позиции вершин, нормали, UV и другие атрибуты. На моделях с плотной геометрией разница в размере может быть очень заметной, поэтому технология полезна для веба и мобильных устройств.

При этом Draco не уменьшает вес текстур - если большую часть GLB занимают изображения, одной галочки недостаточно. Кроме того, просмотрщик должен поддерживать декодирование Draco, а загрузка модели потребует дополнительных вычислений.

Поэтому правильный вопрос звучит не "включать ли Draco всегда", а "нужно ли настолько сжатие":

  • если файл тяжелый из-за геометрии, Draco может дать хороший результат;
  • если основной объем занимают текстуры, сначала стоит проверить их разрешение и формат;
  • если модель открывается на слабых устройствах, нужно измерить не только вес загрузки, но и время декодирования.

Оптимизация GLB - это всегда баланс между размером файла, скоростью запуска и качеством изображения.

Автоматизация через MaxScript

Плагин можно вызывать из MaxScript стандартными командами importFile и exportFile. Если в системе установлено несколько обработчиков glTF, документация приводит идентификаторы, позволяющие явно выбрать плагины Khronos:

-- Import
importFile FileName using:#(2276006501L, 2723547238L)
-- Export
exportFile FileName using:#(945315888L, 456219454L)

Параметры плагина сохраняются в INI-файлах каталога plugcfg, поэтому их можно подготовить перед пакетной обработкой. Это полезно для студийных пайплайнов, автоматической выдачи нескольких ассетов и повторяемого экспорта вариантов одной модели.

Есть, однако, важный организационный момент: если существующий скрипт рассчитывает на другой glTF-экспортер, после установки нового плагина нужно убедиться, какой обработчик вызывается. Явное указание идентификатора избавляет от неоднозначности.

Полный пример и актуальные идентификаторы находятся в разделе Execute from Script официальной документации.

Ограничения, о которых лучше знать заранее

Новый плагин решает много проблем, но не отменяет технические границы glTF и различия между приложениями.

На момент публикации документация отмечает, в частности, следующие ограничения:

  • поддерживается до двух UV-каналов: TEXCOORD0 и TEXCOORD1;
  • экспортируется один канал цвета вершин;
  • Skin ограничен четырьмя весами на вершину;
  • зеркально трансформированные объекты могут экспортироваться некорректно - перед выдачей рекомендуется Reset XForm;
  • не все типы интерполяции и многоканальной анимации реализованы полностью;
  • иерархия костей и сумма весов должны соответствовать требованиям glTF;
  • сложные процедурные материалы могут потребовать запекания;
  • поддержка KHR_interactivity, KHR_physics_rigid_bodies и KHR_collision_shapes пока частичная, причем физическая симуляция в разных приложениях может отличаться.

Это не повод отказываться от инструмента. Скорее, это хороший чек-лист перед началом проекта. Если заранее знать требования целевой платформы, большинство проблем решается еще на этапе подготовки ассета.

Личные впечатления: главное изменение - не одна функция, а весь маршрут

В последнее время мне приходится много работать с GLB, и самым утомительным всегда был не сам экспорт, а все, что происходило вокруг него. Получить файл было легко. Получить легкий, визуально правильный и готовый к публикации файл - гораздо сложнее.

Особенно хорошо это было заметно на материалах и текстурах. Раздельные Metalness и Roughness могли превратиться в неоправданно тяжелую упакованную карту, после чего приходилось идти во внешние инструменты, оптимизировать результат и снова все проверять.

Поэтому главное достоинство нового решения для меня - не отдельная галочка Draco и даже не поддержка Corona. Самое важное, что импорт, редактирование, упаковка карт, экспорт и повторная выдача теперь складываются в один понятный маршрут внутри 3ds Max.

Плагин не избавит художника от необходимости понимать базовые принципы real-time графики. По-прежнему нужно следить за количеством полигонов, разрешением текстур, PBR-значениями, трансформациями и совместимостью целевого просмотрщика. Но он убирает значительную часть механической работы, которая раньше стояла между хорошей моделью и готовым GLB.

Стоит ли переходить

Если вы регулярно готовите модели для сайтов, AR, WebXR, игровых движков или онлайн-конфигураторов, новый плагин Khronos определенно стоит включить в рабочий процесс и проверить на своих типичных сценах.

Особенно заметную пользу получат:

  • художники, которым нужно импортировать чужие GLB и возвращать их после правок;
  • пользователи Corona и V-Ray, уставшие вручную собирать PBR-версии материалов;
  • студии, автоматизирующие пакетный экспорт через MaxScript;
  • авторы товарных моделей с несколькими вариантами материалов;
  • команды, которым важны открытый код и поддержка нескольких версий 3ds Max.

Переход лучше начинать не с большого проекта, а с одного характерного ассета. Сравните визуальный результат, размер файла и время подготовки со старым маршрутом. Проверьте модель именно в целевой среде: Model Viewer, Three.js, Babylon.js, PlayCanvas, игровом движке или собственном приложении. Такой тест быстро покажет, какие настройки подходят вашему пайплайну.

Заключение

glTF уже стал одним из основных форматов трехмерного контента. Он соединяет DCC-приложения, браузеры, игровые движки, AR и электронную коммерцию - области, между которыми 3D-художникам приходится перемещаться все чаще.

На этом фоне официальный open-source проект при поддержке Khronos выглядит не просто как еще один экспортер. Он закрывает давний пробел в экосистеме Autodesk 3ds Max: дает полноценный импорт, более управляемый экспорт и возможность редактировать glTF по принципу round-trip.

Идеальных конвертеров не существует. Сложные Corona- и V-Ray-материалы все еще придется проверять, процедурные карты - иногда запекать, а модели для веба - осознанно оптимизировать. Но теперь значительная часть этой работы собрана в одном инструменте, который понимает современный glTF, открыт для сообщества и развивается при участии организации, отвечающей за сам стандарт.

Для художника итог можно сформулировать совсем просто: GLB из 3ds Max наконец становится не разовой конвертацией с непредсказуемым результатом, а нормальной частью рабочего процесса.

FAQ

1. Что представляет собой новый glTF/GLB-плагин Khronos для Autodesk 3ds Max?
Это бесплатный open-source набор плагинов для импорта и экспорта файлов glTF 2.0 и GLB. Он позволяет открывать такие модели в 3ds Max, редактировать их и экспортировать обратно с сохранением поддерживаемых материалов, анимации, камер, освещения и других данных сцены.
2. Чем плагин Khronos отличается от стандартного экспортера 3ds Max?
Главное отличие — полноценный round-trip workflow. Плагин поддерживает не только экспорт, но и импорт, редактирование и повторное сохранение glTF. Он также предлагает более широкую поддержку PBR-материалов, расширений glTF, вариантов материалов, сжатия Draco и автоматизации через MaxScript.
3. Какие версии Autodesk 3ds Max поддерживаются?
Готовые сборки доступны для Autodesk 3ds Max 2020–2027. При скачивании необходимо выбрать файлы, предназначенные именно для установленной версии 3ds Max.
4. Поддерживает ли плагин материалы Corona и V-Ray?
Да, экспортер поддерживает материалы Corona и V-Ray и пытается преобразовать их основные свойства в совместимый с glTF PBR-материал. Простые материалы обычно переносятся лучше всего, а сложные процедурные карты, Blend-материалы, displacement и специфические эффекты могут потребовать запекания или ручной доработки.
5. Можно ли уменьшить размер GLB с помощью этого плагина?
Да. Экспортер позволяет управлять разрешением и форматом текстур, упаковывать карты Metalness, Roughness и Ambient Occlusion, использовать WebP или KTX2, а также применять Draco для сжатия геометрии. Настройки необходимо подбирать с учетом целевого просмотрщика и требуемого качества.
6. Что такое Draco compression и нужно ли всегда его включать?
Draco — технология сжатия геометрии: позиций вершин, нормалей, UV и других атрибутов меша. Она может заметно уменьшить размер моделей с плотной геометрией, но не сжимает текстуры и требует поддержки со стороны просмотрщика. Поэтому включать Draco автоматически для каждого файла необязательно.
7. Что такое Draco compression и нужно ли всегда его включать?
Draco — технология сжатия геометрии: позиций вершин, нормалей, UV и других атрибутов меша. Она может заметно уменьшить размер моделей с плотной геометрией, но не сжимает текстуры и требует поддержки со стороны просмотрщика. Поэтому включать Draco автоматически для каждого файла необязательно.
8. Можно ли автоматизировать импорт и экспорт через MaxScript?
Да. Плагин вызывается стандартными командами importFile и exportFile. Если установлено несколько обработчиков glTF, в скрипте можно явно указать идентификаторы плагинов Khronos. Настройки импорта и экспорта хранятся в INI-файлах каталога plugcfg.
9. Какие ограничения нужно учитывать перед экспортом?
Плагин поддерживает до двух UV-каналов, один канал цвета вершин и до четырех весов Skin на вершину. Перед экспортом зеркально трансформированных объектов рекомендуется применять Reset XForm. Сложные материалы и отдельные типы анимации также могут потребовать дополнительной подготовки и проверки на целевой платформе.
Vasyl Lukianenko
Vasyl Lukianenko
3D Artist and Technical Author
Vasyl Lukianenko is a 3D artist and technical author focused on practical workflows, optimization, and production-ready techniques. He publishes tutorials, courses, and tools to help artists work faster and get cleaner results.
{{commentsMsg}}
  

Никто не оставил комментариев
{{comment.lastname}} {{comment.name}} {{comment.date}}
{{comment.text}}
Sponsored content