UnityによるAR/VR/MR
開発体験講座
石井勇一 2018/1
メモ
Copyright(C) 2018 . All Rights Reserved石井 勇一 2
0. はじめに
Copyright(C) 2018 . All Rights Reserved石井 勇一 3
研修の概要
• 本研修はUnityを用いてAR/VR/MRアプリケーショ
ンの作成について紹介します。
Copyright(C) 2018 . All Rights Reserved石井 勇一 4
使用しているソフトウェアについて
ソフトウェア名 バージョン
Unity 2017.2.1f1
2017.3.0f3(ARCore)
Visual Studio 2017(15.5.2)
PC Windows 10 Fall Creators Update(2017/10)
Copyright(C) 2018 . All Rights Reserved石井 勇一 5
本資料は2017/12/23時点の情報を元に作成されています(一部2018/1/11の
情報も含まれています)。
実際に使用するときはツールのバージョンなどが変わっている恐れがあります。
目次
1. UnityによるxRアプリケーション開発の流れ
2. xRアプリケーション開発における注意点
3. xRアプリケーションのネットワーク対応
Copyright(C) 2018 . All Rights Reserved石井 勇一 6
1. UnityによるxRアプリケー
ション開発の流れ
多くのxR(VR/MR/ARの総称)アプリケーションはUnityと呼ば
れるゲーム用統合開発環境を用いて作成されています。この
章ではUnityの概要とxRアプリケーションの開発の全体的な
流れについて紹介します。
Copyright(C) 2018 . All Rights Reserved石井 勇一 7
この章で扱う内容
1. VR/AR/MR概要
2. Unity概要とxR対応状況
3. プラットフォーム別VR/AR/MRアプリ開発の流れ
4. xRアプリケーション開発演習
Copyright(C) 2018 . All Rights Reserved石井 勇一 8
1. VR/AR/MR概要
• VRとは
• ARとは
• MRとは
Copyright(C) 2018 . All Rights Reserved石井 勇一 9
VR(Virtual Reality)とは
• 日本語で「実質現実」
• 良くある間違い「仮想現実」
• 「五感を刺激し、さも実際にその空間にいるかのような体験がで
きる」ことの総称
• HMD(Head Mount Display)=VRではない
• 現在市販されているVR機器の多くがHMD(視覚)、ヘッドフォン
(聴覚)のみで、一部のハイエンド機器がハンドコントローラー(触
覚)もサポートしている
• 嗅覚、味覚は業務用に一部のメーカーがリリースしている
• メジャーなHMDはOculus社の「Rift」(通称CV1)、HTC社の
「Vive」など
Copyright(C) 2018 . All Rights Reserved石井 勇一 10
AR(Augmented Reality)とは
• 「拡張現実」、と訳されることが多い
• 人が知覚する現実環境をコンピュータにより拡張する技術、およびコン
ピュータにより拡張された現実環境そのものを指す言葉。
• VRとの一番の違いは「現実環境をコンピュータにより拡張」する点。
• VR:環境も含めて基本的にすべてCGや音響、触覚デバイスなどで実現する
• AR:現実にある物を認識して、そこにコンピューターで処理した結果を付加する
• 現在はスマートフォン(Phab 2 Pro、ZenFone AR、iPhone6s以降の
iOS11(ARKit))が主流
• 操作はタッチパネルによるものが多い
Copyright(C) 2018 . All Rights Reserved石井 勇一 11
ARの紹介
• What's New on Tango (Google I/O '17)
• https://www.youtube.com/watch?v=BOrg2oc3-rQ
• 見どころ:16:44~、20:20~付近
Copyright(C) 2018 . All Rights Reserved石井 勇一 12
ARの紹介
• Google ARCore発表。
• http://japanese.engadget.com/2017/08/29/google-arcore-
sdk/
• Tango終了
• Google retires the Tango brand as its smartphone AR
ambitions move wider
• http://tcrn.ch/2wGkV3L
• Google、「Project Tango」の終了を正式発表 「ARCore」開
発者プレビュー2公開
http://www.itmedia.co.jp/news/articles/1712/18/news052.ht
ml
Copyright(C) 2018 . All Rights Reserved石井 勇一 13
MR(Mixed Reality)とは
• AR/VRなどを包含した用語(書籍「バーチャルリアリティ学」よ
り)
• Microsoft社が発売しているHoloLensは複合現実(MR)と紹介
している。
• HoloLens
• 独立型専用PCでWindows10を搭載
• 複数のカメラとソフトウェアによる高度な空間認識
• ヘッドフォンを搭載し空間音響によるリアルな音響効果
• ハンドジェスチャーによる操作
• 高価(開発版が338,000円、法人向け558,000円)
Copyright(C) 2018 . All Rights Reserved石井 勇一 14
2. Unity概要とxR対応状況
• Unityとは
• UnityのxR対応状況
Copyright(C) 2018 . All Rights Reserved石井 勇一 15
Unityとは
Copyright(C) 2018 . All Rights Reserved石井 勇一 16
Unityとは
Copyright(C) 2018 . All Rights Reserved石井 勇一 17
エディタ
ゲーム
エンジン
Unity
Unityとは
• マルチプラットフォーム対応
• Windows/Mac/Linuxなどのデスクトップ
• iOS/Androidなどのスマートフォン
• WebGLによるマルチプラットフォーム向け出力
• PS4, WiiU, XBOX One,Switchなどのコンシューマー機
• SteanVR, Oculus Rift, Gear VR, PlayStation VR, HololensなどのVR/ARプラット
フォーム
• 強力なエディタ内蔵
• 物理ベースシェーディングによるリアルな映像
• 高度なメモリープロファイリング
• 直観的なUIツール
• 強力なアニメーション技術
Copyright(C) 2018 . All Rights Reserved石井 勇一 18
Unityとは
• アニメーション
• リターゲット可能なアニメーション
• ランタイムでアニメーションのウェイトを完全制御
• アニメーションのプレイバックからのイベントコール
• 洗練されたステートマシンの階層と遷移
• 顔のアニメーションのためのブレンドシェイプ
• グラフィックス
• Enlightenによるリアルタイムグローバルイルミネーション(GI)
• 物理ベースシェーディング
• 反射プローブ
• カーブとグラディエント駆動型モジュラーパーティクルシステム
• 直観的なUIツール
Copyright(C) 2018 . All Rights Reserved石井 勇一 19
Unityとは
• 最適化
• 高度なメモリープロファイリング
• Umbraによるオクルージョンカリング
• アセットバンドル
• Level Of Detail(LOD)対応
• ビルドサイズ削減
• マルチスレッド化したジョブシステム
• オーディオ
• リアルタイムのミキシングとマスタリング
• 階層化されたミキサー、スナップショットとプリセットの音響効果
Copyright(C) 2018 . All Rights Reserved石井 勇一 20
Unityとは
• 2Dと3Dの物理挙動
• Box2Dでエフェクター、関節、コライダーを包括的に扱う
• NVIDIA® PhysX® 3.3
• スクリプティング
• C#、JavaScript
• 高度に自動化された経路探索とナビゲーションメッシュを備えた
AI機能
• バージョン管理
• Perforce と Plastic SCMに完全対応
• gitやSVNなどへも対応可能
Copyright(C) 2018 . All Rights Reserved石井 勇一 21
UnityのxR対応状況
Unity5.6 Unity2017.1 Unity2017.2
SteamVR 〇 〇 〇
Oculus 〇 〇 〇
WinMR × × 〇
Gear VR 〇 〇 〇
Cardboard 〇 〇 〇
Daydream 〇 〇 〇
Copyright(C) 2018 . All Rights Reserved石井 勇一 22
UnityのxR対応状況
Unity5.6 Unity2017.1 Unity2017.2
ARKit × × 〇
Tango 〇 × ×
ARCore × × 〇
HoloLens 〇 〇 〇
Copyright(C) 2018 . All Rights Reserved石井 勇一 23
3.プラットフォーム別VR/AR/MRア
プリ開発の流れ
• 新規プロジェクトを作成
• プラットフォームの切り替え
• Project SettingsのPlayer Settings
• Unity5.6 : Virtual Reality Supportedを設定
• Unity2017.x : XR Settingsを設定
• PlayまたはBuild & Run(Main Cameraがそのまま
HMDやスマフォのカメラになる)
Copyright(C) 2018 . All Rights Reserved石井 勇一 24
4. xRアプリケーション開発演習
• VR
• SteamVR(Vive)アプリケーション(Windows: PC)
• Riftアプリケーション(Windows: PC)
• WinMRアプリケーション(UWP: PC)
• Gear VRアプリケーション(Android: Galaxy S8+)
• Daydreamアプリケーション(Android: ZenFone AR)
• AR
• ARCoreアプリケーション(Android: Galaxy S8)
• MR
• HoloLensアプリケーション(UWP: HoloLens)
Copyright(C) 2018 . All Rights Reserved石井 勇一 25
VRアプリ開発のための準備
Copyright(C) 2018 . All Rights Reserved石井 勇一 26
SteamVR(Vive)アプリケーション
(Windows: PC)
• Viveソフトウェア
• https://www.vive.com/jp/setup/
• SteamVR Plugin(1.2.2)
• https://assetstore.unity.com/packages/tools/steamvr-
plugin-32647
• https://github.com/ValveSoftware/steamvr_unity_plugin/
tree/master
• Unity5.4.0f1以上に対応
Copyright(C) 2018 . All Rights Reserved石井 勇一 27
Riftアプリケーション
(Windows: PC)
• Oculusソフトウェア
• https://www.oculus.com/setup/
• Unity
• 対応バージョン一覧
• https://developer.oculus.com/documentation/unity/latest/concepts/un
ity-sdk-version-compatibility/
• Oculus Utilities for Unity(基本パッケージ)
• Oculus Avatar SDK(Touch用)
• Oculus Platform SDK(Touchおよびアバター用)
• https://developer.oculus.com/downloads/unity/
Copyright(C) 2018 . All Rights Reserved石井 勇一 28
WinMRアプリケーション
(UWP: PC)
• Visual Studio 2017(15.5.2)
• 追加で以下の機能を選択
• Universal Windows Platform
• Game Development with Unity
• Windows 10 SDK 10.0.16299 SDK(ARM、Intelなど全てインストール推
奨)
• Unity2017.2.1f1
• Mixed RealityToolkit-Unity
• https://github.com/Microsoft/MixedRealityToolkit-Unity
• Windows 10 Fall Creators Update必須
Copyright(C) 2018 . All Rights Reserved石井 勇一 29
Gear VRアプリケーション(Android:
Galaxy S8+)
• Unity5.6以上。2017.2も対応
• Oculus Utilities for Unity(基本パッケージ)
• https://developer.oculus.com/downloads/unity/
• Android Studio
• https://developer.android.com/studio/index.html
• Android SDK Version 5.0 (API Level 21)以上
• Android Build Tools, 25.0.1以上
Copyright(C) 2018 . All Rights Reserved石井 勇一 30
Daydreamアプリケーション
(Android: ZenFone AR)
• Google VR SDK for Unity
(GVR SDK for Unity v1.120.0)
• https://github.com/googlevr/gvr-unity-sdk/releases
• Unity 5.6以上。
• Android Studio 2.3.3以上
• https://developer.android.com/studio/index.html
• Android SDK Version 7.1(API Level 25)以上
Copyright(C) 2018 . All Rights Reserved石井 勇一 31
ARアプリ開発のための準備
Copyright(C) 2018 . All Rights Reserved石井 勇一 32
ARCoreアプリケーション(Android:
Galaxy S8)
• Unity 2017.2.x以上
• ARCore Service app
• ARCore Unity SDK
• https://developers.google.com/ar/develop/downloads
• Android Studio
• https://developer.android.com/studio/index.html
• Android SDK Version 7.0(API Level 24)以上
Copyright(C) 2018 . All Rights Reserved石井 勇一 33
MRアプリ開発のための準備
Copyright(C) 2018 . All Rights Reserved石井 勇一 34
HoloLensアプリケーション(UWP:
HoloLens)
• Visual Studio 2017(15.5.2)
• 追加で以下の機能を選択
• Universal Windows Platform
• Game Development with Unity
• Windows 10 SDK 10.0.16299 SDK(ARM、Intelなど全てインストール推奨)
• Unity2017.2.1f1
• Mixed RealityToolkit-Unity
• https://github.com/Microsoft/MixedRealityToolkit-Unity
• Windows 10 Fall Creators Update必須
Copyright(C) 2018 . All Rights Reserved石井 勇一 35
プラットフォーム別
初めの一歩
Copyright(C) 2018 . All Rights Reserved石井 勇一 36
この資料における前提条件
• SteamVRとRiftおよびWinMRの接続、アカウント作
成、初期設定は完了済み
• AndroidプラットフォームはAndroid Studioおよび
Android SDKのセットアップ、USBドライバのセット
アップは完了済み
Copyright(C) 2018 . All Rights Reserved石井 勇一 37
参考
Androidの開発者モードの設定
• 「開発者モード」の有効化
• Androidの「設定」を起動
• 「端末情報」を開き、「ビルド番号」を7回タップ
• USBデバッグの有効化
• 「設定」 –「開発者向けオプション」を開く
• 最上部の「ON」を選択
• 「USBデバッグ」をオンに設定
• AndroidをUSBケーブルでPCに接続
• 初回接続時はUSBドライバの読み込みに時間が掛かります。
• 次に端末の認証が必要です。
Copyright(C) 2018 . All Rights Reserved石井 勇一 38
参考
Androidの開発者モードの設定
• AndroidをUSBケーブルでPCに接続
• 接続後、コマンドプロンプトにて以下のコマンドを実行
• もし以下の様に「unauthorized」と表示されたら、S6の
USBケーブルを一度付け直します。すると、S6の画面に
「このPCを信頼しますか?」と表示されるので、「信頼」ボ
タンを押してください。
Copyright(C) 2018 . All Rights Reserved石井 勇一 39
adb devices
List of devices attached
1ab234c56d78de9f unauthorized
このままでは開発で
きません。
参考
ADBドライバ
• Windows 8.1以降であれば自動認識される
• もし認識されない場合はAndroid SDKに含まれる
汎用USBドライバを指定する
• 例: C:¥android-sdk¥extras¥google¥usb_driver
Copyright(C) 2018 . All Rights Reserved石井 勇一 40
参考
Androidのビルドができない
• Unable to list target platforms. When I try to build to
Andriod on Mac
• https://answers.unity.com/questions/1320634/unable-to-list-
target-platforms-when-i-try-to-buil.html
• not finding android sdk (Unity)
• https://stackoverflow.com/questions/42538433/not-finding-
android-sdk-unity
• UnityのAndroidビルドができなくなった時の対処法
• https://qiita.com/niusounds/items/bcbeee622b2114b4016e
Copyright(C) 2018 . All Rights Reserved石井 勇一 41
参考
Unityの設定
• 設定をするため新規プロジェクトを作成または既
存のプロジェクトを開いてください(設定は一度だ
けです)。
• [Edit]-[Preferences...]を実行
• External ToolsのAndroidのSDK、JDK、NDKをそ
れぞれ設定します。設定例を以下に示します。
Copyright(C) 2018 . All Rights Reserved石井 勇一 42
参考
Unityの設定
Copyright(C) 2018 . All Rights Reserved石井 勇一 43
SteamVR(Vive)
Copyright(C) 2018 . All Rights Reserved石井 勇一 44
SteamVR(Vive)
• Unity2017.2.1f1を起動
• 新規プロジェクトの作成
• Asset Storeから「SteamVR Plugin」を検索してインポート
• APIのアップデート要求があるので、「I Made a Backup.,
Go Ahead!」ボタンを押す
• SteamVR Settingsダイアログが出るので「Accept All」ボタ
ンを押す
• 「You made the right choice!(正しい選択をしましたね)」と
でるので「OK」ボタンを押す
Copyright(C) 2018 . All Rights Reserved石井 勇一 45
SteamVR(Vive)
• Assets/SteamVR/Scenes/exampleシーンを開く
• Playボタンを押す
• その他のシーンファイル
• Assets/SteamVR/Extras/SteamVR_TestThrow
• Assets/SteamVR/InteractionSystem/samples/Scenes/Inte
ractions_Example
Copyright(C) 2018 . All Rights Reserved石井 勇一 46
SteamVR(Vive)
• 新規シーンから作成するための方法
• Main Cameraを削除
• Assets/SteamVR/Prefabs/[CameraRig]をHierarchyにドラッグ
• HMD(Camera)、Viveコントローラなどを含む主要プレハブ
• Assets/SteamVR/Prefabs/[SteamVR]をHierarchyにドラッグ
• 座位や立位の切り替え機能などを提供
Copyright(C) 2018 . All Rights Reserved石井 勇一 47
Oculus Rift
Copyright(C) 2018 . All Rights Reserved石井 勇一 48
Oculus Rift
• Unity2017.2.1f1を起動
• 新規プロジェクトの作成
• OculusUtilities.unitypackageをインポート
• APIのアップデート要求があるので、「I Made a Backup., Go
Ahead!」ボタンを押す
• Update Oculus Utilites Pluginダイアログが出る(Unity内蔵の
プラグインのバージョンは1.14.1なので古い)ので「Yes」ボタン
を押す
• Restart Unityダイアログが出るので「Restart」ボタンを押して
Unityを再起動する
Copyright(C) 2018 . All Rights Reserved石井 勇一 49
Oculus Rift
• <続き>
• OvrAvatar.unitypackageをインポート
• APIのアップデート要求があるので、「I Made a Backup.,
Go Ahead!」ボタンを押す
• <シェーダーコンパイルにとても時間が掛かる>
• OculusPlatform.unitypackageをインポート
• Unityに「Tools」「Oculus Avatars」「Oculus Platform」メ
ニューが増えます。
Copyright(C) 2018 . All Rights Reserved石井 勇一 50
Oculus Rift
• <続き>
• App IDの入力
• Oculus Avatars > Edit Configurationを実行
• Oculus Rift App IDにApp IDを入力
• Oculus Platform > Edit Settingsを実行
• Oculus Rift App IDにApp IDを入力
• App IDはOculus VR社のサイトで開発者としてアカウントを登
録し、アプリケーションを仮登録すると得られるIDになります。
• このIDを登録することでTouchコントローラーやアバターが表
示されます。
Copyright(C) 2018 . All Rights Reserved石井 勇一 51
Oculus Rift
Copyright(C) 2018 . All Rights Reserved石井 勇一 52
https://dashboard.oculus.com/
Oculus Rift
• Assets/OvrAvatar/Samplesの下にいくつかサンプ
ルシーンがあるのでそれを実行
• Controllers: 手とTouch Controllerを表示
• GripPoses: 手が表示されるだけ
• LocalAvatar: 目の前に自分のアバターが表示される
• RemoteLoopback: 相互接続テスト用(事前準備が必要)
Copyright(C) 2018 . All Rights Reserved石井 勇一 53
Oculus Rift
• Tools > Oculus > Audit Project for VR Performance
Issuesを実行すると性能上問題になりそうなところ
を検査できます。
Copyright(C) 2018 . All Rights Reserved石井 勇一 54
Oculus Rift
• OVR Lintウィンドウの[Run Lint]を実行するとVRの
性能問題になりそうなポイントを検査し、修正案を
提示します。
• [Fix]ボタンを押すと修正案に従って修正します。
Copyright(C) 2018 . All Rights Reserved石井 勇一 55
Oculus Rift
• その他のサンプルは別のUnityパッケージとして配
布されています。
• 新規にプロジェクトを作り直して以下のパッケージ
をインポートし直してください。
• OculusSampleFramework_1.21.0.unitypackage
• https://developer.oculus.com/documentation/unity/latest
/concepts/unity-sampleframework-release-1-21/
Copyright(C) 2018 . All Rights Reserved石井 勇一 56
Windows Mixed Reality
Immersive headsets
Copyright(C) 2018 . All Rights Reserved石井 勇一 57
Windows Mixed Reality
• Unity 2017.2.1f1をUnity2017.2.1p1起動
• 新規プロジェクトを作成
• File > Build Settingsを実行
• Universal Windows Platformを選択し、次のページ
のように設定し、「Switch Platform]ボタンを押す
Copyright(C) 2018 . All Rights Reserved石井 勇一 58
Windows Mixed Reality
Copyright(C) 2018 . All Rights Reserved石井 勇一 59
Windows Mixed Reality
Copyright(C) 2018 . All Rights Reserved石井 勇一 60
SDKは10.0.16299.0(2017/12/23現在)
Windows Mixed Reality
• [Player Settings]ボタンを押す
• Other SettingsのScripting Backend .NETに変更
• 基本パッケージをインポート
• HoloToolkit-Unity-2017.2.1.0.unitypackage
• サンプルパッケージをインポート
• HoloToolkit-Unity-Examples-2017.2.1.0.unitypackage
Copyright(C) 2018 . All Rights Reserved石井 勇一 61
Windows Mixed Reality
• Assets/HoloToolkit-Examples/Input/Scenes/の
MotionControllerTestシーンを開く
• Build Settingsを閉じていたら再び開く(File > Build
Settings)
• [Add Open Scenes]ボタンをしてビルド対象のシー
ンを追加
Copyright(C) 2018 . All Rights Reserved石井 勇一 62
Windows Mixed Reality
• [Build]ボタンを押す
• 注意:[Build&Run]ボタンは使用しない
• 適当な保存先フォルダを新規作成する(例:Appと
する)
• Appフォルダを選択して[フォルダの選択]ボタンを
押す
Copyright(C) 2018 . All Rights Reserved石井 勇一 63
Windows Mixed Reality
• Appフォルダの中にある xxx.sln(Visual Studioソリュー
ションファイル)を開き、Visual Studioを起動
• Visual Studio上部のビルドの設定を以下のように変更
Copyright(C) 2018 . All Rights Reserved石井 勇一 64
Windows Mixed Reality
• [デバッグ]-[デバッグなしで実行]またはCtrl+F5で
実行
• しばらくするとHomeアプリと共にHMDに映像とコ
ントローラーが表示される
Copyright(C) 2018 . All Rights Reserved石井 勇一 65
Gear VR
Copyright(C) 2018 . All Rights Reserved石井 勇一 66
Gear VR
• Unity2017.2.1f1を起動
• 新規プロジェクトの作成
• OculusUtilities.unitypackageをインポート
• APIのアップデート要求があるので、「I Made a Backup., Go
Ahead!」ボタンを押す
• Update Oculus Utilites Pluginダイアログが出る(Unity内蔵の
プラグインのバージョンは1.14.1なので古い)ので「Yes」ボタン
を押す
• Restart Unityダイアログが出るので「Restart」ボタンを押して
Unityを再起動する
Copyright(C) 2018 . All Rights Reserved石井 勇一 67
Gear VR
• <続き>
• File > Build Settingsを実行
• プラットフォームからAndroidを選択
• Texture CompressionをASTCに変更
• [Switch Platform]を実行
Copyright(C) 2018 . All Rights Reserved石井 勇一 68
Gear VR
• [Player Settings]ボタンを押す
• XR Settingsの「Virtual Reality Supported」をチェック
する
• 右下の「+」ボタン押して「Oculus」を選択
• Stereo Rendering Methodを「Multi Pass」に変更
Copyright(C) 2018 . All Rights Reserved石井 勇一 69
Gear VR
Copyright(C) 2018 . All Rights Reserved石井 勇一 70
Gear VR
• Gear VRは API Level
21 (Android 5.0) 以上
に設定
• Player SettingsのOther
Settingsで変更
Copyright(C) 2018 . All Rights Reserved石井 勇一 71
Gear VR
• osigファイルの作成
• osigファイルとはOculus Signature Fileのことで、本来はサ
ムスンがデジタル署名したアプリのみ実行可能なGear
VRアプリを開発者が自分の端末上で評価させるための
一時的なファイルのことです。
• osigファイルはOculus VR社のページで作成できます(要
Oculus Account)
• https://dashboard.oculus.com/tools/osig-generator/
Copyright(C) 2018 . All Rights Reserved石井 勇一 72
Gear VR
• osigファイルはAndroid端末ごとに作成します。
• osigファイルを作成したら、Unityのプロジェクトの所
定の場所にコピーしてからapkファイル(Android
パッケージファイル)を作成することでアプリケー
ションが動作します。
Copyright(C) 2018 . All Rights Reserved石井 勇一 73
Gear VR
• osigファイルの作成
• S6/S6 EdgeをUSBケーブルでPCに接続
• 接続後、コマンドプロンプトにて以下のコマンドを実行
• 以下のような表示が出ます。
• この例では「ce0551e7」がDevice IDです(実際は異なります) 。
Copyright(C) 2018 . All Rights Reserved石井 勇一 74
adb devices
List of devices attached
ce0551e7 device
Gear VR
• ブラウザで https://dashboard.oculus.com/tools/osig-generator/
を開く
• log inする(要Oculus Account)
• 先ほど入手したDevice IDを入力し、「ファイルをダウンロード」ボ
タンを押す
• ファイル名は「oculussig_{device id}」となります。
• ファイルを Assets/Plugins/Android/assets/ にコピーします。
• 最後のファイルコピーを忘れると、Gear VRで実行時にセ
キュリティ例外でアプリケーションが終了します。
Copyright(C) 2018 . All Rights Reserved石井 勇一 75
Gear VR
• その他、性能上問題になりそうなところはTools >
Oculus > Audit Project for VR Performance Issues
を実行すると検査できます。
Copyright(C) 2018 . All Rights Reserved石井 勇一 76
Gear VR
• OVR Lintウィンドウの[Run Lint]を実行するとVRの
性能問題になりそうなポイントを検査し、修正案を
提示します。
• [Fix]ボタンを押すと修正案に従って修正します。
Copyright(C) 2018 . All Rights Reserved石井 勇一 77
Gear VR
• 参考
• https://developer.oculus.com/documentation/unity/latest
/concepts/unity-mobileprep/
• https://developer.oculus.com/documentation/unity/latest
/concepts/unity-build-android/#unity-build-android
Copyright(C) 2018 . All Rights Reserved石井 勇一 78
Gear VR
• <続き>
• OvrAvatar.unitypackageをインポート
• APIのアップデート要求があるので、「I Made a Backup.,
Go Ahead!」ボタンを押す
• <シェーダーコンパイルにとても時間が掛かる>
• OculusPlatform.unitypackageをインポート
• Unityに「Tools」「Oculus Avatars」「Oculus Platform」メ
ニューが増えます。
Copyright(C) 2018 . All Rights Reserved石井 勇一 79
Gear VR
• <続き>
• App IDの入力
• Oculus Avatars > Edit Configurationを実行
• Oculus Gear VR App IDにApp IDを入力
• Oculus Platform > Edit Settingsを実行
• Oculus Gear VR App IDにApp IDを入力
• App IDはOculus社のサイトで開発者としてアカウントを登録
し、アプリケーションを仮登録すると得られるIDになります。
• このIDを登録することでコントローラーやアバターが表示さ
れます。
Copyright(C) 2018 . All Rights Reserved石井 勇一 80
Daydream
Copyright(C) 2018 . All Rights Reserved石井 勇一 81
Daydream
• Unity2017.2.1f1を起動
• 新規プロジェクトの作成
• GoogleVRForUnity_ v1.110.0.unitypackageをイン
ポート
• APIのアップデート要求があるので、「I Made a
Backup., Go Ahead!」ボタンを押す
• Assets/GoogleVR/Demos/Scenes/GVRDemoシー
ンを開く
Copyright(C) 2018 . All Rights Reserved石井 勇一 82
Daydream
• File > Build Settingsを開く
• [Add Open Scenes]ボタンを押してGVRDemoをビ
ルド対象にする
• Androidを選択し、[Switch Platform]ボタンを押す
• [Player Settings]ボタンを押す
• 次ページを参照し設定をする
Copyright(C) 2018 . All Rights Reserved石井 勇一 83
Daydream
• Other Settings
• Package Name: Androidのパッケージ名ルールに適合する
文字列
• Minimum API Level: Android 7.0以上
• Target API Level: Android 7.0 または 7.1
• XR Settings
• Virtual Reality Supportedをチェック
• Virtual Reality SDKsの右下の「+」ボタンをして「Daydream」
を追加
Copyright(C) 2018 . All Rights Reserved石井 勇一 84
Daydream
• Build Settingsダイアログに戻って「Build & Run」で
ビルドと実行をする。apkファイル名は適当につけ
てください。
• しばらくするとAndroid端末側にアプリがインストー
ルされてDaydream Viewerに入れるように促される
画面が出るはずです。
• 操作はコントローラとの組み合わせで行います。
Copyright(C) 2018 . All Rights Reserved石井 勇一 85
Daydream
• Unityのプレイモードでもある程度操作ができます。
• Assets/GoogleVR/Prefabs/GvrEditorEmulatorプレハブ
• 頭の操作
• Alt+マウス移動: 頭の回転
• Ctrl+マウス移動: 頭の傾き
• コントロールの操作
• Shift+マウス移動: コントローラの傾き
• Shift+マウス左: コントローラのタッチパッドのクリック
• Shift+マウス右: コントローラのHomeボタン(Recenter)
• Shift+Control+マウス移動: コントローラのタッチパッド上でのスワイプ
操作
Copyright(C) 2018 . All Rights Reserved石井 勇一 86
Daydream
• Instant Preview
• 頭の向きやコントローラの値をAndroidから直接Unityに転送し、プレイ
モードで使えるようにする
• https://developers.google.com/vr/tools/instant-preview
• GVRパッケージに含まれている InstantPreview プレハブをHierarchyに
ドロップ
• パラメーターを調整(上記サイト参照)
• このシーンをビルド対象にしてapkを作成しインストール
• USB経由でもWi-Fi経由でも利用できますが、Wi-Fiはストリーミング映
像の配信のため通信帯域不足により映像が乱れることがあります。
• GVRDemoシーンにはこのプレハブが含まれているので、インス
トールがうまくいっているならそのまま利用できるはずです。
Copyright(C) 2018 . All Rights Reserved石井 勇一 87
ARCore
Copyright(C) 2018 . All Rights Reserved石井 勇一 88
ARCore
• ARCore特有の事前準備としてARCoreサービスの
インストールが必要です(一度だけその端末にイン
ストールするだけで良い)
• ARCoreサービスを下記のページからダウンロード
• https://developers.google.com/ar/develop/downloads
Copyright(C) 2018 . All Rights Reserved石井 勇一 89
ARCore
• ダウンロードした arcore-preview2.apkがあるディレク
トリで以下のコマンドを実行
Copyright(C) 2018 . All Rights Reserved石井 勇一 90
adb install -r -d arcore-preview2.apk
ARCore
• Unity2017.3.0f3を起動
• 新プロジェクトを作成
• arcore-unity-sdk-preview2.unitypackageをインポート
• Assets/GoogleARCore/HelloARExample/Scenes/
HelloARシーンを開く
• File > Build Settingsを実行
Copyright(C) 2018 . All Rights Reserved石井 勇一 91
ARCore
• Androidを選択し、[Switch Platform]を実行
• [Add Open Scenes]ボタンを押してビルドシーンを
追加
• [Player Settings]ボタンをして次のページの内容に
従って変更
• 変更後、[Build&Run]で実行。Gear VRやDaydream
のようなプレイモードによる実行などは無いため毎
回Build&Runが必要。
Copyright(C) 2018 . All Rights Reserved石井 勇一 92
ARCoreのPlayer Settings
• Other Settings
• Multithreaded Rendering: Off
• Package Name: com.example.helloAR のようなAndroid
パッケージ名のルールに則った文字列を指定
• Minimum API Level: Android 7.0以上
• Target API Level: Android 7.0 または 7.1
• XR Settings
• ARCore Supported: On
Copyright(C) 2018 . All Rights Reserved石井 勇一 93
HoloLens
Copyright(C) 2018 . All Rights Reserved石井 勇一 94
HoloLens
• Unity 2017.2.1p1を起動
• 新規プロジェクトを作成
• File > Build Settingsを実行
• Universal Windows Platformを選択し、次のページ
のように設定し、「Switch Platform]ボタンを押す
Copyright(C) 2018 . All Rights Reserved石井 勇一 95
HoloLens
Copyright(C) 2018 . All Rights Reserved石井 勇一 96
HoloLens
• [Player Settings]ボタンを押す
• Other SettingsのScripting Backend .NETに変更
• 基本パッケージをインポート
• HoloToolkit-Unity-2017.2.1.0.unitypackage
• サンプルパッケージをインポート
• HoloToolkit-Unity-Examples-2017.2.1.0.unitypackage
Copyright(C) 2018 . All Rights Reserved石井 勇一 97
HoloLens
• Assets/HoloToolkit-Examples/Input/Scenes/の
SelectedObjectKeywordsシーンを開く
• Build Settingsを閉じていたら再び開く(File > Build
Settings)
• [Add Open Scenes]ボタンをしてビルド対象のシー
ンを追加
Copyright(C) 2018 . All Rights Reserved石井 勇一 98
HoloLens
• [Build]ボタンを押す
• 注意:[Build&Run]ボタンは使用しない
• 適当な保存先フォルダを新規作成する(例:Appと
する)
• Appフォルダを選択して[フォルダの選択]ボタンを
押す
Copyright(C) 2018 . All Rights Reserved石井 勇一 99
HoloLens
• HoloLensをPCに繋げる
• Appフォルダの中にある xxx.sln(Visual Stdioソリュー
ションファイル)を開き、Visual Stdioを起動
• Visual Studio上部のビルドの設定を以下のように変更
Copyright(C) 2018 . All Rights Reserved石井 勇一 100
HoloLens
• [デバッグ]-[デバッグなしで実行]またはCtrl+F5で
実行
• しばらくするとHoloLens側にアプリが表示される
• 失敗する場合はHoloLensがスープしていることが
多いので、ブルームでメニューを表示したままにす
るとよい
Copyright(C) 2018 . All Rights Reserved石井 勇一 101
VRTK
Copyright(C) 2018 . All Rights Reserved石井 勇一 102
VRTK
• UnityによるVRアプリ開発を加速させるライブラリ
• Version 3.2.1(2017/12/23現在)
• Github
• https://github.com/thestonefox/VRTK/releases
• Asset Store
• https://www.assetstore.unity3d.com/jp/#!/content/64131
Copyright(C) 2018 . All Rights Reserved石井 勇一 103
VRTK
• 元々はVive専用だったがメジャーアップデート時
にOculusにも対応。さらに他のVRへの対応できる
ような拡張性を有している
Copyright(C) 2018 . All Rights Reserved石井 勇一 104
Supported SDK Download Link
VR Simulator Included
SteamVR SteamVR Plugin
Oculus Oculus Utilities
*Ximmerse Ximmerse Unity SDK
*Daydream Google VR SDK for Unity
*experimental 引用: https://github.com/thestonefox/VRTK
VRTKの基本的な使い方
• 参照元:
http://chocolattips.hatenablog.com/entry/2017/03/01/000000
• SteamVR(Vive)用にセットアップする場合
• SteamVR Plugin
• Oculus Rift用にセットアップする場合
• Oculus Utilities for Unity 5
• Oculus Avatar SDK
• Oculus Platform SDK
• 上記のパッケージをインポート
• VRTKパッケージをインポート
Copyright(C) 2018 . All Rights Reserved石井 勇一 105
VRTKの基本的な使い方
• Main Cameraを削除
• 空のゲームオブジェクトを4つ作成。Position(0,0,0)
• 以下のように配置
Copyright(C) 2018 . All Rights Reserved石井 勇一 106
VRTKの基本的な使い方
• HierarchyのVRTK_SDK_ManagerにVRTK_SDK
Managerコンポーネントを追加
• 以下の二つのプレハブをVRTK_SDK_Managerの
子として追加
• Assets/VRTK/Examples/ExampleResources/Prefabs/
SDKSetups
• Assets/VRTK/Prefabs/SDKSetupSwitcher
Copyright(C) 2018 . All Rights Reserved石井 勇一 107
VRTKの基本的な使い方
• VRTK_SDK_ManagerのVRTK_SDK Managerコン
ポーネントのLeft ControllerおよびRight Controller
を空のゲームオブジェクトで作成したLeftおよび
Rightゲームオブジェクトを割り当てる
Copyright(C) 2018 . All Rights Reserved石井 勇一 108
VRTKの基本的な使い方
• Oculusの例
Copyright(C) 2018 . All Rights Reserved石井 勇一 109
VRTKの基本的な使い方
• [Edit]-[Project Settings]-[Player Settings]を開く
• XR SettingsのVirtual Reality Supportedをチェック
• OculusまたはOpenVR(Vive)が無ければ追加
Copyright(C) 2018 . All Rights Reserved石井 勇一 110
VRTKの基本的な使い方
• VRTK_SDK Managerの[Auto Populate]ボタンを押す
Copyright(C) 2018 . All Rights Reserved石井 勇一 111
VRTKの基本的な使い方
• プレイモードでOculusまたはViveが動作します。
• プレイモードの右上に[Switch SDK Setup]ボタンが
表示され、それを押すとSimulatorに切り替えること
もできます。
• シーンに適当なモデルを配置してください。
Copyright(C) 2018 . All Rights Reserved石井 勇一 112
VRTKの基本的な使い方
• ポインタ
• Viveの場合はタップボタン、Touchの場合はジョイスティックを押したと
きポインタを出す
• HierarchyのVRTK_Controller > Leftに以下のコンポーネントを
追加
• VRTK_ControllerEvents
• VRTK_Pointer
• VRTK_Straight Pointer Renderer
• VRTK_PointerのPointer RendererにVRTK_Straight Pointer
Rendererを設定
• HierarchyのVRTK_Controller > Rightも同様に設定
Copyright(C) 2018 . All Rights Reserved石井 勇一 113
VRTKの基本的な使い方
• テレポート移動
• VRTK_Controllerの子に空のゲームオブジェクトを追加し
てPlayAreaに変更
• PlayAreaゲームオブジェクトにVRTK_Basic Teleportコン
ポーネントを追加
Copyright(C) 2018 . All Rights Reserved石井 勇一 114
VRTKの基本的な使い方
• 掴む
• Left / Rightに以下のコンポーネントを追加
• VRTK_InteractGrab
• VRTK_InteractTouch
• Cubeを2つ作成して、一つはScale(0.1, 0.1, 0.1)にして上に
乗せる(次ページ参照)
• セットアップするのは上の乗せたCubeです
Copyright(C) 2018 . All Rights Reserved石井 勇一 115
VRTKの基本的な使い方
• 掴む
Copyright(C) 2018 . All Rights Reserved石井 勇一 116
VRTKの基本的な使い方
• 掴む
• Cubeに以下のコンポーネントを追加
• RigidBody
• VRTK_InteractableObject
• VRTK_Fiexed Join Grab Attach
• VRTK_InteractableObjectの設定
• Is Grabbableをチェック
• Grab Attach Mechanic ScriptにVRTK_Fiexed Join Grab Attachを設定
Copyright(C) 2018 . All Rights Reserved石井 勇一 117
VRTKの基本的な使い方
• 別の手で掴む
• Cubeに以下のコンポーネントを追加
• VRTK_Swap Controller Grab Action
• VRTK_InteractableObjectの設定
• Secondary Grab Action ScriptにVRTK_Swap Controller
Grab Actionを設定
Copyright(C) 2018 . All Rights Reserved石井 勇一 118
参考
• Android API Levelとは
• https://developer.android.com/guide/topics/manifest/use
s-sdk-element.html#ApiLevels
• ARInterface(ARCoreとARKitの抽象化)
https://blogs.unity3d.com/jp/2017/11/01/experim
enting-with-multiplayer-arcore-and-arkit-jump-in-
with-sample-code/
Copyright(C) 2018 . All Rights Reserved石井 勇一 119
2. xRアプリケーション開発に
おける注意点
xRアプリケーションはそれぞれ特徴があります。
VR/AR/MRそれぞれの特徴と注意事項について紹介
します。
Copyright(C) 2018 . All Rights Reserved石井 勇一 120
この章で扱う内容
1. PC系VRアプリケーションにおける注意点
2. スマフォVRアプリケーションにおける注意点
3. ARアプリケーションにおける注意点
4. MRアプリケーションにおける注意点
5. 共通注意事項
Copyright(C) 2018 . All Rights Reserved石井 勇一 121
1. PC系VRアプリケーションにおけ
る注意点
• Oculus Riftベストプラクティスの熟読
• 移動方法の工夫
Copyright(C) 2018 . All Rights Reserved石井 勇一 122
Oculus Riftベストプラクティス
の熟読
• ベストプラクティスガイド 日本語版
• http://static.oculus.com/documentation/pdfs/ja-jp/intro-
vr/latest/bp.pdf
• ベストプラクティスガイド 英語版
• https://developer.oculus.com/design/latest/concepts/boo
k-bp/
• https://forums.oculus.com/developer/discussion/49451/
best-practices-for-vr-development
Copyright(C) 2018 . All Rights Reserved石井 勇一 123
移動方法の工夫
• Oculus、VRでの移動方法を8つ紹介 by MoguraVR
• http://www.moguravr.com/oculus-rift-vr-2/
• 筐体との連動
• その他の感覚と連動
Copyright(C) 2018 . All Rights Reserved石井 勇一 124
2. スマフォVRアプリケーションにお
ける注意点
Copyright(C) 2018 . All Rights Reserved石井 勇一 125
設計上の考慮事項
• 開始シーンの設計
• ヘッドトラッキングは常に維持する
• 起動画面は最短の時間で表示する
• 進行状況が分かるようなアニメーションを用意する
• シーンの切り替えはフェードを使用して移行する
Copyright(C) 2018 . All Rights Reserved石井 勇一 126
引用:https://developer.oculus.com/documentation/game-engines/latest/concepts/unity-mobile-performance-intro/
ベストプラクティス(1)
• バッチフレンドリに:マテリアルは共有化し、可能な限りテクス
チャはアトラス化して使用する
• ライトマップ、静的ジオメトリを優先する
• キャラクタや移動物体のために動的ライティングの代わりにラ
イトプローブを優先する
• テクスチャには多くの情報をベイクします。例えば、鏡面反
射(refections)、アンビエントオクルージョン(ambient occlusion)
• レンダリングパス数は最小限度にとどめる。動的ライトは使わ
ない、Post Effectは使わない、バッファを使用しない(Shader)、
GrabPassを使用しない(Shader)、などなど
Copyright(C) 2018 . All Rights Reserved石井 勇一 127
ベストプラクティス(2)
• アルファテスト/ピクセル透過は避ける。アルファテ
ストは高負荷のオーバーヘッドが発生します。可
能ならばアルファブレンドで代替してください。
• 最小限度のアルファブレンド透過処理を維持する。
• テクスチャ圧縮を使用してください。ASTCがお勧
めです。
• [Player Settings]のResolution and Presentationパネ
ルの"Disable Depth and Stencil"をチェックする
Copyright(C) 2018 . All Rights Reserved石井 勇一 128
一般的なCPUの最適化(1)
• VRアプリケーションやゲームにおいて常に60fpsを
キープすることが重要。
• 特定の位置や向きなどでラグが発生するようなこと
が無いように常に意識する必要があります。
• 以下に一般的な注意ポイントを記述します。
Copyright(C) 2018 . All Rights Reserved石井 勇一 129
一般的なCPUの最適化(2)
• シーンで使用するゲームオブジェクトやコンポーネント
の合計数に気を付ける(数が多くなればなるほどCPUを
消費する)
• ゲームデータやオブジェクトの効率化。
• 実際にUpdate()またはFixedUpdate()で計算する
GameObjectの数を最小限に抑える。
• 必要が無い限り物理シミュレータは減らすか削除する
• 頻繁に再利用するGameObjectは新しくオブジェクトを
生成する代わりにオブジェクトプールを使うべき
Copyright(C) 2018 . All Rights Reserved石井 勇一 130
一般的なCPUの最適化(3)
• プールされたAudioSoucesに対するPlayOneShotで音を出すとき、
GameObjectを割り当てサウンドが鳴り終わったあとにdestroyする
• 可能な限り高負荷な数学的操作を避けてください。
• 頻繁に利用するコンポーネントはキャッシュし、フレーム毎に検
索しないようにする
• Unityのプロファイラを使用する
• 高負荷なコードを認識し、必要なら最適化する
• フレーム毎に発生しているガベージコレクションの割り当てを認識し排
除する
• 通常プレイ中における性能のスパイク(定期的/不定期的に瞬間的に
高負荷になる現象)を認識し排除する
Copyright(C) 2018 . All Rights Reserved石井 勇一 131
一般的なCPUの最適化(4)
• UnityのOnGUI()は使用しない
• ジャイロや加速度センサーを有効にしない。現在
のUnityにおいて、これらの機能は高負荷なディス
プレイ呼び出しを行う引き金になります。
• そのほか、モバイルアプリのためのベストプラクティ
スは有効なテクニックです。
Copyright(C) 2018 . All Rights Reserved石井 勇一 132
レンダリングの最適化の一般事項
• ドローコールは低い状態を維持する(Unity5からは
SetPassに指標が変わっています)
• テクスチャの使用量と帯域幅に注意する
• ジオメトリの複雑さを最小限度に維持する
• fill rate(テクセル描画速度(1 秒あたりにテクス
チャー割り当て・陰影付けのできる立体表面要素
の数)に注意する。
Copyright(C) 2018 . All Rights Reserved石井 勇一 133
3. ARアプリケーションにおける
注意点
• Human Interface Guidelines by Apple
• https://developer.apple.com/ios/human-interface-
guidelines/technologies/augmented-reality/
• 抜粋は次のスライド
Copyright(C) 2018 . All Rights Reserved石井 勇一 134
3. ARアプリケーションにおける
注意点
• エクスペリエンスの設計(一部抜粋)
• ディスプレイ全体を使用すること
• 現実的なオブジェクトを配置するときは説得力を持たせる
• ARに最適ではない環境で利用されることも考慮
• ユーザの快適さに注意(同じ姿勢を強要してはいけない)
• アプリがユーザに動くことを推奨するときは、徐々に行うこと
• ユーザーの安全に注意する
• 音響によるフィードバックは効果的
• 可能な限り、ヒントを分かりやすく提示(文字ではなく3次元に回転する
インジケーターとか)
• 文字を表示する時は、親しみやすい用語を使用しましょう
Copyright(C) 2018 . All Rights Reserved石井 勇一 135
4. MRアプリケーションにおける注
意点
• デザインガイドライン(英語)
• https://developer.microsoft.com/ja-jp/windows/mixed-
reality/design
• UWP アプリ設計の概要(日本語)
• https://docs.microsoft.com/ja-
jp/windows/uwp/layout/design-and-ui-intro
Copyright(C) 2018 . All Rights Reserved石井 勇一 136
HoloLensのためのカメラ設定
• 快適なカメラの設定(英語)
• https://developer.microsoft.com/en-us/windows/mixed-
reality/comfort より引用
Copyright(C) 2018 . All Rights Reserved石井 勇一 137
Tokyo HoloLens Meetup vol.1
より
• HoloLensの特性を的確にとらえた秀逸な資料
• 広告目線から見たHoloLens - 坪倉輝明
• https://www.slideshare.net/teruakitsubokura/hololens-
71685824
Copyright(C) 2018 . All Rights Reserved石井 勇一 138
5. 共通注意事項
• とにかく体験の数を増やす
• 論文を調べる(VR/AR系の論文はかなりある)
• 先行者からの意見をきちんと聞く
• 試す前に諦めてはいけない
• 試して駄目ならベストプラクティスの観点から見直
して改善を検討
• 開発ツールのインストールは成功事例に従う
Copyright(C) 2018 . All Rights Reserved石井 勇一 139
3. xRアプリケーションのネット
ワーク対応
xR単独でも様々な表現ができますが、VR機器同士、
MR機器同士、AR機器同士など相互にネットワークに接
続するとアプリケーションの幅が大きく広がります。
Copyright(C) 2018 . All Rights Reserved石井 勇一 140
この章で扱う内容
1. Unityによるネットワーク連携の基礎
2. ネットワーク連携演習
3. 公開されているネットワーク連携
4. 事例集
Copyright(C) 2018 . All Rights Reserved石井 勇一 141
1. Unityによるネットワーク
連携の基礎
Copyright(C) 2018 . All Rights Reserved石井 勇一 142
Unityにおけるネットワーク連携
• マルチプレイヤーゲームのネットワーク状態を管理
• 標準のNetworkManager
• https://docs.unity3d.com/ja/current/Manual/UNetUsingH
LAPI.html
• Photon Cloud
• https://www.photonengine.com/ja-JP/Photon
• モノビット Engine
• http://www.monobitengine.com/
Copyright(C) 2018 . All Rights Reserved石井 勇一 143
2. ネットワーク連携演習
Copyright(C) 2018 . All Rights Reserved石井 勇一 144
演習
• 0からマルチプレイヤープロジェクトをセットアップ
する
• https://docs.unity3d.com/ja/current/Manual/UNetSetup.
html
Copyright(C) 2018 . All Rights Reserved石井 勇一 145
3. 公開されている
ネットワーク連携
Copyright(C) 2018 . All Rights Reserved石井 勇一 146
サードパーティ製
ネットワークミドルウェア
• モノビット Engine: VR VOICE CHAT 2.0
• http://www.monobitengine.com/vrvc/
• Photon Cloud: True Sync
• https://doc.photonengine.com/ja-
jp/truesync/current/tutorial/tstutorial-part1-download-
install
Copyright(C) 2018 . All Rights Reserved石井 勇一 147
アセットストア
• VR Shooting Range - Photon
• https://www.assetstore.unity3d.com/jp/#!/content/85121
Copyright(C) 2018 . All Rights Reserved石井 勇一 148
HoloLens
• Sharing
• HoloLens x HoloLens
• https://developer.microsoft.com/en-us/windows/mixed-
reality/holograms_240
• HoloLens x Immersive headsets
• https://developer.microsoft.com/en-us/windows/mixed-
reality/mixed_reality_250
Copyright(C) 2018 . All Rights Reserved石井 勇一 149
ViveとHoloLens
• Microsoft HoloLens + HTC Viveをリアルタイムに
同期させ共同作業を可能にした
「HoloViveObserver」がGitHubに登場
• http://shiropen.com/2017/02/01/22913
Copyright(C) 2018 . All Rights Reserved石井 勇一 150
4. 事例集
• 株式会社ハシラス
• https://hashilus.com/
• VR ZONE SHINJUKU
• https://vrzone-pic.com/
Copyright(C) 2018 . All Rights Reserved石井 勇一 151
4. 事例集
• Microsoft HoloLensを装着したPepperが自動走行。
ANAが宮崎空港で自走を含めた案内業務の実地検
証開始
• http://travel.watch.impress.co.jp/docs/news/1044482.html
• ドワンゴ、N高入学式にHoloLensを使用 1対多人数
シェア機能「DAHLES(ダレス)」開発
• http://panora.tokyo/24080/
• 吉永 崇さん (Takashi Yoshinaga)
• https://twitter.com/Tks_Yoshinaga/status/928711064992096
256
Copyright(C) 2018 . All Rights Reserved石井 勇一 152
お問い合わせ
• 株式会社シーディングソフテック 石井 勇一
• E-mail: yuichi.ishii@seedingsoftech.jp
• Home Page: http://seedingsoftech.jp/
• 個人的なお問い合わせ
• Twitter: @z_zabaglione
• Home Page: http://zabaglione.info/
• 本資料をシーディングソフテックの書面による事前許可なく本資料を複製、再製、
改変、発表、アップロード、掲示、転送、配布することを禁じます。
• プログラムコードは個人・商用利用ともに一切の制限もなくロイヤリティフリーでご
利用可能です。
• 画像、音声、3Dモデルデータなどのリソース類は原著者の利用許諾に従ってご
利用ください。
Copyright(C) 2018 . All Rights Reserved石井 勇一 153

UnityによるAR/VR/MR 開発体験講座