LightProvider

new CooSDK.LightProvider(props)

光照效果,对场景中的模型添加光照效果,使场景内的模型有明暗对比度,看起来更加真实(仅对ModelData和OsgbData生效)。


光照效果图
Name Type Description
props Object optional

包含如下属性的Object:

Name Type Default Description
ambientColor ColorObj null optional

环境光颜色。

attenuation Number 1.0 optional

衰变系数。

dataArray Array.<(ModelData|OsgbData)> [EnumCooMap.ALL_DATA] optional

生效的modelData或者OsgbData类对象数组。

diffuseColor ColorObj null optional

漫反射光颜色。

direction Vector3Obj new Vector3Obj(0, 0, 0.0, -1.0) optional

定义聚光光锥的轴方向,默认Z轴负方向。

lightType EnumLightType EnumLightType.DIRECTIONAL optional

光源类型。

operation EnumOperation EnumOperation.ADD optional

操作类型。

position PositionObj null optional

光源位置,当光源类型为EnumLightType.DIRECTIONAL,表示光照射方向。

screen CooMap | ScreenObj null optional

所属窗口,默认为CooMap所拥有的主窗口。

specularColor ColorObj null optional

镜面光。

spotCutOff Number 180 optional

光源的最大的散步角,聚光光锥的轴与中心线的夹角。

spotExponet Number 0.0 optional

光的集中程度,该值控制聚光的光强度,会从中心逐渐向外衰减。该值越大,光强度越大。

Example:
var lightProvider = new CooSDK.LightProvider({
     ambientColor: new CooSDK.ColorObj(0.1, 0.1, 0.1, 0.2)
});
Demo:

Members

ambientColor : ColorObj

获取或者设置环境光颜色。

Default Value: null

attenuation : Number

获取或者设置衰变系数。

Default Value: 1.0

dataArray : Array.<(ModelData|OsgbData)>

获取或者设置生效的modelData类或者OsgbData类对象数组。

Default Value: [EnumCooMap.ALL_DATA]

diffuseColor : ColorObj

获取或者设置漫反射光颜色。

Default Value: null

direction : Vector3Obj

获取或者设置定义聚光光锥的轴方向,默认Z轴负方向。

Default Value: new Vector3Obj(0, 0, 0.0, -1.0)

lightType : EnumLightType

获取或者设置光源类型。

Default Value: EnumLightType.DIRECTIONAL

operation : EnumOperation

获取或者设置操作类型。

Default Value: EnumOperation.ADD

position : PositionObj

获取或者设置光源位置,当光源类型为EnumLightType.DIRECTIONAL,表示光照射方向。

Default Value: null

screen : CooMap|ScreenObj

获取或者设置所属窗口,默认为CooMap所拥有的主窗口。

Default Value: null

specularColor : ColorObj

获取或者设置镜面光。

Default Value: null

spotCutOff : Number

获取或者设置光源的最大的散步角,聚光光锥的轴与中心线的夹角。

Default Value: 180

spotExponet : Number

获取或者设置光的集中程度,该值控制聚光的光强度,会从中心逐渐向外衰减。该值越大,光强度越大。

Default Value: 0.0

Methods

destroy()

从场景中销毁自身。

Returns:

null 空值。

Example:
// 销毁对象
lightProvider = lightProvider.destroy();

update(props)

更新单个或者多个对象属性,使之立即生效。

一般用于多个属性的同时更新,避免性能开销过大。

Name Type Description
props Object optional

包含如下属性的Object:

Name Type Description
ambientColor ColorObj optional

环境光颜色。

attenuation Number optional

衰变系数。

dataArray Array.<ModelData> optional

生效的modelData类对象数组。

diffuseColor ColorObj optional

漫反射光颜色。

direction Vector3Obj optional

定义聚光光锥的轴方向,默认Z轴负方向。

lightType EnumLightType optional

光源类型。

operation EnumOperation optional

操作类型。

position PositionObj optional

光源位置,当光源类型为EnumLightType.DIRECTIONAL,表示光照射方向。

specularColor ColorObj optional

镜面光。

spotCutOff Number optional

光源的最大的散步角,聚光光锥的轴与中心线的夹角。

spotExponet Number optional

光的集中程度,该值控制聚光的光强度,会从中心逐渐向外衰减。该值越大,光强度越大。

Example:
lightProvider.update({
   ambientColor : new CooSDK.ColorObj(0.9, 0.5, 0.1, 0.2)
});