2011-11-15 11 views
3

iPhoneのカメラストリームでジオローカライゼーションを実行するアプリを開発しています。私はコンパスを使用して、アイコンと情報をカメラレイヤーのどこに配置するかを判断します。 yaw軸の周りにデバイスを回転させると、すべて正常に動作します。拡張現実感でのデバイスロール補正

しかし、iPhoneをロールすると、画面上のすべての情報が消えてしまいます。これは、デバイスを回転させるとコンパスの向きも変わるからです。しかし、LayarやWikitudeのようなアプリケーションでは、カメラレイヤー上にある視覚的なアイテムに焦点を当てずに回転を回転させることができます。そうすれば、これらのアプリは、縦向きと横向きとの間のスムーズな移行を可能にします。

これをどのように達成しましたか?画面上に情報を保持するためにデバイスの回転を補正するにはどうすればよいですか?

ところで、ARKitフレームワークは私と同じ問題があります。

ありがとうございました。

答えて

0

2次元の場合は、カメラフィールドビューとオフセット見出しから計算したポイントを取って、画面の中心までの距離を計算し、その距離を円の半径として使用すれば十分です角度として-rollを使用してx + = r * cos、y + = r * sinとすると、オブジェクトはロールに沿って円内を移動します。次に、イメージを垂直に保つために、トランスフォーム(CGAffineTransformMakeRotation)を使ってイメージ自体を回転させるだけです。

関連する問題