What problem does it solve?
Handling user input, selection, and camera control in Three.js scenes is error-prone and repetitive; this Skill centralizes best practices for raycasting, mouse/touch conversion, and control integration so interactive 3D experiences behave reliably across devices.
Core Features & Use Cases
- Raycasting & Picking: Precise mouse and touch-to-world conversions, intersect object detection, and UV/face information retrieval for click and hover interactions.
- Camera Controls: Integration examples for OrbitControls, PointerLockControls, FlyControls, TrackballControls, and MapControls with damping, limits, and update patterns.
- Selection & Manipulation: Click-to-select, box selection, transform gizmos, drag controls, hover feedback, and selection helpers for editor-style workflows.
- Input Coverage & Performance: Touch support, keyboard movement, world↔screen conversions, ray-plane intersections, throttling recommendations, layer filtering, and collision proxy meshes for efficient raycasting.
- Use Case: Building an interactive product configurator where users click parts to inspect or drag components, with orbit camera controls and touch-friendly selection on mobile.
Quick Start
Use the threejs-interaction skill to add raycast-based click selection, orbit controls with damping, and basic touch support to your scene.