Replace Normals3 D
ReplaceNormals3D пересчитывает per-vertex normals и tangents входящей 3D-геометрии, управляет smoothing/flip и tangent basis, не меняя position topology и не превращая scene3d в изображение.
Classic Fusion scene3d от Shape3D, ImagePlane3D, Text3D, imported FBX/Alembic geometry, Weld3D, UVMap3D, Merge3D или другого compatible 3D processor.
ReplaceNormals3D
Обзор
Что делает ReplaceNormals3D
ReplaceNormals3D принимает обязательный SceneInput с classic Fusion scene3d и отдаёт тот же data domain через Output. Это geometry/shading processor: pixels появляются только после Renderer3D.
Blackmagic описывает ReplaceNormals3D как средство замены normals/tangents на входящей geometry. Все polygon meshes внутри входной сцены затрагиваются, а lights, cameras, point clouds, locators, materials и другие non-mesh scene objects проходят через ноду без изменения.
Работа идёт с per-vertex normals/tangents, а не с per-face vectors. Это важно: нода не создаёт отдельную normal-карту и не заменяет material shader; она изменяет surface vectors, которыми пользуются lighting и bump-dependent shading.
Pre-Weld Position Vertices — вычислительный helper, а не полноценная сварка mesh. Он временно учитывает совпадающие position vertices как сваренные во время normal/tangent calculation, после чего результат pre-weld отбрасывается. Position topology выходной geometry от этого control не должна меняться.
Если нужно реально объединить position vertices и изменить adjacency/topology на выходе, используйте Weld3D отдельным upstream-этапом. Pre-Weld внутри ReplaceNormals3D не заменяет Weld3D.
Normals / Recompute выбирает policy: Always пересчитывает normals всегда, If Not Present — только когда normals отсутствуют, Never — не создаёт новые normals. Historical tool reference отдельно отмечает Never как полезный вариант в animation workflows, где постоянный recompute не нужен.
Smoothing Angle определяет, через какие соседние faces пересчитанные normals могут сглаживаться. Blackmagic приводит 20–60° как типичный рабочий диапазон, но это не preset: правильный threshold зависит от формы mesh и задуманных hard edges.
Для Smoothing Angle = 0° документация задаёт special case: получаются faceted normals. Это удобный diagnostic mode — он помогает отделить проблему geometry/shading от материала и сразу показывает face-level структуру поверхности.
Ignore Smooth Groups меняет роль imported smooth-group boundaries. Когда опция выключена, faces из разных smooth groups не сглаживаются друг с другом даже при подходящем угле; когда включена, решение может определяться главным образом Smoothing Angle.
Flip Normals меняет направление normals. Это полезно для диагностирования вывернутой surface orientation, но не должно использоваться как универсальный fix: при ошибочной topology/culling проблема может находиться upstream.
Tangents / Recompute имеет ту же policy Always / If Not Present / Never, но tangent vectors предъявляют дополнительное требование: input geometry должна иметь texture coordinates. Без usable UV/UVW корректный tangent basis вычислить нельзя.
Flip Tangents U и Flip Tangents V меняют ориентацию tangent basis по соответствующим texture directions. Эти controls имеют смысл прежде всего в bump mapping и других material workflows, которые реально используют tangents.
Blackmagic отдельно предупреждает, что большинство Fusion primitives не хранят tangents заранее: Renderer3D может создать их on demand и закэшировать, если material требует bump mapping. ReplaceNormals3D нужен, когда tangent generation требуется контролировать явно до Renderer3D.
Из-за этого Flip U/V иногда визуально кажется 'неработающим': если tangents ещё не существовали и никакой material их не использует, beauty image может не измениться. Проверять tangent controls нужно на geometry с UV и реальным bump-dependent material.
Не пересчитывайте normals автоматически только потому, что lighting кажется непривычным. Historical Blackmagic reference предупреждает, что baked high-poly → low-poly bump workflows могут быть связаны с исходными authored normals; их recompute способен ухудшить задуманный shading.
Порядок относительно transforms важен. Blackmagic отмечает, что вычисления ReplaceNormals3D выполняются в local coordinates каждой geometry, а не в coordinate system самой ноды; non-uniform scale, применённый upstream, может дать неправильный результат. Надёжный baseline — recompute normals/tangents до non-uniform Transform3D.
ReplaceNormals3D не меняет UV coordinates. Если проблема в texture placement, seam или отсутствующих UV, используйте UVMap3D или исправьте source mesh; tangent recompute не заменяет UV generation.
Нода также не является remesh, triangulate или decimation tool. Для face topology используйте Triangulate3D/Weld3D или внешний DCC в зависимости от задачи; ReplaceNormals3D оставляет positions/faces как отдельный слой данных.
Поскольку все meshes входной scene могут быть затронуты, selective repair лучше строить на отдельной 3D-ветке до Merge3D. Иначе normal policy, нужная одному object, может неожиданно изменить shading другого mesh в той же scene stream.
Для диагностики полезно разделять четыре причины: topology/position continuity, normals/smooth groups, UV/tangents и material. Меняйте по одному уровню и сравнивайте bypass под простым направленным светом.
Bundled Resolve screenshots подтверждают current captured Inspector: Pre-Weld Position Vertices, Normals Recompute, Smoothing Angle, Ignore Smooth Groups, Flip Normals, Tangents Recompute и Flip Tangents U/V. Точные live-results на production mesh в Resolve 21/21.1 в этом проходе не выполнялись и остаются target-build verification.
Renderer3D остаётся границей данных. ReplaceNormals3D.Output можно вести в Transform3D, Merge3D, ReplaceMaterial3D, UVMap3D и другие compatible 3D processors; MediaOut и обычные 2D effects получают только Renderer3D.Image.
Когда применять
Пересчитать normals на импортированной FBX/Alembic geometry, если shading явно сломан.
Создать faceted normals через Smoothing Angle = 0° для диагностики или стилизации.
Контролировать smooth transitions через Smoothing Angle и smooth-group boundaries.
Исправить orientation через Flip Normals после проверки topology/culling.
Создать explicit tangents до Renderer3D для bump-dependent material workflow.
Перевернуть U/V tangent direction при доказанной ошибке tangent basis.
Пересчитать surface vectors до downstream non-uniform Transform3D.
Разделить positional seam, normals issue, UV issue и material issue в диагностике.
ReplaceNormals3D в контексте
Скриншоты из статьи. Откройте изображение, чтобы рассмотреть его крупнее.
Пример для ReplaceNormals3D.
Оригинальное изображениеПример для ReplaceNormals3D.
Оригинальное изображениеПример для ReplaceNormals3D.
Оригинальное изображение