Scene

new Cesium.Scene(options)

Cesium 虚拟场景中所有 3D 图形对象和状态的容器。 一般 场景不是直接创建的;相反,它是由 CesiumWidget 隐式创建的。
Name Type Description
options object 对象,具有以下属性:
Name Type Default Description
canvas HTMLCanvasElement 要为其创建场景的 HTML 画布元素。
contextOptions ContextOptions optional 上下文和 WebGL 创建属性。
creditContainer Element optional 将在其中显示演职员表的 HTML 元素。
creditViewport Element optional 用于显示信用弹出窗口的 HTML 元素。 如果未指定,则视口将添加为画布的同级。
ellipsoid Ellipsoid Ellipsoid.default optional 默认的椭球体。如果未指定,则使用默认椭球体。
mapProjection MapProjection new GeographicProjection(options.ellipsoid) optional 在 2D 和 Columbus View 模式下使用的地图投影。
orderIndependentTranslucency boolean true optional 如果为 true 且配置支持,则使用顺序无关的半透明。
scene3DOnly boolean false optional 如果为 true,则优化 3D 模式的内存使用和性能,但禁用使用 2D 或哥伦布视图的功能。
shadows boolean false optional 确定阴影是否由光源投射。
mapMode2D MapMode2D MapMode2D.INFINITE_SCROLL optional 确定 2D 地图是可旋转的,还是可以在水平方向上无限滚动。
requestRenderMode boolean false optional 如果为 true,则仅在需要时渲染帧,具体取决于场景中的变化。启用可以提高应用程序的性能,但需要使用 Scene#requestRender 在此模式下显式渲染新帧。在 API 的其他部分对场景进行更改后,这在许多情况下是必需的。参见 通过显式渲染提高性能
maximumRenderTimeChange number 0.0 optional 如果 requestRenderMode 为 true,则此值定义在请求渲染之前允许的模拟时间的最大变化。参见 通过显式渲染提高性能
depthPlaneEllipsoidOffset number 0.0 optional 调整 DepthPlane,以解决低于椭球零高程的渲染伪影。
msaaSamples number 4 optional 如果提供,此值将控制多重采样抗锯齿的速率。典型的多重采样率为每像素 2 个、4 个样本,有时甚至 8 个样本。较高的 MSAA 采样率可能会影响性能,以换取提高的视觉质量。此值仅适用于支持多重采样渲染目标的 WebGL2 上下文。设置为 1 可禁用 MSAA。
Throws:
Example:
// Create scene without anisotropic texture filtering
const scene = new Cesium.Scene({
  canvas : canvas,
  contextOptions : {
    allowTextureFilterAnisotropic : false
  }
});
See:

Members

static Cesium.Scene.defaultLogDepthBuffer

使用此函数可设置新构建的场景中 Scene#logarithmicDepthBuffer 的默认值 此属性依赖于受支持的 fragmentDepth。
影响 3D 瓦片和模型渲染的气氛照明效果的设置。这不要与 Scene#skyAtmosphere 负责渲染天空。
背景颜色,仅在没有天空盒时可见,即 Scene#skyBox 未定义。
Default Value: Color.BLACK
See:
获取或设置camera.

readonly cameraUnderground : boolean

相机是否位于地球仪下方。
Default Value: false

readonly canvas : HTMLCanvasElement

获取此场景绑定到的 canvas 元素。

readonly clampToHeightSupported : boolean

如果支持 Scene#clampToHeightScene#clampToHeightMostDetailed 函数,则返回 true
See:

completeMorphOnUserInput : boolean

确定是否立即完成 用户输入的场景过渡动画。
Default Value: true

debugCommandFilter : function

此属性仅用于调试;它不用于生产用途。

确定执行哪些命令的函数。 如以下示例所示, 该函数接收命令的 owner 作为参数,并返回一个布尔值,指示 命令。

默认为 undefined,表示执行所有命令。

Default Value: undefined
Example:
// Do not execute any commands.
scene.debugCommandFilter = function(command) {
    return false;
};

// Execute only the billboard's commands.  That is, only draw the billboard.
const billboards = new Cesium.BillboardCollection();
scene.debugCommandFilter = function(command) {
    return command.owner === billboards;
};

