请问异常原因是什么?
复现
cesium 沙盒 "cesium": "1.137.0"
import * as Cesium from "cesium";
const viewer = new Cesium.Viewer("cesiumContainer");
viewer.entities.add({
polygon: {
hierarchy: Cesium.Cartesian3.fromDegreesArray([
-99.0, 30.0, -99.1, 30.05, -99.1, 30.0,
]),
// height:0, // 明确声明后异常消失
},
});
viewer.zoomTo(viewer.entities);
setInterval(() => {
viewer.scene.clampToHeight(Cesium.Cartesian3.fromDegrees(-95.0, 30.0));
}, 100);
如果是要polygon贴地, 建议直接给明确高度
heightReference: Cesium.HeightReference.CLAMP_TO_GROUND;clampToHeight依赖当前帧的深度纹理,比如地形和其他Primitive的渲染结果,需要检测地形,polygon没有给高度,而且加了setInterval,会不断触发深度计算,导致渲染不稳定;所以不要频繁调用clampToHeight