4

私はiPhoneのカメラストリーム上でジオローカリゼーションを実行するアプリに取り組んでいます。私はコンパスを使用して、アイコンと情報をカメラレイヤーのどこに配置するかを判断します。ヨー軸を中心にデバイスを回転させると、すべてが正常に機能します。

ただし、iPhoneを回転させると、画面上のすべての情報が消えます。これは、デバイスを回転させると、コンパスの向きも変わるためです。ただし、LayarやWikitudeのように、カメラレイヤーにあるビジュアルアイテムへのフォーカスを失うことなくロール回転を可能にするアプリがあります。このように、これらのアプリは、縦向きから横向きへのスムーズな移行を可能にします。

彼らはそれをどのように達成しますか?情報を画面に表示するために、デバイスのロール回転を補正するにはどうすればよいですか?

ちなみに、ARKitフレームワークには私と同じ問題があります。

ありがとう。

4

1 に答える 1

1

2D の場合は、カメラ フィールド ビューとオフセット ヘディングから計算しているポイントを取得し、画面の中心までの距離を計算し、その距離を円の半径として使用して x += r を実行するだけで十分です。 *cos, y += r*sin 角度として -roll を指定すると、オブジェクトはロールに逆らって円を描くように移動します。次に、画像を垂直に保つために、変換 (CGAffineTransformMakeRotation) を使用して画像自体を逆回転させるだけです。

于 2011-11-15T09:24:51.960 に答える