Picking and Interactions
PickingPlugin that handles pointer/mouse/touch interaction with the scene objects, object selection state, and Transform Controls.
PickingPlugin provides events and configuration when the user interacts with the scene objects.
The plugin must be added to the viewer before use:
const picking = viewer.addPlugin(PickingPlugin);
hitObject event is dispatched whenever the user clicks/taps on a 3d object in the scene.
To get the object:
console.log('Hit Event:', e);
console.log('Hit Time:', e.time);
console.log('Hit Intersect:', e.intersects.intersect);
console.log('Hit Object:', e.intersects.selectedObject);
// To disable object selection, set `e.intersects.selectedObject` to null before return
e.intersects.selectedObject = null
// or change the selection to something else
e.intersects.selectedObject = e.intersects.selectedObject.parent
selectedObjectChangedevent is fired after
hitObjectwith the final selected object.
hoverObjectChangedfired when the pointer enters or leaves hovering an object. (Hover is when the pointer is moving over an element but no button is pressed).
For more granular control over mouse interactions its possible to add events listeners directly to the canvas element from
viewer.canvas and get the raw pointer data. See Pointer Events Web API