第2章 ARKit 堤 修一/@shu223
表2.1 ARCamera.TrackingStateの種類
case |
概要 |
notAvailable |
トラッキングを利用できない |
limited(ARCamera.TrackingState.Reason) |
トラッキングは利用できるが、結果の品質は疑わしい |
normal |
トラッキングは最適な結果を出せている |
値がlimited(ARCamera.TrackingState.Reason)の場合、トラッキング精度が下がっている理由を取得できます。次の種類が定義されています。
表2.2 ARCamera.TrackingState.Reasonの種類
case |
概要 |
initializing |
初期化処理中のためトラッキングが制限されている |
excessiveMotion |
画像ベースのトラッキングを正確に行うにはデバイスの動きが速すぎる |
insufficientFeatures |
カメラに映るシーン内に、画像ベースのトラッキングを行うために十分な識別可能な特徴が含まれていない |
これらの情報はユーザーに適切なアクションをとってもらうためにはとても有用です。たとえば次のような活用例が考えられます。
■initializing
●初期化中であることをユーザーに伝えて、初期化が完了するまでは十分なトラッキングの精度が得られない可能性があることを許容してもらう
●初期化中はAR機能をまだ提供しない(高精度でないとユーザー体験を大きく損なう機能の場合)
■excessiveMotion
●ユーザーにもっとゆっくりカメラを動かすよう促す
■insufficientFeatures
●別のもっとテクスチャのある平面で試してもらうよう促す注11)
2.5.2 デバッグオプションを利用する
ARSCNViewのdebugOptionsプロパティ注12)を利用すると、デバッグに便利な様々な機能を利用できます。
このプロパティの型であるSCNDebugOptionsが持つオプションの一覧を示します(表2.3)。注13)