Cesium3DTileset

new Cesium.Cesium3DTileset (options)

一个 3D Tiles 瓦片 集,用于流式传输海量异构 3D 地理空间数据集。
Name Type Description
options Object 具有以下属性的对象:
姓名 类型 默认 描述
url 资源 | 字符串 | 承诺。< 资源 > | 承诺。<String> 瓦片集 JSON 文件的 url。
show 布尔值 true 可选 确定是否显示图块集。
modelMatrix 矩阵4 Matrix4.IDENTITY 可选 一个 4x4 变换矩阵,用于变换瓦片集的根瓦片。
modelUpAxis Axis.Y 可选 加载磁贴内容的模型时考虑哪个轴。
modelForwardAxis Axis.X 可选 加载磁贴内容的模型时,哪个轴被认为是向前的。
shadows 阴影模式 ShadowMode.ENABLED 可选 确定瓦片集是投射还是接收来自光源的阴影。
maximumScreenSpaceError 数字 16 可选 用于驱动细节细化级别的最大屏幕空间误差。
maximumMemoryUsage 数字 512 可选 tileset 可以使用的最大内存量(以 MB 为单位)。
cullWithChildrenBounds 布尔值 true 可选 优化选项。是否使用子边界体积的并集来剔除瓦片。
cullRequestsWhileMoving 布尔值 true 可选 优化选项。不要请求由于相机移动而在返回时可能未使用的图块。这种优化只适用于静止的瓦片集。
cullRequestsWhileMovingMultiplier 数字 60.0 可选 优化选项。移动时用于剔除请求的乘数。较大的是更积极的剔除,较小的较不积极的剔除。
preloadWhenHidden 布尔值 false tileset.show false 时, 可选 预加载图块。加载图块,就好像图块集可见但不渲染它们。
preloadFlightDestinations 布尔值 true 可选 优化选项。在相机飞行时在相机的飞行目的地预加载图块。
preferLeaves 布尔值 false 可选 优化选项。最好先装载叶子。
dynamicScreenSpaceError 布尔值 false 可选 优化选项。减少距离相机较远的图块的屏幕空间错误。
dynamicScreenSpaceErrorDensity 数字 0.00278 可选 Density 用于调整动态屏幕空间误差,类似于雾密度。
dynamicScreenSpaceErrorFactor 数字 4.0 可选 用于增加计算的动态屏幕空间误差的因素。
dynamicScreenSpaceErrorHeightFalloff 数字 0.25 可选 密度开始下降的瓦片集高度的比率。
progressiveResolutionHeightFraction 数字 0.3 可选 优化选项。如果在 (0.0, 0.5] 之间,屏幕空间错误或超过屏幕空间错误的图块将优先考虑降低的屏幕分辨率的 progressiveResolutionHeightFraction*screenHeight 。这有助于在继续加载全分辨率图块时快速降低图块层。
foveatedScreenSpaceError 布尔值 true 可选 优化选项。通过暂时提高屏幕边缘周围图块的屏幕空间错误,优先加载屏幕中心的图块。一旦加载了由 Cesium3DTileset#foveatedConeSize 确定的屏幕中心的所有图块,屏幕空间错误就会恢复正常。
foveatedConeSize 数字 0.1 可选 优化选项。当 Cesium3DTileset#foveatedScreenSpaceError 为真时使用,以控制决定延迟哪些图块的锥体大小。立即加载此圆锥内的瓷砖。圆锥外的瓷砖可能会根据它们在圆锥外的距离及其屏幕空间误差而延迟。这由 Cesium3DTileset#foveatedInterpolationCallback Cesium3DTileset#foveatedMinimumScreenSpaceErrorRelaxation 。将此设置为 0.0 意味着圆锥将是由相机位置及其视图方向形成的线。将此设置为 1.0 意味着锥体包含相机的整个视野​​,禁用效果。
foveatedMinimumScreenSpaceErrorRelaxation 数字 0.0 可选 优化选项。当 Cesium3DTileset#foveatedScreenSpaceError 为真时使用,以控制中心凹锥外的瓷砖的起始屏幕空间误差松弛。根据提供的 Cesium3DTileset#foveatedInterpolationCallback ,屏幕空间错误将从图块集值开始引发,直到 Cesium3DTileset#maximumScreenSpaceError
foveatedInterpolationCallback Cesium3DTileset.foveatedInterpolationCallback Math.lerp 可选 优化选项。当 Cesium3DTileset#foveatedScreenSpaceError 为真时使用,以控制为中心凹锥外的图块提高屏幕空间误差的程度,在 Cesium3DTileset#foveatedMinimumScreenSpaceErrorRelaxation Cesium3DTileset#maximumScreenSpaceError 之间进行插值
foveatedTimeDelay 数字 0.2 可选 优化选项。当 Cesium3DTileset#foveatedScreenSpaceError 为真时使用,以控制在相机停止移动后延迟瓦片开始加载之前等待的时间(以秒为单位)。此时间延迟可防止在相机移动时请求屏幕边缘周围的瓦片。将此设置为 0.0 将立即请求任何给定视图中的所有图块。
skipLevelOfDetail 布尔值 false 可选 优化选项。确定是否应在遍历期间应用详细级别跳过。
baseScreenSpaceError 数字 1024 可选 skipLevelOfDetail true 时,在跳过详细级别之前必须达到的屏幕空间错误。
skipScreenSpaceErrorFactor 数字 16 可选 skipLevelOfDetail true 时,定义要跳过的最小屏幕空间错误的乘数。与 skipLevels 一起使用以确定要加载的图块。
skipLevels 数字 1 可选 skipLevelOfDetail true 时,一个常量,定义加载切片时要跳过的最小级别数。为 0 时,不跳过任何级别。与 skipScreenSpaceErrorFactor 一起使用以确定要加载的图块。
immediatelyLoadDesiredLevelOfDetail 布尔值 false 可选 skipLevelOfDetail true 时,只会下载满足最大屏幕空间错误的图块。忽略跳过因素,只加载所需的图块。
loadSiblings 布尔值 false 可选 skipLevelOfDetail true 时,确定是否始终在遍历期间下载可见瓦片的兄弟。
clippingPlanes ClippingPlaneCollection 可选 ClippingPlaneCollection 用于选择性地禁用渲染图块集。
classificationType 分类类型 可选 确定地形、3D 瓦片或两者都将被此瓦片集分类。有关限制和限制的详细信息,请参阅 Cesium3DTileset#classificationType
ellipsoid 椭球体 Ellipsoid.WGS84 可选 决定地球大小和形状的椭球体。
pointCloudShading 目的 可选 用于构造 PointCloudShading 对象以根据几何误差和光照控制点衰减的选项。
lightColor 笛卡尔3 可选 着色模型时的浅色。当 undefined 时,将使用场景的浅色。
imageBasedLighting 基于图像的照明 可选 用于管理此图块集的基于图像的照明的属性。
backFaceCulling 布尔值 true 可选 是否剔除背面几何体。当为 true 时,背面剔除由 glTF 材质的 doubleSided 属性确定;如果为 false,则禁用背面剔除。
showOutline 布尔值 true 可选 是否使用 CESIUM_primitive_outline 扩展显示模型的轮廓。为 true 时,将显示轮廓。如果为 false,则不显示轮廓。
vectorClassificationOnly 布尔值 false 可选 指示仅应使用瓦片集的矢量瓦片进行分类。
vectorKeepDecodedPositions 布尔值 false 可选 矢量图块是否应将解码位置保留在内存中。这与 Cesium3DTileFeature.getPolylinePositions 一起使用。
featureIdLabel 字符串 | 数字 "featureId_0" 用于拾取和造型的特征 ID 集的 可选 标签。对于 EXT_mesh_features,这是特征 ID 的标签属性,如果未指定,则为'featureId_N'(其中 N 是 featureIds 数组中的索引)。 EXT_feature_metadata 没有标签字段,因此此类特征 ID 集始终标记为'featureId_N',其中 N 是所有特征 ID 列表中的索引,其中特征 ID 属性列在特征 ID 纹理之前。如果 featureIdLabel 是一个整数 N,它会自动转换为字符串'featureId_N'。如果每个基元和每个实例的功能 ID 都存在,则实例功能 ID 优先。
instanceFeatureIdLabel 字符串 | 数字 "instanceFeatureId_0" 可选 用于拾取和样式的实例特征 ID 集的标签。如果 instanceFeatureIdLabel 设置为整数 N,它会自动转换为字符串'instanceFeatureId_N'。如果每个基元和每个实例的功能 ID 都存在,则实例功能 ID 优先。
showCreditsOnScreen 布尔值 false 可选 是否在屏幕上显示此图块集的学分。
splitDirection 拆分方向 SplitDirection.NONE 可选 要应用于此图块集的 SplitDirection 拆分。
projectTo2D 布尔值 false 可选 是否将tileset精确投影到2D。如果这是真的,tileset 将被准确地投影到 2D,但这样做会使用更多的内存。如果这是错误的,tileset 将使用更少的内存并且仍然会在 2D/CV 模式下渲染,但它的投影位置可能不准确。在图块集加载后无法设置。
debugHeatmapTilePropertyName 细绳 可选 要着色为热图的 tile 变量。所有渲染的图块都将相对于彼此的指定变量值进行着色。
debugFreezeFrame 布尔值 false 可选 仅用于调试。确定是否应仅使用最后一帧的图块进行渲染。
debugColorizeTiles 布尔值 false 可选 仅用于调试。如果为 true,则为每个图块分配随机颜色。
enableDebugWireframe 布尔值 可选 仅用于调试。这必须是正确的 debugWireframe 才能在 WebGL1 中为 ModelExperimental 工作。在图块集加载后无法设置。
debugWireframe 布尔值 false 可选 仅用于调试。如果为 true,则将每个图块的内容渲染为线框。
debugShowBoundingVolume 布尔值 false 可选 仅用于调试。如果为 true,则为每个图块渲染边界体积。
debugShowContentBoundingVolume 布尔值 false 可选 仅用于调试。如果为 true,则为每个图块的内容渲染边界体积。
debugShowViewerRequestVolume 布尔值 false 可选 仅用于调试。如果为 true,则呈现每个图块的查看器请求量。
debugShowGeometricError 布尔值 false 可选 仅用于调试。如果为 true,则绘制标签以指示每个图块的几何误差。
debugShowRenderingStatistics 布尔值 false 可选 仅用于调试。如果为 true,则绘制标签以指示每个图块的命令、点、三角形和特征的数量。
debugShowMemoryUsage 布尔值 false 可选 仅用于调试。如果为 true,则绘制标签以指示每个图块使用的纹理和几何内存(以兆字节为单位)。
debugShowUrl 布尔值 false 可选 仅用于调试。如果为 true,则绘制标签以指示每个图块的 url。
Throws:
Examples:
const tileset = scene.primitives.add(new Cesium.Cesium3DTileset({
     url : 'http://localhost:8002/tilesets/Seattle/tileset.json'
}));
// Common setting for the skipLevelOfDetail optimization
const tileset = scene.primitives.add(new Cesium.Cesium3DTileset({
     url : 'http://localhost:8002/tilesets/Seattle/tileset.json',
     skipLevelOfDetail : true,
     baseScreenSpaceError : 1024,
     skipScreenSpaceErrorFactor : 16,
     skipLevels : 1,
     immediatelyLoadDesiredLevelOfDetail : false,
     loadSiblings : false,
     cullWithChildrenBounds : true
}));
// Common settings for the dynamicScreenSpaceError optimization
const tileset = scene.primitives.add(new Cesium.Cesium3DTileset({
     url : 'http://localhost:8002/tilesets/Seattle/tileset.json',
     dynamicScreenSpaceError : true,
     dynamicScreenSpaceErrorDensity : 0.00278,
     dynamicScreenSpaceErrorFactor : 4.0,
     dynamicScreenSpaceErrorHeightFalloff : 0.25
}));
See:

Members

触发该事件以指示已加载满足此帧屏幕空间错误的所有图块。该视图的图块集已完全加载。

渲染场景后,在帧结束时触发此事件。

Default Value: new Event()
Example:
tileset.allTilesLoaded.addEventListener(function() {
    console.log('All tiles are loaded');
});
See:

readonly asset : Object

获取瓦片集的资产对象属性,其中包含有关瓦片集的元数据。

有关完整的属性集,请参阅 3D Tiles 规范中的 资产架构参考

backFaceCulling : Boolean

是否剔除背面几何体。当为 true 时,背面剔除由 glTF 材质的 doubleSided 属性确定;如果为 false,则禁用背面剔除。
Default Value: true

readonly deprecated basePath : String

瓦片集 JSON 文件中的非绝对路径相对于的基本路径。

Deprecated: true

baseScreenSpaceError : Number

在跳过详细级别之前必须达到的屏幕空间错误。

仅在 Cesium3DTileset#skipLevelOfDetail true 时使用。

Default Value: 1024
瓦片集的边界球。
Example:
const tileset = viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
    url : 'http://localhost:8002/tilesets/Seattle/tileset.json'
}));

tileset.readyPromise.then(function(tileset) {
    // Set the camera to view the newly added tileset
    viewer.camera.viewBoundingSphere(tileset.boundingSphere, new Cesium.HeadingPitchRange(0, -0.5, 0));
});
确定地形、3D 瓦片或两者都将被此瓦片集分类。

此选项仅适用于包含批处理 3D 模型、几何数据或矢量数据的瓦片集。即使未定义,矢量数据和几何数据也必须作为分类渲染,并且默认在地形和其他 3D Tiles 瓦片集上渲染。

当为批处理 3D 模型图块集启用时,glTF 有一些要求/限制:

  • POSITION 和 _BATCHID 语义是必需的。
  • 具有相同批次 id 的所有索引必须占据索引缓冲区的连续部分。
  • 所有着色器和技术都将被忽略。生成的着色器只是将位置乘以模型-视图-投影矩阵。
  • 唯一支持的扩展是 CESIUM_RTC 和 WEB3D_quantized_attributes。
  • 仅支持一个节点。
  • 每个节点仅支持一个网格。
  • 每个网格仅支持一个图元。
Default Value: undefined
Experimental

This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.

ClippingPlaneCollection 用于选择性地禁用渲染图块集。

colorBlendAmount : Number

Cesium3DTileset#colorBlendMode MIX 时,定义用于在源颜色和特征颜色之间进行线性插值的值。值 0.0 会产生源颜色,而值 1.0 会产生特征颜色,中间的任何值都会产生源颜色和特征颜色的混合。
Default Value: 0.5
定义从 Cesium API 或声明式样式设置的每特征颜色如何与来自原始特征的源颜色混合,例如 glTF 材料或平铺中的每点颜色。
Default Value: Cesium3DTileColorBlendMode.HIGHLIGHT

cullRequestsWhileMoving : Boolean

优化选项。不要请求由于相机移动而在返回时可能未使用的图块。这种优化只适用于静止的瓦片集。
Default Value: true

cullRequestsWhileMovingMultiplier : Number

优化选项。移动时用于剔除请求的乘数。较大的是更积极的剔除,较小的较不积极的剔除。
Default Value: 60.0
一个自定义着色器,应用于图块集中的所有图块。仅用于使用 ModelExperimental 的内容。使用带有 Cesium3DTileStyle 的自定义着色器可能会导致未定义的行为。

要启用 ModelExperimental ,请将 ExperimentalFeatures.enableModelExperimental 或 tileset.enableModelExperimental 设置为 true

Default Value: undefined
Experimental

This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.

debugColorizeTiles : Boolean

该属性仅用于调试;它没有针对生产使用进行优化。

如果为 true,则为每个图块分配随机颜色。这对于可视化哪些特征属于哪些图块很有用,尤其是在添加细化时,父图块的特征可能与子图块的特征交错。

Default Value: false

debugFreezeFrame : Boolean

该属性仅用于调试;它没有针对生产使用进行优化。

确定是否应仅使用最后一帧的图块进行渲染。这有效地将瓦片集'冻结'到前一帧,因此可以缩小并查看渲染的内容。

Default Value: false

debugShowBoundingVolume : Boolean

该属性仅用于调试;它没有针对生产使用进行优化。

如果为 true,则为每个可见图块渲染边界体积。如果图块具有内容边界体积或为空,则边界体积为白色;否则,它是红色的。不满足屏幕空间错误且仍在对其后代进行提炼的瓦片为黄色。

Default Value: false

debugShowContentBoundingVolume : Boolean

该属性仅用于调试;它没有针对生产使用进行优化。

如果为 true,则为每个可见图块的内容渲染边界体积。如果图块具有内容边界体积,则边界体积为蓝色;否则它是红色的。

Default Value: false

debugShowGeometricError : Boolean

该属性仅用于调试;它没有针对生产使用进行优化。

如果为 true,则绘制标签以指示每个图块的几何误差。

Default Value: false

debugShowMemoryUsage : Boolean

该属性仅用于调试;它没有针对生产使用进行优化。

如果为 true,则绘制标签以指示每个图块的几何图形和纹理内存使用情况。

Default Value: false

debugShowRenderingStatistics : Boolean

该属性仅用于调试;它没有针对生产使用进行优化。

如果为 true,则绘制标签以指示每个图块的命令、点、三角形和特征的数量。

Default Value: false

debugShowUrl : Boolean

该属性仅用于调试;它没有针对生产使用进行优化。

如果为 true,则绘制标签以指示每个图块的 url。

Default Value: false

debugShowViewerRequestVolume : Boolean

该属性仅用于调试;它没有针对生产使用进行优化。

如果为 true,则呈现每个图块的查看器请求量。

Default Value: false

debugWireframe : Boolean

该属性仅用于调试;它没有针对生产使用进行优化。

如果为 true,则将每个图块的内容呈现为线框。

Default Value: false

dynamicScreenSpaceError : Boolean

优化选项。瓦片集是否应该根据动态屏幕空间错误进行优化。较远的图块将呈现比更近的图块更低的细节。这可以通过渲染更少的图块和发出更少的请求来提高性能,但可能会导致远处图块的视觉质量略有下降。该算法偏向于'街景',其中相机靠近瓦片集的地平面并注视着地平线。此外,对于紧密拟合的边界体积(如框和区域),结果更准确。
Default Value: false

dynamicScreenSpaceErrorDensity : Number

一个标量,用于确定用于调整动态屏幕空间误差的密度,类似于 Fog 。增加此值会增加所有图块的最大屏幕空间误差,但以非线性方式。误差从 0.0 开始并呈指数增长,直到达到中点,然后逐渐接近 1.0。这具有在较近的瓦片中保持高细节和在较远的瓦片中保持较低细节的效果,超过一定距离的所有瓦片都大致具有1.0的误差。

动态误差在 [0.0, 1.0) 范围内,并乘以 dynamicScreenSpaceErrorFactor 以产生最终的动态误差。然后从图块的实际屏幕空间误差中减去该动态误差。

增加 dynamicScreenSpaceErrorDensity 具有将误差中点移近相机的效果。这类似于将雾移动到更靠近相机的位置。

Default Value: 0.00278

dynamicScreenSpaceErrorFactor : Number

用于增加动态屏幕空间误差的图块屏幕空间误差的因素。随着该值的增加,渲染请求的图块越少,远处的图块的细节就越少。如果设置为零,该功能将被禁用。
Default Value: 4.0

dynamicScreenSpaceErrorHeightFalloff : Number

密度开始下降的瓦片集高度的比率。如果相机低于此高度,则应用完整的计算密度,否则密度会下降。这在街道视图中具有更高密度的效果。

有效值介于 0.0 和 1.0 之间。

Default Value: 0.25
获取描述地球形状的椭球体。

examineVectorLinesFunction : function

用于在流式传输时检查矢量线的功能。
Experimental

This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.

readonly extensions : Object

获取瓦片集的扩展对象属性。
返回 tileset JSON 顶层的 extras 属性,其中包含特定于应用程序的元数据。如果 extras 不存在,则返回 undefined
See:

featureIdLabel : String

用于拾取和样式设置的特征 ID 集的标签。

对于 EXT_mesh_features,这是特征 ID 的标签属性,如果未指定,则为'featureId_N'(其中 N 是 featureIds 数组中的索引)。 EXT_feature_metadata 没有标签字段,因此此类特征 ID 集始终标记为'featureId_N',其中 N 是所有特征 ID 列表中的索引,其中特征 ID 属性列在特征 ID 纹理之前。

如果 featureIdLabel 设置为整数 N,它会自动转换为字符串'featureId_N'。如果每个基元和每个实例的功能 ID 都存在,则实例功能 ID 优先。

Experimental

This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.

foveatedConeSize : Number

优化选项。当 Cesium3DTileset#foveatedScreenSpaceError 为真时使用,以控制决定延迟哪些图块的锥体大小。立即加载此圆锥内的瓷砖。圆锥外的瓷砖可能会根据它们在圆锥外的距离以及 Cesium3DTileset#foveatedInterpolationCallback Cesium3DTileset#foveatedMinimumScreenSpaceErrorRelaxation 。将此设置为 0.0 意味着圆锥将是由相机位置及其视图方向形成的线。将此设置为 1.0 意味着锥体包含相机的整个视野​​,基本上禁用效果。
Default Value: 0.3
获取或设置一个回调,以控制在中央凹锥外的图块的屏幕空间错误提高多少,在 Cesium3DTileset#foveatedMinimumScreenSpaceErrorRelaxation Cesium3DTileset#maximumScreenSpaceError 之间进行插值。

foveatedMinimumScreenSpaceErrorRelaxation : Number

优化选项。当 Cesium3DTileset#foveatedScreenSpaceError 为真时使用,以控制中心凹锥外的瓷砖的起始屏幕空间误差松弛。根据提供的 Cesium3DTileset#foveatedInterpolationCallback ,屏幕空间错误将从这个值开始上升到 Cesium3DTileset#maximumScreenSpaceError
Default Value: 0.0

foveatedScreenSpaceError : Boolean

优化选项。通过暂时提高屏幕边缘周围图块的屏幕空间错误,优先加载屏幕中心的图块。一旦加载了由 Cesium3DTileset#foveatedConeSize 确定的屏幕中心的所有图块,屏幕空间错误就会恢复正常。
Default Value: true

foveatedTimeDelay : Number

优化选项。当 Cesium3DTileset#foveatedScreenSpaceError 为真时使用,以控制在相机停止移动后延迟瓦片开始加载之前等待的时间(以秒为单位)。此时间延迟可防止在相机移动时请求屏幕边缘周围的瓦片。将此设置为 0.0 将立即请求任何给定视图中的所有图块。
Default Value: 0.2
用于管理此图块集中基于图像的照明的属性。

immediatelyLoadDesiredLevelOfDetail : Boolean

如果为 true,则只会下载满足最大屏幕空间错误的图块。忽略跳过因素,只加载所需的图块。

仅在 Cesium3DTileset#skipLevelOfDetail true 时使用。

Default Value: false
触发该事件以指示已加载满足此帧屏幕空间错误的所有图块。当加载初始视图中的所有图块时,将触发一次此事件。

渲染场景后,在帧结束时触发此事件。

Default Value: new Event()
Example:
tileset.initialTilesLoaded.addEventListener(function() {
    console.log('Initial tiles are loaded');
});
See:

instanceFeatureIdLabel : String

用于拾取和样式设置的实例特征 ID 集的标签。

如果 instanceFeatureIdLabel 设置为整数 N,它会自动转换为字符串'instanceFeatureId_N'。如果每个基元和每个实例的功能 ID 都存在,则实例功能 ID 优先。

Experimental

This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.

着色模型时的浅色。当 undefined 时,将使用场景的浅色。

例如,通过设置 tileset.imageBasedLighting.imageBasedLightingFactor = new Cartesian2(0.0, 0.0) 禁用额外的光源将使图块集更暗。在这里,增加光源的强度将使图块集更亮。

Default Value: undefined
触发事件以指示加载新图块的进度。当请求新切片时、请求的切片完成下载以及下载的切片已处理并准备好渲染时,将触发此事件。

挂起的图块请求数 numberOfPendingRequests 和图块处理数 numberOfTilesProcessing 被传递给事件侦听器。

渲染场景后,在帧结束时触发此事件。

Default Value: new Event()
Example:
tileset.loadProgress.addEventListener(function(numberOfPendingRequests, numberOfTilesProcessing) {
    if ((numberOfPendingRequests === 0) && (numberOfTilesProcessing === 0)) {
        console.log('Stopped loading');
        return;
    }

    console.log(`Loading: requests: ${numberOfPendingRequests}, processing: ${numberOfTilesProcessing}`);
});

loadSiblings : Boolean

确定在遍历期间是否总是下载可见瓦片的兄弟。这对于确保在查看者左/右转时瓷砖已经可用可能很有用。

仅在 Cesium3DTileset#skipLevelOfDetail true 时使用。

Default Value: false

maximumMemoryUsage : Number

可用于缓存切片的最大 GPU 内存量(以 MB 为单位)。该值是根据已加载切片的几何、纹理和批处理表纹理估计的。对于点云,此值还包括每点元数据。

不在视图中的瓷砖被卸载以强制执行此操作。

如果减小此值导致卸载图块,则将在下一帧卸载图块。

如果需要大小超过 maximumMemoryUsage 的图块来满足所需的屏幕空间错误,由 Cesium3DTileset#maximumScreenSpaceError 确定,对于当前视图,则加载的图块的内存使用量将超过 maximumMemoryUsage 。例如,如果最大值为 256 MB,但需要 300 MB 的图块来满足屏幕空间错误,则可能会加载 300 MB 的图块。当这些瓷砖消失时,它们将被卸载。

Default Value: 512
See:

maximumScreenSpaceError : Number

用于驱动细节细化级别的最大屏幕空间误差。此值有助于确定图块何时细化为其后代,因此在平衡性能与视觉质量方面起着重要作用。

瓦片的屏幕空间误差大致等于如果在瓦片位置渲染半径等于瓦片 几何误差 的球体时将绘制的像素宽度。如果此值超过 maximumScreenSpaceError ,则图块将细化为其后代。

根据tileset, maximumScreenSpaceError 可能需要调整以达到正确的平衡。较高的值可提供更好的性能,但会降低视觉质量。

Default Value: 16
一个 4x4 变换矩阵,用于变换整个瓦片集。
Default Value: Matrix4.IDENTITY
Example:
// Adjust a tileset's height from the globe's surface.
const heightOffset = 20.0;
const boundingSphere = tileset.boundingSphere;
const cartographic = Cesium.Cartographic.fromCartesian(boundingSphere.center);
const surface = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, 0.0);
const offset = Cesium.Cartesian3.fromRadians(cartographic.longitude, cartographic.latitude, heightOffset);
const translation = Cesium.Cartesian3.subtract(offset, surface, new Cesium.Cartesian3());
tileset.modelMatrix = Cesium.Matrix4.fromTranslation(translation);
根据几何误差和眼罩照明控制点大小的选项。

preferLeaves : Boolean

优化选项。最好先装载叶子。
Default Value: false

preloadFlightDestinations : Boolean

优化选项。在相机飞行时在相机的飞行目的地获取瓷砖。
Default Value: true

preloadWhenHidden : Boolean

tileset.show false 时预加载图块。加载图块,就好像图块集可见但不渲染它们。
Default Value: false

progressiveResolutionHeightFraction : Number

优化选项。如果在 (0.0, 0.5] 之间,屏幕空间错误或超过屏幕空间错误的图块将优先考虑降低的屏幕分辨率的 progressiveResolutionHeightFraction*screenHeight 。这有助于在继续加载全分辨率图块时快速降低图块层。
Default Value: 0.3

readonly properties : Object

获取瓦片集的属性字典对象,其中包含有关每个特征属性的元数据。

有关完整的属性集,请参阅 3D Tiles 规范中的 属性架构参考

Example:
console.log(`Maximum building height: ${tileset.properties.height.maximum}`);
console.log(`Minimum building height: ${tileset.properties.height.minimum}`);
See:

readonly ready : Boolean

true 时,瓦片集的根瓦片被加载并且瓦片集准备好渲染。这在 Cesium3DTileset#readyPromise 解决之前设置为 true
Default Value: false

readonly readyPromise : Promise.< Cesium3DTileset >

获取当瓦片集的根瓦片被加载并且瓦片集准备好渲染时将被解决的承诺。

这个承诺在图块集被渲染的第一帧之前的帧结束时解决。

Example:
tileset.readyPromise.then(function(tileset) {
    // tile.properties is not defined until readyPromise resolves.
    const properties = tileset.properties;
    if (Cesium.defined(properties)) {
        for (const name in properties) {
            console.log(properties[name]);
        }
    }
});
用于获取 tileset JSON 文件的资源
根瓷砖。
确定瓦片集是投射还是接收来自光源的阴影。

启用阴影会影响性能。投射阴影的图块集必须渲染两次,一次来自相机,另一次来自灯光的视点。

仅当 Viewer#shadows true 时才会渲染阴影。

Default Value: ShadowMode.ENABLED
确定是否显示图块集。
Default Value: true

showCreditsOnScreen : Boolean

决定是否将tileset的信用显示在屏幕上
Default Value: false

readonly showOutline : Boolean

是否使用 CESIUM_primitive_outline 扩展显示模型的轮廓。为 true 时,将显示轮廓。如果为 false,则不显示轮廓。
Default Value: true

skipLevelOfDetail : Boolean

优化选项。确定是否应在遍历期间应用详细级别跳过。

替换-细化遍历的常见策略是将树的所有级别存储在内存中,并要求在父级细化之前加载所有子级。通过这种优化,可以完全跳过树的级别,并且可以将子级与父级一起渲染。使用此优化时,tileset 需要的内存显着减少。

Default Value: false
常量定义加载图块时要跳过的最小级别数。为 0 时,不跳过任何级别。例如,如果一个图块是 1 级,则不会加载任何图块,除非它们的级别大于 2。

仅在 Cesium3DTileset#skipLevelOfDetail true 时使用。

Default Value: 1

skipScreenSpaceErrorFactor : Number

定义要跳过的最小屏幕空间错误的乘数。例如,如果图块的屏幕空间错误为 100,则不会加载图块,除非它们是叶子或屏幕空间错误 <= 100/skipScreenSpaceErrorFactor

仅在 Cesium3DTileset#skipLevelOfDetail true 时使用。

Default Value: 16
应用于此图块集的 SplitDirection
Default Value: SplitDirection.NONE
使用 3D Tiles Styling 语言 定义的样式应用于图块集中的每个要素。

分配 undefined 以删除样式,这将在未应用样式时将图块集的视觉外观恢复为其默认值。

样式在 Cesium3DTileset#tileVisible 事件引发之前应用到 tile,因此 tileVisible 中的代码可以在应用样式后手动设置特性的属性(例如颜色和显示)。分配新样式时,任何手动设置的属性都会被覆盖。

使用始终为'真'的条件来为所有未被预先存在的条件覆盖的对象指定颜色。否则,将使用默认颜色 Cesium.Color.White。同样,使用始终为'真'的条件来为所有未被预先存在的条件覆盖的对象指定 show 属性。否则,将使用默认显示值 true。

Default Value: undefined
Example:
tileset.style = new Cesium.Cesium3DTileStyle({
   color : {
       conditions : [
           ['${Height} >= 100', 'color("purple", 0.5)'],
           ['${Height} >= 50', 'color("red")'],
           ['true', 'color("blue")']
       ]
   },
   show : '${Height} > 0',
   meta : {
       description : '"Building id ${id} has height ${Height}."'
   }
});
See:
触发事件以指示磁贴的内容无法加载。

如果没有事件侦听器,错误消息将记录到控制台。

传递给侦听器的错误对象包含两个属性:

  • url :失败磁贴的 url。
  • message :错误消息。

如果存在多个内容,则每个有错误的内部内容都会引发一次此事件。

Default Value: new Event()
Example:
tileset.tileFailed.addEventListener(function(error) {
    console.log(`An error occurred loading tile: ${error.url}`);
    console.log(`Error: ${error.message}`);
});
触发事件以指示已加载磁贴的内容。

加载的 Cesium3DTile 被传递给事件监听器。

此事件在帧被渲染时在图块集遍历期间被触发,以便对图块的更新在同一帧中生效。不要在事件监听期间创建或修改 Cesium 实体或原语。

Default Value: new Event()
Example:
tileset.tileLoad.addEventListener(function(tile) {
    console.log('A tile was loaded.');
});

readonly tilesLoaded : Boolean

当为 true 时,所有满足此帧屏幕空间错误的图块都会被加载。该视图的图块集已完全加载。
Default Value: false
See:
触发该事件以指示已卸载磁贴的内容。

卸载的 Cesium3DTile 被传递给事件监听器。

在渲染框架时,在卸载 tile 的内容之前立即触发此事件,以便事件侦听器可以访问 tile 的内容。不要在事件监听期间创建或修改 Cesium 实体或原语。

Default Value: new Event()
Example:
tileset.tileUnload.addEventListener(function(tile) {
    console.log('A tile was unloaded from the cache.');
});
See:
对于帧中的每个可见图块,此事件会触发一次。这可用于手动设置图块集的样式。

可见的 Cesium3DTile 被传递给事件监听器。

此事件在帧被渲染时在图块集遍历期间被触发,以便对图块的更新在同一帧中生效。不要在事件监听期间创建或修改 Cesium 实体或原语。

Default Value: new Event()
Examples:
tileset.tileVisible.addEventListener(function(tile) {
    if (tile.content instanceof Cesium.Batched3DModel3DTileContent) {
        console.log('A Batched 3D Model tile is visible.');
    }
});
// Apply a red style and then manually set random colors for every other feature when the tile becomes visible.
tileset.style = new Cesium.Cesium3DTileStyle({
    color : 'color("red")'
});
tileset.tileVisible.addEventListener(function(tile) {
    const content = tile.content;
    const featuresLength = content.featuresLength;
    for (let i = 0; i < featuresLength; i+=2) {
        content.getFeature(i).color = Cesium.Color.fromRandom();
    }
});

readonly timeSinceLoad : Number

返回瓦片集加载和第一次更新以来的时间,以毫秒为单位。

readonly totalMemoryUsageInBytes : Number

瓦片集使用的 GPU 内存总量(以字节为单位)。这个值是根据几何、纹理、批处理表纹理和加载的切片的二进制元数据估计的。
See:

vectorClassificationOnly : Boolean

指示仅应使用瓦片集的矢量瓦片进行分类。
Default Value: false
Experimental

This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.

vectorKeepDecodedPositions : Boolean

矢量瓦片是否应将解码位置保留在内存中。这与 Cesium3DTileFeature.getPolylinePositions 一起使用。
Default Value: false
Experimental

This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.

Methods

static Cesium.Cesium3DTileset.loadJson (tilesetUrl) Promise.<Object>

提供一个钩子来覆盖用于请求从远程服务器获取图块集时有用的图块集 json 的方法
Name Type Description
tilesetUrl Resource | String 要获取的json文件的url
Returns:
使用获取的 json 数据解析的承诺
销毁此对象持有的 WebGL 资源。销毁一个对象允许确定性地释放 WebGL 资源,而不是依赖垃圾收集器来销毁这个对象。

一旦一个对象被销毁,它就不应该被使用;调用 isDestroyed 以外的任何函数都会导致 DeveloperError 异常。因此,如示例中所做的那样,将返回值 ( undefined ) 分配给对象。
Throws:
Example:
tileset = tileset && tileset.destroy();
See:

hasExtension (extensionName) Boolean

如果瓦片集 JSON 文件在 extensionsUsed 中列出了扩展名,则为 true ;否则, false
Name Type Description
extensionName String 要检查的扩展名。
Returns:
如果瓦片集 JSON 文件在 extensionsUsed 中列出了扩展名,则为 true ;否则, false

isDestroyed () Boolean

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

如果这个对象被破坏了,它就不应该被使用;调用 isDestroyed 以外的任何函数都将导致 DeveloperError 异常。
Returns:
如果此对象被销毁,则为 true ;否则, false
See:
将图块集的 Cesium3DTileset#style 标记为脏,这会强制所有功能重新评估下一帧中的样式,每个都是可见的。
卸载上一帧未选择的所有图块。这可用于显式管理切片缓存并减少加载到 Cesium3DTileset#maximumMemoryUsage 以下的切片总数。

瓦片卸载发生在下一帧,以将所有 WebGL 删除调用保持在渲染循环内。

Type Definitions

Cesium.Cesium3DTileset.foveatedInterpolationCallback (p, q, time) Number

优化选项。当 Cesium3DTileset#foveatedScreenSpaceError 为 true 时用作回调,以控制为中心凹锥外的图块增加多少屏幕空间错误,在 Cesium3DTileset#foveatedMinimumScreenSpaceErrorRelaxation Cesium3DTileset#maximumScreenSpaceError 之间进行插值。
Name Type Description
p Number 要插值的起始值。
q Number 要插值的最终值。
time Number 插值时间一般在 [0.0, 1.0] 范围内。
Returns:
插值。
Default Value: Math.lerp