AmbientLight

This light's color gets applied to all the objects in the scene globally. The color of this light can influence object's natural color.

Core Class

This light’s color gets applied to all the objects in the scene globally. The color of this light can influence object’s natural color.

Extends

Constructors

Constructor

new AmbientLight(color?, intensity?): AmbientLight

Parameters

color?

string | number

intensity?

number

Returns

AmbientLight

Overrides

Light.constructor

Properties

DefaultUp

static DefaultUp: Vector3

Every objects in 3D space must have a default up direction.

Default Value

Vector3(0, 1, 0)

Inherited from

Light.DefaultUp


id

id: number

Unique number for each object3D instance.

Inherited from

Light.id


categoryId

categoryId: string

Reserved attribute

Inherited from

Light.categoryId


sourceType

sourceType: string

Record the object rendered as instance or other type.

Inherited from

Light.sourceType


scene

scene: Nullable<Scene3D>

The scene which this object belong to.

Inherited from

Light.scene


updateDirtyId

updateDirtyId: number

The number is the frame id which this object is changed or participates change of scene graph. If this value equals to frame id - 1,

Default Value

-1 means no change happen

Inherited from

Light.updateDirtyId


name

name: string

The name of this object, it is empty if useless.

Inherited from

Light.name


isObject3D

isObject3D: boolean

Used to check type of this or extended instance. This value should not be changed by user.

Inherited from

Light.isObject3D


parent

parent: Nullable<Object3D>

Object’s parent node in the scene graph. An object can have at most one parent.

Inherited from

Light.parent


children

children: Object3D[]

Array with object’s children.

Remarks

See Group| Group for information on manually grouping objects.

Inherited from

Light.children


up

up: Vector3

This is used by the lookAt method, for example, to determine the orientation of the result. Default is DefaultUp.

Inherited from

Light.up


worldMatrixUpdateTimestamp

worldMatrixUpdateTimestamp: number

Record when this object’s world matrix last updated.

Inherited from

Light.worldMatrixUpdateTimestamp


transformChanged

transformChanged: boolean

Record whether the object’s any attribute| attribute is updated.

Inherited from

Light.transformChanged


visibleChanged

visibleChanged: boolean

Inherited from

Light.visibleChanged


matrixWorld

matrixWorld: Matrix4

The global transform of the object. If the Object3D has no parent, then it’s identical to the local transform matrix.

Inherited from

Light.matrixWorld


matrixWorldNeedsUpdate

matrixWorldNeedsUpdate: boolean

When this is set, it calculates the matrixWorld in that frame and resets this property to false.

Default Value

false

Inherited from

Light.matrixWorldNeedsUpdate


netVisibility

netVisibility: boolean

Record if the object is really visible in rendering process. If the Object3D has no parent, it would be set by visible;

Inherited from

Light.netVisibility


localMatrixNeedUpdate

localMatrixNeedUpdate: boolean

When this is set, it calculates the model matrix in that frame and resets this property to false.

Default Value

false

Inherited from

Light.localMatrixNeedUpdate


isAmbientLight

isAmbientLight: boolean

Check the type whether it belongs to PerspectiveCamera. This value should not be changed by user.


uniformColor

uniformColor: Color

This attribute calculate the final color by intensity and color


type

type: string

The type of this Object3D.

Inherited from

Light.type


isLight

isLight: boolean

Check the type whether it belongs to Light. This value should not be changed by user.

Inherited from

Light.isLight


color

color: Color

Color of the light. This value can influence the color of model’s surface according to the material. Defaults to a new color set to white, if not passed in the constructor.

Inherited from

Light.color


intensity

intensity: number

The light’s intensity, or strength. In physically correct mode, the product of color * intensity is interpreted as luminous intensity measured in candela.

Default Value

1

Inherited from

Light.intensity


userData

readonly userData: Record<keyof any, any>

Inherited from

Light.userData


_uuid

_uuid: any

Inherited from

Light._uuid


uuid

uuid: string

Inherited from

Light.uuid


_listeners

_listeners: Map<Symbol, Listener<never>[]>

Inherited from

Light._listeners

Accessors

layers

Get Signature

get layers(): Layers

Returns

Layers

Set Signature

set layers(v): void

Parameters
v

Layers

Returns

void

