Beginner's Guide
Web3D Director runs entirely in your browser. There is nothing to install, no accounts to create, and no server-side dependencies. You open the editor, build your scene, and export a self-contained HTML file that works anywhere. The tool is designed for designers, creative developers, and anyone who wants to create immersive 3D web content without diving into the Three.js API directly.
The editor provides a real-time 3D viewport with full orbit navigation, a hierarchy panel for scene organization, a properties inspector for fine-tuning every parameter, and a state machine for creating scroll-driven or time-based animations. When you are done, the export function produces a complete, obfuscated Three.js project that you can deploy immediately.
Interface Overview
The editor is divided into four main areas, each serving a distinct purpose in your workflow. Understanding the layout is the first step to working efficiently.
Toolbar (Top)
The toolbar spans the full width of the window at the top. On the left side, you will find the Eidolon Interactive branding, followed by buttons for adding objects to your scene: + Add Mesh, + Add Empty, + Add Light, + Add Camera, and + Add Particles. Each dropdown reveals subtypes for the category. On the right side, you have undo/redo, the theme selector, the help button, the Clear Scene button, the Import.. dropdown, and the Export Code button.
Hierarchy Panel (Left)
The left panel displays a flat list of every object in your scene. Each item shows an icon indicating its type (mesh, light, camera, empty, group, particle system, annotation, or audio source), the object name, a visibility toggle (eye icon), and a main-camera indicator (star icon) for cameras. Clicking an item selects it. Holding Shift while clicking enables multi-selection. The panel can be resized by dragging its right edge.
3D Viewport (Center)
The viewport is the central area where your 3D scene is rendered in real time. You can orbit the camera by clicking and dragging, zoom with the scroll wheel, and pan by right-clicking and dragging. When an object is selected, a transform gizmo appears on it. At the top-left of the viewport are the transform mode buttons (Move, Rotate, Scale), the viewport shading selector, and the coordinate space toggle (Global/Local). At the top-right are axis alignment buttons (X, Y, Z). At the bottom-right is the camera lock / preview toggle, and at the bottom-left is the camera view label and state indicator.
Properties Panel (Right)
The right panel displays all editable properties for the currently selected object. Properties are organized into collapsible sections and update in real time as you modify values. The available sections depend on the object type — for example, a mesh shows Transform, Material, and Texture sections, while a light shows Transform and Light properties.
State Machine Panel (Bottom)
The bottom panel houses the state machine, which is the heart of the animation system. It displays state cards in a horizontal row, each representing a snapshot of object properties at a point in your animation timeline. You can scroll through states, capture object positions into states, and preview the interpolation between them. This panel can be resized vertically by dragging its top edge.
Adding Objects
Every scene starts with objects. Web3D Director offers a rich set of primitive types, helper objects, lights, cameras, particle systems, annotations, and audio sources. All of these are added via the toolbar at the top of the screen, and each new object is placed at the world origin (0, 0, 0) and automatically selected so you can immediately reposition it.
Mesh Primitives
Click + Add Mesh in the toolbar to reveal a dropdown with 12 primitive types plus an image/video plane. Each mesh is created with a standard PBR material (MeshStandardMaterial) using a random color, 0.5 roughness, and 0.3 metalness. You can adjust all material properties in the Properties panel after creation.
| Primitive | Description | Default Size |
|---|---|---|
| Box | A simple cube | 1 × 1 × 1 |
| Sphere | A UV sphere | Radius 0.5 (32 segments) |
| Cylinder | A cylinder with equal top/bottom radii | Radius 0.5, height 1 |
| Cone | A cone | Radius 0.5, height 1 |
| Plane | A flat plane | 1 × 1 |
| Torus | A donut shape | Tube radius 0.15 |
| Torus Knot | A twisted torus knot | Tube radius 0.12 |
| Ring | A flat ring | Inner 0.3, outer 0.5 |
| Icosahedron | A 20-sided polyhedron | Radius 0.5 |
| Dodecahedron | A 12-sided polyhedron | Radius 0.5 |
| Octahedron | An 8-sided polyhedron | Radius 0.5 |
| Tetrahedron | A 4-sided polyhedron | Radius 0.5 |
| Image/Video | A plane with texture support | 1 × 1 (adjustable aspect) |
Empty Objects & Helpers
Empty objects are non-rendering objects that serve as reference points, group anchors, or visual helpers. Click + Add Empty to see the available types. Each creates an Object3D with a visual helper that is visible in the editor but does not appear in exports.
| Type | Description |
|---|---|
| Axes | A small XYZ axes indicator (red/green/blue lines) |
| Cube Wireframe | A wireframe cube outline (purple) |
| Sphere Wireframe | A wireframe sphere outline (purple) |
| Circle | A ring outline (purple) |
| Cross | A 3D cross along all three axes (purple) |
| Annotation | Creates an annotation label — see the Annotations section |
| Audio Source | Creates an audio source — see the Audio Sources section |
Empty objects are incredibly useful for organizing your scene. You can parent other objects to them, use them as transform anchors, or place them as reference markers. The visual helpers are editor-only and will not appear in your exported scene.
Lights
Lighting is what brings your 3D scene to life. Click + Add Light to add one of four light types. The editor starts with two default lights (an ambient light and a directional light) that provide basic illumination but do not appear in the hierarchy or exports. User-added lights appear in the hierarchy and are fully configurable.
| Light Type | Description | Key Properties |
|---|---|---|
| Point Light | Emit light equally in all directions from a point in space, like a bare light bulb | Color, intensity, distance, decay, cast shadow |
| Spot Light | Emit light in a cone shape, like a flashlight or stage spotlight | Color, intensity, distance, angle, penumbra, decay, cast shadow |
| Directional (Sun) | Parallel light rays from an infinite distance, simulating sunlight | Color, intensity, cast shadow, shadow map size |
| Area Light | Light emitted from a rectangular, square, disk, or elliptical surface | Color, intensity, width, height, shape (rectangle/square/disk/ellipse) |
Each light you add gets a visual helper in the viewport that shows its type and direction. Point lights show a small sphere with radiating lines, spot lights show their cone, directional lights show their direction, and area lights display their emission shape. All helpers can be toggled on or off from the Properties panel.
Cameras
Cameras define the viewpoint from which your scene is rendered in the exported website. Click + Add Camera to add one. The first camera you add automatically becomes the "main camera," which is the one used when the viewer loads your exported page.
Each camera supports three projection types, which can be changed in the Properties panel:
- Perspective — The standard camera with a field of view (FOV). Objects appear smaller as they get farther away, mimicking human vision. Default FOV is 50 degrees.
- Orthographic — No perspective distortion. Objects appear the same size regardless of distance. Useful for isometric or architectural views. Controlled by a frustum size parameter.
- Panoramic — A wide-FOV perspective camera (120 degrees) designed for immersive, wide-angle views.
Camera Lock & Preview
The camera lock button (bottom-right of the viewport, monitor icon) lets you see through any camera in your scene. Left-click the button to toggle the lock on and off. When locked, the viewport renders from the main camera's perspective, and you can orbit around that camera's position. Scroll to dolly forward and backward along the camera's view direction. Right-click the button to toggle mobile preview mode, which overlays a smartphone-shaped mask on the viewport so you can see how your scene looks on a mobile device.
Camera Filter
Each camera can have an image or video filter applied. This is useful for adding overlays, post-processing effects, or background videos that appear only through a specific camera. Configure filters in the camera's Properties panel.
Focus Tracking
Cameras can be set to automatically track (look at) a target object. In the Properties panel, set a focus target and an influence value (0–1). At influence 1, the camera always points at the target; at lower values, it blends between its current orientation and the target direction.
Particle Systems
Particle systems add dynamic, animated effects like fire, smoke, sparks, rain, or magic trails. Click + Add Particles to create one. A particle system appears as a gizmo in the viewport and is fully configurable through the Properties panel.
Emitter Settings
Particles spawn from an emitter shape. Choose from sphere, box, cone, or disk shapes. The emitter radius and size control the spawn area. Position and scale the particle system gizmo in the viewport to place the emitter.
Particle Parameters
| Parameter | Description |
|---|---|
| Count | Maximum number of particles alive at any time (default 500) |
| Rate | Particles emitted per second (default 50) |
| Lifetime | How long each particle lives in seconds (default 3) |
| Lifetime Variance | Random variation in lifetime |
| Speed | Initial velocity of emitted particles |
| Speed Variance | Random variation in speed |
| Direction | X/Y/Z direction vector for emission |
| Gravity | Downward acceleration (default -1) |
| Randomness | How much particles spread out from the emission direction |
| Turbulence | Noise-based movement variation |
Visual Properties
Control the look of particles with start/end color and size, opacity, emission color (for additive blending glow effects), and particle shape (circle, square, star, hexagon, diamond, triangle, ring, or custom texture). The blending mode can be set to additive (for glowing effects like fire and sparks) or normal (for opaque particles like snow or dust). A size curve lets you define how particle size changes over its lifetime with control points at 0%, 25%, 50%, 75%, and 100% of the lifetime.
Annotations
Annotations are 3D labels that float in your scene. They are perfect for adding callouts, instructions, product labels, or storytelling elements. Add one via + Add Empty → Annotation.
There are two annotation styles:
- Annotation — A rectangular label with a thin stem (vertical line) connecting it to the anchor point.
- Speech Bubble — A rounded label with a triangular tail pointing down to the anchor point.
Each annotation is fully customizable: edit the text content, primary (background) color, secondary (border) color, text color, font size, and box dimensions. Annotations can optionally be set to billboard mode, which makes them always face the camera regardless of orientation. They render using CSS2D, meaning they are always crisp and readable at any distance.
Audio Sources
Audio sources add sound to your 3D scene. Add one via + Add Empty → Audio Source. An audio source appears as a small speaker icon in the viewport. Upload an audio file in the Properties panel, then configure playback parameters.
| Property | Description |
|---|---|
| Volume | Playback volume (0 to 1) |
| Speed | Playback speed multiplier |
| Reverb | Reverb amount (0 to 1) — adds spatial echo |
| Loop | Whether the audio restarts when it finishes |
| Rendering Mode | Spatial (3D positional audio) or non-spatial (flat, unaffected by distance) |
In spatial mode, the audio volume and panning change based on the listener's position relative to the source, creating a realistic 3D sound experience. This is especially effective when combined with camera lock mode, where the viewer "hears" the audio from the camera's position in the scene.
Images & Videos
Add an image or video plane via + Add Mesh → Image/Video. This creates a plane with a texture slot. In the Properties panel, you can upload an image file (PNG, JPG, WebP, etc.) or a video file (MP4, WebM). The plane automatically adjusts its aspect ratio to match the uploaded media. Video textures can be configured to auto-play and loop. This is useful for adding TV screens, picture frames, video backgrounds, or any 2D media element to your 3D scene.
Selecting Objects
Selection is the foundation of every action in the editor. There are multiple ways to select objects, and the editor supports both single and multi-selection.
Single Selection
Click an object in the hierarchy panel to select it. Alternatively, click directly on an object in the 3D viewport (this is called "picking"). The selected object gets a blue outline glow in the viewport, and its properties appear in the right panel. Clicking empty space in the viewport deselects the current object.
Multi-Selection
Hold Shift and click additional objects in the hierarchy to add them to your selection. All selected objects are highlighted in the hierarchy and outlined in the viewport. When multiple objects are selected, a shared transform pivot appears at the center (centroid) of the group. Dragging this pivot moves all selected objects together, with the delta distributed proportionally to each object. Multi-selection is required for grouping objects (see the Organizing Objects section).
You can also use Ctrl+A to select all objects in the scene at once.
Viewport Picking
Clicking on an object in the 3D viewport selects it directly. The editor uses raycasting to determine which object is under your cursor. If objects overlap, the closest one to the camera is selected. Picking works with all object types including meshes, lights, cameras, and particle system gizmos.
Transforming Objects
Every object in the scene has a transform: position (where it is), rotation (how it is oriented), and scale (how big it is). You can modify transforms using the viewport gizmo, the Properties panel, or keyboard shortcuts.
Transform Modes
Three transform modes are available, toggled by buttons at the top-left of the viewport or by keyboard shortcuts:
| Mode | Button | Shortcut | Gizmo Appearance |
|---|---|---|---|
| Move (Translate) | Move | G | Three colored arrows (red=X, green=Y, blue=Z) |
| Rotate | Rotate | R | Three colored circles |
| Scale | Scale | S | Three colored lines with box endpoints |
Drag the colored axis handles to constrain the transform to a single axis. Drag the plane between two axes (the colored squares) to transform on two axes simultaneously. For rotation, drag anywhere on the circle to rotate around that axis.
Coordinate Space
The Global/Local toggle button (next to the mode buttons) switches between world and local coordinate space. In Global mode, the gizmo axes always align with the world X, Y, and Z directions regardless of the object's rotation. In Local mode, the gizmo axes rotate to match the object's own orientation. This is especially useful for moving an object along its own "forward" direction after it has been rotated.
Axis Alignment Buttons
The X, Y, Z buttons at the top-right of the viewport align the camera to look directly along each axis. Click X to look along the X axis, Y to look from above, and Z to look along the Z axis. This is helpful for precise alignment of objects from a specific viewpoint.
Object Properties
Select any object to see its properties in the right panel. Properties are organized into collapsible sections. All changes are applied in real time and can be undone.
Transform
Every object has position (X, Y, Z), rotation (X, Y, Z in degrees), and scale (X, Y, Z). Enter precise values in the number fields or use the viewport gizmo for interactive adjustment. Rotation values are in degrees for readability but are converted to radians internally.
Material
Mesh objects have a PBR (Physically Based Rendering) material with the following properties: color, roughness, metalness, emissive color, emissive intensity, opacity, transparency toggle, wireframe toggle, and side rendering (front, back, or double-sided). Adjusting these values creates materials ranging from matte plastic to polished metal to glowing neon.
Textures
Apply image textures to your meshes for color (albedo), normal maps (surface detail), roughness maps, metalness maps, and more. Upload texture files in the Properties panel. Each texture slot accepts a separate image file. Textures are included in the exported project automatically.
Object-Specific Properties
Each object type has its own set of properties. Lights have color, intensity, shadow settings, and type-specific parameters (angle for spots, distance for points, shape for area lights). Cameras have FOV, near/far clipping planes, and camera type. Particle systems expose all the particle parameters described in the Particle Systems section. Annotations expose text, colors, and style settings. Audio sources expose volume, speed, reverb, and spatial mode.
Object Name
Every object has a name that appears in the hierarchy. Double-click the name in the hierarchy to rename it. Descriptive names make it much easier to manage complex scenes.
Organizing Objects
As your scene grows, keeping it organized becomes essential. Web3D Director provides several tools for this.
Groups
Select two or more objects (using Shift+click), then press Ctrl+G to group them. A group is a container that holds multiple objects. When you transform the group, all children move together. Groups appear in the hierarchy with a group icon. You can add more objects to an existing group via the context menu (right-click on an object in the hierarchy).
Visibility
Each object in the hierarchy has a visibility toggle (eye icon). Click it to hide the object from the viewport. Hidden objects are not rendered but still exist in the scene and will appear in exports. This is useful for temporarily removing clutter while you work on a specific area.
Deleting Objects
Select an object and press Delete or Backspace to remove it from the scene. You can also use the context menu (right-click in the hierarchy). Deleted objects can be recovered with undo (Ctrl+Z).
Duplicating Objects
Press Shift+D to duplicate the selected object. The duplicate is offset by 1 unit along the X axis so you can see it immediately. Materials are deep-cloned, so changes to the original's material will not affect the copy.
Context Menu
Right-click an object in the hierarchy to open a context menu with options for deleting, duplicating, grouping, and more. The exact options vary depending on the object type and current selection state.
Environment & HDRI
The environment settings control the overall look and feel of your scene's background and lighting. These are accessed via the Properties panel when no object is selected (click empty space in the viewport or the scene background in the hierarchy).
HDRI Lighting
High Dynamic Range Images (HDRIs) provide realistic environment lighting and reflections. The editor includes eight sample HDRIs loaded from the Three.js CDN. Select one from the HDRI dropdown in the world properties. You can also upload your own .hdr or .exr file. HDRI settings include intensity (how bright the environment lighting is), rotation (X, Y, Z in degrees), and blurriness (softens reflections for a less perfect mirror look).
Toggle "Show Background" to display the HDRI as the scene's skybox, or turn it off to use a solid color or gradient background instead while still benefiting from the HDRI's lighting contribution.
Background Options
When no HDRI is loaded or "Show Background" is off, you can set the background to:
- Solid Color — A single flat color (default: #0f0f0f)
- Gradient — A two-color gradient with linear or spherical type, plus rotation offsets for precise control over the gradient direction
Fog
Add atmospheric fog to your scene for depth and mood. Three fog modes are available:
- None — No fog (default)
- Linear — Fog fades in over a distance range defined by near and far values
- Exponential — Fog density increases exponentially with distance, controlled by a density parameter
Set the fog color to match your background for a natural fade-to-horizon effect, or use a contrasting color for stylistic purposes. Fog applies to all objects in the scene uniformly.
Viewport Shading
The shading selector at the top-left of the viewport lets you visualize your scene in different rendering modes. This affects only the editor viewport, not the exported output.
| Mode | Description |
|---|---|
| Lit | Default PBR rendering with all lights and shadows |
| Unlit | Renders without lighting — shows flat colors only |
| Reflections | Visualize reflection probes and environment map contributions |
| Wireframe | Shows the mesh wireframe geometry |
| Normals | Color-codes surface normals (useful for debugging geometry) |
| Matcap | Renders using a default matcap material for a smooth, sculpted look |
| Depth | Visualizes camera depth buffer (near = white, far = black) |
Post-Processing
Post-processing effects add cinematic polish to your scene. Enable them in the world properties (click empty space to access). Two effects are available:
- Bloom — Adds a soft glow to bright areas. Configure strength (intensity of the glow), radius (how far the glow spreads), and threshold (minimum brightness required to trigger bloom). Use bloom to make emissive materials, lights, and bright surfaces appear to radiate light.
- FXAA — Fast approximate anti-aliasing. Smooths jagged edges on geometry and text. Has a minor performance cost but significantly improves visual quality.
Tone mapping is also configurable. Choose from: None, Linear, Reinhard, Cineon, ACES (default), or AgX. ACES Filmic tone mapping produces the most natural-looking results with good highlight rolloff.
State Machine
The state machine is Web3D Director's animation engine. It allows you to create smooth, interpolatable transitions between different configurations of your scene. Each state stores a snapshot of all captured objects' properties, and you can smoothly blend between states using scroll-based or automatic playback.
States & Snapshots
When you first open the editor, a single state called "Hero Section" is created for you. Each state is represented by a card in the state machine panel at the bottom of the screen. A state card shows the state name, interpolation badge, and the list of objects captured in that state.
Creating States
Click the + State button in the state machine header to add a new state. States are added to the right of the current state and can be renamed by double-clicking the state name.
Capturing Objects
To record an object's current transform and properties into a state:
- Select the object in the viewport or hierarchy
- Position, rotate, and scale it exactly how you want it in this state
- Click the + Add Selected Object button inside the target state card
- The object's current position, rotation, scale, and other properties are recorded as a snapshot
Alternatively, click the Capture button to update the snapshot of any objects already in the current state with their current values.
Updating Snapshots
If an object is already captured in a state and you want to update its snapshot, move the object to the desired position and click Capture. This overwrites the stored snapshot with the current values. This is the primary workflow: set up your objects, capture, rearrange them, switch to the next state, capture again.
Removing Objects from a State
Each object listed in a state card has a small remove button (x icon) that appears on hover. Click it to remove the object's snapshot from that state. The object itself remains in the scene; only its recorded values for that state are removed.
Interpolation
Interpolation is how the state machine blends between adjacent states. When you scroll the mouse wheel over the state machine panel, the editor interpolates between the current state and the next or previous one, smoothly transitioning all captured properties.
Each state has its own interpolation type, which controls the easing curve used when transitioning into that state. Right-click the interpolation badge on a state card to change it. The available types are:
| Type | Description | Best For |
|---|---|---|
| Linear | Constant speed throughout the transition | Mechanical movement, camera pans |
| Ease-In | Starts slow, accelerates | Objects launching or falling |
| Ease-Out | Starts fast, decelerates | Objects coming to rest |
| Ease-In-Out | Slow start and end, fast middle | Smooth, natural-feeling transitions |
| Bezier | Custom cubic bezier curve (CSS ease equivalent) | Polished, professional animations |
The playhead (a glowing vertical line in the state track) indicates the current interpolation position. The state indicator at the bottom-left of the viewport shows the current state name and interpolation percentage.
Animation Playback
Each state can have animation playback configured. This controls what happens with skeletal animations (from imported GLB models) when that state is active. You can set the mode to "none" (no animation), "auto" (play automatically when the state is reached), or "scroll" (play in response to user scrolling). Configure which animation clips play, their speed, and delay in the state's animation settings.
Importing Assets
Web3D Director supports importing existing 3D assets so you can incorporate them into your scenes. Click Import.. in the toolbar to see the options.
GLB Files
Import 3D models in GLB (GL Binary) or glTF format. This is the standard format for web 3D content and is supported by most 3D modeling software (Blender, Maya, 3ds Max, etc.). When you import a GLB file:
- The model is added to the scene at the world origin
- All meshes, materials, and textures are preserved
- Skeletal animations are detected and can be played via the state machine's animation playback feature
- The imported model is automatically selected so you can immediately position it
JSON World
Import a previously exported JSON file to restore a complete scene. This loads all objects, their properties, environment settings, state machine configurations, and animation data. JSON import is the primary way to resume work on a project you previously exported.
Exporting Your Scene
When your scene is complete, click Export Code in the toolbar to generate a self-contained, deployable Three.js project. The export dialog shows two outputs:
Three.js Code
The primary export is a complete Three.js application as an HTML-compatible JavaScript module. The code is obfuscated to protect your intellectual property but remains fully functional. It includes all scene objects, materials, textures, lighting, cameras, state machine animations, particle systems, annotations, audio sources, and environment settings. Copy this code and wrap it in a <script type="module"> tag inside a minimal HTML page to deploy it.
JSON Data
Click Save as JSON to download the scene as a JSON file. This file contains the full scene data in a format that can be re-imported into Web3D Director for continued editing. Keep this file as your project source — the HTML export is for deployment, while the JSON is your editable project file.
Export Workflow
- Build and animate your scene in the editor
- Click Export Code
- Click Save as JSON to save your editable project file
- Click Copy to Clipboard to copy the Three.js code
- Create an HTML file with the code wrapped in a script module tag
- Deploy the HTML file along with any asset folders (textures, audio, HDRI files)
Undo & Redo
Web3D Director maintains a full undo/redo history. Almost every action is tracked: creating, deleting, and transforming objects, changing properties, capturing states, and more. The history stores up to 50 actions.
| Action | Shortcut | Toolbar |
|---|---|---|
| Undo | Ctrl+Z | Undo button (left arrow icon) |
| Redo | Ctrl+Shift+Z or Ctrl+Y | Redo button (right arrow icon) |
The undo/redo buttons in the toolbar are grayed out when there is nothing to undo or redo. Each action is labeled (e.g., "Transform Box_1", "Delete Light_2") so you know what will be undone.
Keyboard Shortcuts
Keyboard shortcuts significantly speed up your workflow. All shortcuts work when no input field is focused.
| Shortcut | Action |
|---|---|
| G | Switch to Move (Translate) mode |
| R | Switch to Rotate mode |
| S | Switch to Scale mode |
| F | Reset camera to default position |
| Ctrl+Z | Undo |
| Ctrl+Shift+Z | Redo |
| Ctrl+Y | Redo (alternative) |
| Ctrl+G | Group selected objects |
| Ctrl+A | Select all objects |
| Shift+D | Duplicate selected object |
| Delete / Backspace | Delete selected object |
Themes
Web3D Director includes seven built-in color themes to match your preference or reduce eye strain during long editing sessions. Click the Theme button (sun icon) in the toolbar to switch themes. Your selection is remembered across sessions.
| Theme | Accent Color | Description |
|---|---|---|
| Default | Purple | The original dark theme with purple accents |
| Ember | Warm Red | Dark red-tinted background with warm, fiery accents |
| Forest | Green | Dark green-tinted background with natural green accents |
| Cobalt | Blue | Dark blue-tinted background with cool blue accents |
| Sandstone | Gold | Dark beige background with golden accents |
| Slate | Teal | Mid-grey background with steel teal accents |
| Carbon | Red | Dark grey background with red accents |
Themes affect the editor interface only — they do not change the appearance of your exported scene. Each theme carefully adjusts background colors, panel tints, border colors, text contrast, and selection highlights to create a cohesive and comfortable editing environment.