でカメラのベクトルを取得し、私はARKitに錐台の境界を構成する4つのベクトルを取得しようとしている、と次のように私が思いついた解決策は次のとおりです。ARKit
- 検索カメラ
- の視野角のフィールドは、これはのずさんな方法かもしれクロス製品と回転
を使用して4つのベクトルを見つけ、これらの情報を使用してカメラ
ARCamera.intrinsics
とARCamera.transform
プロパティから、FOVの角度と方向ベクトルを取得できます。しかし、私はこの時点でカメラのアップベクトルを得る方法を知らない。以下は
私は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)
}
私も、私が取得しようとしている4つのベクトルを見つけるための方法のための提案を開いています。