第2章 ARKit 堤 修一/@shu223


表2.3 SCNDebugOptions一覧

オプション

@available

概要

showPhysicsShapes

iOS 9.0

各ノードに追加されているSCNPhysicsBodyを可視化する

showBoundingBoxes

iOS 9.0

各ノードのバウンディングボックスを可視化する

showLightInfluences

iOS 9.0

シーン内のSCNLightオブジェクトの位置を可視化する

showLightExtents

iOS 9.0

シーン内のSCNLightオブジェクトに影響を受ける領域を可視化する

showPhysicsFields

iOS 9.0

シーン内のSCNPhysicsFieldオブジェクトに影響を受ける領域を可視化する

showWireframe

iOS 9.0

シーン内のジオメトリのワイヤーフレームを描画する

renderAsWireframe

iOS 11.0

シーン内のオブジェクトをワイヤーフレームで描画する

showSkeletons

iOS 11.0

show skinning bones

showCreases

iOS 11.0

show subdivision creases

showConstraints

iOS 11.0

show slider constraint

showCameras

iOS 11.0

カメラを可視化する

 SCNDebugOptionsOptionSet型なので、次のように複数のオプションを同時に指定できます。

sceneView.debugOptions = [.showBoundingBoxes, .showWireframe]

 これらに加えて、ARKitではARSCNView専用のデバッグオプションARSCNDebugOptionsが定義されています。

表2.4 ARSCNDebugOptions一覧

オプション

概要

showWorldOrigin

ワールド座標の原点を可視化する

showFeaturePoints

ARKitが検出した3D特徴点群を可視化する

 ARSCNDebugOptionsの各オプションは、結局のところSCNDebugOptions型なので、debugOptionsプロパティに他の(ARSCNDebugOptionsではない)オプションと一緒に指定できます。

sceneView.debugOptions = [ARSCNDebugOptions.showFeaturePoints,
                          ARSCNDebugOptions.showWorldOrigin,
                          .showBoundingBoxes]

本節ではARKit利用アプリ開発でもよく使いそうなオプションをいくつか紹介します注14)

showBoundingBoxes

 各ノードのバウンディングボックス(境界を示す直方体)を表示します。ノードの親子関係がどうなっているか、どういう境界を持っているか等を把握するのに便利です。

図2.6 デバッグオプションshowBoundingBoxesを利用

iOS 11 Programming

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