2017-07-15 33 views
2

私はARKitを使用しようとしています。私の質問は非常に簡単です。 カメラの位置を取得するにはどうすればよいですか?ARKit - カメラの位置は?

私は(0,0,0)にSCNodeを置き、私のカメラが地面を見ていると私は3Dオブジェクトを見上げる必要があることを知っています。つまり、何らかの形でカメラの位置と向きにアクセス可能でなければならないということです。

ここでカメラはで、はどこですか?と表示されていますか?事前に

感謝:)

+2

の可能性のある重複した[ARKit - シーンで 'カメラ' の現在位置を取得する](https://stackoverflow.com/questions/45084187/arkit-get-current-of-camera-in-scene) – orangenkopf

+0

これは部分的に私の質問に答えます。私はカメラの変換が何であるかを理解していますが、SCNodeの座標を変更するためにどのように使用するのか分かりません。 私に説明できますか? :) –

答えて

7

あなたが現在あなたのカメラの変換を得るためにARCamera.transformプロパティを使用することができます。 次のコードは、おそらく紹介として見たいIntroducing ARKit at WWDC 2017です。 トランスフォームを使用して、カメラの前に10cmのノードを配置します。スウィフトは

:Objective-Cで

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) 

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) 
+0

それは私が真の英雄と呼ぶものです!どうもありがとう ! x座標とy座標をオフセットしたい場合、それも3列目にありますか? –

+1

3Dグラフィックスと[変換行列](https://en.wikipedia.org/wiki/Transformation_matrix#Examples_in_3D_computer_graphics)の基本を読み、学習する必要があります – orangenkopf

+0

Objective cで複製できますか? –

関連する問題