Interacting with your 3D scene is crucial for development and user experience. THREE.js provides powerful camera controls to navigate your virtual world. In this lesson, we'll explore two fundamental control types: OrbitControls
for inspecting objects and FlyControls
for free-flight navigation.
OrbitControls
are ideal for examining specific objects, allowing you to rotate around them, pan (right-click drag or two-finger drag), and zoom (scroll wheel).FlyControls
provide a "first-person" flying experience. Use W, A, S, D for movement, R/F for up/down, and mouse drag to look around (if dragToLook
is true).controls.update()
(for OrbitControls with damping) or controls.update(delta)
(for FlyControls) in your animation loop.FlyControls
require a THREE.Clock()
instance to calculate the delta
time for smooth, frame-rate independent movement.movementSpeed
and rollSpeed
for FlyControls
to suit your scene's scale and desired feel.OrbitControls
and FlyControls
from the THREE.js examples.update()
on controls within the animation loop for proper functionality.THREE.Clock
for time-dependent updates, especially with FlyControls
.