ВИДЕОМОНТАЖЁРDAVINCI RESOLVE · ВИДЕО · AI
ОбработкаFUSION

ReplaceMaterial3D

ReplaceMaterial3D переопределяет material у geometry внутри classic Fusion scene3d: принимает обязательную 3D-сцену, optional 2D image или 3D material, отдельно комбинирует RGBA-каналы и может ограничивать replacement по Object ID и Material ID.

Нода в работе
Иллюстрация нодыReplaceMaterial3D
РезультатСцена 3D

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.