AR Session adaptación de rotación de pantalla
Este artículo introduce cómo configurar AR Session cuando se necesita ejecutar el mini programa de WeChat en orientación horizontal.
Antes de comenzar
- Comprende qué es el ángulo de rotación de la imagen de la cámara en relación con la orientación de la pantalla a través de Renderizado 3D impulsado por AR.
- Comprende Conceptos y flujo de AR Session.
Enumeración de orientación de pantalla del plugin Mega para mini programas
Nota
Para la definición de la orientación de la pantalla del teléfono móvil, consulta la definición oficial de sistemas como IOS, Android, etc.
Enumeración de orientación de pantalla del plugin Mega para mini programas DeviceOrientation:
| Constante | Valor | Descripción |
|---|---|---|
Portrait |
0 | Portrait |
LandscapeLeft |
90 | LandscapeLeft |
PortraitUpsideDown |
180 | PortraitUpsideDown |
LandscapeRight |
270 | LandscapeRight |
Modificar la orientación de pantalla en la configuración global del mini programa de WeChat
Agrega la configuración window en app.json. Para definiciones específicas, consulta Cambios en el área de visualización responsive.
"window": {
"pageOrientation": "landscape"
}
Ingresa "portrait" (vertical) o "landscape" (horizontal) según la situación real.
Precaución
Nunca uses "auto" en aplicaciones de mini programas AR, ya que en algunos casos puede causar anomalías graves en la imagen AR.
Configurar la orientación de pantalla
Llama a setDeviceOrientation(deviceOrientation) pasando la dirección de rotación de la pantalla. Se puede llamar en cualquier momento y surtirá efecto inmediatamente.
Por ejemplo, para usar en modo horizontal con la pantalla rotada 90 grados en sentido antihorario respecto a la posición vertical natural:
let deviceOrientation = mega.DeviceOrientation.LandscapeLeft;
session.setDeviceOrientation(deviceOrientation);
La configuración de orientación de pantalla proporcionada por el plugin mega es para compensar la falta de monitoreo de orientación de pantalla en mini programas de WeChat. WeChat solo ofrece dos opciones en la configuración de pageOrientation: portrait y landscape, lo cual es insuficiente para aplicaciones AR. Por ejemplo, el modo horizontal rotado 90 grados en sentido antihorario desde la orientación natural es completamente diferente al rotado 270 grados.
Por lo tanto, cuando pageOrientation en app.json está configurado como portrait, no es necesario llamar a setDeviceOrientation(deviceOrientation), ya que la orientación vertical natural del teléfono móvil suele ser la orientación predeterminada de la sesión.
Cuando pageOrientation en app.json está configurado como landscape, se debe llamar a setDeviceOrientation(deviceOrientation) para fijar la orientación de pantalla como LandscapeLeft o LandscapeRight.