第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 デバッグオプションを利用する

 ARSCNViewdebugOptionsプロパティ注12)を利用すると、デバッグに便利な様々な機能を利用できます。

 このプロパティの型であるSCNDebugOptionsが持つオプションの一覧を示します(表2.3)。注13)

iOS 11 Programming

  • 著者:堤 修一,吉田 悠一,池田 翔,坂田 晃一,加藤 尋樹,川邉 雄介,岸川 克己,所 友太,永野 哲久,
  • 製本版,電子版
  • 続きを読む