web-dev-qa-db-ja.com

ARKit –ARCameraの位置

ARKitを使おうとしていますが、質問はとても簡単です。カメラの位置を取得するにはどうすればよいですか?

SCNNodeを(000)たとえば、私のARCameraは地面を見ています。たとえば、3Dオブジェクトを見るために見上げる必要があります。つまり、どういうわけか、デバイスのカメラの位置と向きにアクセスできる必要があります。

では、どうすればwhere the camera isおよびwhere she is looking to

前もって感謝します。

7
Alain Berrier

ARCamera.transformプロパティを使用して、カメラの現在の変換を取得できます。次のコードは WWDC 2017でARKitを紹介しています からのものです。おそらく紹介として見たいと思います。変換を使用して、カメラの10cm前にノードを配置しています。

Swiftの場合:

var translation = matrix_identity_float4x4
translation.columns.3.z = -0.1 // Translate 10 cm in front of the camera
node.simdTransform = matrix_multiply(currentFrame.camera.transform, translation)

Objective-Cで

matrix_float4x4 translation = matrix_identity_float4x4;
translation.columns[3][2] = -0.1; // Translate 10 cm in front of the camera
node.simdTransform = matrix_multiply(currentFrame.camera.transform, translation)
13
jlsiewert

または、XY、およびZ軸に対して同時に次のアプローチを使用できます。

var translation = matrix_identity_float4x4

translation.columns.3 = simd_float4(0, 0.2, -0.5, 1)      // x, y, z, HC

aNode.simdTransform = matrix_multiply(translation, 
                                      currentFrame.camera.transform)

columns.3の最後の要素は同次座標で、1と同じです。

お役に立てれば。

0
Andy