需求如下:
在 Cesium 中,绘制一个金字塔形状的多面体(底面为四边形,然后四个侧面为三角形,一共有五个顶点)。根据服务器端数据的推送,多面体的五个顶点发生位置的变化,由此引发了这个多面体的变形效果。
当前思路:
使用 Primitive 绘制。 这个 primitive 实例,由5个 PolygonGeometry 绘制的 geometryInstances(四个三角形侧面,和一个四边形底面)构成。
服务器端推送数据时,前端 remove 当前 scene 中的 primitive 实例,然后重新创建一个 primitive 对象并添加到 scene 中。
出现问题:
在删除而后重新添加 primitive 的瞬间,屏幕上的 primitive 会闪烁一下。如何消除这个闪烁?
或者,有没有其它合适的方案,来实现这个需求?
补充描述:
“闪烁”并非指不连贯的,没有过渡的变化,而是 这个多边形会消失一瞬间,而后又马上出现。不太明白,消失的原因何在。“消失”并非我所期望的。
我觉得你的思路没问题,应该是刷新那一下抖了一下。其实是可以理解的,因为中间的过渡状态都没有。
目前我还不确定Cesium是否支持,但是你可以从一个方向看看:
请教,那如何在创建 PolygonGeometry 时使用 sampledproperty 类型的数据呢?
查了下API,PolygonGeometry 的顶点数据只接收 Array< Cartesian3 > 类型的参数。我尝试传入 sampledPositionProperty 类型的positions,就 renderError 了。