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