摘要:new mars3d.thing.Sightline({ 实现航线穿透山体/模型部分的虚线效果且不随视角变化而变化,避免depthFailMaterial材质随着视角变化遮挡部分也会虚线效果。
前置说明:
1.不可视区域颜色hiddenColor支持设置材质,实现穿过山体或者模型的部分使用虚线效果,并且不随着视角变化
2.博客里面的depthFailMaterial在视角变化的时候,被山体或者模型遮挡的部分也会变成虚线,与期望的穿过模型或者山体的虚线效果不一致。
3.在上篇博客中,使用的depthFailMaterial参数,在视角变化的时候,被当前视角下,被山体遮挡部分的航线,并未穿透山体也会被修改效果为虚线,与穿透山体的效果存在差异。
https://blog.csdn.net/m0_69803146/article/details/137596719?spm=1001.2014.3001.5501
具体效果见下面👇👇👇👇👇👇👇👇👇
解决方案:
没穿过山的要一直是实线,不能因为遮挡呈虚线。
1.不可视区域颜色hiddenColor支持设置材质,实现穿过山体或者模型的部分使用虚线效果,并且不随着视角变化
-- 3个属性值均支持传入MaterialProperty,比如
sightline = new mars3d.thing.Sightline({
visibleColor: new Cesium.Color(0, 1, 0, 0.4),
hiddenColor: new Cesium.Color(1, 0, 0, 0.4),
depthFailColor: mars3d.MaterialUtil.createMaterialProperty(mars3d.MaterialType.PolylineDash, {
dashLength: 20.0,
color: "#ff0000"
})
})
map.addThing(sightline)
2.博客里面的depthFailMaterial在视角变化的时候,被山体或者模型遮挡的部分也会变成虚线,与期望的穿过模型或者山体的虚线效果不一致。
depthFailMaterial的意思就是被遮挡部分的显示效果,如果不想显示,不传值即可。