使用产品:SuperMap_iClient3D_10i_SP1_for_WebGL_CN
3dtiles数据的版本是1.0
根据官网:
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}."'
}
});
官网给出的这个例子,是支持带透明度的颜色的。
然后实际运行时,若我设置的style带有透明度,那部分数据就不能显示渲染出来。
如下图:这样是可以正常渲染
layer.style = new Cesium.Cesium3DTileStyle({
color: {
conditions: [
[
"${用地代} === 'A1'",
'rgb(255, 0, 63)',
'A1'
],
[
'true',
'color("blue")',
'其它'
]
]
}
})
渲染结果:
加上透明度后
layer.style = new Cesium.Cesium3DTileStyle({
color: {
conditions: [
[
"${用地代} === 'A1'",
'rgb(255, 0, 63)',
'A1'
],
[
'true',
'color("blue", 0.5)',
'其它'
]
]
}
})
运行后,发现只有"${用地代} === 'A1'"这部分数据渲染出来了。