Try MAXST AR Fusion Tracker Now ✨
List
ARCamera FieldOfView(FOV) 값을 구하고 싶습니다.
Posted Date: 2021-06-14 1:03     Edited Date: 2021-06-21 2:27     Writer: micus

Please provide your development details as below;

1. SDK Version: 5.0.4
2. Development Environment: Unity-Android
3. Tracker/Scanner: Image Tracker
4. License Type(Free / Pro-One Time Fee / Pro-Subscription / Enterprise): Free
5. Target Device(Optional): S9+, V50

We can assist better if you attach screenshots of issues.

 

ARCamera 클론을 만들어서 연출상황을 구현하려고 합니다.

클론 카메라에 ARCamera의 FOV값을 적용하기 위해서 Forum에 언급된 FOV 계산식을 다음과 같이 사용했습니다.

Matrix4x4 projectionMatrix = CameraDevice.GetInstance().GetProjectionMatrix();
float fov = 2.0f * Mathf.Atan2(1.0f, projectionMatrix.m11);

Unity의 Resolution 설정에서 Orinentation을 Landscape로 설정하면 FOV값이 거의 동일하게 나오는거 같습니다.

그런데 Orientation을 Portrait으로 설정하면 아예 다른값이 나오는거 같습니다. 

두대의 테스트 기종 S9+, V50 에서 실행한 결과는 동일했습니다.

Portrait 모드일때 FOV값을 구하는 방법을 알고싶습니다.

그리고 위의 fov 계산식에 60을 곱해줘야 ARCamera와 비슷한 결과가 나오는거 같은데 이렇게 적용하는게 맞나요?

빠른 조언 부탁드립니다.

 

 

Posted Date: 2021-06-16 6:17     Edited Date: 2021-06-16 6:17     Writer: sjkim

MAXST AR SDK에 관심을 가져주셔서 감사합니다. 

 

아래 함수를 통해 FOV를 구하시기 바랍니다. 

 

Matrix4x4 projectionMatrix = CameraDevice.GetInstance(). GetProjectionMatrix();

float RAD2DEG = 180.0f / (float)Math.PI;

float fov = RAD2DEG * (2.0f * (float)Math.Atan(1.0f, projectionMatrix.m11));

 

AR SDK에 관련하여 다른 질문이 있으시면, 언제든지 자유롭게 질문해주세요.

 

 

Best regards,

Francisco

MAXST Support Team

Posted Date: 2021-06-16 7:43     Edited Date: 2021-06-17 0:55     Writer: micus

친절한 답변 감사드립니다.

유니티 에디터에서 FOV 함수를 적용했을때 정상값이 나오는것을 확인했습니다.

하지만 단말기에서 테스트 했을때는 회전모드 설정에 따라서 아예 잘못된 값이 나옵니다.

회전모드가 Landscape 일때는 유니티 에디터 모드에서 측정된 값과 동일한 값이 나오는데

Portrait 이거나 Auto Rotation 일때는 아예 잘못된 값이 나옵니다.

단말기 테스트는 삼성 S9+, LG V50 에서 진행했고 두 기기 모두 테스트 결과가 동일하게 나왔습니다.

회전모드가 Landscape 가 아닐때 FOV 구하는 방법이 궁금합니다.

 

Posted Date: 2021-06-17 1:25     Edited Date: 2021-06-17 2:14     Writer: micus

해결했습니다.

Input.deviceOrientation 을 다음과같이 비교해서 적용하면 됩니다.

Portrait 모드는 projectionMatrix.m01
Landscape Left 모드는 projectionMatrix.m11
Landscape Right 모드는 360 - (projectionMatrix.m11 적용한 결과값)

Posted Date: 2021-06-21 2:27     Edited Date: 2021-06-21 2:27     Writer: sjkim

문제가 해결되셔서 다행입니다. 

 

AR SDK에 관련하여 다른 질문이 있으시면, 언제든지 자유롭게 질문해주세요.

 

 

Best regards,

Francisco

MAXST Support Team