灯光组件,一般被代理到XRLight元素。
注意整个场景只能存在一个ambient光源,第一个directional光源将会成为主光源,也只有这个光源能够产生阴影。
目前最多支持四个追加光源。
Hierarchy
-
↳
Light
Table of contents
Constructors
Events
Properties
Accessors
- castShadow
- color
- el
- innerConeAngle
- intensity
- outerConeAngle
- range
- scene
- shadowBias
- shadowDistance
- type
- version
Methods
Constructors
constructor
• new Light()
Inherited from
Events
onAdd
▸ onAdd(parent, data): void
所挂载的element被挂载到场景时触发的回调。
Parameters
| Name | Type |
|---|---|
parent |
Element |
data |
ILightData |
Returns
void
Inherited from
onRelease
▸ onRelease(data): void
从被挂载的element上被移除,或是element被销毁时,触发的回调。
一般用于释放持有的资源。
Parameters
| Name | Type |
|---|---|
data |
ILightData |
Returns
void
Inherited from
onRemove
▸ onRemove(parent, data): void
所挂载的element从父节点parent被移除时,或者自己从element上被移除时,触发的回调。
一般用于消除功能的运作。
如果一个组件的元素直接被销毁了,那这个组件就不会经历onRemove而是直接进入onRelease。
Parameters
| Name | Type |
|---|---|
parent |
Element |
data |
ILightData |
Returns
void
Inherited from
onTick
▸ onTick(deltaTime, data): void
渲染每帧触发的回调。
Parameters
| Name | Type |
|---|---|
deltaTime |
number |
data |
ILightData |
Returns
void
Inherited from
onUpdate
▸ onUpdate(data, preData): void
数据更新时触发的回调。
Parameters
| Name | Type |
|---|---|
data |
ILightData |
preData |
ILightData |
Returns
void
Inherited from
Properties
priority
• Readonly priority: number = 200
自定义组件的更新优先级。
Overrides
schema
• Readonly schema: IComponentSchema
详见LightSchema。
Overrides
EVENTS
▪ Static EVENTS: string[] = []
Inherited from
Accessors
castShadow
• get castShadow(): boolean
Returns
boolean
color
• get color(): number[]
Returns
number[]
el
• get el(): Element
挂载的元素。
Returns
innerConeAngle
• get innerConeAngle(): number
Returns
number
intensity
• get intensity(): number
Returns
number
outerConeAngle
• get outerConeAngle(): number
Returns
number
range
• get range(): number
Returns
number
scene
• get scene(): Scene
当前场景。
Returns
shadowBias
• get shadowBias(): number
Returns
number
shadowDistance
• get shadowDistance(): number
Returns
number
type
• get type(): ELightType
Returns
ELightType
version
• get version(): number
当前版本,每次有数据更新都会增加,可以用作和其他组件合作的依据。
Returns
number
Methods
getData
▸ getData<T>(key): ILightData[T]
获取一个当前值。
Type parameters
| Name | Type |
|---|---|
T |
extends keyof ILightData |
Parameters
| Name | Type |
|---|---|
key |
T |
Returns
ILightData[T]
Inherited from
setData
▸ setData(data): void
不通过xml而是直接设置data,注意值的类型需要和schema中一致。
Parameters
| Name | Type |
|---|---|
data |
Partial<ILightData> |
Returns
void
Inherited from
setDataOne
▸ setDataOne<T>(key, value): void
设置一个数据。
Type parameters
| Name | Type |
|---|---|
T |
extends keyof ILightData |
Parameters
| Name | Type |
|---|---|
key |
T |
value |
ILightData[T] |
Returns
void