내가 ARKit의 절두체의 경계를 구성하는 네 개의 벡터를 얻으려고 카메라의 위쪽 벡터를 취득하고, 내가 생각 해낸 해결책은 다음과 같습니다ARKit
- 것은 찾기 카메라의 뷰 각도의 필드
- 그런 다음 교차 제품 및 회전
를 사용하여 네 개의 벡터를 찾을 방향과 최대 이러한 정보를 이용하여 카메라
ARCamera.intrinsics
및 ARCamera.transform
속성에서 FOV 각도와 방향 벡터를 얻을 수 있습니다. 그러나, 나는이 시점에서 카메라의 위쪽 벡터를 얻는 방법을 모른다. 나는 또한 내가 얻기 위해 노력하고있어 네 개의 벡터를 찾는 방법에 대한 제안에 열려입니다
func session(_ session: ARSession, didUpdate frame: ARFrame) {
if xFovDegrees == nil || yFovDegrees == nil {
let imageResolution = frame.camera.imageResolution
let intrinsics = frame.camera.intrinsics
xFovDegrees = 2 * atan(Float(imageResolution.width)/(2 * intrinsics[0,0])) * 180/Float.pi
yFovDegrees = 2 * atan(Float(imageResolution.height)/(2 * intrinsics[1,1])) * 180/Float.pi
}
let cameraTransform = SCNMatrix4(frame.camera.transform)
let cameraDirection = SCNVector3(-1 * cameraTransform.m31,
-1 * cameraTransform.m32,
-1 * cameraTransform.m33)
}
:
다음은 내가 FOV 각도를 찾기 위해 사용하는 코드의 조각과 방향 벡터이다.