Inherited from

Light.layers


interactionLayers

Get Signature

get interactionLayers(): Layers | undefined

Returns

Layers | undefined

Set Signature

set interactionLayers(v): void

Parameters
v

Layers | undefined

Returns

void

Inherited from

Light.interactionLayers


groupLayer

Get Signature

get groupLayer(): Layers | undefined

Returns

Layers | undefined

Set Signature

set groupLayer(v): void

Parameters
v

Layers | undefined

Returns

void

Inherited from

Light.groupLayer


position

Get Signature

get position(): Vector3

Returns

Vector3

Set Signature

set position(_position): void

A vector representing the object’s local position.

Parameters
_position

Vector3

Returns

void

Inherited from

Light.position


rotation

Get Signature

get rotation(): Euler

Returns

Euler

Set Signature

set rotation(rotation): void

Object’s local rotation, in radians.

Parameters
rotation

Euler

Returns

void

Inherited from

Light.rotation


quaternion

Get Signature

get quaternion(): Quaternion

Returns

Quaternion

Set Signature

set quaternion(_quaternion): void

Object’s local rotation as a Quaternion.

Remarks

See Quaternion for more details.

Parameters
_quaternion

Quaternion

Returns

void

Inherited from

Light.quaternion


scale

Get Signature

get scale(): Vector3

Returns

Vector3

Set Signature

set scale(_scale): void

The object’s local scale.

Default Value

Vector3( 1, 1, 1 )

Parameters
_scale

Vector3

Returns

void

Inherited from

Light.scale


matrix

Get Signature

get matrix(): Matrix4

The local transform matrix.

Returns

Matrix4

Set Signature

set matrix(value): void

Parameters
value

Matrix4

Returns

void

Inherited from

Light.matrix


visible

Get Signature

get visible(): boolean

Object gets rendered if true.

Default Value

true

Returns

boolean

Set Signature

set visible(value): void

Parameters
value

boolean

Returns

void

Inherited from

Light.visible


enabled

Get Signature

get enabled(): boolean

Returns

boolean

Set Signature

set enabled(v): void

Parameters
v

boolean

Returns

void

Inherited from

Light.enabled


businessTag

Get Signature

get businessTag(): string

Returns

string

Set Signature

set businessTag(v): void

Parameters
v

string

Returns

void

Inherited from

Light.businessTag

Methods

destroy()

destroy(): void

Returns

void

Inherited from

Light.destroy


freeGPU()

freeGPU(): void

Returns

void

Inherited from

Light.freeGPU


syncData()

syncData(): void

Returns

void

Inherited from

Light.syncData


updateVisibility()

updateVisibility(): boolean

Scene will check the object’s visibility in each render and make change netVisibility based on its and parent’s visible.

Returns

boolean

Inherited from

Light.updateVisibility


clearChangeMark()

clearChangeMark(): void

Set marks of change to false include attributeChanged| attribute, transform and visible.

Returns

void

Inherited from

Light.clearChangeMark


setMatrixUpdated()

setMatrixUpdated(): void

If the local matrix is changed, use this method to manually refresh data in scene graph.

Returns

void

Tips

It’s better to use notifySceneChange() as an alternative.

Inherited from

Light.setMatrixUpdated


notifySceneChange()

notifySceneChange(): void

Use this method to manually refresh data in scene graph and draw again. The engine may not notify every change of the scene. If any effect is not changed with the parameters, use this may solve.

Returns

void

Inherited from

Light.notifySceneChange


setMatrixDirty()

setMatrixDirty(): void

If the local matrix or world matrix is changed, use this method to make engine refresh data in scene graph automatically. This method will set matrixWorldNeedsUpdate and localMatrixNeedUpdate to true.

Returns

void

Inherited from

Light.setMatrixDirty


updateWorldRenderData()

updateWorldRenderData(updateID): boolean

Change matrixWorldNeedsUpdate and worldMatrixUpdateTimestamp state. This method will refresh data of world matrix by updateMatrixWorld

Parameters

updateID

number

This number is used to identify the render.

Returns

boolean

Inherited from

Light.updateWorldRenderData


isFlipped()

isFlipped(): boolean

If there are zero or two negative numbers in xyz, return false, otherwise return true.

Returns

boolean

Inherited from

