ブログ@HoloLabInc

株式会社ホロラボのブログです

Microsoft MVPを受賞/再受賞しました

2018年7月のMicrosoft MVPの更新にて、ホロラボでは更新3名、新規2名がMVPとなり、2018年6月までに取得した3名と合わせて計8名となりました。

カテゴリは全員Windows Development。主な活動領域はWindows Mixed Realityです。

スタッフ名 初受賞年 Twitterアカウント ブログ
中村 薫 2012年 @kaorun55 Natural Software
前本 知志 2016年 @peugeot106s16 つくるの大好き。
初音 玲 2008年 @hatsune_ はつねの日記
岩本 義智 2018年 @yoshipon13
山中 大輔 2018年 @dy_karous D.YAMA Blog |
立原 愼也 2018年 @Ash_Yin デコシノニッキ
古田 裕介 2018年 @tarukosu たるこすの日記
上山 晃弘 2018年 @akihiro01051 なんかいろいろしてみます

マイクロソフト MVP アワード プログラムとは

下記ページより引用

マイクロソフトが個人の活動を評価する、特別な賞。

MVP (Most Valuable Professional) アワード プログラムは、マイクロソフトの製品やテクノロジーに関する豊富な知識と経験を持ち、オンラインまたはオフラインのコミュニティや、メディアなどを通して、その優れた能力を幅広いユーザーと共有している個人を表彰するものです。MVP アワードの表彰は全世界で行われており、現在は、世界 90 か国以上、4,000 名を超える方々が MVP として精力的な活動を続けています。

他では決してできない貴重な体験こそ、MVPアワード プログラムの魅力。

MVP アワード受賞者には、さまざまな技術情報の提供、国内外で開催されるイベントへの招待など、充実した特典が用意されています。中でも、 グローバルサミットをはじめとするイベントでは、マイクロソフトの経営陣や技術者、各国を代表する MVP など、普段は会う機会のない方々との交流を図ることができ、大きな刺激を受けることができます。また、開発中のマイクロソフト製品に触れて、改良につながる提案をする、製品開発の一端に関わることもできます。こうした貴重な体験を通して、技術者として、また、個人として、さらなるステップアップが図れることも MVP アワード プログラムの大きな魅力です。

初級者向け Windows Mixed Reality アプリ 開発ハンズオンセミナーVol.1 を開催しました

初級者向け Windows Mixed Reality アプリ 開発ハンズオンセミナーVol.1 を開催

2018年6月23日に、日本マイクロソフト株式会社 品川オフィスで、初級者向け Windows Mixed Reality アプリ 開発ハンズオンセミナーVol.1 を開催しました。 主催は Digital DIY さん、協賛に日本マイクロソフト株式会社さん、弊社ホロラボは講師とセミナー コンテンツ内容を担当しました。

参加者18名には、日本マイクロソフト株式会社さんから Acer 製 Windows MR イマーシブヘッドセット AH101 と、Intel 製 Kaby Lake-G搭載 VR Ready NUC キット NUC8i7HVK が用意され、快適な開発環境が整っていました。

f:id:masashieguchi:20180630133312p:plain f:id:masashieguchi:20180630142221p:plain

ハンズオンセミナーは、ホロラボ社員ヒロムが講師を務めました。 内容は、大まかに下記の内容を 140 分に渡り説明、実際にアプリの実装を進めました。

  • Windows Mixed Realityポータルの操作
  • 開発環境説明・構築
  • ペイントアプリの実装

ペイントアプリの機能としては、ペン先の作成、線のプレハブの作成、ライン制御スクリプトの実装、ペンのサイズ変更方法、カラーパレットの作成、消しゴム機能まで含んだものでした。

f:id:masashieguchi:20180630140123p:plain

VRアーティストのせきぐちあいみさんも参加しており、ペイントアプリの実装を完成させていました。 f:id:masashieguchi:20180630135343p:plain せきぐちあいみさんが数十秒でササっと描いた金魚。VR空間で見ると立体的に見えてとてもリアルでした。 f:id:masashieguchi:20180630140330p:plain

ホロラボ担当者

今回のハンズオンセミナーでは、講師のヒロム他、チューターとして、JackMasaki v2.0ヨシポンMasashi Eguchi が参加者をサポートしました。 f:id:masashieguchi:20180630142859p:plain

Digital DIY さんについて

今回主催していただいた Digital DIY さんの詳細はこちらです。 digitaldiy.jp twitter.com

開発機材

