3D tiles point cloud feature picking

Right now the Cesium engine has two different backends for point clouds. For batched point clouds - like PointCloudBatched in the 3D Tiles Sandcastle dropdown - the normal batch table is used and you will see identical behavior as the b3dm tilesets.

For all other point clouds, aka those that store per-point properties, a shader backend is used and all point properties are stored in GPU memory only. We figured it was impractical to create a Cesium3DTileFeature for every single point, so you will not see the same type of object when doing a pick. Instead the pick object is just the point cloud as a whole. Therefore it is not currently possible to set or get a point’s color, show, or any of its properties. Doing so would require a CPU-GPU transfer that we just haven’t gotten around to yet. This also means styling is basically limited to the properties packed with the pnts tile, it sounds like your use case goes beyond this.

  1. Yes, the validator is still a ways to go.

  2. When using the MOUSE_MOVE event the endPosition property is used, for other events like LEFT_CLICK it is position

Side note: The color property in the pick object shouldn’t actually be there, that is a bug which seems to be a side effect of using the 3D Tiles inspector. We’ll have a fix for that.