Shape3 D
3D-примитив
Генерирует процедурные 3D-примитивы Fusion — Plane, Cube, Sphere, Cylinder, Cone, Torus и Ico — с собственным material workflow, SceneInput и dual-type MaterialInput.
Plane, Cube, Sphere, Cylinder, Cone, Torus и Ico строятся внутри ноды из Shape-specific размеров, ranges, caps и subdivisions.
Shape3D
Обзор
Что делает Shape3D
Shape3D — базовый procedural geometry generator классического Fusion 3D. На выходе не RGBA-картинка, а scene3d-поток: выбранный примитив существует как настоящая геометрия, может освещаться, отбрасывать и принимать тени, деформироваться 3D-нодами и превращается в изображение только в Renderer3D.
Главная ошибка старого описания — считать, что у Shape3D есть только один Material input. У ноды есть оранжевый SceneInput и зелёный MaterialInput. SceneInput принимает уже существующий 3D scene stream, а MaterialInput допускает два домена: готовый 3D material либо обычное 2D image, которое используется как diffuse texture встроенного basic material.
Shape3D не требует внешней геометрии, чтобы работать. Даже при пустых входах она сама создаёт Plane, Cube, Sphere, Cylinder, Cone, Torus или Ico. SceneInput нужен не для генерации примитива, а для последовательного добавления этого примитива к уже существующей 3D-сцене.
Shape — динамический selector. Набор Controls ниже него меняется в зависимости от выбранной формы. Plane и Cube используют Size либо раздельные Width/Height/Depth; Sphere, Cylinder, Cone и Torus используют Radius; Cone добавляет Top Radius; Cylinder/Cone имеют caps; Torus — Section; часть круглых форм поддерживает угловые/широтные диапазоны.
Lock Width/Height/Depth не является обычным uniform Scale. Он управляет параметрами самой процедурной геометрии до Transform. Если lock выключен у Plane/Cube, появляются отдельные размеры по осям. Transform Scale находится ниже по pipeline и масштабирует уже построенную геометрию.
Cube Mapping относится только к Cube и определяет способ наложения 2D texture на грани. Не путайте его с отдельной Cube3D-нодой: Shape3D Cube — один procedural primitive с одним MaterialInput, тогда как Cube3D рассчитана на более специализированную работу с гранями/материалами.
Start/End Angle позволяет вырезать только часть кругового sweep у Sphere, Cylinder, Cone и Torus. Start/End Latitude дополнительно режет Sphere/Torus по широтному диапазону. Это реальное изменение сгенерированной геометрии, а не camera crop и не 2D mask.
Bottom/Top Cap у Cylinder/Cone определяют, закрыты ли торцы. Открытый цилиндр и цилиндр с отключённым face culling — разные вещи: cap меняет наличие полигонов, Cull Faces решает, какие уже существующие стороны рендерятся.
Section у Torus меняет толщину трубки, а Radius — общий радиус кольца. Эти параметры отвечают за разные геометрические размеры и должны диагностироваться отдельно.
Subdivisions — плотность mesh, а не разрешение текстуры и не универсальный quality slider. Высокая tessellation полезна перед Bender3D/Displace3D, для более плавного vertex lighting или крупного деформируемого силуэта; на статичном Cube лишние subdivisions только утяжеляют сцену.
Wireframe показывает каркас геометрии в поддерживаемом renderer/viewer path и удобен как диагностика tessellation. Это не художественная 2D-обводка и не замена Edge Detect после Renderer3D.
Visible полностью отключает объект из обычного отображения/рендера и, как правило, убирает его shadow contribution. Unseen by Cameras — более узкий флаг: объект остаётся частью 3D-сцены, но не должен быть напрямую виден камерой; поведение теней зависит от renderer path.
Cull Faces Front/Back отбрасывает front- или back-facing полигоны. Если объект внезапно исчезает после поворота камеры, сначала проверяйте culling и normals, а не пытайтесь компенсировать проблему Material Opacity.
Suppress Aux Channels for Transparent Pixels управляет записью Z, UV, normals и других auxiliary channels в полностью прозрачных пикселях. Этот параметр важен для технических pass workflow и не является обычным alpha control.
Affected by Lights, Shadow Caster и Shadow Receiver — object-level флаги. Они отвечают за участие геометрии в освещении/тенях сцены. Похожие Receives Lighting/Receives Shadows во вкладке Material работают уже на уровне встроенного материала; меняйте уровни по одному.
Is Matte превращает Shape3D в spatial holdout/matte для 3D-сцены. Это не ещё один регулятор прозрачности: matte-геометрия может вырезать объекты, расположенные за ней по Z, поэтому включение этого режима должно быть осознанным.
Hardware и Software Blend Mode относятся к 3D render path и имеют разные списки. На текущих захваченных Inspector screenshots hardware-меню содержит художественные режимы вроде Normal, Screen, Multiply и Overlay, software — более короткий технический набор Additive/Subtractive/Accumulate/Replace/Transparent Matte/Solid Matte.
Normals/Tangents Scale и Show Normals/Tangents — diagnostics. Они помогают читать ориентацию поверхности и UV tangent basis, но не меняют сам mesh. Если свет реагирует «наоборот», visualizing normals часто полезнее случайного вращения lights.
ObjectID и Material ID — разные метки auxiliary passes. ObjectID маркирует геометрию Shape3D как объект; Material ID маркирует встроенный материал. Их удобно назначать заранее в сложной сцене для последующей изоляции через Renderer3D passes.
MaterialInput имеет dual-type семантику. Если приходит 2D image, оно используется как diffuse texture встроенного basic material. Если подключён полноценный 3D material от Phong/Blinn/CookTorrance-подобной цепочки, встроенный basic material Shape3D перестаёт быть главным shader-источником.
Во встроенном Material Diffuse Color работает как базовый цвет/множитель, Specular Intensity определяет силу блика, а Specular Exponent — его falloff/жёсткость. Для диагностики держите Diffuse нейтральным и меняйте Intensity/Exponent отдельно.
Transmittance не равна Opacity. Opacity отвечает за видимую прозрачность поверхности, а Transmittance — за прохождение света через материал и характер transmissive shadow. Alpha Detail и Color Detail дополнительно определяют, сколько alpha/цветовой информации texture участвует в проходящем свете.
Two Sided во вкладке Material отвечает за корректное lighting-поведение обратной стороны поверхности. Он не заменяет Cull Faces: можно разрешить backside shading, но одновременно физически cull-ить эту сторону, и наоборот.
Transform работает с уже созданным объектом: Translation ставит его в сцену, Rotation с выбранным order задаёт ориентацию, Pivot меняет центр вращения/масштабирования, Scale меняет размер результата. Эти controls не следует смешивать с procedural Size/Radius на вкладке Controls.
Use Target ориентирует объект на target point и полезен для aim/billboard-like setups. Import Transform позволяет перенести совместимые transform data, но не импортирует mesh и не заменяет FBX/Alembic geometry import.
Правильная граница данных выглядит так: image/material → Shape3D.MaterialInput, scene3d → Shape3D.SceneInput, Shape3D.Scene → Merge3D/Renderer3D, Renderer3D.Image → обычный 2D Fusion pipeline. Если эту границу держать явно, большинство ошибок с «не подключается» исчезают.
Для простых motion-graphics сцен Shape3D часто выгоднее внешнего mesh: примитив параметрический, лёгкий и легко анимируется. Для сложной топологии, UV-развёртки или скульптурной формы переходите к FBX/Alembic/другой geometry source вместо попытки собрать всё из десятков Shape3D.
Когда применять
Быстрые Plane/Cube/Sphere/Cylinder/Cone/Torus/Ico без внешнего 3D-пакета.
Тестирование Camera3D, lights, shadows и materials.
Процедурные motion-graphics объекты и простая сценография.
Плотная mesh-заготовка для Bender3D, Displace3D и других geometry modifiers.
Surface для 2D texture или внешнего Phong/Blinn/CookTorrance material.
Технические matte/holdout, ObjectID/MaterialID и auxiliary-pass workflow.
Shape3D в контексте
Скриншоты из статьи. Откройте изображение, чтобы рассмотреть его крупнее.
Пример для Shape3D.
Оригинальное изображениеПример для Shape3D.
Оригинальное изображениеПример для Shape3D.
Оригинальное изображениеПример для Shape3D.
Оригинальное изображениеПример для Shape3D.
Оригинальное изображениеПример для Shape3D.
Оригинальное изображение