DevXR StudioDocumentation

Scene and rendering · Reference

Adjust lighting for a 3D model

Balance local light, environment and shadows to reveal the model without changing source materials.

A reliable adjustment order

Choose an environment first, then set the directional light and its position. Add ambient and master intensity only afterwards. Finish with shadows.

Compare at least one bright view, one dark view and a mobile device. Settings change viewer presentation, not the source GLB.

  1. Stabilize the background

    Choose an environment and background suited to delivery.

  2. Place the key light

    Adjust azimuth and elevation before pushing intensity.

  3. Open shadows carefully

    Add ambient light without erasing volume.

  4. Check shadows

    Tune contact and softness, then test target-device fluidity.

Important interactions

The environment primarily affects indirect light and reflections. Rough or non-metallic materials respond differently. Exposure belongs to final rendering and is intentionally unavailable when tone mapping is None.

Adaptive resolution can temporarily reduce pixel ratio during manual drag, zoom or pan. Auto-rotation alone must not lower quality.

Detailed option reference

LGT-01

Light intensity

Location
Presentation → Lighting → Light intensity
Type and unit
Unitless number
Default
1.2
Range
0 to 5 in 0.05 steps
Visible effect
Multiplies the ambient, hemisphere and directional light contributions together.
Does not affect
Does not change environment lighting or reflections.
Interactions
Acts as a master value for the three local lights. High values can reduce material separation.
Persistence
Previewed in Studio, saved with the configuration and applied to public and embedded viewers.
Surfaces
Studio, public page and iframe. Full XR parity is not guaranteed.
Performance
Changing intensity adds no extra light; shadows usually cost more.
Accessibility
The field is keyboard adjustable. Check model-to-background contrast.
Example
Move from 1.2 to 0.8 to calm an over-bright scene without editing every light.
Troubleshooting
If the scene stays too bright, inspect environment intensity, exposure and emissive materials.
Evidence
LGT-01 runtime and inspector implementation at the verified commit.

LGT-02

Environment intensity

Location
Presentation → Lighting → Environment intensity
Type and unit
Unitless number
Default
0.7
Range
0 to 3 in 0.05 steps
Visible effect
Controls indirect lighting and reflections produced by the environment preset.
Does not affect
Does not directly change ambient or directional light values.
Interactions
Its effect depends on the preset and material roughness or metalness.
Persistence
Saved with the scene and reproduced in published viewers.
Surfaces
Studio, public page and iframe. XR rendering can differ.
Performance
Changing the value adds no remote texture; DevXR environments are local and procedural.
Accessibility
Compare several angles because reflections can disappear as the view changes.
Example
Increase gradually from 0.7 to 1 to reveal metallic materials.
Troubleshooting
If no reflection appears, check the preset, roughness and model orientation first.
Evidence
LGT-02 runtime and inspector implementation at the verified commit.

LGT-03

Ambient light

Location
Presentation → Lighting → Ambient light
Type and unit
Unitless number
Default
0.28
Range
0 to 2 in 0.05 steps
Visible effect
Lights all directions uniformly and opens dark areas.
Does not affect
Creates no direction, localized reflection or cast shadow.
Interactions
High values visually weaken contrast from the directional light.
Persistence
Saved and applied to public surfaces after publishing.
Surfaces
Studio, public page and iframe; XR is not strictly identical.
Performance
A low-cost light, although overuse can flatten the result.
Accessibility
Can reveal dark detail but does not replace sufficient overall contrast.
Example
Move from 0.28 to 0.4 to reveal an interior without moving the key light.
Troubleshooting
If the model looks grey or flat, reduce ambient light and rebalance the directional light.
Evidence
LGT-03 runtime and inspector implementation at the verified commit.

LGT-04

Directional light

Location
Presentation → Lighting → Directional light
Type and unit
Unitless number
Default
1.2
Range
0 to 5 in 0.05 steps
Visible effect
Controls the main oriented light and defines volume.
Does not affect
Does not change direction; use azimuth and elevation.
Interactions
Works with azimuth, elevation, distance and shadow settings.
Persistence
Saved in viewer configuration and reused when published.
Surfaces
Studio, public page and iframe; XR is not strictly identical.
Performance
Associated shadows cost more than the intensity change itself.
Accessibility
Avoid losing important information in overly dense shadows.
Example
Use 1.4 to reinforce a product’s shape against a light background.
Troubleshooting
If nothing changes, check master intensity and other very strong light sources.
Evidence
LGT-04 runtime and inspector implementation at the verified commit.

LGT-05

Azimuth

