HoloLens Toolkit-UnityあらためMixed Reality Toolkit-UnityのSpatialMappingを使うと空間認識を行って、Unity空間の中に現実世界の床や壁を反映してくれます。
SpatialMapping
やり方は簡単で、[SpatialMapping]-[Prefabs]から[SpatialMapping]オブジェクトをHierarchyウィンドウにドラッグアンドドロップするだけであとは自動的に良しなにやってくれます。
起動するとすぐに空間認識が始まって、その進行に合わせて不定形のメッシュが描画されていきます。
SpatialUnderstanding
SpatialMappingを使うと手軽に空間メッシュ表示が得られますが、平面に合わせてもう少し綺麗に賽の目で表示してほしいときがあると思います。そういったときはSpatialUnderstandingを「追加」します。
やり方は、[SpatialUnderstanding]-[Prefabs]から[SpatialUnderstanding]オブジェクトをHierarchyウィンドウにドラッグアンドドロップします。
あとは以下の点を修正するのみです。
- SpatialMapping側でメッシュ描画は不要なのでSpatialMappingオブジェクトの[Draw Visual Meshes]プロパティのチェックを外す
SpatialMappingオブジェクトが動作していることを前提としてSpatialUnderstandingオブジェクトは動作するので、SpatialMapping側の[Auto Start Observer]プロパティのチェックを外したりすると動かなくなりますのでご注意ください。
動作環境:
Unity 5.6.2f1 + Visual Studio 2017 Update 3
ターゲットバージョン Windows 10 Anniversary Edition (10.0.14393)