Light.isFlipped


localToWorld()

localToWorld(vector): Vector3

Converts the vector from local space to world space.

Parameters

vector

Vector3

A vector represents a position in local (object) coordinate.

Returns

Vector3

Inherited from

Light.localToWorld


worldToLocal()

worldToLocal(vector): Vector3

Updates the vector from world space to local space.

Parameters

vector

Vector3

A vector in world coordinate.

Returns

Vector3

Inherited from

Light.worldToLocal


applyMatrix()

applyMatrix(matrix): void

Applies the matrix transform to the object and updates the object’s position, rotation and scale.

Parameters

matrix

Matrix4

A matrix represents the information of transform.

Returns

void

Inherited from

Light.applyMatrix


applyQuaternion()

applyQuaternion(q): this

Applies the rotation represented by the quaternion to the object.

Parameters

q

Quaternion

A Quaternion represents the information of rotation.

Returns

this

Inherited from

Light.applyQuaternion


setRotationFromAxisAngle()

setRotationFromAxisAngle(axis, angle): void

Calls setFromAxisAngle( axis, angle ) on the Quaternion.

Parameters

axis

Vector3

A normalized vector in object space.

angle

number

Angle in radians.

Returns

void

Inherited from

Light.setRotationFromAxisAngle


setRotationFromEuler()

setRotationFromEuler(euler): void

Calls Quaternion.setRotationFromEuler| setRotationFromEuler(euler, true) on the Quaternion.

Parameters

euler

Euler

Euler angle specifying rotation amount.

Returns

void

Inherited from

Light.setRotationFromEuler


setRotationFromMatrix()

setRotationFromMatrix(m): void

Calls setFromRotationMatrix(m) on the Quaternion.

Parameters

m

Matrix4

Euler angle specifying rotation amount.

Returns

void

Inherited from

Light.setRotationFromMatrix


setRotationFromQuaternion()

setRotationFromQuaternion(q): void

Copy the given quaternion to object’s quaternion.

Parameters

q

Quaternion

Euler angle specifying rotation amount.

Returns

void

Inherited from

Light.setRotationFromQuaternion


rotateOnAxis()

rotateOnAxis(axis, angle): this

Rotate an object along an axis in object space. The axis is assumed to be normalized.

Parameters

axis

Vector3

A normalized vector in object space.

angle

number

Angle in radians.

Returns

this

Inherited from

Light.rotateOnAxis


rotateOnWorldAxis()

rotateOnWorldAxis(axis, angle): this

Rotate an object along an axis in world space. The axis is assumed to be normalized. Method Assumes no rotated parent.

Parameters

axis

Vector3

A normalized vector in object space.

angle

number

Angle in radians.

Returns

this

Inherited from

Light.rotateOnWorldAxis


rotateX()

rotateX(angle): this

Rotates the object around x axis in local space.

Parameters

angle

number

The angle to rotate in radians.

Returns

this

Inherited from

Light.rotateX


rotateY()

rotateY(angle): this

Rotates the object around x axis in local space.

Parameters

angle

number

The angle to rotate in radians.

Returns

this

Inherited from

Light.rotateY


rotateZ()

rotateZ(angle): this

Rotates the object around x axis in local space.

Parameters

angle

number

The angle to rotate in radians.

Returns

this

Inherited from

Light.rotateZ


translateOnAxis()

translateOnAxis(axis, distance): this

Translate an object by distance along an axis in object space. The axis is assumed to be normalized.

Parameters

axis

Vector3

A normalized vector in object space.

distance

number

The distance to translate.

Returns

this

Inherited from

Light.translateOnAxis


translateX()

translateX(distance): this

Translates object along x axis in object space by distance units.

Parameters

distance

number

The distance to translate.

Returns

this

Inherited from

Light.translateX


translateY()

translateY(distance): this

Translates object along y axis in object space by distance units.

Parameters

distance

number

The distance to translate.

Returns

this

Inherited from

Light.translateY


translateZ()

translateZ(distance): this

Translates object along z axis in object space by distance units.

Parameters

distance

number

The distance to translate.

Returns

this

Inherited from

Light.translateZ


lookAt()

lookAt(_x): void

Rotates the object to face to a point in world space. This method does not support objects having non-uniformly-scaled parent(s)

