Point. Transform. Release.
Follow the official XR bridge: a controller ray selects a mesh, the
TransformControls helper becomes interactive, and
selectstart, move, and selectend are forwarded through the control's
XR raycaster.
Preparing the scene, transform gizmo, controller spaces, and XR session entry point...
- mode
- -
- controllers
- -
- target
- -
- transform
- -
- axis
- -
- dragging
- -
- ray hits
- -
- events
- -
- draws
- -
- frames
- -
Connect a virtual controller, aim at a target, select it, then send selectstart, move, and selectend.
The log records the last eight controller and TransformControls transitions.
setFromXRController(controller)aim the raycasterattach(object)show the helpergetRaycaster()share XR inputpointerDown / Move / Up(null)forward XR gesturesThe desktop buttons dispatch the same EventDispatcher events used by an immersive controller. A synthetic XYZ axis and small move assist make the pointer path deterministic when no physical gizmo ray is available.
Desktop paths verify raycasting, ownership, and transform forwarding; physical controller pose, input profiles, and immersive frame timing still require a headset.
The XR button is a real session entry point. Use ?forceWebGL=1 for the WebGL2 companion; desktop controller paths are labeled simulation.