Replace Material3 D
ReplaceMaterial3D переопределяет material у geometry внутри classic Fusion scene3d: принимает обязательную 3D-сцену, optional 2D image или 3D material, отдельно комбинирует RGBA-каналы и может ограничивать replacement по Object ID и Material ID.
Classic Fusion scene3d от Text3D, Shape3D, FBX/Alembic geometry, Merge3D или другого compatible 3D processor.
ReplaceMaterial3D
Обзор
Что делает ReplaceMaterial3D
ReplaceMaterial3D принимает обязательный SceneInput с classic Fusion scene3d и отдаёт Output того же типа. Это material processor внутри 3D pipeline: до Renderer3D никакого RGBA image на выходе ноды нет.
Blackmagic описывает действие ноды прямо: material заменяется у geometry во входной scene, а lights и cameras проходят через ReplaceMaterial3D unaffected. Поэтому ноду можно ставить после отдельного Text3D/Shape3D или после Merge3D, если replacement должен фильтроваться уже внутри общей scene.
У ноды есть отдельный MaterialInput. Он polymorphic по смыслу: принимает либо 2D image, либо 3D material. Эти два случая нельзя смешивать в одно понятие 'картинка материала' — поведение Inspector различается.
Если в MaterialInput подключён обычный 2D image, Blackmagic использует его как diffuse texture map встроенного Basic Material ReplaceMaterial3D. Остальные свойства встроенного материала — specular, transmittance, lighting response и MaterialID — продолжают задаваться на Material tab.
Если в MaterialInput подключён настоящий 3D material, например Phong.Material, встроенный Basic Material отключается. В documentation это описано как замена Material tab indication на external material. Поэтому подключённый Phong не является ещё одним слоем поверх одновременно активного встроенного Diffuse/Specular.
Без внешнего MaterialInput ReplaceMaterial3D может использовать свой встроенный material. Это удобно для простого recolor/specular/opacity override без отдельной material-ноды.
Replace Mode управляет R, G, B и Alpha независимо. Для каждого канала доступны Keep, Replace, Blend и Multiply. Keep оставляет соответствующий канал исходного material, Replace берёт replacement material, Blend смешивает, Multiply перемножает каналы.
Поканальный Replace Mode — не Object/Material selection. Сначала определяется, какая geometry попадает под replacement, затем mode определяет, как именно её material channels объединяются с replacement material.
Limit by Object ID ограничивает область действия по Object ID уже входящей geometry. Когда checkbox включён, появляется/используется target Object ID. Это фильтр, а не control назначения нового Object ID.
Limit by Material ID аналогично фильтрует по Material ID исходной surface/material assignment. Это особенно полезно на imported FBX/Alembic models или на одном mesh с несколькими material slots/IDs.
Если Limit by Object ID и Limit by Material ID включены одновременно, документация требует выполнения обоих условий. Практически это AND-like scope: объект/поверхность должна совпасть и по object selection, и по material selection.
Не путайте Control-tab Material ID limit со встроенным Material tab / MaterialID. Первый выбирает, какой исходный material заменить; второй задаёт ID уже replacement material, который может быть выведен Renderer3D как auxiliary MaterialID pass.
Enable в Controls включает именно material replacement effect. Blackmagic отдельно предупреждает: это не то же самое, что общий красный tool switch в заголовке Inspector. Общий switch отключает весь tool, тогда как Enable относится к effect-part ноды.
Diffuse Color задаёт базовую diffuse response встроенного Basic Material. При 2D image в MaterialInput texture становится diffuse map, поэтому flat color и texture source нужно диагностировать как один material workflow, а не как две независимые накладки.
Diffuse Alpha и Opacity участвуют в прозрачности встроенного replacement material, но итоговый alpha также зависит от Alpha Mode. Если Alpha Mode = Keep, изменение встроенного alpha может не дать ожидаемого результата на исходном material channel.
Specular Color, Intensity и Exponent формируют классический specular highlight встроенного material: Intensity меняет силу блика, Exponent — его размер/жёсткость. Эти controls не должны использоваться как доказательство PBR metal/roughness workflow.
Transmittance / Attenuation, Alpha Detail, Color Detail и Saturation относятся к тому, как встроенный material пропускает/окрашивает transmitted contribution. Их удобнее проверять на освещённой geometry отдельно от channel Replace modes.
Receives Lighting и Receives Shadows определяют участие replacement material в 3D lighting/shadow response. Сам факт включённого checkbox не создаёт light или shadow map — scene lights и Renderer3D всё равно должны быть настроены корректно.
Two Sided относится к отображению материала с обеих сторон polygon surface. Это material-side control, а не исправление normals, winding или topology. Если геометрия ориентирована неправильно, сначала диагностируйте normals/culling отдельно.
ReplaceMaterial3D не создаёт UV coordinates. Если 2D texture выглядит растянутой или отсутствует, проверяйте source UV/UVMap3D отдельно. Material override и texture-coordinate generation — разные стадии pipeline.
Нода не исправляет normals/tangents и не меняет positions/faces. Для surface vectors используйте ReplaceNormals3D, для UV — UVMap3D, для topology — Weld3D/Triangulate3D или source DCC.
Порядок относительно Merge3D выбирайте по scope. Если нужно переодеть только один branch, ReplaceMaterial3D обычно ставится до Merge3D. Если нужно фильтровать objects/materials уже внутри общей scene по ID, её удобно ставить после Merge3D.
Captured Inspector в проекте подтверждает current Controls: Enable, четыре Replace Mode dropdown, Limit by Object ID, Limit by Material ID; Material tab показывает Diffuse, Specular, Transmittance, Receives Lighting/Shadows, Two Sided и MaterialID. Conditional ID fields появляются только при включённых limits и требуют live target-build confirmation точных UI labels/defaults.
Renderer3D остаётся единственной границей scene→image. ReplaceMaterial3D.Output можно подключать к Merge3D, Transform3D, Override3D, другим 3D processors или Renderer3D.Scene; MediaOut и обычный 2D Merge принимают только Renderer3D.Image.
Когда применять
Назначить полноценный Phong/другой 3D material на Text3D downstream.
Использовать 2D image как diffuse texture без перестройки geometry.
Сделать быстрый built-in diffuse/specular override без отдельной material-ноды.
Заменить material только у одного Object ID в merged scene.
Заменить только один Material ID внутри imported model.
Комбинировать исходный и replacement material поканально через Keep/Replace/Blend/Multiply.
Сделать несколько look-dev вариантов одной geometry branch.
Сохранить lights/cameras сцены, меняя только geometry materials.
ReplaceMaterial3D в контексте
Скриншоты из статьи. Откройте изображение, чтобы рассмотреть его крупнее.
Пример для ReplaceMaterial3D.
Оригинальное изображениеПример для ReplaceMaterial3D.
Оригинальное изображениеПример для ReplaceMaterial3D.
Оригинальное изображение