CesiumGS / cesium-omniverse

Bringing the 3D geospatial ecosystem to Omniverse
https://cesium.com/platform/cesium-for-omniverse/
Apache License 2.0
55 stars 7 forks source link

Picking support #154

Open lilleyse opened 1 year ago

lilleyse commented 1 year ago

Implement raycast picking similar to Cesium for Unreal / Unity so that it's possible to do things like click an OSM building and view its metadata.

Requires physics support first: https://github.com/CesiumGS/cesium-omniverse/issues/153.

timoore commented 6 months ago

Taking a look at this and noting that it depends on #153 . Do you see using https://github.com/CesiumGS/cesium-native/pull/777 as an alternative?

lilleyse commented 6 months ago

Do you see using https://github.com/CesiumGS/cesium-native/pull/777 as an alternative?

Potentially. We should check out omni.kit.raycast.query first which doesn't depend on physics. Not sure if it works with Fabric yet.

lilleyse commented 6 months ago

Raycasting request from the forum: https://community.cesium.com/t/ground-detection-in-cesium-for-omniverse/29819/2

lilleyse commented 6 months ago

@timoore do you know if the ray cast query returns the path of the Fabric prim? If it doesn't we'll likely need to postpone this feature until that capability is supported.

timoore commented 6 months ago

@timoore do you know if the ray cast query returns the path of the Fabric prim? If it doesn't we'll likely need to postpone this feature until that capability is supported.

The raycast query result has properties for get_target_usd_path, instance_id, and primitive_id. I don't know if that is all completely specific to USD or would return sensible results for a Fabric prim.

lilleyse commented 6 months ago

A related feature request: get the position of the clicked point (or closest vertex) and provide it back to the user as longitude/latitude/height.