readonly debugFrustumStatistics : object

此属性仅用于调试;它不用于生产用途。

Scene.debugShowFrustumstrue 时,此包含 属性,其中包含有关每个视锥体执行的命令数的统计信息。 totalCommands 是执行的命令总数,忽略 重叠。commandsInFrustums 是一个数组,其次数 命令是冗余执行的,例如,有多少命令重叠 2 或 三个平截体。

Default Value: undefined

debugShowCommands : boolean

此属性仅用于调试;它不用于生产用途。

如果为 true,则命令会随机着色。 这很有用 用于性能分析,以查看场景或模型的哪些部分是 command-dense,并且可以从批处理中受益。

Default Value: false

debugShowDepthFrustum : number

此属性仅用于调试;它不用于生产用途。

指示哪个视锥体将显示深度信息。

Default Value: 1

debugShowFramesPerSecond : boolean

此属性仅用于调试;它不用于生产用途。

显示每秒帧数和帧之间的时间。

Default Value: false

debugShowFrustumPlanes : boolean

此属性仅用于调试;它不用于生产用途。

如果为 true,则绘制轮廓以显示摄像机视锥体的边界

Default Value: false

debugShowFrustums : boolean

此属性仅用于调试;它不用于生产用途。

如果为 true,则命令根据 frustums 进行着色 重叠。 最接近的 frustum 中的命令呈红色,命令 次近的命令为绿色,最远的视锥体中的命令为 蓝。 如果命令与多个视锥体重叠,则颜色分量 组合在一起,例如,与前两个视锥体重叠的命令会带有颜色 黄色。

Default Value: false

readonly drawingBufferHeight : number

基础 GL 上下文的 drawingBufferHeight。
See:

readonly drawingBufferWidth : number

基础 GL 上下文的 drawingBufferWidth。
See:
椭球体。 如果未指定,则使用默认椭球体。

eyeSeparation : number

用于 cardboard 或 WebVR 的眼距(以米为单位)。

farToNearRatio : number

使用正常深度缓冲区时多视锥体的远近比。

此值用于为多视锥体的每个视锥体创建 near 和 far 值。它只被使用 当 Scene#logarithmicDepthBufferfalse 时。当 logarithmicDepthBuffertrue,请使用 Scene#logarithmicDepthFarToNearRatio

Default Value: 1000.0

focalLength : number

与 Cardboard 或 WebVR 一起使用时使用的焦距。
将大气与远离摄像机的几何体混合,以获得地平线视图。允许额外的 通过渲染更少的几何体和调度更少的地形请求来提高性能。 如果使用 WGS84 以外的椭球体,则默认取消。
用于 Gamma 校正的值。这仅在使用高动态范围渲染时使用。
Default Value: 2.2
获取或设置深度测试椭球体。
获取地面基元的集合。

highDynamicRange : boolean

是否使用高动态范围渲染。
Default Value: false

readonly highDynamicRangeSupported : boolean

是否支持高动态范围渲染。
Default Value: true

readonly id : string

获取此场景的唯一标识符。
获取将在地球上渲染的图像图层的集合。

invertClassification : boolean

如果为 false,则 3D 瓦片将正常渲染。如果为 true,则分类的 3D 瓦片几何体将正常渲染,并且 未分类的 3D 瓦片几何体将使用颜色乘以 Scene#invertClassificationColor 进行渲染。
Default Value: false

invertClassificationColor : Color

Scene#invertClassificationtrue 时,未分类的 3D 瓦片几何体的高亮颜色。

当颜色的 Alpha 小于 1.0 时,3D 瓦片的未分类部分将无法与 3D 瓦片的分类位置正确混合。

此外,当颜色的 Alpha 小于 1.0 时,必须支持 WEBGL_depth_texture 和 EXT_frag_depth WebGL 扩展。

Default Value: Color.WHITE

readonly invertClassificationSupported : boolean

如果支持 Scene#invertClassification,则返回 true
See:

readonly lastRenderTime : JulianDate

获取上次渲染场景时的模拟时间。如果场景尚未 呈现。
用于着色的光源。默认为来自太阳的平行光。

