See the relationships
Orbit a scene overview to understand camera, subject and light placement. Switch to the shooting camera to check composition.
Before you move a light stand, test the geometry. Explore camera position, focal length and light direction, then take a practical setup plan to your shoot.
Try the free 3D plannerBrowser-based. No upload, signup or installation. Your setup stays in this tab.
Orbit a scene overview to understand camera, subject and light placement. Switch to the shooting camera to check composition.
Change focal length and camera distance separately. Discover when a tighter lens cuts off your subject before the shoot.
Save named shots, export a JSON setup, and download a text shot list. Nothing is sent to a server.
Start with the demo, drag the overview to orbit, and adjust the controls. The grid spacing represents one metre. Use Camera view to inspect the actual framing.
No saved shots yet. Your current setup is included in every export.
This is a geometry and composition aid, not an exposure meter or physically calibrated lighting simulator. Display brightness, shadows and materials are illustrative. Confirm light levels, focus, safety and clearances on location.
Decide where the subject stands and which background appears behind them. Move the camera until your viewpoint fits the story. Changing camera position changes perspective; changing focal length at a fixed position changes framing.
Move the key light to examine which surfaces face it and where shadows fall. Try frontal, side and elevated positions. This model is intentionally simple: real softness also depends on emitter size, diffusion and distance.
Save a named setup for each framing. Bring camera distance, subject position and light position to your location, then confirm exposure and focus using your actual equipment.
Start with a clear shot goal, place your subject and background, choose a camera viewpoint, set your framing, then introduce one key light. A useful plan records positions and intent, not just a moodboard image. This studio lets you test those choices before you arrange equipment.
The shooting camera uses Three.js PerspectiveCamera with a 36 mm film gauge. Increasing focal length narrows the field of view. Distance and camera position remain independently adjustable. The calculated horizontal field of view is 2 × atan(36 / (2 × focal length)); the displayed frame width is the width of the view plane at the subject distance.
Different real sensor sizes give different fields of view for the same lens. This tool assumes a full-frame-sized horizontal frame; it does not model distortion, aperture, depth of field or focus breathing. See the Three.js camera documentation.
Camera view shows the framing from your selected camera position toward the subject's upper body. Orbit controls apply only to the overview so you can inspect placement without changing your planned shot. Scene geometry and camera frustum are visible in the overview.
Use it as a placement sketch. One key light and a simple neutral subject are enough to compare directions; they cannot reproduce skin, textiles, softbox size or real exposure. Start with one light on set, check the result, and add fill or background lighting only when the image needs it. Three.js renders the illustrative lighting; read its lighting documentation for the rendering model.
Text exports include each named shot, positions, focal length and geometric framing notes. JSON stores editable settings and your saved shots. The PNG is the currently visible scene. Files download to your device; closing this tab clears unsaved settings. Import your JSON to restore them later.
The planner uses direct 3D controls and transparent geometry calculations. It does not generate recommendations from a model or claim machine learning analysis. You retain control of the scene and can inspect every value.
The scene requires browser WebGL support and access to the pinned Three.js CDN. If rendering cannot start, the numerical planner, setup notes and text/JSON exports remain available. The status above explains the limitation.
Practice prompts, not customer testimonials.