@pixi/3d
    Preparing search index...

    Interface FPSCameraOptions

    Constructor options for FPSCamera

    Every field but view has a default. Every option but position is also a property on the instance; move camera.position for that.

    const walker: Omit<FPSCameraOptions, 'view'> = { position: { x: 0, y: 1.7, z: 5 }, moveSpeed: 3 };
    const fpsCamera = new FPSCamera({ view: view3d, ...walker });
    interface FPSCameraOptions {
        autoUpdate?: boolean;
        enabled?: boolean;
        keyboard?: boolean;
        lookSpeed?: number;
        maxPitch?: number;
        moveSpeed?: number;
        pitch?: number;
        pointerLock?: boolean;
        position?: PointData3D;
        preventContextMenu?: boolean;
        view: View3D;
        yaw?: number;
    }
    Index
    autoUpdate?: boolean

    Run update() from Ticker.shared every frame

    true
    
    const fpsCamera = new FPSCamera({ view: view3d, autoUpdate: false });

    app.ticker.add((ticker) => fpsCamera.update(ticker));
    enabled?: boolean

    Whether look input and movement apply

    true
    
    const fpsCamera = new FPSCamera({ view: view3d, enabled: false });

    playButton.on('pointertap', () => (fpsCamera.enabled = true));
    keyboard?: boolean

    Read WASD or arrow keys, Space and Shift from window for movement; set false to move only through move

    true
    
    const fpsCamera = new FPSCamera({ view: view3d, keyboard: false });
    
    lookSpeed?: number

    Look sensitivity in radians per pixel

    0.002
    
    const fpsCamera = new FPSCamera({ view: view3d, lookSpeed: 0.004 });
    
    maxPitch?: number

    Pitch clamp in radians, keeping the view short of straight up / down

    Math.PI * 0.49
    
    const fpsCamera = new FPSCamera({ view: view3d, maxPitch: Math.PI / 3 });
    
    moveSpeed?: number

    Movement speed in world units per second

    5
    
    const fpsCamera = new FPSCamera({ view: view3d, moveSpeed: 10 });
    
    pitch?: number

    Initial pitch in radians, clamped to ±maxPitch

    0
    
    const fpsCamera = new FPSCamera({ view: view3d, pitch: -0.2 });
    
    pointerLock?: boolean

    Request pointer lock on the canvas when the View is pressed; FPSCamera#pointerLock has the details

    false
    
    const fpsCamera = new FPSCamera({ view: view3d, pointerLock: true });
    
    position?: PointData3D

    Initial world position; the camera's current position when omitted

    const fpsCamera = new FPSCamera({ view: view3d, position: { x: 0, y: 1.7, z: 5 } });
    
    preventContextMenu?: boolean

    Keep the browser's context menu from opening over the View; FPSCamera#preventContextMenu covers where it still opens

    true
    
    const fpsCamera = new FPSCamera({ view: view3d, preventContextMenu: false });
    
    view: View3D

    The view whose camera the controller drives and whose pointer events it reads

    const fpsCamera = new FPSCamera({ view: view3d });
    
    yaw?: number

    Initial yaw in radians

    0
    
    const fpsCamera = new FPSCamera({ view: view3d, yaw: Math.PI });