Location
Presentation → Lighting → Azimuth
Type and unit
Angle in degrees
Default
45°
Range
−180° to 180° in 1° steps
Visible effect
Rotates the main light direction horizontally around the model.
Does not affect
Does not change light power or height.
Interactions
Combine with elevation to place reflections and shadows on the useful face.
Persistence
The direction is rebuilt from the saved value.
Surfaces
Studio, public page and iframe; XR is not strictly identical.
Performance
Moving it can recalculate shadows during preview without adding a light.
Accessibility
The number is keyboard editable; inspect the result from several views.
Example
Move from 45° to −30° to light a façade on the opposite side.
Troubleshooting
If the shadow points the wrong way, adjust azimuth gradually instead of power.
Evidence
LGT-05 runtime and inspector implementation at the verified commit.

LGT-06

Elevation

Location
Presentation → Lighting → Elevation
Type and unit
Angle in degrees
Default
50°
Range
−90° to 90° in 1° steps
Visible effect
Raises or lowers the main light direction.
Does not affect
Does not change horizontal rotation set by azimuth.
Interactions
Low elevation lengthens shadows; high elevation lights top-facing surfaces.
Persistence
Saved with the scene and recalculated in published viewers.
Surfaces
Studio, public page and iframe; XR is not strictly identical.
Performance
Like azimuth, it can recalculate shadows while editing.
Accessibility
The numeric control is keyboard accessible; direction is not automatically narrated.
Example
Lower from 50° to 25° for grazing light that emphasizes relief.
Troubleshooting
Nearly invisible shadows can come from a vertical elevation or excessive ambient light.
Evidence
LGT-06 runtime and inspector implementation at the verified commit.

LGT-07

Distance

Location
Presentation → Lighting → Distance
Type and unit
Relative scene distance
Default
8
Range
1 to 20 in 0.5 steps
Visible effect
Moves the directional source used for orientation and shadow calculation.
Does not affect
A Three.js DirectionalLight does not gain physical attenuation merely from distance.
Interactions
Can alter apparent shadow coverage and precision relative to model size.
Persistence
Saved with the other lighting values.
Surfaces
Studio, public page and iframe; XR is not strictly identical.
Performance
The main cost remains the shadow map, not distance attenuation.
Accessibility
Distance is scene-relative and does not automatically mean metres.
Example
Try 10 if a large model appears poorly covered at the initial value.
Troubleshooting
Do not use distance to dim the light; change intensity instead.
Evidence
LGT-07 runtime and inspector implementation at the verified commit.

LGT-08

Shadows

Location
Presentation → Lighting → Shadows
Type and unit
Boolean switch
Default
Enabled
Range
Enabled or disabled
Visible effect
Allows compatible meshes to cast and receive scene shadows.
Does not affect
Does not automatically add a visible floor; meshes can shadow one another.
Interactions
Shadow intensity and softness matter when shadows and receiving surfaces are active.
Persistence
Saved and applied in Studio, public pages and iframes.
Surfaces
Studio, public page and iframe; XR is not strictly identical.
Performance
Shadow maps consume GPU time and memory; disable them when they add no useful depth cue.
Accessibility
Shadows must not be the only way to communicate important information.
Example
Disable for an already legible technical object and compare mobile fluidity.
Troubleshooting
If no shadow appears, check the directional light, materials, orientation and a receiving surface.
Evidence
LGT-08 runtime and inspector implementation at the verified commit.

LGT-09

Shadow intensity

Location
Presentation → Lighting → Shadow intensity
Type and unit
Unitless number
Default
0.35
Range
0 to 1 in 0.05 steps
Visible effect
Primarily controls shadow opacity on the non-reflective ground plane.
Does not affect
Without a ground plane, or with a reflective ground, it does not have the same visible effect.
Interactions
Depends on shadows, ground visibility and ground rendering mode.
Persistence
The value remains saved when another setting temporarily hides its effect.
Surfaces
Studio, public page and iframe according to ground configuration.
Performance
Changing opacity is inexpensive, while shadow generation still uses shadow maps.
Accessibility
An overly dark shadow can reduce separation between model and background.
Example
Lower from 0.35 to 0.2 for a subtle contact under a light product.
Troubleshooting
If the slider looks ineffective, first check that the non-reflective ground is visible.
Evidence
LGT-09 runtime and inspector implementation at the verified commit.

LGT-10

Shadow softness

Location
Presentation → Lighting → Shadow softness
Type and unit
Normalized number
Default
0.55
Range
0 to 1 in 0.05 steps
Visible effect
Changes the blur used to soften shadow boundaries.
Does not affect
Does not change direction or light power.
Interactions
The result depends on shadow intensity, viewing distance and geometry.
Persistence
Saved and applied to published viewers.
Surfaces
Studio, public page and iframe; XR is not strictly identical.
Performance
Soft shadows are not free; verify target devices instead of assuming a fixed cost.
Accessibility
A very diffuse shadow may stop communicating ground contact.
Example
Use 0.7 for a soft product presentation, then check small details.
Troubleshooting
If edges look dirty, reduce softness slightly and verify model scale.
Evidence
LGT-10 runtime and inspector implementation at the verified commit.

Read next