Parameters

_x

Vector3

A vector representing position of target in world space.

Returns

void

Inherited from

Light.lookAt


lookAtLocalPoint()

lookAtLocalPoint(_x): void

Rotates the object to face a point in local space.

Parameters

_x

Vector3

A vector representing position of target in local space.

Returns

void

Inherited from

Light.lookAtLocalPoint


add()

add(o): this

Adds object as child of this object. An arbitrary number of objects may be added. Any current parent on an object passed in here will be removed, since an object can have at most one parent. The scene graph change will be immediately notify by engine after adding nodes.

Parameters

o

Object3D | Object3D[]

Parameter can be one object or objects array, all of them is added to this object.

Returns

this

Inherited from

Light.add


remove()

remove(object): this

Remove the specified object form children.

Parameters

object

Object3D

The object which needs to be removed.

Returns

this

Inherited from

Light.remove


removeFromParent()

removeFromParent(): void

Returns

void

Inherited from

Light.removeFromParent


removeAllChildren()

removeAllChildren(): Object3D[]

Remove all children of this object.

Returns

Object3D[]

Inherited from

Light.removeAllChildren


removeObjects()

removeObjects(objects): this

Remove all children in specified objects from this objects. Migrate from tools common

Parameters

objects

Object3D[]

An array of objects which need to be removed.

Returns

this

Inherited from

Light.removeObjects


getObjectById()

getObjectById(id): Object3D

Searches through an object and its children, starting with the object itself, and returns the first with a matching id. Note that ids are assigned in chronological order: 1, 2, 3, …, incrementing by one for each new object.

Parameters

id

number

Unique number of the object instance.

Returns

Object3D

Inherited from

Light.getObjectById


getObjectByName()

getObjectByName(name): Object3D

Searches through an object and its children, starting with the object itself, and returns the first with a matching name. Note that for most objects the name is an empty string by default. You will have to set it manually to make use of this method.

Parameters

name

string

String to match to the children’s Object3D.name property.

Returns

Object3D

Inherited from

Light.getObjectByName


getObjectByProperty()

getObjectByProperty(name, value): Object3D

Searches through an object and its children, starting with the object itself, and returns the first with a property that matches the value given.

Parameters

name

string

The property name to search for.

value

any

Value of the given property.

Returns

Object3D

Inherited from

Light.getObjectByProperty


getWorldPosition()

getWorldPosition(target): Vector3

Return a vector representing the position of the object in world space.

Parameters

target

Vector3

the result will be copied into this Vector3.

Returns

Vector3

Inherited from

Light.getWorldPosition


getWorldQuaternion()

getWorldQuaternion(target): Quaternion

Return a quaternion representing the rotation of the object in world space.

Parameters

target

Quaternion

the result will be copied into this Quaternion.

Returns

Quaternion

Inherited from

Light.getWorldQuaternion


getWorldScale()

getWorldScale(target): Vector3

Return a vector of the scaling factors applied to the object for each axis in world space.

Parameters

target

Vector3

the result will be copied into this Vector3.

Returns

Vector3

Inherited from

Light.getWorldScale


getWorldDirection()

getWorldDirection(target): Vector3

Return a vector representing the direction of object’s positive z-axis in world space.

Parameters

target

Vector3

the result will be copied into this Vector3.

Returns

Vector3

Inherited from

Light.getWorldDirection


traverse()

traverse(callback): void

Execute the callback on this object and all descendants.

Parameters

callback

(object) => any

A function with as first argument an object3D object.

Returns

void

Inherited from

Light.traverse


traverseWithChildrenSkip()

traverseWithChildrenSkip(callback): void

Execute the callback when return is false, stop traverse the object’s descendants.

Parameters

callback

(object) => boolean

A function with as first argument an object3D object, return boolean.

Returns

void

Inherited from

Light.traverseWithChildrenSkip


traverseVisible()

traverseVisible(callback): void

Execute the callback on this object and all descendants which is visible.

Parameters

callback

(object) => any

A function with as first argument an object3D object.

Returns

void

Inherited from

Light.traverseVisible


traverseAncestors()

traverseAncestors(callback): void

Execute the callback on this object and all ancestors.

Parameters

callback

(object) => any

A function with as first argument an object3D object.

