第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 |
カメラを可視化する |
SCNDebugOptionsはOptionSet型なので、次のように複数のオプションを同時に指定できます。
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を利用