Add editable 3D scenes, join compatible visual layers into a shared 3D World, animate depth and scene controls, work through camera views, and generate or preview 3D assets with AI.
Where: Native Video Editor → Add 3D scene; or select a visual layer → Properties → 3D layer.
Key ideas
- Standalone scene versus shared World: A standalone scene3d layer owns its own camera and rendered scene. A shared 3D World owns one camera/environment/light/post setup and lets multiple native visual or scene layers coexist at editable depth.
- Joining preserves the member: A joined layer keeps its source, timing, 2D transform, and editability, then gains Z depth, anchor Z, X/Y rotation, Z scale, and transparency behavior inside the World.
- Inner scene time and compositor time coexist: SceneDoc animation is authored in seconds. Exposed scene controls, World membership, clip timing, and imported overrides use absolute output frames on the compositor timeline.
Steps
- Add 3D scene for a standalone scene, or select an eligible visual layer and enable 3D layer to create/join the shared World.
- For World members, set Z depth, anchor Z, X/Y rotation, Z scale, and Cutout or Blend transparency. Positive Z moves toward the camera.
- Open Edit scene/Edit world to author meshes, materials, particles, effectors, lights, environment, post effects, and exposed runtime controls.
- In World camera, choose the active camera and Aim World origin, Target point, or Free rotation; tune position/target/rotation and FOV.
- Choose Move, Rotate, or Scale in the 3D viewport, select the target object, and use Perspective/Front/Back/Top/Bottom/Left/Right working views.
- Use Frame camera when authoring the active view; expand/minimize a working view as needed. Camera scale is intentionally disabled.
- Keyframe exposed scene controls on the compositor timeline, or import the original inner scene animation through the current trims and speed.
- For AI authoring, read the actual scene first, use exact sceneControl.* ids, write the SceneDoc or set focused controls/world membership, then review frames and motion.
- Search 3D stock/HDRIs, or quote then explicitly authorize 3D generation. Generated GLBs arrive as editable standalone scene layers and can later join a World.
- Render a short 3D playblast to inspect continuous camera/object motion and the loop seam before final export.
Membership restrictions
- Audio and the World layer itself cannot join.
- A visual layer with incompatible image-space effects, masks, track matte, or non-Normal blending may be refused.
- Move the effect to World output or precompose the layer before joining when visual equivalence allows it.
- Cutout writes depth; Blend supports translucency but has different depth behavior.
AI 3D workflow
- read_compositor_scene returns the SceneDoc, revision, and bounded exposed controls
- write_compositor_scene creates/replaces a standalone scene or edits an existing scene/World
- set_compositor_scene_control writes constants or output-frame keys
- set_compositor_3d_world_membership joins/removes native layers atomically
- render_compositor_3d_playblast makes a silent, cancellable WebM up to 10 seconds at 1–30 fps
- 3D generation requires a quote and exact approved Sparks
Tips
- Use camera working views for placement but judge framing through the active camera.
- Keep semitransparent elements in Blend and opaque cutout cards/footage in Cutout when depth ordering matters.
Limitations and important notes
- The playblast is silent and bounded; it is a motion check, not final delivery.
- Imported inner animation is sampled through current trim/rate and becomes compositor overrides.
- A still frame cannot prove continuous camera motion or a clean loop seam.
Troubleshooting
3D layer is refused.
Remove or precompose incompatible masks, mattes, image-space effects, or non-Normal blend; audio cannot join a World.
Object moves in a working view but final framing is wrong.
Return to the active camera, verify its aim mode/FOV and frame at the relevant playhead positions.