Acer 製 Windows MR イマーシブヘッドセット AH101 と、Intel 製 Kaby Lake-G搭載 VR Ready NUC キット NUC8i7HVK の詳細はこちらです。 NUC8i7HVKは、マシンスペックが求められる Windows Mixed Reality アプリの体験や開発を行える VR Ready な NUC キットです。

www.acer.com

www.intel.co.jp

紹介

今回のハンズオンセミナーが、Impress さんの VR Watch 記事になりました! www.watch.impress.co.jp

Unity Editor でも HoloLens でも、 MRTK と SignalR を使いたい

はじめに

かずきさんとたるこすさんがHoloLensやWindows MRなどのUWP環境とUnityエディターでSignalRクライアントを使う方法をまとめてくれています。

blog.okazuki.jp

tarukosu.hatenablog.com

SignalRクライアント単体であればこの方法で動くのですが、MRTKを入れるとビルドエラーが発生します。このエントリではその解決方法について書きます。

なお、以下の方法はSignalR.Clientを自分でビルドしているため、自己責任にて使用してください。ビルドしたファイルは下記にあります。

問題点

SignalRクライアントとMRTKを同時にプロジェクトに入れた場合、それぞれがNewtonsoft.Json.dllを参照しています。しかし、Microsoft.AspNet.SignalR.Client.dllが使用しているNewtonsoft.Json.dllのバージョンが古い(6.0.4)ため、MRTKのNewtonsoft.Json.dllのバージョン(10.0.3)と競合します。これによってUnityエディター上でビルドできない問題が発生します。

どちらかを削除してもお互いのバージョンエラーでビルドができません。

MRTKでNewtonsoft.Json.dllを参照しているのはGLTFのライブラリなので、GLTFフォルダごと削除してみましたが、Immersive用のコントローラーモデルがGLTFを利用しているようでInput系でエラーが出始めました。このため、MRTK側で調整するのも現実的ではありませんでした。

Visual Studioの場合configファイルでバージョンのリダイレクトを行いますが、Unityエディターの場合の方法がわからない(これで解決できるなら一番いいかもしれません)ため、なんとかMicrosoft.AspNet.SignalR.Client.dllの参照しているDLLのバージョンを変更します。

幸いSignalRのコード一式は公開されているので、これをビルドします。

github.com

結果

Unityエディター、UWPビルドともに動作していることがわかります(UWP版はマテリアルはがれてるのはご愛敬)。エディター用の.NET DLLとUWP用のDLLを両方入れているので、どちらの環境でも同じように動作します(サーバーはかずきさんが公開しているものを使用しています)。

f:id:kaorun55:20180615232507g:plain f:id:kaorun55:20180615232100g:plain

SignalR.Clientのビルド

GitHubからコードをダウンロードして、プロジェクトを開きます。今回、エディター用DLLは「Microsoft.AspNet.SignalR.Client45」をUWP用DLLは「Microsoft.AspNet.SignalR.Client.UWP」を使用しています。

それぞれのプロジェクトの「参照」メニューからNuGetパッケージの更新を行います。このとき、Newtonsoft.Json.dllの該当バージョンの10.0.3を指定します。パッケージを更新したらビルドを行います。正常にビルドができればOKです。

f:id:kaorun55:20180615234004p:plain

おまけ

エラー画像

Newtonsoft.Json.dllのバージョン

下記がVisual StudioのNuGetで取得したSignalR.Clientが参照しているNewtonsoft.Json.dllのバージョン(6.0.4)。

f:id:kaorun55:20180615233325p:plain

下記がMRTKで使われているNewtonsoft.Json.dllのバージョン(10.0.3)。

f:id:kaorun55:20180615233341p:plain

Newtonsoft.Json.dllのバージョンを削除した場合の動作

どちらかを削除してもお互いのバージョンエラーでビルドができません。 f:id:kaorun55:20180615233533p:plain f:id:kaorun55:20180615233536p:plain

de:code 2018のスライドを公開します

5/22に登壇したde:code 2018のスライドを公開します。 blog.hololab.co.jp

speakerdeck.com

スライドのポイント

HoloLensの業務への適用について

HoloLensを業務に適用する際の考え方の例について解説します。

HoloLensを適用するシナリオの考え方

f:id:kaorun55:20180601182744p:plain

HoloLensを買ってみたもののどこに活用できるかという一つの指針に業務で分ける方法があります。例えば建設業であれば設計、建設、点検などのフェーズに分かれるので、その「現場」で使うシナリオを考えます。また、それぞれの「現場」には「教育」が存在するので、そこへの適用も考えます。「現場」と「教育」の面から考えることで1つの「業務」に対して2つのシナリオが考えられます。

