UNPKG

@pmndrs/xr

Version:
23 lines (22 loc) 846 B
import { Object3D } from 'three'; import { configureXRControllerModel, loadXRControllerModel } from '../controller/model.js'; import { createUpdateXRControllerVisuals } from '../controller/visual.js'; import { onXRFrame } from './utils.js'; /** * Component for rendering a 3D model for the XRController * @param state: XRControllerState * @param options: XRControllerModelOptions */ export class XRControllerModel extends Object3D { constructor(state, options) { super(); let update = () => { }; onXRFrame(() => update()); loadXRControllerModel(state.layout).then((model) => { this.add(model); state.object = model; configureXRControllerModel(model, options); update = createUpdateXRControllerVisuals(model, state.layout, state.gamepad); }); } }