Adattamento della rotazione dello schermo per AR Session
Questo articolo spiega come configurare una AR Session quando è necessario eseguire un mini programma Weixin in modalità orizzontale.
Prima di iniziare
- Comprendi cosa sono gli angoli di rotazione dell'immagine della fotocamera rispetto all'orientamento dello schermo tramite Renderizzazione 3D basati su AR.
- Comprendi il Concetto e flusso di AR Session.
Enumerazione dell'orientamento dello schermo per il plugin Mega Mini Program
Nota
Fare riferimento alle definizioni ufficiali dei sistemi come IOS, Android per l'orientamento dello schermo del telefono.
Enumerazione dell'orientamento dello schermo per il plugin Mega Mini Program DeviceOrientation:
| Costante | Valore | Descrizione |
|---|---|---|
Portrait |
0 | Portrait |
LandscapeLeft |
90 | LandscapeLeft |
PortraitUpsideDown |
180 | PortraitUpsideDown |
LandscapeRight |
270 | LandscapeRight |
Modificare l'orientamento dello schermo nella configurazione globale del mini programma Weixin
Aggiungere la configurazione window in app.json, per definizioni dettagliate vedere Risposta alle modifiche dell'area di visualizzazione.
"window": {
"pageOrientation": "landscape"
}
Inserire "portrait" (verticale) o "landscape" (orizzontale) in base alla situazione reale.
Attenzione
Non utilizzare mai "auto" nelle applicazioni AR mini program, in alcuni casi può causare gravi anomalie nella scena AR.
Impostare l'orientamento dello schermo
Chiamare setDeviceOrientation(deviceOrientation) passando la direzione di rotazione dello schermo. Può essere chiamato in qualsiasi momento, effetto immediato.
Ad esempio, per utilizzare in modalità orizzontale con rotazione di 90 gradi in senso antiorario rispetto alla posizione verticale naturale dello schermo:
let deviceOrientation = mega.DeviceOrientation.LandscapeLeft;
session.setDeviceOrientation(deviceOrientation);
L'impostazione dell'orientamento dello schermo fornita dal plugin mega serve a compensare la mancanza di monitoraggio dell'orientamento dello schermo nei mini program Weixin. Weixin fornisce solo le opzioni portrait e landscape nelle impostazioni pageOrientation, ma per le applicazioni AR queste due opzioni non sono sufficienti. Ad esempio, un paesaggio ruotato di 90 gradi in senso antiorario rispetto all'orientamento naturale è completamente diverso da un paesaggio ruotato di 270 gradi in senso antiorario rispetto all'orientamento naturale.
Pertanto, quando pageOrientation in app.json è impostato su portrait, non è necessario chiamare setDeviceOrientation(deviceOrientation), poiché la direzione verticale naturale del telefono è l'orientamento predefinito della sessione.
Quando pageOrientation in app.json è impostato su landscape, è necessario chiamare setDeviceOrientation(deviceOrientation) per fissare l'orientamento dello schermo su LandscapeLeft o LandscapeRight