三维场景类,它是所有三维图形对象和状态的容器,通常不直接创建场景,而是由
CesiumWidget
隐式创建。
contextOptions
参数详细信息:
默认值为:
{
webgl : {
alpha : false,
depth : true,
stencil : false,
antialias : true,
premultipliedAlpha : true,
preserveDrawingBuffer : false,
failIfMajorPerformanceCaveat : false
},
allowTextureFilterAnisotropic : true
}
webgl属性对应用于创建WebGL环境的WebGLContextAttributes对象。
webgl.alpha默认为false,与标准WebGL默认值为true相比,这可以提高性能。
其他webgl属性与WebGLContextAttributes.的WebGL默认值匹配。
allowTextureFilterAnisotropic默认为true,这允许在支持WebGL扩展时进行各向异性纹理过滤。设置为false可以提高性能,但会损害视觉质量,特别是对于水平视图。
Name | Type | Description | ||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
Object |
optional
对象具有以下属性:
|
Throws:
-
DeveloperError : options and options.canvas are required.
- CesiumWidget
- WebGLContextAttributes
Example:
//创建一个场景
var viewer=new new Cesium.Viewer('Container');
var scene = viewer.scene;
See:
Members
-
readonlycamera : Camera
-
获取当前场景的相机对象。
-
globe : Globe
-
获取或设置深度测试地球。
-
readonlyimageryLayers : ImageryLayerCollection
-
获取场景中将被渲染的影像图层集合。
-
获取或设置视口中影像分割条的位置。取值范围为0.0~1.0。
-
readonlylayers : Layers
-
获取场景中的图层集合。
-
获取或设置多视口模式
MultiViewportMode
。Demo:
-
获取或设置地球的地形服务提供者。
-
获取或设置相机进入地下时所处的深度,单位:米。该属性值为正值,表示相机所处地下位置与三维球体表面间的垂直距离。。
Example:
* var viewer = new Cesium.Viewer('cesiumContainer',{}); var scene = viewer.scene; //设置相机进入地下10米 scene.undergroundDepth = 10; //获取相机进入地下深度 var undergroundDepth = scene.undergroundDepth;
-
获取或设置地下是否可见。true 表示地下可见;false 表示地下不可见。
Example:
* var viewer = new Cesium.Viewer('cesiumContainer',{}); var scene = viewer.scene; //设置开启地下 scene.undergroundMode = true; //获取是否开启地下 var isUnderground = scene.undergroundMode;
Demo:
-
获取或设置是否开启WebVR。
-
Default Value:
false
Example:
var viewer = new Cesium.Viewer('cesiumContainer',{}); var scene = viewer.scene; //设置开启WebVR scene.useWebVR = true; //获取是否开启WebVR var useWebVR = scene.useWebVR;
Methods
-
addS3MInstanceCollection(url, instanceAttrs) → S3MInstanceCollection
-
向场景添加*.gltf、*.s3m格式的实例化模型,可通过此方式向场景添加树木、路灯等小品模型。
Name Type Description url
String 指定模型的地址。 instanceAttrs
Array 指定实例化模型的信息(如对象位置)数组。 Returns:
S3M模型实例化集合。Demo:
-
以SCP缓存方式添加S3MTileslayer到场景中。
Name Type Description url
String iserver中发布的配置文件地址。 options
Object 图层所需对象: Name Type Description name
String 图层名称。 Example:
var url = "http://www.supermapol.com/iserver/services/3D-srsb/rest/realspace/datas/srsb/config"; var promise = scene.addS3MTilesLayerByScp(url, {name: "sr"});
-
打开一个包含多个三维切片缓存图层的三维场景服务,客户端将加载此服务中的所有图层。
Name Type Description url
String iserver中发布的三维服务地址。 Example:
//打开所发布三维服务下的所有图层 var promise = scene.open('http://www.supermapol.com/iserver/services/3D-WebGLCBD/rest/realspace');
-
pickPosition(windowPosition, result) → Cartesian3
-
从屏幕位置和深度纹理中获取笛卡尔坐标。
Name Type Description windowPosition
Cartesian2 执行拾取的窗口坐标。 result
Cartesian3 optional 待还原结果的对象。 Returns:
笛卡尔坐标位置。Throws:
-
DeveloperError : 不支持从深度纹理中拾取,请检查 pickPositionSupported.
-
DeveloperError : 不支持2D。正交投影矩阵不可逆。
Example:
var windowPosition = new Cesium.Cartesian2(240, 670); var position = scene.pickPosition(windowPosition);
-