現在、私はiOSプラットフォームの問題を抱えています。基本的には、2D環境で東を指す矢印をロードします(上は北、左は西、右は東と下が南です)。 3D環境では本物の東を指すことができるので、自動的に正しい方向に回転します。私は自分の状況を正確に描写するために絵を描きます。今SceneKitの右方向を指す
(点線の矢印は、私のロードされた矢印と実線の矢印は、私はコアモーションデータを使用している場合、私が欲しいものです)私がやった
let motionManager = CMMotionManager()
motionManager.deviceMotionUpdateInterval = 1.0/60.0
if motionManager.isDeviceMotionAvailable {
motionManager.startDeviceMotionUpdates(to: OperationQueue.main, withHandler: { (devMotion, error) -> Void in
parent_arrows[0].orientation = SCNQuaternion(-CGFloat((motionManager.deviceMotion?.attitude.quaternion.x)!), -CGFloat((motionManager.deviceMotion?.attitude.quaternion.y)!), -CGFloat((motionManager.deviceMotion?.attitude.quaternion.z)!), CGFloat((motionManager.deviceMotion?.attitude.quaternion.w)!))
})}
スニペットを自動的に作成することはできません矢印は右方向に回転します。私の考えは、デバイスと北の間の角度を取得し、矢印の方向にこの角度を適用することです。しかし、どのように四角形にアングルを追加できますか?これを達成するための他のアイデアはありますか?
実際の問題は何ですか? 'parent_arrows [0]'は更新されていて、更新は表示されていませんか? 'parent_arrows [0]'は更新されていませんか?それは更新して表示していますが、間違った方向を示していますか? – Grimxn
質問を簡単にするには、3D矢印をロードします。この矢印が方向を指すようにします(たとえば:east)。私は下にあるものに答えましたが、ジンバルロックが出てくるようです。 – OtakuFitness