Skip to content

AmbientLight

The AmbientLight class provides uniform illumination to all objects in the scene regardless of their position or orientation. This light has no direction and does not cast shadows.

Import

javascript
import { AmbientLight } from "mage-engine";

Constructor

javascript
new AmbientLight(options);

Parameters

ParameterTypeDefaultDescription
optionsObject{}Configuration object

Options

OptionTypeDefaultDescription
colornumber0xffffffLight color (hex)
intensitynumber0.5Light intensity
namestringAuto-generatedUnique name for the light
positionObject-Initial position {x, y, z}

Examples

Basic AmbientLight

javascript
import { AmbientLight } from "mage-engine";

// Create a default ambient light
const ambient = new AmbientLight();

Custom Intensity

javascript
// Brighter ambient light
const ambient = new AmbientLight({
  intensity: 0.8,
});

Colored Light

javascript
// Warm ambient light
const ambient = new AmbientLight({
  color: 0xffffcc,
  intensity: 0.6,
});

Named Light

javascript
// Named ambient light for reference
const ambient = new AmbientLight({
  color: 0xffffff,
  intensity: 0.5,
  name: "MainAmbient",
});

Methods

Inherited from Light Base Class

MethodDescription
setIntensity(value)Sets light intensity
getIntensity()Returns current intensity
setColor(color)Sets light color
getColor()Returns current color
setPosition(position)Sets light position
getPosition()Returns position as Vector3
animateIntensity(value, time)Tweens intensity over time
on(time)Turns light on with animation
off(time)Turns light off with animation

Use Cases

Base Scene Illumination

javascript
// Provide base lighting so objects aren't completely dark
const ambient = new AmbientLight({
  color: 0xffffff,
  intensity: 0.3,
});

Simulating Indirect Light

javascript
// Soften shadows by adding ambient light
const ambient = new AmbientLight({
  color: 0x404060, // Slight blue tint
  intensity: 0.4,
});

Day/Night Cycle

javascript
// Adjust ambient light for time of day
const ambient = new AmbientLight({ intensity: 0.5 });

// Transition to night
ambient.animateIntensity(0.1, 2000);

// Transition to day
ambient.animateIntensity(0.5, 2000);

Technical Details

  • Does not cast shadows
  • Affects all objects equally
  • Wraps THREE.js AmbientLight
  • Automatically added to scene on creation

See Also