Adaptasi rotasi layar AR Session
Artikel ini memperkenalkan cara mengonfigurasi AR Session ketika WeChat Mini Program perlu berjalan dalam mode landscape.
Sebelum memulai
- Pelajari apa itu sudut rotasi gambar kamera relatif terhadap arah layar melalui Rendering 3D berbasis AR.
- Pahami konsep dan alur AR Session.
Enum orientasi layar plugin Mega Mini Program
Catatan
Untuk definisi orientasi layar ponsel, lihat definisi resmi sistem seperti IOS dan Android.
Enum orientasi layar plugin Mega Mini Program DeviceOrientation:
| Constant | Value | Description |
|---|---|---|
Portrait |
0 | Portrait |
LandscapeLeft |
90 | LandscapeLeft |
PortraitUpsideDown |
180 | PortraitUpsideDown |
LandscapeRight |
270 | LandscapeRight |
Mengubah orientasi layar dalam konfigurasi global WeChat Mini Program
Tambahkan konfigurasi window dalam app.json. Untuk definisi spesifik, lihat Merespons perubahan area tampilan.
"window": {
"pageOrientation": "landscape"
}
Isi "portrait" (layar portrait) atau "landscape" (layar landscape) sesuai kondisi aktual.
Hati-Hati
Jangan pernah menggunakan "auto" dalam aplikasi AR Mini Program kapan pun. Dalam beberapa kasus, ini dapat menyebabkan kelainan gambar AR yang serius.
Mengatur orientasi layar
Panggil setDeviceOrientation(deviceOrientation) dan teruskan arah rotasi layar. Ini dapat dipanggil kapan saja dan langsung berlaku.
Misalnya, untuk menggunakan mode landscape ketika layar diputar 90 derajat berlawanan arah jarum jam relatif terhadap posisi portrait alami:
let deviceOrientation = mega.DeviceOrientation.LandscapeLeft;
session.setDeviceOrientation(deviceOrientation);
Pengaturan orientasi layar yang disediakan plugin mega dimaksudkan untuk mengompensasi tidak adanya pemantauan orientasi layar di WeChat Mini Programs. WeChat hanya menyediakan dua opsi, portrait dan landscape, dalam pengaturan pageOrientation, tetapi dua opsi ini saja tidak cukup untuk aplikasi AR. Misalnya, mode landscape yang diputar 90 derajat berlawanan arah jarum jam dari orientasi alami benar-benar berbeda dari mode landscape yang diputar 270 derajat berlawanan arah jarum jam dari orientasi alami.
Karena itu, ketika pageOrientation dalam app.json diatur ke portrait, Anda dapat tidak memanggil setDeviceOrientation(deviceOrientation), karena arah portrait alami ponsel umum adalah orientasi default session.
Ketika pageOrientation dalam app.json diatur ke landscape, Anda harus memanggil setDeviceOrientation(deviceOrientation) untuk mengunci orientasi layar ke LandscapeLeft atau LandscapeRight