Constructor
.new SpotLight(paramsopt)
SpotLight creates spot light that can cast shadow in one direction.
It has the same parameters as AmbientLight in light, but it also supports pos and target.
SpotLight affects meshes with lambert and phong material.
- Source:
Parameters:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
params |
Object
|
<optional> |
{light: {color: 0xffffff, intensity: 1, distance: 100, angle: Math.PI / 3, exponent: 0, decay: 1}}
|
The params. |
Example
Creating a SpotLight that falls down from vec3(10, 20, 10) to vec3(0, 0, 0)
new SpotLight({
color: 0x00ff00,
intensity: 3,
distance: 1000
position: [10, 20, 10]
}).addTo(app);
Extends module:core.LightComponent
Members
(private) ._wait :Array
Array of promises that should be resolved before Component is ready.
- Inherited From:
- Source:
.children :Array
Collection of child Components.
- Inherited From:
- Source:
.defaults :Object
Default values for parameters
- Inherited From:
- Default Value:
{ build: true, shadow: { cast: true, bias: 0, radius: 1, mapSize: { width: 1024, height: 1024 }, camera: { near: true, far: 400, fov: 90, top: 200, bottom: -200, left: -200, right: 200 } }, position: {x: 0, y: 0, z: 0}, rotation: {x: 0, y: 0, z: 0} }- Source:
.instructions :Object
Static instructions
- Inherited From:
- Default Value:
{ position: ['x', 'y', 'z'], rotation: ['x', 'y', 'z'] }- Source:
.isDeffered :Boolean
Returns whether the object is async (wait promises are more than 0).
- Inherited From:
- Source:
.manager :ModuleManager
Returns the ModuleManager used for this component.
- Inherited From:
- Source:
.modules :Array
Collection of modules.
- Inherited From:
- Source:
.native :Object
Returns the native object used for this component.
- Inherited From:
- Source:
Methods
.add(object) → {Promise}
Add a child Component.
- Inherited From:
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
object |
Component
|
Component that should be added as a |
.addTo(object)
Adds this Component to specified App/Component.
- Inherited From:
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
object |
Component
|
Component that will be a parent of |
.build()
Build livecycle should return a native object.
- Inherited From:
- Source:
Throws:
CompositionError
.clone() → {LightComponent}
Make a clone of this LightComponent using .copy()
- Inherited From:
- Source:
.copy() → {this}
Copy source transforms & execute Component.copy()
- Inherited From:
- Source:
.defer(func)
Execute func (Callback) when Component is ready.
- Inherited From:
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
func |
function
|
Callback. |
.remove(object)
Remove a child Component.
- Inherited From:
- Source:
Parameters:
| Name | Type | Description |
|---|---|---|
object |
Component
|
Component that should be a child of this Component. |
.updateParams() → {Object}
Updates parameters of the Component.
- Inherited From:
- Source:
.wait(promiseopt) → {Promise}
Wait for a promise.
- Inherited From:
- Source:
Parameters:
| Name | Type | Attributes | Description |
|---|---|---|---|
promise |
Promise
|
<optional> |
The promise that should be added to a queue. |
.wrap() → {Promise}
Wraps transforms (position & rotation)
- Inherited From:
- Source:
.wrapShadow()
Wraps shadow properties
- Inherited From:
- Source: