Cesium3DTileset.fromUrl。
| Name | Type | Description |
|---|---|---|
options |
Cesium3DTileset.ConstructorOptions | 描述初始化选项的对象。 |
Throws:
-
DeveloperError : 瓦片集必须是 3D Tiles 版本 0.0 或 1.0。
Examples:
try {
const tileset = await Cesium.Cesium3DTileset.fromUrl(
"http://localhost:8002/tilesets/Seattle/tileset.json"
);
scene.primitives.add(tileset);
} catch (error) {
console.error(`Error creating tileset: ${error}`);
}
// Turn on camera collisions with the tileset.
try {
const tileset = await Cesium.Cesium3DTileset.fromUrl(
"http://localhost:8002/tilesets/Seattle/tileset.json",
{ enableCollision: true }
);
scene.primitives.add(tileset);
} catch (error) {
console.error(`Error creating tileset: ${error}`);
}
// Common setting for the skipLevelOfDetail optimization
const tileset = await Cesium.Cesium3DTileset.fromUrl(
"http://localhost:8002/tilesets/Seattle/tileset.json", {
skipLevelOfDetail: true,
baseScreenSpaceError: 1024,
skipScreenSpaceErrorFactor: 16,
skipLevels: 1,
immediatelyLoadDesiredLevelOfDetail: false,
loadSiblings: false,
cullWithChildrenBounds: true
});
scene.primitives.add(tileset);
// Common settings for the dynamicScreenSpaceError optimization
const tileset = await Cesium.Cesium3DTileset.fromUrl(
"http://localhost:8002/tilesets/Seattle/tileset.json", {
dynamicScreenSpaceError: true,
dynamicScreenSpaceErrorDensity: 2.0e-4,
dynamicScreenSpaceErrorFactor: 24.0,
dynamicScreenSpaceErrorHeightFalloff: 0.25
});
scene.primitives.add(tileset);
See:
Members
allTilesLoaded : Event
此事件在场景渲染后的帧结束时触发。
-
Default Value:
new Event()
Example:
tileset.allTilesLoaded.addEventListener(function() {
console.log('All tiles are loaded');
});
See:
请参见 3D Tiles 规范中的 asset schema reference 以获取完整的属性集。
-
Default Value:
true
Deprecated: true
仅在 Cesium3DTileset#skipLevelOfDetail 为 true 时使用。
-
Default Value:
1024
readonly boundingSphere : BoundingSphere
Example:
const tileset = await Cesium.Cesium3DTileset.fromUrl("http://localhost:8002/tilesets/Seattle/tileset.json");
viewer.scene.primitives.add(tileset);
// 设置相机以查看新添加的瓦片集
viewer.camera.viewBoundingSphere(tileset.boundingSphere, new Cesium.HeadingPitchRange(0, -0.5, 0));
不在视图中的瓦片会被卸载以强制执行此限制。
如果降低此值导致瓦片卸载,则在下一帧卸载这些瓦片。
如果为了满足当前视图的期望屏幕空间误差(由 Cesium3DTileset#maximumScreenSpaceError 确定),
需要的瓦片大小超过 cacheBytes,则加载的瓦片的内存使用量将超过
cacheBytes,最多达到 maximumCacheOverflowBytes。
例如,如果 cacheBytes 是 500000,但需要 600000 字节的瓦片
来满足屏幕空间误差,则可以加载 600000 字节的瓦片(如果 maximumCacheOverflowBytes 至少为 100000)。
当这些瓦片超出视图时,它们将被卸载。
-
Default Value:
536870912
See:
readonly classificationType : ClassificationType
此选项仅适用于包含批处理 3D 模型、glTF 内容、几何数据或矢量数据的瓦片集。 即使未定义,矢量和几何数据也必须作为分类进行渲染,并默认为在地形和其他 3D 瓦片集上进行渲染。
对于批处理 3D 模型和 glTF 瓦片集启用此功能时,对 glTF 有一些要求/限制:
- glTF 不能包含形态目标、绑定或动画。
- glTF 不能包含
EXT_mesh_gpu_instancing扩展。 - 仅支持使用 TRIANGLES 的网格来分类其他资产。
- 网格必须是密闭的。
- 必须包含
POSITION语义。 - 如果同时存在
_BATCHID和索引缓冲区,则所有具有相同批处理 ID 的索引必须占据索引缓冲区的连续部分。 - 如果存在
_BATCHID而没有索引缓冲区,则所有具有相同批处理 ID 的位置必须占据位置缓冲区的连续部分。
此外,点或实例化的 3D 模型不支持分类。
接收分类的 3D 瓦片或地形必须是完全不透明的。
-
Default Value:
undefined
Experimental
此功能使用的是 3D Tiles 规范中尚未最终确定的部分,可能会在没有 Cesium 标准弃用政策的情况下发生变化。
clippingPlanes : ClippingPlaneCollection
ClippingPlaneCollection。
clippingPolygons : ClippingPolygonCollection
ClippingPolygonCollection。
Cesium3DTileset#colorBlendMode 为 MIX 时,用于在源颜色和特征颜色之间线性插值的值。
值为 0.0 时呈现源颜色,值为 1.0 时呈现特征颜色,介于两者之间的任何值都会导致源颜色和特征颜色的混合。
-
Default Value:
0.5
colorBlendMode : Cesium3DTileColorBlendMode
-
Default Value:
Cesium3DTileColorBlendMode.HIGHLIGHT
-
Default Value:
true
-
Default Value:
60.0
customShader : CustomShader|undefined
Model 的内容。
将自定义着色器与 Cesium3DTileStyle 一起使用可能会导致未定义行为。
-
Default Value:
undefined
Experimental
此功能使用的是 3D Tiles 规范中尚未最终确定的部分,可能会在没有 Cesium 标准弃用政策的情况下发生变化。
当为真时,为每个瓦片分配随机颜色。 这对于可视化 特征属于哪个瓦片非常有用,特别是在增量细化的情况下, 父瓦片的特征可能与子瓦片的特征交错。
-
Default Value:
false
确定是否仅使用上一个帧的瓦片进行渲染。 这 有效地“冻结”瓦片集到上一个帧,从而可以缩放 离开并查看已渲染的内容。
-
Default Value:
false
当为真时,将渲染每个可见瓦片的边界体积。如果瓦片具有内容边界体积或为空,则边界体积为白色;否则为红色。未达到屏幕空间误差且仍在细化到其后代的瓦片为黄色。
-
Default Value:
false
当为真时,将渲染每个可见瓦片内容的边界体积。如果瓦片具有内容边界体积,则边界体积为蓝色;否则为红色。
-
Default Value:
false
当为真时,绘制标签以指示每个瓦片的几何误差。
-
Default Value:
false
当为真时,绘制标签以指示每个瓦片的几何体和纹理内存使用情况。
-
Default Value:
false
当为真时,绘制标签以指示每个瓦片的命令数量、点数、三角形和特征数量。
-
Default Value:
false
当为真时,绘制标签以指示每个瓦片的 URL。
-
Default Value:
false
当为真时,将为每个瓦片渲染查看请求体积。
-
Default Value:
false
当为真时,将每个瓦片的内容渲染为线框。
-
Default Value:
false
当相机靠近瓦片集的地面平面并朝向地平线时,该优化效果最强。此外,对于紧密适合的边界体积(如盒子和区域),结果更加准确。
-
Default Value:
true
Fog#density,此选项控制 Cesium3DTileset#dynamicScreenSpaceError
优化应用的相机距离。较大的值会导致离相机更近的瓦片受到影响。此值必须为非负数。
此优化通过随着相机距离的变化,像钟形曲线一样使瓦片的屏幕空间误差 (SSE) 滚降。
这会导致在远离相机时选择低分辨率的瓦片。靠近相机时,不进行调整。
对于更远的瓦片,SSE 可降低最多达到 Cesium3DTileset#dynamicScreenSpaceErrorFactor
(以像素误差为单位)。
增加密度会使钟形曲线变得更窄,从而影响离相机更近的瓦片。这类似于将雾移动得更靠近相机。
当密度为 0 时,优化将对瓦片集没有影响。
-
Default Value:
2.0e-4
Cesium3DTileset#dynamicScreenSpaceError 优化在地平线瓦片上的强度。
较大的值会导致加载低分辨率的瓦片,从而在略微降低视觉质量的情况下提高运行时性能。该值必须为非负数。
更具体地说,此参数表示离相机较远的瓦片的屏幕空间误差 (SSE) 的最大调整(以像素为单位)。有关此优化如何工作的更多详细信息,请参见 Cesium3DTileset#dynamicScreenSpaceErrorDensity。
当 SSE 因子设置为 0 时,优化将对瓦片集没有影响。
-
Default Value:
24.0
Cesium3DTileset#dynamicScreenSpaceError 优化的“街道级”水平。
当相机低于此高度时,动态屏幕空间误差优化将产生最大效果,并在超过此值时逐渐减弱。有效值介于 0.0 和 1.0 之间。
-
Default Value:
0.25
readonly ellipsoid : Ellipsoid
true,则允许相机发生碰撞或进行拾取。当此选项为 true 时,如果 ScreenSpaceCameraController#enableCollisionDetection 为真,相机将被阻止进入或低于瓦片集表面。如果瓦片集中包含较多顶点的瓦片,这可能会对性能产生影响。
-
Default Value:
false
readonly environmentMapManager : DynamicEnvironmentMapManager
Example:
// Change the ground color used for a tileset's environment map to a forest green
const environmentMapManager = tileset.environmentMapManager;
environmentMapManager.groundColor = Cesium.Color.fromCssColorString("#203b34");
Experimental
此功能使用了3D Tiles规范中的部分内容,该规范尚未定稿,可能会在不遵循Cesium标准弃用政策的情况下发生更改。
extras 属性,其中包含应用特定的元数据。
如果 extras 不存在,则返回 undefined。
对于 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
此功能使用的是 3D Tiles 规范中尚未最终确定的部分,可能会在没有 Cesium 标准弃用政策的情况下发生变化。
Cesium3DTileset#foveatedScreenSpaceError 为 true 时使用,以控制决定哪些瓦片被延迟加载的锥形大小。
位于该锥形内部的瓦片会立即加载。锥形外部的瓦片将根据它们距锥形的远近以及 Cesium3DTileset#foveatedInterpolationCallback 和 Cesium3DTileset#foveatedMinimumScreenSpaceErrorRelaxation 进行潜在延迟加载。
将此设置为 0.0 表示锥形将是由相机位置和视线方向形成的直线。将此设置为 1.0 表示锥形覆盖相机的整个视野,基本上禁用该效果。
-
Default Value:
0.3
foveatedInterpolationCallback : Cesium3DTileset.foveatedInterpolationCallback
Cesium3DTileset#foveatedMinimumScreenSpaceErrorRelaxation 和 Cesium3DTileset#maximumScreenSpaceError 之间插值。
Cesium3DTileset#foveatedScreenSpaceError 为 true 时使用,以控制位于锥形外部瓦片的起始屏幕空间误差松弛值。
屏幕空间误差将从该值开始逐步提升,直到 Cesium3DTileset#maximumScreenSpaceError,具体根据提供的 Cesium3DTileset#foveatedInterpolationCallback。
-
Default Value:
0.0
Cesium3DTileset#foveatedConeSize 确定)加载完成后,屏幕空间误差将恢复正常。
-
Default Value:
true
Cesium3DTileset#foveatedScreenSpaceError 为真时,用于控制在相机停止移动后等待多少秒再开始加载延迟的瓦片。
此时间延迟可以防止在相机移动时请求屏幕边缘附近的瓦片。
将此值设置为 0.0 将立即请求任何给定视图中的所有瓦片。
-
Default Value:
0.2
imageBasedLighting : ImageBasedLighting
仅在 Cesium3DTileset#skipLevelOfDetail 为 true 时使用。
-
Default Value:
false
initialTilesLoaded : Event
此事件在场景渲染后的帧结束时触发。
-
Default Value:
new Event()
Example:
tileset.initialTilesLoaded.addEventListener(function() {
console.log('Initial tiles are loaded');
});
See:
如果 instanceFeatureIdLabel 设置为整数 N,它会自动转换为字符串 "instanceFeatureId_N"。 如果同时存在每个图元和每个实例的特征 ID,则实例特征 ID 优先。
Experimental
此功能使用的是 3D Tiles 规范中尚未最终确定的部分,可能会在没有 Cesium 标准弃用政策的情况下发生变化。
lightColor : Cartesian3
undefined 时,将使用场景的光源颜色。
例如,通过设置
tileset.imageBasedLighting.imageBasedLightingFactor = new Cartesian2(0.0, 0.0)
来禁用额外的光源会使瓦片集变得更暗。在这里,增加光源的强度会使瓦片集变得更亮。
-
Default Value:
undefined
loadProgress : Event
待处理瓦片请求的数量 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}`);
});
仅在 Cesium3DTileset#skipLevelOfDetail 为 true 时使用。
-
Default Value:
false
如果需要的瓦片大小超过 cacheBytes 加上 maximumCacheOverflowBytes
来满足当前视图的期望屏幕空间误差(由 Cesium3DTileset#maximumScreenSpaceError 确定),
则 Cesium3DTileset#memoryAdjustedScreenSpaceError 将被调整,
直到满足调整后的屏幕空间误差所需的瓦片使用的内存少于
cacheBytes 加上 maximumCacheOverflowBytes。
-
Default Value:
536870912
See:
瓦片的屏幕空间误差大致等同于如果在瓦片位置渲染一个半径等于瓦片的 几何误差 的球体
所绘制的像素宽度。如果该值超过 maximumScreenSpaceError,则瓦片细化到其子瓦片。
根据瓦片集的不同,maximumScreenSpaceError 可能需要进行调整以达到适当的平衡。
较高的值提供更好的性能,但视觉质量较低。
-
Default Value:
16
modelMatrix : Matrix4
-
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);
outlineColor : Color
-
Default Value:
Color.BLACK
pointCloudShading : PointCloudShading
-
Default Value:
false
-
Default Value:
true
tileset.show 为 false 时预加载瓦片。加载瓦片就像瓦片集是可见的一样,但不渲染它们。
-
Default Value:
false
progressiveResolutionHeightFraction*screenHeight 的瓦片将首先被优先加载。这可以帮助快速加载一层瓦片,同时继续加载全分辨率的瓦片。
-
Default Value:
0.3
请参阅 3D Tiles 规范中的 properties schema reference 以获取完整的属性集。
Example:
console.log(`Maximum building height: ${tileset.properties.height.maximum}`);
console.log(`Minimum building height: ${tileset.properties.height.minimum}`);
See:
readonly resource : Resource
readonly root : Cesium3DTile
启用阴影会对性能产生影响。投射阴影的瓦片集必须被渲染两次,第一次从相机视角,第二次从光源视角。
仅当 Viewer#shadows 为 true 时,阴影才会被渲染。
-
Default Value:
ShadowMode.ENABLED
-
Default Value:
true
-
Default Value:
false
-
Default Value:
true
替代精细化遍历的常见策略是将树的所有级别存储在内存中,并要求在父级可以细化之前加载所有子级。使用此优化后,可以完全跳过树的级别,并可以与其父级一起渲染子级。使用此优化时,瓦片集所需的内存显著减少。
-
Default Value:
false
仅在 Cesium3DTileset#skipLevelOfDetail 为 true 时使用。
-
Default Value:
1
<= 100 / skipScreenSpaceErrorFactor。
仅在 Cesium3DTileset#skipLevelOfDetail 为 true 时使用。
-
Default Value:
16
splitDirection : SplitDirection
SplitDirection。
-
Default Value:
SplitDirection.NONE
style : Cesium3DTileStyle|undefined
将 undefined 赋值以移除样式,这将恢复瓦片集的视觉外观到默认状态
(当没有应用样式时)。
样式在 Cesium3DTileset#tileVisible 事件被触发之前应用于瓦片,因此
tileVisible 中的代码可以在样式应用后手动设置要素的属性(例如颜色和显示)。
当分配新样式时,任何手动设置的属性都将被覆盖。
使用始终为 "true" 的条件来指定所有未被先前条件覆盖的对象的颜色。 否则,将使用默认颜色 Cesium.Color.White。类似地,使用始终为 "true" 的条件来 指定所有未被先前条件覆盖的对象的显示属性。否则,将使用默认显示值 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:
tileFailed : Event
如果没有事件监听器,错误消息将记录到控制台。
传递给监听器的错误对象包含两个属性:
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}`);
});
tileLoad : Event
已加载的 Cesium3DTile 将传递给事件监听器。
此事件在瓦片集遍历期间触发,同时帧正在渲染,以便在同一帧内使瓦片的更新生效。请勿在事件监听器中创建或修改 Cesium 实体或原始对象。
-
Default Value:
new Event()
Example:
tileset.tileLoad.addEventListener(function(tile) {
console.log('A tile was loaded.');
});
true 时,所有满足此帧屏幕空间误差的瓦片将被加载。该视图的瓦片集将
完全加载。
-
Default Value:
false
See:
tileUnload : Event
卸载的 Cesium3DTile 将传递给事件监听器。
此事件在瓦片内容卸载之前立即触发,同时帧正在渲染,以便事件监听器能够访问瓦片的内容。请勿在事件监听器中创建 或修改 Cesium 实体或原始对象。
-
Default Value:
new Event()
Example:
tileset.tileUnload.addEventListener(function(tile) {
console.log('A tile was unloaded from the cache.');
});
See:
tileVisible : Event
可见的 Cesium3DTile 将传递给事件监听器。
此事件在瓦片集遍历期间触发,同时帧正在渲染,以便在同一帧内使瓦片的更新生效。 请勿在事件监听器中创建或修改 Cesium 实体或原始对象。
-
Default Value:
new Event()
Examples:
tileset.tileVisible.addEventListener(function(tile) {
if (tile.content instanceof Cesium.Model3DTileContent) {
console.log('A 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();
}
});
-
Default Value:
false
Experimental
此功能使用的是 3D Tiles 规范中尚未最终确定的部分,可能会在没有 Cesium 标准弃用政策的情况下发生变化。
Cesium3DTileFeature.getPolylinePositions 一起使用。
-
Default Value:
false
Experimental
此功能使用的是 3D Tiles 规范中尚未最终确定的部分,可能会在没有 Cesium 标准弃用政策的情况下发生变化。
Methods
static Cesium.Cesium3DTileset.fromIonAssetId(assetId, options) → Promise.<Cesium3DTileset>
| Name | Type | Description |
|---|---|---|
assetId |
number | Cesium ion 资产 ID。 |
options |
Cesium3DTileset.ConstructorOptions | optional 描述初始化选项的对象。 |
Returns:
Throws:
-
RuntimeError : 当瓦片集资产版本不是 0.0、1.0 或 1.1, 或者当瓦片集包含未支持的必需扩展时。
- Cesium3DTileset#fromUrl
Example:
// Load a Cesium3DTileset with a Cesium ion asset ID of 124624234
try {
const tileset = await Cesium.Cesium3DTileset.fromIonAssetId(124624234);
scene.primitives.add(tileset);
} catch (error) {
console.error(`Error creating tileset: ${error}`);
}
See:
static Cesium.Cesium3DTileset.fromUrl(url, options) → Promise.<Cesium3DTileset>
| Name | Type | Description |
|---|---|---|
url |
Resource | string | 瓦片集 JSON 文件的 URL。 |
options |
Cesium3DTileset.ConstructorOptions | optional 描述初始化选项的对象。 |
Returns:
Throws:
-
RuntimeError : 当瓦片集资产版本不是 0.0、1.0 或 1.1, 或者当瓦片集包含未支持的必需扩展时。
- Cesium3DTileset#fromIonAssetId
Examples:
try {
const tileset = await Cesium.Cesium3DTileset.fromUrl(
"http://localhost:8002/tilesets/Seattle/tileset.json"
);
scene.primitives.add(tileset);
} catch (error) {
console.error(`Error creating tileset: ${error}`);
}
// Common setting for the skipLevelOfDetail optimization
const tileset = await Cesium.Cesium3DTileset.fromUrl(
"http://localhost:8002/tilesets/Seattle/tileset.json", {
skipLevelOfDetail: true,
baseScreenSpaceError: 1024,
skipScreenSpaceErrorFactor: 16,
skipLevels: 1,
immediatelyLoadDesiredLevelOfDetail: false,
loadSiblings: false,
cullWithChildrenBounds: true
});
scene.primitives.add(tileset);
// Common settings for the dynamicScreenSpaceError optimization
const tileset = await Cesium.Cesium3DTileset.fromUrl(
"http://localhost:8002/tilesets/Seattle/tileset.json", {
dynamicScreenSpaceError: true,
dynamicScreenSpaceErrorDensity: 2.0e-4,
dynamicScreenSpaceErrorFactor: 24.0,
dynamicScreenSpaceErrorHeightFalloff: 0.25
});
scene.primitives.add(tileset);
See:
| Name | Type | Description |
|---|---|---|
tilesetUrl |
Resource | string | 要获取的 JSON 文件的 URL。 |
Returns:
一旦对象被销毁,就不应使用它;调用除
isDestroyed 以外的任何函数将导致 DeveloperError 异常。因此,
将返回值(undefined)赋值给该对象,如示例中所示。
Throws:
-
DeveloperError : 此对象已被销毁,即调用了 destroy()。
Example:
tileset = tileset && tileset.destroy();
See:
| Name | Type | Description |
|---|---|---|
cartographic |
Cartographic | 要查找高度的地理坐标。 |
scene |
Scene | 可视化正在进行的场景。 |
Returns:
Example:
const tileset = await Cesium.Cesium3DTileset.fromIonAssetId(124624234);
scene.primitives.add(tileset);
const height = tileset.getHeight(scene.camera.positionCartographic, scene);
true;否则返回 false。
| Name | Type | Description |
|---|---|---|
extensionName |
string | 要检查的扩展名。 |
Returns:
true;否则返回 false。
Returns:
true;否则返回 false。
Cesium3DTileset#style 标记为脏值,这将强制所有
特征在每个可见的下一帧中重新评估样式。
Cesium3DTileset#cacheBytes 以下。
瓦片卸载发生在下一帧,以保持所有 WebGL 删除调用 在渲染循环内。
Type Definitions
Properties:
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
show |
boolean |
<optional> |
true | 确定瓦片集是否可见。 |
modelMatrix |
Matrix4 |
<optional> |
Matrix4.IDENTITY | 变换矩阵,用于转换瓦片集的根瓦片。 |
modelUpAxis |
Axis |
<optional> |
Axis.Y | 加载瓦片内容模型时,哪个轴被视为向上。 |
modelForwardAxis |
Axis |
<optional> |
Axis.X | 加载瓦片内容模型时,哪个轴被视为向前。 |
shadows |
ShadowMode |
<optional> |
ShadowMode.ENABLED | 确定瓦片集是投射阴影还是接收光源的阴影。 |
maximumScreenSpaceError |
number |
<optional> |
16 | 用于驱动细节级别优化的最大屏幕空间误差。 |
cacheBytes |
number |
<optional> |
536870912 | 瓦片缓存将被修剪的大小(以字节为单位),如果缓存中包含当前视图不需要的瓦片。 |
maximumCacheOverflowBytes |
number |
<optional> |
536870912 | 允许的最大额外内存(以字节为单位),用于缓存冗余空间,如果当前视图需要的内存超过 Cesium3DTileset#cacheBytes。 |
cullWithChildrenBounds |
boolean |
<optional> |
true | 优化选项。是否使用子瓦片的边界体积的联合来剔除瓦片。 |
cullRequestsWhileMoving |
boolean |
<optional> |
true | 优化选项。在相机移动时不要请求可能未使用的瓦片。当相机处于静止状态时,此优化适用。 |
cullRequestsWhileMovingMultiplier |
number |
<optional> |
60.0 | 优化选项。在移动时剔除请求所用的乘数。更大的值会导致更激进的剔除,更小的值则导致剔除较少。 |
preloadWhenHidden |
boolean |
<optional> |
false | 当 tileset.show 为 false 时预加载瓦片。加载瓦片就像瓦片集可见一样,但不渲染这些瓦片。 |
preloadFlightDestinations |
boolean |
<optional> |
true | 优化选项。在相机飞行时预加载相机飞行目标处的瓦片。 |
preferLeaves |
boolean |
<optional> |
false | 优化选项。优先加载叶子瓦片。 |
dynamicScreenSpaceError |
boolean |
<optional> |
true | 优化选项。对于街道级景观视图,远离相机的地方使用较低分辨率的瓦片。这将减少加载的数据量,并在视觉质量稍有下降的情况下提高瓦片集的加载时间。 |
dynamicScreenSpaceErrorDensity |
number |
<optional> |
2.0e-4 | 类似于 Fog#density,此选项控制 Cesium3DTileset#dynamicScreenSpaceError 优化应用的相机距离。较大的值将导致离相机更近的瓦片受到影响。 |
dynamicScreenSpaceErrorFactor |
number |
<optional> |
24.0 | 控制 Cesium3DTileset#dynamicScreenSpaceError 优化在地平线瓦片上的强度的参数。较大的值会导致加载较低分辨率的瓦片,提高运行时性能,但在视觉质量上会稍有下降。 |
dynamicScreenSpaceErrorHeightFalloff |
number |
<optional> |
0.25 | 瓦片集高度的比例,确定“街道级”相机视图的位置。当相机位于此高度以下时,Cesium3DTileset#dynamicScreenSpaceError 优化将产生最大作用,超过此值后将逐渐减弱。 |
progressiveResolutionHeightFraction |
number |
<optional> |
0.3 | 优化选项。如果在 (0.0, 0.5] 之间,屏幕空间误差达到或超过 progressiveResolutionHeightFraction*screenHeight 的瓦片将首先被优先加载。这可以帮助快速加载一层瓦片,同时继续加载全分辨率瓦片。 |
foveatedScreenSpaceError |
boolean |
<optional> |
true | 优化选项。通过暂时提高边缘瓦片的屏幕空间误差,优先加载屏幕中心的瓦片。一旦所有屏幕中心的瓦片(由 Cesium3DTileset#foveatedConeSize 确定)加载完毕,屏幕空间误差将恢复正常。 |
foveatedConeSize |
number |
<optional> |
0.1 | 优化选项。当 Cesium3DTileset#foveatedScreenSpaceError 为真时,用于控制确定哪些瓦片被延迟的锥形大小。处于锥形内的瓦片会立即加载。处于锥形外的瓦片会根据它们距锥形的远近及其屏幕空间误差进行延迟。这由 Cesium3DTileset#foveatedInterpolationCallback 和 Cesium3DTileset#foveatedMinimumScreenSpaceErrorRelaxation 控制。将其设置为 0.0 意味着锥形将由相机位置和视角形成的直线。将其设置为 1.0 意味着锥形将包含相机的整个视野,禁用此效果。 |
foveatedMinimumScreenSpaceErrorRelaxation |
number |
<optional> |
0.0 | 优化选项。当 Cesium3DTileset#foveatedScreenSpaceError 为真时,用于控制锥形外瓦片的起始屏幕空间误差放松。屏幕空间误差将根据提供的 Cesium3DTileset#foveatedInterpolationCallback 从瓦片集值提升到 Cesium3DTileset#maximumScreenSpaceError。 |
foveatedInterpolationCallback |
Cesium3DTileset.foveatedInterpolationCallback |
<optional> |
Math.lerp | 优化选项。当 Cesium3DTileset#foveatedScreenSpaceError 为真时,用于控制在锥形外提升屏幕空间误差的程度,从 Cesium3DTileset#foveatedMinimumScreenSpaceErrorRelaxation 插值到 Cesium3DTileset#maximumScreenSpaceError。 |
foveatedTimeDelay |
number |
<optional> |
0.2 | 优化选项。当 Cesium3DTileset#foveatedScreenSpaceError 为真时,用于控制在相机停止移动后等待多少秒再开始加载延迟的瓦片。这个时间延迟可以防止在相机移动时请求屏幕边缘附近的瓦片。将其设置为 0.0 会立即请求任何给定视图中的所有瓦片。 |
skipLevelOfDetail |
boolean |
<optional> |
false | 优化选项。确定在遍历期间是否应用细节级别跳过。 |
baseScreenSpaceError |
number |
<optional> |
1024 | 当 skipLevelOfDetail 为 true 时,必须达到的屏幕空间误差才能跳过细节级别。 |
skipScreenSpaceErrorFactor |
number |
<optional> |
16 | 当 skipLevelOfDetail 为 true 时,定义跳过的最小屏幕空间误差的乘数。与 skipLevels 一起用于确定要加载哪些瓦片。 |
skipLevels |
number |
<optional> |
1 | 当 skipLevelOfDetail 为 true 时,定义在加载瓦片时跳过的最小级别数的常量。设置为 0 时,不会跳过任何级别。与 skipScreenSpaceErrorFactor 一起用于确定要加载哪些瓦片。 |
immediatelyLoadDesiredLevelOfDetail |
boolean |
<optional> |
false | 当 skipLevelOfDetail 为 true 时,仅下载满足最大屏幕空间误差的瓦片。跳过因子被忽略,只有所需的瓦片会被加载。 |
loadSiblings |
boolean |
<optional> |
false | 当 skipLevelOfDetail 为 true 时,确定在遍历期间是否始终下载可见瓦片的兄弟瓦片。 |
clippingPlanes |
ClippingPlaneCollection |
<optional> |
用于选择性禁用瓦片集呈现的 ClippingPlaneCollection。 |
|
clippingPolygons |
ClippingPolygonCollection |
<optional> |
用于选择性禁用瓦片集呈现的 ClippingPolygonCollection。 |
|
classificationType |
ClassificationType |
<optional> |
确定地形、3D 瓷砖或两者将由此瓦片集分类。有关限制和限制的详细信息,请参见 Cesium3DTileset#classificationType。 |
|
ellipsoid |
Ellipsoid |
<optional> |
Ellipsoid.WGS84 | 确定地球大小和形状的椭球体。 |
pointCloudShading |
object |
<optional> |
用于构造 PointCloudShading 对象以基于几何误差和光照控制点衰减的选项。 |
|
lightColor |
Cartesian3 |
<optional> |
着色模型时的光源颜色。当 undefined 时,将使用场景的光源颜色。 |
|
imageBasedLighting |
ImageBasedLighting |
<optional> |
用于管理此瓦片集的图像基照明的属性。 | |
backFaceCulling |
boolean |
<optional> |
true | 是否剔除背面的几何体。当为真时,背面剔除由 glTF 材料的 doubleSided 属性决定;当为假时,将禁用背面剔除。 |
enableShowOutline |
boolean |
<optional> |
true | 是否启用使用 CESIUM_primitive_outline 扩展的模型的轮廓。这可以设置为 false,以避免加载时对几何体进行额外处理。为 false 时,showOutlines 和 outlineColor 选项将被忽略。 |
showOutline |
boolean |
<optional> |
true | 是否显示使用 CESIUM_primitive_outline 扩展的模型的轮廓。当为 true 时,显示轮廓;为 false 时,不显示轮廓。 |
outlineColor |
Color |
<optional> |
Color.BLACK | 渲染轮廓时使用的颜色。 |
vectorClassificationOnly |
boolean |
<optional> |
false | 表示仅应使用瓷砖集的向量瓦片进行分类。 |
vectorKeepDecodedPositions |
boolean |
<optional> |
false | 向量瓦片是否应将解码的位置保留在内存中。此选项与 Cesium3DTileFeature.getPolylinePositions 一起使用。 |
featureIdLabel |
string | number |
<optional> |
"featureId_0" | 用于拾取和样式设置的特征 ID 集的标签。对于 EXT_mesh_features,这是特征 ID 的标签属性,或在未指定的情况下为 "featureId_N"(其中 N 是特征 ID 数组中的索引)。EXT_feature_metadata 没有标签字段,因此此类特征 ID 集始终标记为 "featureId_N",其中 N 是所有特征 ID 列表中特征 ID 属性出现在特征 ID 纹理之前时的索引。如果 featureIdLabel 是整数 N,则会自动转换为字符串 "featureId_N"。如果存在逐个原始和逐实例特征 ID,实例特征 ID 将优先。 |
instanceFeatureIdLabel |
string | number |
<optional> |
"instanceFeatureId_0" | 用于拾取和样式设置的实例特征 ID 集的标签。如果 instanceFeatureIdLabel 设置为整数 N,则会自动转换为字符串 "instanceFeatureId_N"。如果存在逐个原始和逐实例特征 ID,实例特征 ID 将优先。 |
showCreditsOnScreen |
boolean |
<optional> |
false | 是否在屏幕上显示此瓦片集的版权信息。 |
splitDirection |
SplitDirection |
<optional> |
SplitDirection.NONE | 要应用于此瓦片集的 SplitDirection 分割。 |
enableCollision |
boolean |
<optional> |
false | 当 true 时,启用相机或 CPU 拾取的碰撞检测。当 true 时,相机将被阻止在瓦片集表面以下移动,如果 ScreenSpaceCameraController#enableCollisionDetection 为 true。 |
projectTo2D |
boolean |
<optional> |
false | 是否准确地将瓦片集投影到 2D。如果为真,则瓦片集将在 2D 中准确投影,但将使用更多内存。如果为假,瓦片集将使用更少的内存,并且仍将在 2D / CV 模式中呈现,但其投影位置可能不准确。此选项在瓦片集创建后无法设置。 |
enablePick |
boolean |
<optional> |
false | 是否允许在使用 WebGL 1 时与 pick 进行碰撞和 CPU 拾取。如果使用 WebGL 2 或更高版本,则将忽略此选项。如果使用 WebGL 1 且此选项为真,pick 操作将正常工作,但将使用更多内存。如果在 WebGL 1 中运行且此选项为假,模型将使用更少的内存,但 pick 将始终返回 undefined。此选项在瓦片集加载后无法设置。 |
debugHeatmapTilePropertyName |
string |
<optional> |
用于作为热图着色的瓦片变量。所有渲染的瓦片将相对于彼此指定的变量值着色。 | |
debugFreezeFrame |
boolean |
<optional> |
false | 仅用于调试。确定是否仅使用前一帧的瓦片进行渲染。 |
debugColorizeTiles |
boolean |
<optional> |
false | 仅用于调试。当为真时,为每个瓦片分配随机颜色。 |
enableDebugWireframe |
boolean |
<optional> |
false | 仅用于调试。此选项必须为真才能在 WebGL1 中有效。此选项在瓦片集创建后无法设置。 |
debugWireframe |
boolean |
<optional> |
false | 仅用于调试。当为真时,以线框的形式渲染每个瓦片的内容。 |
debugShowBoundingVolume |
boolean |
<optional> |
false | 仅用于调试。当为真时,渲染每个瓦片的边界体积。 |
debugShowContentBoundingVolume |
boolean |
<optional> |
false | 仅用于调试。当为真时,渲染每个瓦片内容的边界体积。 |
debugShowViewerRequestVolume |
boolean |
<optional> |
false | 仅用于调试。当为真时,渲染每个瓦片的查看请求体积。 |
debugShowGeometricError |
boolean |
<optional> |
false | 仅用于调试。当为真时,绘制标签以指示每个瓦片的几何误差。 |
debugShowRenderingStatistics |
boolean |
<optional> |
false | 仅用于调试。当为真时,绘制标签以指示每个瓦片的命令数量、点数、三角形和特征数量。 |
debugShowMemoryUsage |
boolean |
<optional> |
false | 仅用于调试。当为真时,绘制标签以指示每个瓦片使用的纹理和几何体内存(以兆字节为单位)。 |
debugShowUrl |
boolean |
<optional> |
false | 仅用于调试。当为真时,绘制标签以指示每个瓦片的 URL。 |
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