logarithmicDepthBuffer : boolean

是否使用对数深度缓冲区。启用此选项将允许多视锥体中的视锥体减少。 提高性能。此属性依赖于受支持的 fragmentDepth。

logarithmicDepthFarToNearRatio : number

使用对数深度缓冲区时多视锥体的远近比。

此值用于为多视锥体的每个视锥体创建 near 和 far 值。它只被使用 当 Scene#logarithmicDepthBuffertrue 时。当 logarithmicDepthBufferfalse,请使用 Scene#farToNearRatio

Default Value: 1e9
确定 2D 贴图是可旋转的还是可以在水平方向上无限滚动的。
获取地图投影以在 2D 和 Columbus View 模式下使用。
Default Value: new GeographicProjection()

readonly maximumAliasedLineWidth : number

此 WebGL 实现支持的最大锯齿线宽(以像素为单位)。 至少会是 1 个。
See:
  • glGet with ALIASED_LINE_WIDTH_RANGE.

readonly maximumCubeMapSize : number

此 WebGL 实现支持的立方体贴图一条边的最大长度(以像素为单位)。 至少是 16 岁。
See:
  • glGet with GL_MAX_CUBE_MAP_TEXTURE_SIZE.

maximumRenderTimeChange : number

如果 Scene#requestRenderModetrue,则此值定义 在请求渲染之前允许的模拟时间。较低的值会增加渲染的帧数 的值越高,渲染的帧数就越少。如果未定义,则更改为 模拟时间永远不会请求渲染。 此值会影响场景中更改的渲染速率,例如光照、实体属性更新、 和动画。
Default Value: 0.0
See:

minimumDisableDepthTestDistance : number

禁用广告牌、标签和点的深度测试时与相机的距离 以防止与地形进行剪裁。当设置为零时,深度测试应始终 被应用。当小于零时,绝不应用深度测试。设置 disableDepthTestDistance Billboard、Label 或 Point 的属性将覆盖此值。
Default Value: 0.0
获取或设置场景的当前模式。
Default Value: SceneMode.SCENE3D
The Moon
Default Value: undefined
该事件在场景转换完成时触发。
Default Value: Event()
该事件在场景转换开始时触发。
Default Value: Event()
2D/Columbus View 和 3D 之间的当前变形过渡时间, 0.0 为 2D 或哥伦布视图,1.0 为 3D。
Default Value: 1.0

msaaSamples : number

多重采样抗锯齿的采样率(大于 1 的值将启用 MSAA)。
Default Value: 4

readonly msaaSupported : boolean

如果场景的上下文支持 MSAA,则返回 true

nearToFarDistance2D : number

确定 2D 中多重视锥体的每个视锥体的统一深度大小(以米为单位)。如果基元或模型关闭 显示 Z 冲突,减少此选项将消除伪影,但会降低性能。在 另一方面,增加此值将提高性能,但可能会导致靠近表面的基元之间出现 Z 冲突。
Default Value: 1.75e6

readonly orderIndependentTranslucency : boolean

获取是否场景启用了 Order Independent Translucency。 请注意,这仅反映了原始构造选项,并且有 可能阻止 OIT 在给定系统配置上运行的其他因素。

readonly pickPositionSupported : boolean

如果支持 Scene#pickPosition 函数,则返回 true
See:

pickTranslucentDepth : boolean

如果为 true,则启用使用深度缓冲区拾取半透明几何体。请注意,Scene#useDepthPicking 也必须为 true,才能使其正常工作。

启用后性能会下降。有额外的绘制调用可以写入深度 半透明几何体。

