Matter

Нодовый граф, процедурно строящий PBR-материалы: независимые от разрешения, поддающиеся перенастройке и экспортируемые полным набором карт.

Коротко#

Соедините процедурные ноды между собой и получите на выходе полноценный PBR-материал: base colour, roughness, metallic, normal, height, AO и emissive, в любом разрешении, какое вы зададите.

Интерфейс#

Matter: библиотека нод, граф, 2D-превью каналов и 3D-превью

Строка менюFile · Edit · Graph · View · Help · Plugins
Вкладки графоводин материал на вкладку, + для новой
Панель инструментовselect, pan, zoom, fit, add node, connect, frame, undo/redo, grid
Слевабиблиотека нод с поиском
Центрграф
Справасвойства выбранной ноды
Внизу слева2D-превью, по вкладке на каждый PBR-канал
Внизу справа3D-превью

Что вы делаете здесь#

Постройка графа#

Три ноды, соединённые в выход base colour, каждая с собственным превью

Перетащите ноду из библиотеки или добавьте её с панели инструментов и соедините Output → Input. Каждая нода показывает своё превью прямо на себе, поэтому граф одновременно служит контрольным листом: видно, что сделал каждый шаг, даже не выбирая его.

Библиотека сгруппирована:

ColorColor · Gradient · Bitmap (загрузка PNG/JPEG) · Uniform Color · SVG
NoiseNoise (Perlin / fractal) · Clouds (fractal sum abs) · Anisotropic Noise · Grunge Map · White Noise · Blue Noise
PatternsCheckerboard · Wood Rings · Shape · …
Filters, adjustments and utilitieslevels, blends, blurs, normal-from-height и остальное
Outputпо одному на каждый PBR-канал

Recent держит наверху то, что вы использовали последним, а это чаще всего именно то, за чем вы тянетесь.

Маршрутизация в каналы#

Нода Output: это цель PBR-канала: задайте её Channel как baseColor, roughness, metallic, normal, height, ao или emissive. Материал готов, когда каждый важный для вас канал получает свой output.

Настройка ноды#

Панель свойств даёт каждой ноде её базовые параметры, её function bindings (параметры, управляемые выражением, а не константой) и её resolution mode: по умолчанию Inherit, поэтому одно изменение на уровне графа перерисовывает весь материал в новом размере. Она также сообщает время последнего вычисления ноды, по которому находится дорогой шаг в медленном графе.

Save to library превращает ноду или собранный вами подграф в переиспользуемый элемент.

Просмотр результата#

2D- и 3D-превью создаваемого материала

2D preview показывает по одному каналу за раз, с масштабом и гистограммой. 3D preview рендерит материал на mesh: sphere, cube, cylinder, torus, plane или ваш собственный mesh. Выберите окружение (HDRI Studio, Soft, Warm, Sky или пресеты Studio / Outdoor / Sunset), задайте tessellation и edge, и повторите UV 1×, 2× или 4×, чтобы проверить, действительно ли материал повторяется без швов.

Правая панель, пять вкладок#

Вкладка
Propertiesпараметры выбранной ноды
Parametersexposed parameters графа: ручки, которые материал предлагает тому, кто им пользуется, а не тому, кто его построил
Graphнастройки уровня графа
Variantsнесколько версий одного материала на основе одного и того же графа
Libraryбиблиотека нод и пресетов

Инспектор ноды

Шестая вкладка, Material Scan, появляется, пока открыта сессия сканирования.

Exposed parameters#

Материал с exposed parameters перестаёт быть фиксированной текстурой и становится панелью управления: количество ржавчины, ширина доски, износ. Именно это позволяет одному графу обслуживать целый набор материалов, и именно поэтому стоит строить в Matter, а не рисовать результат один раз вручную.

Material Scan#

Фотография реальной поверхности превращается здесь в материал, и, поскольку захват можно republish, у этого есть собственная глава ниже.

