AR Session adaptasi rotasi layar
Artikel ini menjelaskan cara mengonfigurasi AR Session saat perlu menjalankan WeChat Mini Program dalam mode lanskap.
Sebelum memulai
- Pahami apa itu sudut rotasi gambar kamera relatif terhadap orientasi layar melalui Render 3D berbasis AR.
- Pahami konsep dan alur AR Session.
Enumerasi orientasi layar plugin Mini Program Mega
Catatan
Definisi orientasi layar ponsel mengacu pada definisi resmi sistem seperti IOS, Android, dll.
Enumerasi orientasi layar plugin Mini Program Mega DeviceOrientation:
| Konstanta | Nilai | Deskripsi |
|---|---|---|
Portrait |
0 | Potret |
LandscapeLeft |
90 | LanskapKiri |
PortraitUpsideDown |
180 | PotretTerbalik |
LandscapeRight |
270 | LanskapKanan |
Mengubah orientasi layar dalam konfigurasi global WeChat Mini Program
Tambahkan konfigurasi window di app.json, definisi spesifik lihat Perubahan area tampilan responsif.
"window": {
"pageOrientation": "landscape"
}
Isi dengan "portrait" (potret) atau "landscape" (lanskap) sesuai kebutuhan.
Hati-Hati
Jangan pernah gunakan "auto" dalam aplikasi AR Mini Program, karena dalam beberapa kasus dapat menyebabkan kelainan serius pada tampilan AR.
Mengatur orientasi layar
Panggil setDeviceOrientation(deviceOrientation) dengan meneruskan arah rotasi layar, dapat dipanggil kapan saja, berlaku segera.
Misalnya, untuk digunakan dalam mode lanskap di mana layar diputar 90 derajat berlawanan arah jarum jam relatif terhadap posisi vertikal alami:
let deviceOrientation = mega.DeviceOrientation.LandscapeLeft;
session.setDeviceOrientation(deviceOrientation);
Pengaturan orientasi layar yang disediakan oleh plugin mega dimaksudkan untuk mengatasi ketiadaan pemantauan orientasi layar di WeChat Mini Program. WeChat hanya menyediakan dua opsi portrait dan landscape dalam pengaturan pageOrientation, yang tidak cukup untuk aplikasi AR. Misalnya, lanskap yang diputar 90 derajat berlawanan arah jarum jam dari orientasi alami berbeda dengan lanskap yang diputar 270 derajat berlawanan arah jarum jam.
Oleh karena itu, saat pageOrientation di app.json disetel ke portrait, Anda tidak perlu memanggil setDeviceOrientation(deviceOrientation), karena umumnya orientasi vertikal alami ponsel adalah orientasi default sesi.
Saat pageOrientation di app.json disetel ke landscape, Anda harus memanggil setDeviceOrientation(deviceOrientation) untuk mengunci orientasi layar ke LandscapeLeft atau LandscapeRight