GeoSpotLight

new Cesium.GeoSpotLight(options)

聚光灯对象
Name Type Description
options Object 参数选项:
Name Type Default Description
scene Scene 场景
position Cartesian3 灯位置
enabled Boolean false optional 激活
heading Number 0 optional 灯方向角
pitch Number 0 optional 灯的俯仰角
fov Number 30 optional 聚光灯夹角
distance Number 200 optional 灯效果的最大距离
intensity Number 1.5 optional 灯的强度
color Color Cesium.Color.WHITE optional 灯光颜色
showPrimitive Boolean false optional 是否显示灯示意对象
enableOcclusion Boolean false optional 是否激活光的遮挡效果
Example:
spotLight = new Cesium.GeoSpotLight({
       position : new Cesium.Cartesian3(...),
       heading : 0,
       pitch : 0,
       fov : 45,
       distance : 200,
       intensity : 1.8,
       color : Cesium.Color.WHITE,
       showPrimitive : false,
       showLight : true,
       enableOcclusion : false
   });

   viewer.scene.Lights.push(spotLight);

Members

staticCesium.GeoSpotLight.enableLight : Boolean

显示或隐藏场景中所有的聚光灯的灯光效果
Default Value: [true]

staticCesium.GeoSpotLight.enablePrimitive : Boolean

显示或隐藏场景中所有的聚光灯的示意对象
Default Value: [true]

color : Color

颜色
Default Value: [Cesium.Color.WHITE]

readonlydirection : Cartesian3

灯光方向

distance : Number

最大距离
Default Value: [200]

enabled : Boolean

激活
Default Value: [false]

enableOcclusion : Boolean

是否启用光遮挡效果
Default Value: [false]

fov : Number

夹角
Default Value: [30]

heading : Number

方向角
Default Value: [0]

intensity : Number

强度
Default Value: [1.5]

pitch : Number

俯仰角
Default Value: [0]

position : Cartesian3

位置

showLight : Boolean

是否显示灯光效果
Default Value: [true]

showPrimitive : Boolean

是否显示示意对象
Default Value: [false]

Methods

setMoving(position, direction)

设置灯光的新的位置和方向
Name Type Description
position Cartesian3 新位置
direction Cartesian3 新方向
Example:
var position = spotLight.position;
  var direction = spotLight.direction;
  var matrix = Cesium.Transforms.eastNorthUpToFixedFrame(position);
  var axis = new Cesium.Cartesian3(matrix[8], matrix[9], matrix[10]);
  var q = Cesium.Quaternion.fromAxisAngle(axis, Cesium.Math.toRadians(1.0), new Cesium.Quaternion());
  matrix = Cesium.Matrix4.fromTranslationQuaternionRotationScale(new Cesium.Cartesian3(), q, new Cesium.Cartesian3(1.0, 1.0, 1.0));
  spotLight.setMoving(position, Cesium.Matrix4.multiplyByPointAsVector(matrix, direction, new Cesium.Cartesian3()));