Returns

void

Inherited from

Light.traverseAncestors


updateMatrix()

updateMatrix(): void

Update the matrix local transform.

Returns

void

Inherited from

Light.updateMatrix


updateMatrixWorld()

updateMatrixWorld(force?): void

Update the object’s and its descendants’ matrix of global transform with. If the parameter or matrixWorldNeedsUpdate is true, matrix will not skip updates.

Parameters

force?

boolean

Whether or not force to updates the matrix.

Returns

void

Inherited from

Light.updateMatrixWorld


updateWorldMatrix()

updateWorldMatrix(updateParents, updateChildren, force?): void

Update the object’s and its descendants’ matrix of global transform with. will update parent or children according to the parameters

Parameters

updateParents

boolean

update parents.

updateChildren

boolean

update children.

force?

boolean

Whether or not force to updates the matrix.

Returns

void

Inherited from

Light.updateWorldMatrix


getLocalBounds()

getLocalBounds(localBox?): Box3

Get the whole bounding box of current object cover all children’s.

Parameters

localBox?

Box3

If this is not undefined, result will be stored to it.

Returns

Box3

Inherited from

Light.getLocalBounds


getUUID()

getUUID(): string

Get UUID of this object instance. This value is automatically assigned, so this shouldn’t be edited.

Returns

string

Inherited from

Light.getUUID


className()

className(): string

The name of instance’s class.

Returns

string

Overrides

Light.className


clone()

clone(recursive?): AmbientLight

Return a cloned instance of this class and optionally all descendants.

Parameters

recursive?

boolean

if true, descendants of the object are also cloned. Default is true.

Returns

AmbientLight

Overrides

Light.clone


copy()

copy(source, recursive?): this

Copy the data to this light instance from source. This method need override in derived classes to copy extended data.

Parameters

source

Light

the data source.

recursive?

boolean

Returns

this

Inherited from

Light.copy


deserialize()

deserialize(ctx): void

Parse the data for this class from string according to serializing format.

Parameters

ctx

Deserializer

an instance give the method to take the data for attribute.

Returns

void

Inherited from

Light.deserialize


serialize()

serialize(ctx): void

Store the attributes of this class into string as serializing format.

Parameters

ctx

Serializer

an instance used to store the data of scene objects.

Returns

void

Inherited from

Light.serialize


markBusinessTag()

markBusinessTag(v): this

Parameters

v

string

Returns

this

Inherited from

Light.markBusinessTag


isDestroyed()

isDestroyed(): boolean

Returns

boolean

Inherited from

Light.isDestroyed


validate()

validate(): void

Returns

void

Inherited from

Light.validate


destroyAllResourcesOwned()

destroyAllResourcesOwned(): void

Returns

void

Inherited from

Light.destroyAllResourcesOwned


freeAllGpuResourceOwned()

freeAllGpuResourceOwned(): void

Returns

void

Inherited from

Light.freeAllGpuResourceOwned


on()

on<T>(_type, _listener): void

Adds a listener to an event type.

Type Parameters

T

T

Parameters

_type

EventType<T>

_listener

Listener<T>

Returns

void

Inherited from

Light.on


once()

once<T>(_type, _listener): void

Only active the listener one times and then off it| it.

Type Parameters

T

T

Parameters

_type

EventType<T>

_listener

Listener<T>

Returns

void

Inherited from

Light.once


has()

has<T>(_type, _listener): boolean

Checks if listener is added to an event type.

Type Parameters

T

T

Parameters

_type

EventType<T>

_listener

Listener<T>

Returns

boolean

Inherited from

Light.has


off()

off<T>(_type, _listener): void

Removes a listener from listening list.

Type Parameters

T

T

Parameters

_type

EventType<T>

_listener

Listener<T>

Returns

void

Inherited from

Light.off


emit()

Call Signature

emit(type): void

Active the event and call the registered listener.

Parameters
type

EventType<never>

Returns

void

Inherited from

Light.emit

Call Signature

emit<T>(type, payload): void

Type Parameters
T

T

Parameters
type

EventType<T>

payload

T

Returns

void

Inherited from

Light.emit


clearAllListeners()

clearAllListeners(): void

Removes all listeners from listening list.

Returns

void

Inherited from

Light.clearAllListeners