Default Value: false
Example:
// picking the position of a translucent primitive
viewer.screenSpaceEventHandler.setInputAction(function onLeftClick(movement) {
     const pickedFeature = viewer.scene.pick(movement.position);
     if (!Cesium.defined(pickedFeature)) {
         // nothing picked
         return;
     }
     const worldPosition = viewer.scene.pickPosition(movement.position);
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
应用于最终渲染的后处理效果。
获取将在场景渲染后立即引发的事件。 事件的订阅者 接收 Scene 实例作为第一个参数,接收当前时间作为第二个参数。
See:
获取在更新场景后和渲染场景之前将立即引发的事件。 事件的订阅者接收 Scene 实例作为第一个参数,当前时间作为第二个参数 参数。
See:
获取在更新场景后和渲染场景之前将引发的事件。 事件的订阅者接收 Scene 实例作为第一个参数,当前时间作为第二个参数 参数。
See:
获取在更新或渲染场景之前将引发的事件。 事件的订阅者 接收 Scene 实例作为第一个参数,接收当前时间作为第二个参数。
See:
获取基元的集合。

readonly renderError : Event

获取在 render 函数中引发错误时将引发的事件。 Scene 实例和引发的错误是传递给事件处理程序的仅有的两个参数。 默认情况下,在引发此事件后不会重新引发错误,但可以通过设置 rethrowRenderErrors 属性。

requestRenderMode : boolean

如果为 true,则仅在需要时渲染帧,具体取决于场景中的更改。 启用可以提高应用程序的性能,但需要使用 Scene#requestRender 在此模式下显式渲染新帧。在进行更改后,这在许多情况下是必要的 添加到 API 其他部分的场景。
Default Value: false
See:

rethrowRenderErrors : boolean

始终捕获 render 中发生的异常,以便引发 renderError 事件。 如果此属性为 true,则重新引发错误 在引发事件后。 如果此属性为 false,则 render 函数 在引发事件后正常返回。
Default Value: false

readonly sampleHeightSupported : boolean

如果支持 Scene#sampleHeightScene#sampleHeightMostDetailed 函数,则返回 true
See:

readonly scene3DOnly : boolean

获取是否该场景已针对仅 3D 查看进行了优化。

readonly screenSpaceCameraController : ScreenSpaceCameraController

获取用于摄像机输入处理的控制器。
场景光源的阴影贴图。启用后,模型、基元和地球可能会投射和接收阴影。
The sky atmosphere drawn around the globe.
Default Value: undefined
用于绘制星星的 SkyBox
Default Value: undefined
See:

specularEnvironmentMaps : string

KTX2 文件的 URL,其中包含镜面反射环境映射和用于 PBR 模型基于图像的照明的复杂 mipmap。

readonly specularEnvironmentMapsSupported : boolean

如果支持镜面反射环境贴图,则返回 true
See:

sphericalHarmonicCoefficients : Array.<Cartesian3>

PBR 模型基于图像的照明的球谐系数。

splitPosition : number

获取或设置Splitter 在视区中的位置。 有效值介于 0.0 和 1.0 之间。
The Sun.
Default Value: undefined
启用后,在太阳上使用泛光过滤器。
Default Value: true
提供地球表面几何图形的 terrain 提供程序。

readonly terrainProviderChanged : Event

获取在更改 terrain 提供程序时引发的事件

useDepthPicking : boolean

如果为 true,则启用使用深度缓冲区的拾取。
Default Value: true
如果为 true,则将场景分割为两个视口,分别具有左眼和右眼的立体视图。 用于 cardboard 和 WebVR。
Default Value: false

verticalExaggeration : number

场景的垂直夸大。 设置为 1.0 时,不应用夸大。
Default Value: 1.0

verticalExaggerationRelativeHeight : number

场景垂直夸大的参考高度。 设置为 0.0 时,将相对于椭球体表面应用夸大。
Default Value: 0.0

Methods

cartesianToCanvasCoordinates(position, result)Cartesian2

将笛卡尔坐标中的位置转换为画布坐标。 这通常用于将 HTML 元素与场景中的对象位于相同的屏幕位置。
Name Type Description
position Cartesian3 笛卡尔坐标中的位置。
result Cartesian2 optional 一个可选对象,用于返回转换为画布坐标的输入位置。
Returns:
如果没有提供新的Cartesian2实例,则使用修改后的结果参数。 如果输入位置靠近椭球体的中心,则此字段可能未定义
Example:
// Output the canvas position of longitude/latitude (0, 0) every time the mouse moves.
const scene = widget.scene;
const position = Cesium.Cartesian3.fromDegrees(0.0, 0.0);
const handler = new Cesium.ScreenSpaceEventHandler(scene.canvas);
handler.setInputAction(function(movement) {
    console.log(scene.cartesianToCanvasCoordinates(position));
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);

clampToHeight(cartesian, objectsToExclude, width, result)Cartesian3

沿大地测量表面法线将给定的笛卡尔位置钳制到场景几何体。返回 clamped position 或 undefined 如果没有要固定的场景几何体。可用于夹紧 对象添加到场景中的地球、3D 瓦片或基元。

此功能仅钳制到在当前视图中渲染的地球瓦片和 3D 瓦片。Clamps 到 所有其他基元,无论其可见性如何。

Name Type Default Description
cartesian Cartesian3 笛卡尔位置。
objectsToExclude Array.<Object> optional 不固定到的基元、实体或 3D 瓦片特征的列表。
width number 0.1 optional 交叉口体积的宽度,以米为单位。
result Cartesian3 optional 一个可选的对象,用于返回被固定的位置。
Returns:
修改后的结果参数或新的 Cartesian3 实例(如果未提供)。如果没有要钳制的场景几何体,则此字段可能未定义
Throws:
  • DeveloperError : clampToHeight is only supported in 3D mode.
  • DeveloperError : clampToHeight requires depth texture support. Check clampToHeightSupported.
Example:
// Clamp an entity to the underlying scene geometry
const position = entity.position.getValue(Cesium.JulianDate.now());
entity.position = viewer.scene.clampToHeight(position);
See:

clampToHeightMostDetailed(cartesian, objectsToExclude, width)Promise.<Array.<Cartesian3>>

Cartesian3 位置数组启动异步 Scene#clampToHeight 查询 使用场景中 3D 瓦片集的最大细节级别。返回一个 Promise,该 Promise 在 查询完成。每个位置都进行了就地修改。如果由于没有几何体而无法夹紧位置 可以在该位置采样,否则会发生其他错误,则数组中的元素将设置为 undefined。
Name Type Default Description
cartesian Array.<Cartesian3> 笛卡尔位置,以使用夹紧位置进行更新。
objectsToExclude Array.<Object> optional 不固定到的基元、实体或 3D 瓦片特征的列表。
width number 0.1 optional 交叉口体积的宽度,以米为单位。
Returns:
当查询完成时,解析为提供的位置列表的 Promise。
Throws:
  • DeveloperError : clampToHeightMostDetailed is only supported in 3D mode.
  • DeveloperError : clampToHeightMostDetailed requires depth texture support. Check clampToHeightSupported.
Example:
const cartesians = [
    entities[0].position.getValue(Cesium.JulianDate.now()),
    entities[1].position.getValue(Cesium.JulianDate.now())
];
const promise = viewer.scene.clampToHeightMostDetailed(cartesians);
promise.then(function(updatedCartesians) {
    entities[0].position = updatedCartesians[0];
    entities[1].position = updatedCartesians[1];
}
See:
立即完成活动过渡。
销毁此对象持有的 WebGL 资源。 销毁对象允许确定性 释放 WebGL 资源,而不是依赖垃圾回收器来销毁这个对象。

一旦对象被销毁,就不应该使用它;调用 isDestroyed 将导致 DeveloperError 异常。 因此 将返回值 (undefined) 分配给对象,如示例中所示。
Throws:
Example:
scene = scene && scene.destroy();
See:

drillPick(windowPosition, limit, width, height)Array.<any>

返回一个对象列表,每个对象都包含一个 'primitive' 属性,用于 特定的窗口坐标位置。还可以根据 类型,可用于进一步标识选取的对象。中的 列表按它们在场景中的视觉顺序(从前到后)排序。
Name Type Default Description
windowPosition Cartesian2 窗口坐标以执行选取。
limit number optional 如果提供,请在收集这么多镐后停止钻孔。
width number 3 optional 拾取矩形的宽度。
height number 3 optional 选取矩形的高度。
Returns:
对象数组,每个对象包含 1 个选取的基元。
Throws:
Example:
const pickedObjects = scene.drillPick(new Cesium.Cartesian2(100.0, 200.0));
See:

getCompressedTextureFormatSupported(format)boolean

确定是否支持压缩纹理格式。
Name Type Description
format string 纹理格式。可以是格式名称或 WebGL 扩展名,例如 s3tc 或 WEBGL_compressed_texture_s3tc。
Returns:
是否支持该格式。

isDestroyed()boolean

如果此对象已销毁,则返回 true;否则为 false。

如果此对象已销毁,则不应使用;调用 isDestroyed 将导致 DeveloperError 异常。
Returns:
true,如果此对象被销毁;否则为 false
See:

morphTo2D(duration)

异步将场景转换为 2D。
Name Type Default Description
duration number 2.0 optional 过渡动画完成的时间(以秒为单位)。

morphTo3D(duration)

异步将场景转换为 3D。
Name Type Default Description
duration number 2.0 optional 过渡动画完成的时间量(以秒为单位)。

morphToColumbusView(duration)

异步将场景转换为 Columbus 视图。
Name Type Default Description
duration number 2.0 optional 过渡动画完成的时间量(以秒为单位)。

pick(windowPosition, width, height)object

返回具有 'primitive' 属性的对象,该属性包含场景中的第一个(顶部)基元 在特定窗口坐标处,如果该位置没有任何内容,则为 undefined。其他属性可能 可能根据基元的类型进行设置,并可用于进一步标识拾取的对象。

选取 3D 瓦片集的特征时,pick 返回 Cesium3DTileFeature 对象。

Name Type Default Description
windowPosition Cartesian2 窗口坐标以执行选取。
width number 3 optional 拾取矩形的宽度。
height number 3 optional 选取矩形的高度。
Returns:
包含选取的基元的 对象。
Example:
// On mouse over, color the feature yellow.
handler.setInputAction(function(movement) {
    const feature = scene.pick(movement.endPosition);
    if (feature instanceof Cesium.Cesium3DTileFeature) {
        feature.color = Cesium.Color.YELLOW;
    }
}, Cesium.ScreenSpaceEventType.MOUSE_MOVE);

pickMetadata(windowPosition, schemaId, className, propertyName)MetadataValue|undefined

在给定的窗口位置选取元数据值。
Name Type Description
windowPosition Cartesian2 窗口坐标以执行选取。
schemaId string | undefined 要选取值的元数据架构的 ID 从。如果这是 'undefined',那么它将从对象中选择值 与给定的类和属性名称匹配,而不管架构 ID 如何。
className string 要选取的元数据类的名称 值来自
propertyName string 要选取的元数据属性的名称 值来自
Returns:
元数据值,或 'undefined' when 在给定位置未找到匹配的元数据
Experimental

此功能不是最终功能,在没有 Cesium 的标准弃用政策的情况下可能会发生变化。

pickMetadataSchema(windowPosition)MetadataSchema

在给定位置选择对象的元数据的架构
Name Type Description
windowPosition Cartesian2 要执行选取的窗口坐标。
Returns:
元数据架构, 或者 'undefined' 如果没有 给定位置的关联元数据。
Experimental

此功能不是最终的,在没有 Cesium 的标准弃用政策的情况下可能会发生变化。

pickPosition(windowPosition, result)Cartesian3

返回从深度缓冲区和窗口位置重建的笛卡尔位置。

从 2D 深度缓冲区重建的位置可能与 以 3D 和哥伦布视图重建。这是由分布的差异引起的 透视和正交投影的深度值。

Scene#pickTranslucentDepth 设置为 true,以包含 半透明基元;否则,这基本上会选择 Translucent Primitives。

Name Type Description
windowPosition Cartesian2 窗口坐标以执行选取。
result Cartesian3 optional 要恢复结果的对象。
Returns:
笛卡尔位置。
Throws:
  • DeveloperError : Picking from the depth buffer is not supported. Check pickPositionSupported.

pickVoxel(windowPosition, width, height)VoxelCell|undefined

返回在特定窗口坐标处渲染的体素样本的 VoxelCell, 或 undefined(如果在该位置未渲染体素)。
Name Type Default Description
windowPosition Cartesian2 窗口坐标以执行选取。
width number 3 optional 拾取矩形的宽度。
height number 3 optional 选取矩形的高度。
Returns:
有关在选取位置渲染的体素单元格的信息。
Example:
On left click, report the value of the "color" property at that voxel sample.
handler.setInputAction(function(movement) {
  const voxelCell = scene.pickVoxel(movement.position);
  if (defined(voxelCell)) {
    console.log(voxelCell.getProperty("color"));
  }
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
Experimental

此功能不是最终的,在没有 Cesium 的标准弃用政策的情况下可能会发生变化。

更新并渲染场景。通常不需要调用此函数 直接执行此操作,因为 CesiumWidget 会自动执行此操作。
Name Type Description
time JulianDate optional 渲染的模拟时间。
Scene#requestRenderMode 设置为 true 时,请求新的渲染帧。 渲染速率不会超过 CesiumWidget#targetFrameRate
See:

sampleHeight(position, objectsToExclude, width)number

返回给定制图位置处场景几何图形的高度,如果没有,则返回 undefined 要从中采样高度的场景几何体。将忽略输入位置的高度。可用于将对象固定到 场景中的地球、3D 瓦片或基元。

此功能仅对当前视图中渲染的地球瓦片和 3D 瓦片的高度进行采样。样品高度 从所有其他基元开始,而不管它们的可见性如何。

Name Type Default Description
position Cartographic 要从中采样高度的制图位置。
objectsToExclude Array.<Object> optional 不从中采样高度的基元、实体或 3D 瓦片特征的列表。
width number 0.1 optional 交叉口体积的宽度,以米为单位。
Returns:
高度。如果没有要从中采样高度的场景几何体,则此字段可能未定义
Throws:
  • DeveloperError : sampleHeight is only supported in 3D mode.
  • DeveloperError : sampleHeight requires depth texture support. Check sampleHeightSupported.
Example:
const position = new Cesium.Cartographic(-1.31968, 0.698874);
const height = viewer.scene.sampleHeight(position);
console.log(height);
See:

sampleHeightMostDetailed(positions, objectsToExclude, width)Promise.<Array.<Cartographic>>

Cartographic 位置数组启动异步 Scene#sampleHeight 查询 使用场景中 3D 瓦片集的最大细节级别。将忽略输入位置的高度。 返回在查询完成时解析的 Promise。每个点高度都已就地修改。 如果由于无法在该位置对几何体进行采样而无法确定高度,或者发生其他错误, 高度设置为 undefined。
Name Type Default Description
positions Array.<Cartographic> 要使用采样高度更新的制图位置。
objectsToExclude Array.<Object> optional 不从中采样高度的基元、实体或 3D 瓦片特征的列表。
width number 0.1 optional 交叉口体积的宽度,以米为单位。
Returns:
一个 Promise,当查询完成时,它解析为提供的位置列表。
Throws:
  • DeveloperError : sampleHeightMostDetailed is only supported in 3D mode.
  • DeveloperError : sampleHeightMostDetailed requires depth texture support. Check sampleHeightSupported.
Example:
const positions = [
    new Cesium.Cartographic(-1.31968, 0.69887),
    new Cesium.Cartographic(-1.10489, 0.83923)
];
const promise = viewer.scene.sampleHeightMostDetailed(positions);
promise.then(function(updatedPosition) {
    // positions[0].height and positions[1].height have been updated.
    // updatedPositions is just a reference to positions.
}
See:

setTerrain(terrain)Terrain

更新地形,为地球提供表面几何图形。
Name Type Description
terrain Terrain 地形提供程序异步帮助程序
Returns:
terrain 地形提供程序异步辅助函数
Examples:
// Use Cesium World Terrain
scene.setTerrain(Cesium.Terrain.fromWorldTerrain());
// Use a custom terrain provider
const terrain = new Cesium.Terrain(Cesium.CesiumTerrainProvider.fromUrl("https://myTestTerrain.com"));
scene.setTerrain(terrain);

terrain.errorEvent.addEventListener(error => {
  alert(`Encountered an error while creating terrain! ${error}`);
});
Need help? The fastest way to get answers is from the community and team on the Cesium Forum.