Cómo crear Componentes solo para XR
Muchos componentes solo son necesarios una vez que se inicia una sesión de VR o AR.
Para asegurarte de que los componentes no se actualicen fuera de las sesiones de XR, puedes usar el siguiente fragmento de código.
import {Component} from '@wonderlandengine/api';
export class ActiveOnlyInVr extends Component {
static TypeName = 'active-only-in-vr';
start() {
this.engine.onXRSessionStart.add(this.onXRSessionStart);
this.engine.onXRSessionEnd.add(this.onXRSessionEnd);
/* La sesión podría ya estar activa */
this.active = !!this.engine.xr;
}
onDestroy() {
this.engine.onXRSessionStart.remove(this.onXRSessionStart);
this.engine.onXRSessionEnd.remove(this.onXRSessionEnd);
}
update() {
/* Solo se llama cuando xrSession es válida */
}
onXRSessionStart = s => {
this.active = true;
};
onXRSessionEnd = s => {
this.active = false;
};
}); (Des-)Activar otros Componentes
Si deseas desactivar/activar otros componentes según el estado de la sesión, sin cambiar su código, puedes usar los componentes vr-active-mode-switch, que desactivarán/activarán componentes dependiendo de si el usuario está en una sesión de XR o no.