cesium 模型部件添加颜色

tileset.style = new Cesium.Cesium3DTileStyle({
  color: {
    conditions: [
      ["${Height} >= 83", "color('purple', 0.5)"],
      ["${Height} >= 80", "color('red')"],
      ["${Height} >= 70", "color('orange')"],
      ["${Height} >= 12", "color('yellow')"],
      ["${Height} >= 7", "color('lime')"],
      ["${Height} >= 1", "color('cyan')"],
      ["true", "color('blue')"],
    ]
  }
});
如果 tileset 可以存储一些属性信息, 比如 height,name等信息。都会存在 ModelFeatureTable中。可以通过拾取获取。
tileset 
const propertyIds = feature.getPropertyIds();
 feature.getProperty(propertyId);


const handler = new Cesium.ScreenSpaceEventHandler(viewer.canvas);
handler.setInputAction(function (movement) {
  const feature = viewer.scene.pick(movement.position);
  if (!Cesium.defined(feature)) {
    return;
  }
  console.log(`Class: ${feature.getExactClassName()}`);
  console.log("Properties:");
  const propertyIds = feature.getPropertyIds();
  const length = propertyIds.length;
  for (let i = 0; i < length; ++i) {
    const propertyId = propertyIds[i];
    const value = feature.getProperty(propertyId);
    console.log(`  ${propertyId}: ${value}`);
  }
}, Cesium.ScreenSpaceEventType.LEFT_CLICK);
posted @ 2025-06-24 15:21  7c89  阅读(38)  评论(0)    收藏  举报