Библиотека нод в цифрах#

Двести три ноды в двадцати трёх категориях. Форма этого списка говорит сама за себя о том, что такое Matter:

Библиотека нод: поле поиска, недавно использованные ноды, затем категории, каждая нода с собственным превью

КатегорияКатегория
filters44blur6
generators34transform6
utility22graph6
adjustments18colour5
pattern16bake5
effects9normal4
noise6analysis4

плюс flood fill (4), channels (3), material (3), scatter (2), blending (2), и по одной ноде script, dynamics, output и library.

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

Нода script: аварийный люк на случай, который не покрывают остальные двести, а ноды bake превращают дорогую ветку в сохранённое изображение, чтобы остальная часть графа оставалась интерактивной.

Material Scan: что происходит при повторной публикации фото#

Surface Capture, подготовленный в Inkwell, приходит сюда как граф, а не как плоское изображение: скан строит ноды, а гид Material Scan проводит вас по тому, что было построено, шаг за шагом, указывая на ноды каждого шага и помечая каждый output как manual или derived.

Интересный случай наступает во второй раз. Когда тот же захват republish-ится из Inkwell, Matter это замечает: он знает версию, которую хранит, и версию, которая пришла, и спрашивает:

Выбор
Update the sourceвзять новое фото в существующий граф
Create a variantсохранить оба
Ignoreоставить граф как есть

Update заменяет только исходную ноду. Каждая нода, добавленная вами ниже по потоку, и каждая изменённая настройка остаются нетронутыми. Именно эта гарантия делает пересъёмку поверхности безопасной: работа, проделанная вами поверх скана, не является тем, что заменяется.

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

Экспорт материала#

Из Matter выходят три разные вещи, и они не взаимозаменяемы:

PBR-картыпо одному изображению на канал: baseColor, roughness, metallic, normal, height, AO, emissive, в PNG, JPEG, HDR, TGA или TIFF
Пакет .matterграф и его текстуры, так что материал остаётся редактируемым
glTF / GLB и MaterialXматериал в виде, ожидаемом другим софтом

Экспортируются только подключённые output; панель сообщает «no connected outputs», а не пишет пустые файлы, и отчитывается числом об успехах и неудачах.

Файлы, которые он читает и пишет#

Нативный формат.matter (граф, либо пакет со своими текстурами)
Импорт.png, .jpg (нода Bitmap), SVG (нода SVG), Surface Capture из Inkwell
ЭкспортPBR-карты в PNG · JPEG · HDR · TGA · TIFF; glTF / GLB; MaterialX

Передача работы в другие студии#

Создаёт набор PBR-материалов и плоское изображение. Принимает изображения, pixel art и surface capture из Inkwell.

Набор материалов напрямую понимают Pigment, Sculpt и Engine: каналы приходят уже привязанными к нужным слотам, а не семью отдельными PNG, которые пришлось бы подключать заново.

Совместная работа#

Matter синхронизирует весь документ целиком, с задержкой (debounced), а не ноду за нодой. Граф материала: небольшой объект, и хранилище не ведёт журнал операций, поэтому полная синхронизация честно называет себя тем, чем является: побеждает тот, кто сохранил последним. Двум людям стоит работать на разных вкладках графа, а не на одной.

Ограничения и типичные проблемы#

  • У медленного графа есть одна медленная нода. Панель свойств показывает время последнего вычисления каждой ноды; смотрите туда, прежде чем снижать разрешение всего подряд.
  • Разрешение наследуется. Если у ноды закреплён свой размер, она не последует за изменением на уровне графа: проверьте её resolution mode.
  • Проблемы с тайлингом видны в 3D preview, а не в 2D. Установите коэффициент тайла на 2× или 4×, прежде чем считать материал готовым.
  • Нода Bitmap не процедурна. Она настолько чёткая, насколько чёток файл, который вы ей дали, в каком бы разрешении вы ни рендерили граф.