MRが楽しい

MRやVRについて学習したことを書き残す

公式チュートリアル「HOLOGRAMS 240」を試してみる

チュートリアルお試し枠です。
今回は少し順番を飛ばして、シェアリングのチュートリアルであるHolograms 240を試します。
いつものページにHolograms 240の記事はないので、公式ページを直接参照します。
・Holograms 240
 https://developer.microsoft.com/en-us/windows/mixed-reality/holograms_240

英語なので公式ページは及び腰でしたが、ある程度分かると動画もある分、こちらの方が分かりやすいですね。
この開発サポートの厚さは流石。hololens開発始めて以降、私の中でMicrosoftの評価が上がる上がる。

まずは「1章 Holo World」を確認しました。
f:id:bluebirdofoz:20170622030607j:plain
アンカー用のオブジェクトを置くだけの内容なので、続けて「2章 Interaction」も確認します。
f:id:bluebirdofoz:20170622030614j:plain
アンカー用のオブジェクトが視線に追従して動きます。
f:id:bluebirdofoz:20170622030626j:plain
タップ操作を行うと、タップを行った位置にオブジェクトが固定されます。

以下のHolograms 101「6章 Spatial mapping」で行った技術と大きな違いはありません。
bluebirdofoz.hatenablog.com

ただ個人的にオブジェクトの追従動作が、カメラの動きに少し遅れてついてくるように改良されていて気に入りました。
・HologramPlacement.cs

    void Update()
    {
        if (!GotTransform)
        {
            transform.position = Vector3.Lerp(transform.position, ProposeTransformPosition(), 0.2f);
        }
    }

    Vector3 ProposeTransformPosition()
    {
        // Put the model 2m in front of the user.
        Vector3 retval = Camera.main.transform.position + Camera.main.transform.forward * 2;

        return retval;
    }

調べてみたところ、特段難しいことをやっている訳ではなく、現在位置と配置予定位置の中央値を取って設定しているようです。

さて、次の「3章 Shared Coordinates」からシェアリングの機能が登場します。
しかし当然ながら仮想空間を共有する他のhololensがないと、機能は体験できません。

ひとまずプログラムを組んでおき、タイミングを見て会社の他のhololensユーザと合わせて試してみることにします。