ブログ@kaorun55

HoloLensやKinectなどのDepthセンサーを中心に書いています。

HoloLensのSpatial Perceptionを使うときのいろいろ

Spatial Perceptionを使うと、HoloLensが認識した空間をメッシュ化して、あたり判定ができるようになります。


HoloLens(エミュレーター)が認識した空間を走り回るユニティちゃん

現実空間の情報を使うため、そもそも認識した空間がどこなのか見えなかったり、開発やデバッグどうすんだ?という話があったりします。

そのあたり今の経験上でのことを書いておきます。

Spatial Perceptionの準備

Holograms 101Eのチュートリアルにもある通り、Unityで作る際には「Spatial Mapping」プレハブを入れるだけです(マテリアルの設定はありますが)。

f:id:kaorun55:20160428123847p:plain

あとCapabilityで「SpatialPerception」にチェックしましょう。

これでアプリに認識した空間のワイヤーフレームが表示されます。

f:id:kaorun55:20160428124057p:plain

どんな空間なのか?

で、どんな空間にいるのか知りたくなります。

Device Portalで「3D View」を開きます。

f:id:kaorun55:20160428124653p:plain

「Surface reconstruction」の「Update」をすると、認識した空間を3Dモデルにして表示してくれます。

f:id:kaorun55:20160428124321p:plain

これを「Save」すると空間の情報をobjファイルにしてくれます。

f:id:kaorun55:20160428124418p:plain

このobjをUnityに入れると空間情報が取り込まれるので、開発の際に利用できるようになります。

f:id:kaorun55:20160428124524p:plain

原点の位置や縮尺がわかってませんので、それを入れてあげるとよりリアルになります(Forumにあったの見たけど忘れた。。。)