Canvas coordinates when picking with a 2D pointer.
World-space 3D ray direction when raypicked.
Picked triangle's vertex indices. Only defined when an object and triangle was picked.
Picked Local-space point on surface. Only defined when an object and a point on its surface was picked.
World-space 3D ray origin when raypicked.
The picked SceneObject.
Snapped canvas coordinates when picking with a 2D pointer.
This has a value when PickResult.snappedToEdge or PickResult.snappedToVertex is true, otherwise will be null.
Returns true if picking has snapped to the canvas coordinates of the nearest edge.
When this is true, then PickResult.snappedCanvasPos will contain the canvas coordinates of the nearest position on teh nearest edge.
Not gated on viewObject — see snappedToVertex.
Returns true if picking has snapped to the canvas coordinates of the nearest vertex.
When this is true, then PickResult.snappedCanvasPos will contain the canvas coordinates of the nearest position on teh nearest vertex.
Not gated on viewObject — snap can land on a vertex when the
cursor is in empty space (no surface ray hit), and we want
callers to see that.
UV coordinates at picked position on surface. Only defined when an object and a point on its surface was picked.
The picked ViewObject.
Picked View-space point on surface. Only defined when an object and a point on its surface was picked.
Normal vector at picked position on surface. Only defined when an object and a point on its surface was picked.
Picked World-space point. Populated when the surface ray hit an object's surface OR when a snap-to-vertex / snap-to-edge landed (in which case it's the snapped point's world position — which can be valid even with no surface hit, e.g. the cursor was in empty space adjacent to a vertex).
Gated on gotWorldPos only — NOT on viewObject. The snap path
resolves a worldPos without an associated picked object when the
cursor is in empty space; a viewObject-gated check would silently
drop those snap hits.
Result of a pick operation.