アプリ開発フロー

f:id:kaorun55:20180601182831p:plain

実際にアプリ開発を始める場合、お客様のHoloLensの習熟度に合わせていくつかの段階を踏みます。一番最初の段階ではHoloLensに自社のデータ(モデルなど)を入れて「見る」ことから始めます。これによって他人事から自分ごとに変えます。この段階のアプリを社内で回覧するだけでも様々なフィードバックが得られます。

現在では「Microsoft Layout Preview」を使用することで、対応するモデルならHoloLens実機を準備するだけですぐにこのフェーズを試すことができます。

blog.hololab.co.jp

HoloLensアプリ開発時によくある要件

お客様と会話をするときによく話題になる項目について解説します。 f:id:kaorun55:20180601190911p:plain

位置合わせ

位置合わせはVuoriaなどでマーカーを検出させることが手軽で確実です。とはいえ、マーカーで完全には合わないので微調整は手動で行います。これは現実の車にデータの車モデルをかぶせるFordの事例でも適用させており、現在の限界を示しています。 f:id:kaorun55:20180601190929p:plain

とはいえ、マーカー1つでは傾きの誤差がでるので、2つ以上での位置合わせを試作しています。精度検証はこれから行う段階です。 f:id:kaorun55:20180601191121p:plain

www.youtube.com

モデルの安定化(安定化平面)

モデルの安定化については安定化平面が作用しているかを確認します。Unityのバージョンによって正しく作用しない場合があるので、安定しない動きを覚えておくとよいでしょう。 f:id:kaorun55:20180601191439p:plain

詳しくはこちらを参照してください。

www.tattichan.work

モデルの安定化(WorldAnchor)

もう一つの安定化がWorldAnchorです。これはHoloLensで動く範囲内での表示オブジェクトの安定化およびズレた際の復帰をサポートします。経験則として、移動範囲内でOSレベルのSpacialMappingを取得したうえで、WorldAnchorをその範囲にばらまくようにすると安定、復帰しやすくなります。

講演に先立って下記のパターンを試しました。 f:id:kaorun55:20180601191912p:plain

アンカーを配置しない場合

オブジェクトは少しずつずれて戻らなくなります。 f:id:kaorun55:20180601191940p:plain

www.youtube.com

アンカーを基準点のみに配置した場合

移動している間にオブジェクトはズレていきますが、戻ってしばらくすると元の位置に復帰します。 f:id:kaorun55:20180601192113p:plain

www.youtube.com

アンカーをばらまいた場合

移動中もあまりズレることがなく、元に戻ってもオブジェクトはそのままの位置にあります。

f:id:kaorun55:20180601192259p:plain

www.youtube.com

おまけとして、アンカーをばらまい場合にトラッキングがロストした場合にも、しばらくすると元の位置に復帰します。

www.youtube.com

精度

精度について、公式のデータはありませんが、おおよそ1mで1cm前後はズレる前提で考える必要があります。 試しに距離を計測してみました。マーカー位置などでもう少し追い込みはできると思いますが、おおよそ1mで1cm前後を考えるとよいでしょう。 f:id:kaorun55:20180601192504p:plain

www.youtube.com

次のステップに向けて

HoloLens用のSpring 2018 Updateがリリースされました。これによって機能、API含めて多くの追加がありました。また、マイクロソフトからのアプリもリリースされ、HoloLensを購入後にすぐできることが増えてきました。 f:id:kaorun55:20180601192735p:plain

下記の記事を参考にしてください。

blog.hololab.co.jp

blog.hololab.co.jp

blog.hololab.co.jp

blog.hololab.co.jp

blog.hololab.co.jp

まとめ

HoloLensはさまざまな業界で使われています。昨年の後半からは建設業のお客様が増えてきて、年度が明けて最近は製造業のお客様からのお問い合わせが増えてきています。PoCではなく、実導入を目指したお客様も出始めており、市場が急速に立ち上がる可能性を感じています。

HoloLensのソフトウェアも進化しており、次のハードウェアの話題も見え隠れするなか、いまできることを順々に取り組んでいくことが大切だと感じています。

合わせて読みたい

「Microsoft Layout Preview」を試してみた

f:id:kaorun55:20180529163817p:plain

先日のBuildで発表された2つのHoloLens用アプリ「Microsoft Remote Assist Preview」と「Microsoft Layout (Preview)」がストアで配信されているとのことで試してみました。

