Come creare Componenti solo per XR
Molti componenti sono necessari solo una volta avviata una sessione VR o AR.
Per assicurarsi che i componenti non vengano aggiornati al di fuori delle sessioni XR, puoi utilizzare il seguente snippet di codice.
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 sessione potrebbe essere già attiva */
this.active = !!this.engine.xr;
}
onDestroy() {
this.engine.onXRSessionStart.remove(this.onXRSessionStart);
this.engine.onXRSessionEnd.remove(this.onXRSessionEnd);
}
update() {
/* Viene chiamato solo quando xrSession è valida */
}
onXRSessionStart = s => {
this.active = true;
};
onXRSessionEnd = s => {
this.active = false;
};
}); (Dis)attivare altri Componenti
Se vuoi disattivare/attivare altri componenti in base allo stato della sessione,
senza modificare il loro codice, puoi usare i componenti vr-active-mode-switch,
che disattiveranno/attiveranno i componenti a seconda che l’utente sia in una sessione XR o meno.