第2章 ARKit 堤 修一/@shu223


サンプルコード:05_FeaturePoints

2.6.1 特徴点を可視化する

 まずは「特徴点」がどのようなものか可視化してみましょう。

 ARSCNViewdebugOptionsプロパティ注21)showFeaturePointsを指定すると、

sceneView.debugOptions = [ARSCNDebugOptions.showFeaturePoints]

ARKitが抽出した特徴点が可視化されます(図2.9)。

図2.9 デバッグオプションshowFeaturePointsで特徴点を可視化

 なお、本デバッグオプションは、ARWorldTrackingConfiguration利用時のみ有効です。

2.6.2 特徴点のIDや座標を取得する

 ARSessionDelegatesession(_:didUpdate:)メソッドは、フレームの更新があるたびに呼ばれます。この第2引数で渡されるARFrameオブジェクトが、最新フレームにおけるさまざまな情報を保持しています。

func session(_ session: ARSession, didUpdate frame: ARFrame)

 ARFramerawFeaturePointsプロパティには、ARWorldTrackingConfigurationを利用したときの、当該フレームに含まれる特徴点の情報を保持する点群(Point Cloud)データがARPointCloud型で入っています。

var rawFeaturePoints: ARPointCloud? { get }

 ARPointCloudはプロパティを2つ持つだけの非常にシンプルなクラスです。

iOS 11 Programming

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