Thanks for your work. I have successfully loaded a 3dtiles format point cloud model in UE. How can I use line trace to pick point cloud 3dtiles models and obtain information about the clicked point?
Hi @zuihuifeideyu,
Unfortunately I believe physics traces don’t currently work with point cloud 3D Tiles in Cesium for Unreal. Point clouds are rendered as individual points rather than triangulated meshes, so there’s no collision geometry for UE’s physics system to interact with, even with CreatePhysicsMeshes enabled on the tileset. We tested this with both LineTraceByChannel and sphere sweeps and confirmed neither registers a hit, even after trying a few physics permutations.
One workaround: if you can generate a mesh from your point cloud (using a tool like CloudCompare or Open3D), you could load it as a separate invisible collision mesh overlapping the point cloud. That way you keep the point cloud visual but get physics hits from the mesh underneath. Any hit on that mesh would also give you a spatial position you could use to find the nearest point.
If you need to access the point cloud’s metadata in code without picking, I think you can iterate through the property tables on each loaded tile’s primitive component, GetModelMetadata, then GetMetadataValuesForFeature by feature ID. That won’t give you click-based selection, but it does let you query the data programmatically.