Workflow

WebGL material workflow

Используйте compact procedural maps и предсказуемые channel settings для Three.js, custom WebGL renderers и browser material previews.

Цель экспорта
Цель
Three.js / custom WebGL
Рекомендуемый путь
GLB для быстрой загрузки или PNG maps для custom shaders
Основной вывод
GLB material или individual PNG maps

Настройка каналов

Color map

Используйте sRGB color space для видимой base color texture в Three.js или эквивалентную конверсию в custom shaders.

Normal

Сэмплируйте normal maps как data textures и настраивайте normal scale в материале вместо rebake texture.

Roughness и AO

Roughness и AO держите linear. В Three.js AO также требует UV2 или соответствующей secondary UV обработки.

Repeat и wrapping

Включите repeat wrapping для seamless surfaces и задавайте repeat values в коде, чтобы один export подходил разным asset sizes.

Шаги импорта

1

Выберите GLB или map files

GLB используйте для быстрого carrier material. Individual PNG maps используйте, когда renderer сам управляет shader и texture binding.

2

Настройте texture color space

Назначьте sRGB для color maps и держите roughness, normal, height и AO как linear data textures.

3

Включите repeat

Для seamless surfaces установите wrapS и wrapT в repeat, затем управляйте scale через material repeat values или shader uniforms.

4

Профилируйте map budget

Проверьте resolution, compression и количество channels на целевом устройстве до использования больших map sets в production.

Частые проверки

Нет UV2 для AO

Если AO не виден в Three.js, проверьте, что geometry имеет UV set, требуемый материалом.

Неверный colorSpace

Base color, прочитанный как linear, может быть слишком тёмным; data maps как sRGB ломают roughness или normal response.

Слишком много больших maps

Browser scenes чувствительны к texture memory. Используйте минимальную resolution, достаточную для camera distance.

FAQ workflow

GLB — самый простой путь для WebGL?

Для быстрого material review — да. Для production renderers individual maps часто дают больше контроля над compression, loading и shader inputs.

Seamless maps могут repeat в Three.js?

Да. Установите texture wrapping mode в repeat и управляйте repeat scale на material или texture instance.