FirstPersonCamera
new FirstPersonCamera(physics : Object, options : Object)Create a FirstPersonCamera.
Constructor Parameters
physicsObjectPhysics instance
optionsoptionalObjectCamera options
Default is
Default is
{}.canvasHTMLCanvasElementCanvas element for pointer locktargetoptionalTHREE.Object3DPlayer mesh to followeyeHeightoptionalnumberEye height offset from target position
Default is1.7.sensitivityoptionalObjectMouse sensitivity
Default is{ x: 2, y: 2 }.pitchLimitsoptionalArray<number>Vertical look limits in degrees
Default is[-85, 85].fovoptionalnumberField of view
Default is70.
Properties
# .canvas : HTMLCanvasElement
Canvas element for pointer lock.
# .eyeHeight : number
Eye height offset from target position.
# .sensitivity : Object
Mouse sensitivity for rotation.
# .pitchLimits : Array.
Vertical look limits in degrees [min, max].
# .locked : boolean
Whether pointer lock is currently active.
# .yaw : number
Current yaw angle in radians.
# .pitch : number
Current pitch angle in radians.
Methods
on#
on(event : 'lock'|'unlock', callback : function) : thisRegister an event callback.
Parameters
event'lock' | 'unlock'Event name
callbackfunctionCallback function
Returns
this — For chainingoff#
off(event : 'lock'|'unlock', callback : function) : thisRemove an event callback.
Parameters
event'lock' | 'unlock'Event name
callbackfunctionCallback to remove
Returns
this — For chainingsetYaw#
setYaw(radians : number) : thisSet the yaw angle (horizontal rotation).
Parameters
radiansnumberYaw angle in radians
Returns
this — For chainingsetPitch#
setPitch(radians : number) : thisSet the pitch angle (vertical rotation).
Parameters
radiansnumberPitch angle in radians
Returns
this — For chainingupdate#
update(delta : number)Update camera state. Call each frame.
Parameters
deltanumberTime delta in seconds
lock#
lock()Manually request pointer lock.
unlock#
unlock()Exit pointer lock.
dispose#
dispose()Clean up resources and event listeners.