問題タブ [arkit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - SceneKit/ARKit シーンにノードを追加し、その位置を保持しながら向き/回転をリセットするにはどうすればよいですか?
シーンにノードを追加して、カメラに対する位置を維持しながら、シーンの向き/回転を維持したいと考えています。今までどこにいた...
画面をタップすると、シーンにアンカーが追加され、カメラの変換と同じ変換が行われます。次にdidUpdateNode
、アンカー ノードの位置情報がセットアップされた で、モデルを含む子ノードを追加しますposition.z = -0.5
。モデル ノードは、カメラの真正面のシーンに追加され、カメラの回転プロパティをミラーリングします。電話を下向きに斜めに傾けると、次のようになります。
アンカー ノードの回転データの影響を受けるモデル ノードは、カメラと同じように回転します。この特定のモデルは横向きに表示されます - 私は気にしません。これは単なるプレースホルダーです。また、デバッグ用の上部にある赤いボタンも無視してください。
ここまでは順調ですね。
これの代わりに私が望んでいるのは、回転情報が本質的に「リセット」されるため、代わりにカメラと同じ高さに表示され、デフォルトの正面向きの位置に面することです。カメラを別の角度に回転させて部屋の中を移動すると、別のモデルが別の位置に追加されますが、同じ高さと同じ方向になります。
それはこのように見えるかもしれません。画面をタップしてオブジェクトを追加したところ、カメラではなくシーンに合わせて標準の高さと回転で表示されたと想像してください。
ノードのeulerAngles
、rotation
およびorientation
プロパティをいじってみましたが、満足に動作させることができません。これまでのコードは次のとおりです。空のシーンを作成ship.scn
し、標準の SceneKit プロジェクトをモデルとして使用しています。
ios - ARKit でポイントの絶対位置を取得する
ARKit シーンで特定のポイントをタップすると、デバイスの位置に対するポイントのX
、Y
、およびZ
座標が取得されます (そうですか?) ではなく、地球上のポイントの絶対位置を知りたいです。私のデバイスに相対的です。
これまでのところ、私のロジックは、デバイスの方向 (コンパス方向) と姿勢 (回転) を取得し、longitude
それに基づいてポイントの絶対位置を計算することです。latitude
altitude
それよりも簡単な方法があるかどうか疑問に思っています。