AR Session 화면 회전 적응
이 문서는 WeChat Mini Program을 가로 화면으로 실행해야 할 때 AR Session을 구성하는 방법을 소개합니다.
시작하기 전에
- AR 기반 3D 렌더링을 통해 화면 방향에 대한 카메라 이미지의 회전각이 무엇인지 이해합니다.
- AR Session의 개념과 흐름을 이해합니다.
Mega Mini Program 플러그인의 화면 방향 enum
참고
휴대폰 화면 방향의 정의는 IOS, Android 등 시스템의 공식 정의를 참고하십시오.
Mega Mini Program 플러그인의 화면 방향 enum DeviceOrientation:
| Constant | Value | Description |
|---|---|---|
Portrait |
0 | Portrait |
LandscapeLeft |
90 | LandscapeLeft |
PortraitUpsideDown |
180 | PortraitUpsideDown |
LandscapeRight |
270 | LandscapeRight |
WeChat Mini Program 전역 구성에서 화면 방향 수정
app.json에 window 구성을 추가합니다. 구체적인 정의는 표시 영역 변화에 응답을 참조하십시오.
"window": {
"pageOrientation": "landscape"
}
실제 상황에 따라 "portrait"(세로 화면) 또는 "landscape"(가로 화면)를 입력합니다.
주의
AR Mini Program 앱에서는 언제든 절대 "auto"를 사용하지 마십시오. 일부 상황에서는 AR 화면에 심각한 이상이 발생할 수 있습니다.
화면 방향 설정
setDeviceOrientation(deviceOrientation)를 호출하고 화면 회전 방향을 전달합니다. 언제든 호출할 수 있으며 즉시 적용됩니다.
예를 들어 화면이 자연 세로 위치에 대해 반시계 방향으로 90도 회전한 가로 화면 모드에서 사용해야 하는 경우:
let deviceOrientation = mega.DeviceOrientation.LandscapeLeft;
session.setDeviceOrientation(deviceOrientation);
mega 플러그인이 제공하는 화면 방향 설정은 WeChat Mini Programs의 화면 방향 감시 부재를 보완하기 위한 것입니다. WeChat은 pageOrientation 설정에서 portrait와 landscape 두 옵션만 제공하지만, AR 애플리케이션에는 이 두 옵션만으로 충분하지 않습니다. 예를 들어 자연 방향에서 반시계 방향으로 90도 회전한 가로 화면과 자연 방향에서 반시계 방향으로 270도 회전한 가로 화면은 완전히 다릅니다.
따라서 app.json의 pageOrientation이 portrait로 설정된 경우, 일반적인 휴대폰의 자연 세로 방향이 session의 기본 방향이므로 setDeviceOrientation(deviceOrientation)를 호출하지 않아도 됩니다.
app.json의 pageOrientation이 landscape로 설정된 경우에는 반드시 setDeviceOrientation(deviceOrientation)를 호출하여 화면 방향을 LandscapeLeft 또는 LandscapeRight로 고정해야 합니다