mspoweruser.com

「Microsoft Remote Assist Preview」についてはこちら

blog.hololab.co.jp

Microsoft Layout Preview

概要

www.youtube.com

Microsoft Layout Previewは3Dモデルの配置シミュレーションアプリです。HoloLens, PC(Immersive), PC(Import Tool)から構成されています。

下記のシナリオで構成されています。

  • HoloLensを使って現場で配置シミュレーションを行う
  • PCでWindows MR Immersive ヘッドセット(Immersive)を使いVR内で配置シミュレーションを行う
  • PCで配置したいモデルや現実の図面をHoloLens、Immersive用に変換、配置する

PCのImport Toolを使うことで外部のモデルや図面をインポートできます。

モデルでサポートされているファイルフォーマットは下記になります。

  • FBX, OBJ, GLFT, GLB, SKP, JT, STEP, ZIP(おそらくOBJ、マテリアル、テクスチャをZIP圧縮したもの)

f:id:kaorun55:20180529164539p:plain

図面については、Visioで作成したものをLayout用にエクスポートしたものを使用します。エクスポート用のアドインはImport Toolからインストールできます。

f:id:kaorun55:20180529164509p:plain

ドキュメントはこちら

docs.microsoft.com

セットアップのドキュメントはこちら

アプリのインストールはこちらから

HoloLens

www.microsoft.com

PC

www.microsoft.com

なお、HoloLens用のアプリにはApril 2018 Updateの適用が必要です。適用方法は下記を参照してください。

blog.hololab.co.jp

April 2018 Updateが適用されていないHoloLensの場合はインストールできませんでした。

f:id:kaorun55:20180529165447p:plain

HoloLensアプリの基本

アプリの流れとしては下記になります

  • レイアウトの選択
  • モデルの配置
  • レイアウトの保存

youtu.be

PCアプリ(Import Tools for Microsoft Layout)

Microsoft LayoutはPCアプリで真価が発揮されると感じています。

PCアプリの機能は下記になります。

  • 外部モデルのインポート
  • 間取りファイルのインポート
  • 配置データのエクスポート

外部モデルのインポート

外部モデルはFBX, OBJ, GLFT, GLB, SKP, JT, STEP, ZIP(おそらくOBJ、マテリアル、テクスチャをZIP圧縮したもの)がサポートされており、3D CGのみならずJTやSTEPのような3D CADにも対応しています。

HoloLensへの転送はUSBケーブル経由で行います。HoloLensをUSBケーブルでPCに接続するとImport ToolにHoloLensが表示され、アプリ上から転送できます(HoloLensがApril 2018 Updateでメディア転送のプロトコルがサポートされたので、このフローがOSバージョンに依存してるのかなとも思っています)。

f:id:kaorun55:20180529170929p:plain

間取りファイルのインポート

Visioで作成した間取りデータをImport Toolを通してHoloLens内に展開します。Visioからは専用のアドインを使って.vilというファイルで出力します。

アドオンのインストールはImport Toolの「About」から取得できます。「Get the Visio add-in」からVisioのアドインをダウンロードします。なお、Visioは英語版をインストールする必要があります。

f:id:kaorun55:20180529171455p:plain

Visioを開きレイアウトを行って「Layout」メニューからExportを選択して.vilを出力します。

f:id:kaorun55:20180529171610p:plain

これをImport Toolの「Layouts」タブから「Add layout」から追加します。

f:id:kaorun55:20180529171738p:plain

このファイルを選択すると右上に「Export to GLB」というボタンがあるので押してみると、このレイアウトをGLB形式でエクスポートできます。

f:id:kaorun55:20180529171806p:plain

エクスポートされたGLBファイルを開く(Widows 10に標準でインストールされている3D Builderで開けます)とVisioで作成したレイアウトが表示されます。

f:id:kaorun55:20180529171921p:plain

これをHoloLensでLayoutから取り込みモデルを配置して保存します。

f:id:kaorun55:20180529141726j:plain

再度Import ToolでLayoutsを開き、HoloLens側のLayoutからGLBをエクスポートすると、モデルの配置を行った後のモデルが取得できます。これを見ながら配置モデルを共有することもできます。

f:id:kaorun55:20180529172131p:plain

まとめ

ストーリー、アプリケーションともに非常によくできています。ファイルの使い方、データの行き来の仕方が非常に簡単になり、HoloLens利用の最初の一歩である「自分たちのモデルを見ること」については、このツールで十分だと思います。開発会社としてもこの先をどう考えるかということが重要になってきました。