SlideShare a Scribd company logo
takabrz1 大阪駆動開発 Takahiro Miyaura
Unreal Engine でアプリ開発
~ MRTK UXTools for Unreal V0.9.0 ~
宮浦 恭弘 (Miyaura Takahiro)
 大阪駆動開発コミュニティに生息
 HoloLens日本販売してからXR系技術に取組む
 普段はよくMixed Reality Toolkitに関する調査している
 新しい技術や、MRに使えそうな技術を調べる
技術Tips : https://qiita.com/miyaura
takabrz1 ※よかったらこれを機にお知り合いになってください
Microsoft MVP for Windows Development 2018-202 1
某会社でSE(アプリケーション領域のアーキテクト的なお仕事なはず)= XRは趣味です(貢献領域:Mixed Reality)
 リリース機能調べたり・・・
 面白い機能使ってみたり・・・
 新しい実験してフィードバックしたり・・・
最近はこちらが中心
本日のお題
Unreal EngineでHoloLens開発
2020/08/31 Copyright © 2020 Takahiro Miyaura
Mixed Reality Toolkit UXTools for V0.9.0の話
Unreal Engineで開発
最小限のプロジェクト構成
デプロイに必要な設定 etc…
3
おさらい
~ ツールを利用したHoloLens開発 ~
開発ツール その①
2020/08/31 Copyright © 2020 Takahiro Miyaura
HoloLens 1stから開発で使われてきたゲームエンジン
 最もノウハウがたまっている開発手法
Unity
モバイルゲームではおなじみ(Made with Unity)
クロスプラットフォーム開発が可能
コンテンツ開発にはコーディング(主にC#)の知識が必要
Visual Studio
コードエディタとしても利用
直接/関節的にHoloLens用にUWPアプリのビルドとデプロイを実行
5
Unreal Engine
モバイルゲームではおなじみ
クロスプラットフォーム開発が可能
コーディングの知識がなくてもある程度アプリケーション開発ができる。
開発ツール その②
2020/08/31 Copyright © 2020 Takahiro Miyaura
HoloLens 2から利用できるようになったゲームエンジン
 ノウハウはまだ少なめ。これから整備(ライブラリ等)が充実(すると考えられる)
Visual Studio
直接的には呼び出さないがUE側のバックエンドで呼びだされビルドを実行
6
おさらい
~ 関連ライブラリ~
HoloLens開発に関連するライブラリ
2020/08/31 Copyright © 2020 Takahiro Miyaura
各ゲームエンジン向けにOSSとして提供
Mixed Reality Toolkit for Unity(V2.4.0)
ButtonやBoundingBox等のUX部品
イベント制御系 etc…
Mixed Reality Design Labs
Unity向けOSSライブラリ
UXデザインのサンプル
Mixed Reality Toolkit for Unreal(V0.9.0)
Unity向けのライブラリと同等を目指す
8
Mixed Reality Toolkit UXTools for Unreal
2020/08/31 Copyright © 2020 Takahiro Miyaura
Unity向けMRTKを踏襲しUnreal用に整備
Mixed Reality Toolkit for Unreal(V0.9.0)
Unity向けのライブラリと同等を目指す
V0.9.0でBuilding Blocksの一部が実装
9
HoloLens 2 style buttons
Pinch slider
Improved far beam visuals
Generic manipulator improvements
Performant shaders and material functions
New editor utility Blueprints and widgets
Configurable front face fraction for buttons
Hand constraints
New touchable volume component
Forced grab cancelation
V0.9.0で追加された機能
Mixed Reality Toolkit UXTools for Unreal
~ V0.9.0 リリースノート ~
2020/08/31 Copyright © 2020 Takahiro Miyaura
HoloLens 2 style buttons
 https://microsoft.github.io/MixedReality-UXTools-Unreal/version/public/0.9.x/Docs/ReleaseNotes.html#hololens-2-style-buttons
10
 MRTKでは定番のHoloLens 2 Style Button
 押ボタン
 チェックボックス
 トグル
 スイッチ
Mixed Reality Toolkit UXTools for Unreal
~ V0.9.0 リリースノート ~
2020/08/31 Copyright © 2020 Takahiro Miyaura
Pinch slider
 https://microsoft.github.io/MixedReality-UXTools-Unreal/version/public/0.9.x/Docs/ReleaseNotes.html#pinch-slider
11
 スライダー操作可能なUX部品
Mixed Reality Toolkit UXTools for Unreal
~ V0.9.0 リリースノート ~
2020/08/31 Copyright © 2020 Takahiro Miyaura
New editor utility Blueprints and widgets
12
 UXの部品のカスタマイズを容易にす
るために仕組みの提供
Mixed Reality Toolkit UXTools for Unreal
~ V0.9.0 リリースノート ~
2020/08/31 Copyright © 2020 Takahiro Miyaura
Hand constraints
13
 アクターが手に追従するコンポーネント
 Palm-Up 制約を利用してHand Menuと
しても利用可能
Unreal Engineで開発
~ 最小限の構成 ~
2020/08/31 Copyright © 2020 Takahiro Miyaura
Unreal Engineで開発
~ 最小限の構成 ~
Microsoft公式ドキュメントでも公開
15
https://docs.microsoft.com/ja-jp/windows/mixed-reality/unreal-development-overview?WT.mc_id=MR-MVP-5003104
公式の情報を元にUnreal Engineでの最小手順を整理
2020/08/31 Copyright © 2020 Takahiro Miyaura
Unreal Engineで開発
~ 最小限の構成 ~
手順通りに作ると空間マッピング+Cubeが落下するアプリ
16
カクつく人のために
Youtubeにアップしました。
2020/08/31 Copyright © 2020 Takahiro Miyaura
Unreal Engineで開発
~ 最小限の構成 ~
大まかな流れ
1. オプションの設定
2. プロジェクト設定 & プラグイン設定
3. MRTK UX-Toolsの導入
4. 空のレベルを作る(シーンみたいなもの)
5. 初期位置と光源の設定
6. ARSessionの開始と終了処理
7. 空間マッピングの設定
8. ユーザオブジェクト(装着者に相当)の追加
17
9. ゲームモードの作成(利用オブジェクトの定義等)
10. プロジェクト設定
11. ハンドインタラクションの設定
12. ビルド用の設定
13. ビルド
★コンテンツの開発をする
Unreal Engineで開発
~ 最小限の構成 ~
開発環境
2020/08/31
ソフトウェア
Windows 10 version 1909 or higher.
最新の Visual Studio 2019 (試したときは16.5.3)
Windows SDK 10.0.18362.0
MRTK UX Tools V0.9.0
Unreal Engine 4.25.2
Copyright © 2020 Takahiro Miyaura 18
Unreal Engineで開発
~ 最小限の構成 ~
1.オプションの設定(HoloLens 2デプロイ用モジュール追加)
2020/08/31
1. [Epic Games Launcher]の[ライブ
ラリ]から利用しているUnreal
Engineの[オプション]を開く
2. [HoloLens 2]にチェックを入れて
[適用]を押す
Copyright © 2020 Takahiro Miyaura 19
Unreal Engineで開発
~ 最小限の構成 ~
2.プロジェクト設定 & プラグイン設定
2020/08/31
1. 新規プロジェクトを作る
2. カテゴリは[ゲーム]で作成
3. テンプレートは[Blank]で作成
Copyright © 2020 Takahiro Miyaura 20
Unreal Engineで開発
~ 最小限の構成 ~
2.プロジェクト設定 & プラグイン設定
2020/08/31 Copyright © 2020 Takahiro Miyaura 21
1. [プロジェクト]は[C++]
2. [パフォーマンス特性]は
[スケーラブルな3D・2D]
3. [コンテンツ]は[スターターコンテンツ無し]
Unreal Engineで開発
~ 最小限の構成 ~
2.プロジェクト設定 & プラグイン設定
2020/08/31
1. [編集]-[プラグイン]を選択
2. 以下のプラグインをセットして再起動
• [Augmented Reality]の[HoloLens]
• [Virtual Reality]の[Microsoft Windows Mixed Reality]
Copyright © 2020 Takahiro Miyaura 22
Unreal Engineで開発
~ 最小限の構成 ~
3. MRTK UX-Toolsの導入
2020/08/31
1. プロジェクトを一度閉じる
2. GithubからUXTools-Unrealを取得
https://github.com/microsoft/MixedReality-UXTools-Unreal/releases/tag/v0.9.0
 UXTools.0.9.0.zipをダウンロード&展開
3. [プロジェクトフォルダ]/Pluginsを作ったプ
ロジェクトの直下にフォルダごとコピー
※Pluginsフォルダがない場合は作成
Copyright © 2020 Takahiro Miyaura 23
UXTGame-HoloLens.0.9.0.zipをHoloLens 2
にセットアップすると実装機能を確認可能
Unreal Engineで開発
~ 最小限の構成 ~
4.空のレベルを作る(シーンみたいなもの)
2020/08/31
1. [ファイル] – [新規レベル]を選択
2. [空のレベル]を選択
Copyright © 2020 Takahiro Miyaura 24
Unreal Engineで開発
~ 最小限の構成 ~
5.初期位置と光源の設定
2020/08/31
1. [Place Actor]-[Basic]-[Player Start]を選択し、
エリアにドロップ
2. トランスフォームを下記の通り設定
1. Location:0,0,0
2. Rotate:0,0,0
Copyright © 2020 Takahiro Miyaura 25
Unreal Engineで開発
~ 最小限の構成 ~
5.初期位置と光源の設定
2020/08/31 Copyright © 2020 Takahiro Miyaura 26
1. [Place Actor]-[Lights]-[Directional Light]を選
択し、エリアにドロップ
2. トランスフォームを下記の通り設定
1. 位置:430,0,430
2. 回転:0,-46.999996,0
Unreal Engineで開発
~ 最小限の構成 ~
6.ARSessionの開始と終了処理
2020/08/31
1. [Content Browser]内から[Add New]-
[Miscellaneous]-[Data Asset]を選択
2. 表示される選択肢の中から
[ARSessionConfig]選択
3. オブジェクト名を[ARSessionConfig]
に変更
4. 一度[ARSessionConfig]を開いて保存
して閉じる
Copyright © 2020 Takahiro Miyaura 27
Unreal Engineで開発
~ 最小限の構成 ~
6.ARSessionの開始と終了処理
2020/08/31
1. メニューの[Blueprints]-[Open Level
Blueprint]を選択
Copyright © 2020 Takahiro Miyaura 28
Unreal Engineで開発
~ 最小限の構成 ~
6.ARSessionの開始と終了処理
2020/08/31
1. [Event BeginPlay]から処理を引出す
2. [Executable actions]から[Start AR Session]
を選択し、パラメータに先ほど作った
[ARSessionConfig]を割り当てる。
Copyright © 2020 Takahiro Miyaura 29
Unreal Engineで開発
~ 最小限の構成 ~
6.ARSessionの開始と終了処理
2020/08/31 Copyright © 2020 Takahiro Miyaura 30
1. [Level Blueprint]内で右クリックでメニュを
表示する
2. [Add Event]-[Event End Play]を選択する
3. [Event EndPlay]から処理を引出す
4. [Executable actions]から[Stop AR Session]
を選択する
5. [Compile]を押下後、[Save]を押して閉じる
Unreal Engineで開発
~ 最小限の構成 ~
7.空間マッピングの設定
2020/08/31
1. 追加した[ARSessionConfig]を開く
2. [World Mapping]の以下の設定を
チェックする
 Generate Mesh Data from Tracked Geometry
 Generate Collision for Mesh Data
 Use Mesh for Occlusion
 Render Mesh Data in Wireframe
 Track Scene Objekcts
Copyright © 2020 Takahiro Miyaura 31
この設定を行うことで、空間マッピング
が有効になりワイヤーメッシュを表示
Unreal Engineで開発
~ 最小限の構成 ~
8.ユーザオブジェクト(装着者に相当)の追加
2020/08/31 Copyright © 2020 Takahiro Miyaura 32
1. [Content Browser]内から[Add
New]-[Blueprints]-[Blueprints
Class]を選択
2. [All Classes]の中から
[DefaultPawn]を選択
3. オブジェクト名を[MRPawn]に変
更
Unreal Engineで開発
~ 最小限の構成 ~
8.ユーザオブジェクト(装着者に相当)の追加
2020/08/31
1. 追加したMRPawnうぃクリックし[Class
Defaults]を表示する
2. 中程の[Collision]カテゴリ内の以下の2つの
コンポーネントの[Collision Presets]を
[NoCollision]に設定する
 CollisionComponent
 MeshComponent
Copyright © 2020 Takahiro Miyaura 33
Unreal Engineで開発
~ 最小限の構成 ~
9.ゲームモードの作成(利用オブジェクトの定義等)
2020/08/31 Copyright © 2020 Takahiro Miyaura 34
1. [Content Browser]内から[Add
New]-[Blueprints]-[Blueprints
Class]を選択
2. [All Classes]の中から
[GameModeBase]を選択
3. オブジェクト名を
[MRGameMode]に変更
Unreal Engineで開発
~ 最小限の構成 ~
9.ゲームモードの作成(利用オブジェクトの定義等)
2020/08/31
1. 追加した[MRGameMode]を開く
2. [Default Pawn Class]を[MRPawn]に変更
Copyright © 2020 Takahiro Miyaura 35
Unreal Engineで開発
~ 最小限の構成 ~
10.プロジェクト設定
2020/08/31
1. メニューから[Edit] – [Project
Settings]を開く
2. [Default Modes]を
[MRGameMode]に変更
3. [Default Maps]を[Main]に変更
Copyright © 2020 Takahiro Miyaura 36
Unreal Engineで開発
~ 最小限の構成 ~
11.ハンドインタラクションの設定
2020/08/31
1. [MRPawn]のイベントグラフを開く
2. [イベントBeginPlay]からスタートし左記の
通りイベントを設定
1. SpawnActorFromClass
(クラスからアクタをスポーン)
・Uxt HandInteraction Actorを設定
2. SetHand
・スポーンしたハンドインタラクショ
ンがどちらの手かを設定
Copyright © 2020 Takahiro Miyaura 37
Unreal Engineで開発
~ 最小限の構成 ~
12.ビルド用の設定
2020/08/31 Copyright © 2020 Takahiro Miyaura 38
1. メニューから[Edit]-[Project Settings…]
を選択する
2. [Project]-[Description]を選択し以下の設
定を行う。
• Project Name
⇒ 任意
• Company Distinguished Name
⇒ CN=ほげほげ
※署名に使うコモンネーム
Unreal Engineで開発
~ 最小限の構成 ~
12.ビルド用の設定
2020/08/31
1. メニューから[Edit]-[Project
Settings…]を選択する
2. [Project]-[Platform]から[HoloLens]を
選択する
3. [HoloLens]-[Build for HoloLens
Device]にチェックを入れる
4. [Packaging]-[Signing Certificate]の
[Generate new]を押下する
※初回でデバッグ時のみ
Copyright © 2020 Takahiro Miyaura 39
別途署名がある場合は作成は不要
(署名を選択して設定)
Unreal Engineで開発
~ 最小限の構成 ~
13.ビルド
2020/08/31
1. メニューから[File] – [Package Project] –
[HoloLens]を選択しパッケージ化する
Copyright © 2020 Takahiro Miyaura 40
Unreal Engineで開発
~ おまけ – コンテンツ開発 ~
HoloLens 2Style Buttonの追加
2020/08/31 Copyright © 2020 Takahiro Miyaura 41
1. [Content Browser]内から[Add
New]-[Blueprints]-[Blueprints
Class]を選択
2. [All Classes]の中から[BP_Bうっ
とnHoloLens2]を選択
3. オブジェクト名を[BtnFreeFall]に
変更
4. [BtnFreeFall]をコピー&ペースト
し、オブジェクト名を[BtnReset]
に変更
Unreal Engineで開発
~ おまけ – コンテンツ開発 ~
ボタンの配置
2020/08/31 Copyright © 2020 Takahiro Miyaura 42
1. [Content Browser]内から
[BtnFreeFall]、[BtnReset] をそれ
ぞれ選択しエリアにドラッグ&ド
ロップする
2. [BtnFreeFall]の[Transform]を以下
の通り設定する
• Location:50,40,5
• Rotation:0,0,180
• Scale:3,3,3
3. [BtnReset]の[Transform]を以下の
通り設定する
• Location:50,40,-5
• Rotation:0,0,180
• Scale:3,3,3
Unreal Engineで開発
~ おまけ – コンテンツ開発 ~
Resetボタンの制御(Cubeを元の位置に戻す)
2020/08/31 Copyright © 2020 Takahiro Miyaura 43
1. [Content Browser]内から
[BtnReset] を選択しBlueprintを開
く
2. 左記のとおり制御を組む
• 物理演算の停止
• Cubeを初期位置(50,0,0)に移動
3. [Variable]に[Cube]をする
• 型は[Static Mesh Actor]
• [Instance Editable]にチェック
World Outlinerから[BtnReset]を選
択して変数にCubeを割り当てる
Unreal Engineで開発
~ おまけ – コンテンツ開発 ~
FreeFallボタンの制御(物理制御が有効になる)
2020/08/31 Copyright © 2020 Takahiro Miyaura 44
1. [Content Browser]内から
[BtnFreeFall] を選択しBlueprintを
開く
2. 左記のとおり制御を組む
• 物理演算を有効化
3. [Variable]に[Cube]をする
• 型は[Static Mesh Actor]
• [Instance Editable]にチェック
World Outlinerから[BtnFreeFall]を
選択して変数にCubeを割り当てる
Unreal Engine
モバイルゲームではおなじみ
クロスプラットフォーム開発が可能
コーディングの知識がなくてもある程度アプリケーション開発ができる。
まとめ
2020/08/31 Copyright © 2020 Takahiro Miyaura
HoloLens 2から利用できるUnreal EngineにもMRTKが使える
 これから整備(ライブラリ等)が充実
45
Mixed Reality Toolkit for Unreal(V0.9.0)
Unity向けのライブラリの機能が徐々に移植されている
ノンコーディング開発の1つの手法として今後に注目
大阪駆動開発
関西を中心に、IT系のおもしろそうなことを楽しんでやるコミュニティ
2020/08/31 Copyright © 2020 Takahiro Miyaura 46

More Related Content

PPTX
Mixed Reality Toolkit V2.2.0のMobile対応について
PPTX
Mixed Reality関連のSDKの状況を調べてみた
PPTX
Mixed Reality Toolkit V3について
PPTX
Scrolling CollectionsとElastic System(Mixed Reality Toolkit V2.5.1)
PPTX
HoloLens 1のアプリをHoloLens 2に移行する
PPTX
だんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみた
PPTX
今改めて見る Plane finding
PPTX
World Locking Tools V1.0.0について~ 機能と導入 ~
Mixed Reality Toolkit V2.2.0のMobile対応について
Mixed Reality関連のSDKの状況を調べてみた
Mixed Reality Toolkit V3について
Scrolling CollectionsとElastic System(Mixed Reality Toolkit V2.5.1)
HoloLens 1のアプリをHoloLens 2に移行する
だんグラで「Mixed Reality Toolkit V2」のサンプルを動かしてみた
今改めて見る Plane finding
World Locking Tools V1.0.0について~ 機能と導入 ~

What's hot (20)

PPTX
Mixed Reality Feature ToolとMixed Reality Toolkit V2.6.1
PPTX
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTips
PPTX
HoloLens1アプリをHoloLens2アプリに変換できるかチャレンジ
PPTX
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
PPTX
久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -
PPTX
Mixed Reality Toolkit V2のMixed Reality Scene Systemを使う
PPTX
Azure Remote Renderingを試す
PPTX
Mixed Reality Toolkit V2.4.0の機能 ~ Progress Indicator ~
PPTX
MixedReality技術とその活用事例~xR(VR/AR/MR...)への基礎知識~
PPTX
XRマルチデバイス開発を可能にするOSSライブラリ「MRTK-vNEXT」について
PPTX
UIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみよう
PPTX
Oculus Quest 2 on Mixed Reality Toolkit V2.5.0~ ハンドトラッキングする方法 ~
PPTX
MRTKと戯れ続けると面白い事が多かった話
PPTX
World Locking Toolについて
PPTX
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
PPTX
Mixed Reality Dev Daysから読み解くこれからのMixed Reality
PPTX
「Mixed Reality Toolkit V1」のあの機能ってV2では?~ 空間マッピングとTagalong ~
PPTX
Azure Spatial Anchorsのユースケース「Way-Finding」を実現するためのテクニック
PPTX
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
PPTX
MR用にログ出力部品を作り始めました。
Mixed Reality Feature ToolとMixed Reality Toolkit V2.6.1
Unityは知ってる開発者が UE4 で HoloLens 2 アプリ開発セションを聞くために知っておくといいかもTips
HoloLens1アプリをHoloLens2アプリに変換できるかチャレンジ
HoloLensでコンテンツを操作する方法 - Gaze And Dwell -
久しぶりにMicrosoft Meshを使ってみた - 色々変わってたよ編 -
Mixed Reality Toolkit V2のMixed Reality Scene Systemを使う
Azure Remote Renderingを試す
Mixed Reality Toolkit V2.4.0の機能 ~ Progress Indicator ~
MixedReality技術とその活用事例~xR(VR/AR/MR...)への基礎知識~
XRマルチデバイス開発を可能にするOSSライブラリ「MRTK-vNEXT」について
UIデザイン設計から開発をつなぐ「MRTK Figma Bridge for Unity」を使ってみよう
Oculus Quest 2 on Mixed Reality Toolkit V2.5.0~ ハンドトラッキングする方法 ~
MRTKと戯れ続けると面白い事が多かった話
World Locking Toolについて
OpenXR + XR Interaction Toolkit使ったHoloLensコンテンツ開発検証 ~ (私が)完全に理解できたらちゃんと作れて、いろ...
Mixed Reality Dev Daysから読み解くこれからのMixed Reality
「Mixed Reality Toolkit V1」のあの機能ってV2では?~ 空間マッピングとTagalong ~
Azure Spatial Anchorsのユースケース「Way-Finding」を実現するためのテクニック
ラーニングパス「Azure Digital Twins と Unity を使用して Mixed Reality デジタル ツインを構築する」にAzure ...
MR用にログ出力部品を作り始めました。
Ad

Similar to Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~ (20)

PPTX
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
PDF
MRTK-Unreal(UX Tools) を利用した HoloLens 2 アプリ開発 | UNREAL FEST EXTREME 2020 WINTER
PDF
HoloLens 2 開発入門
PPTX
ノンプログラミングで始めるAR (HoloLens 2 / ARCore / ARKit) 開発 with MRTK
PPTX
Mixed Reality Toolkit V2開発環境構築(2020/01版)
PPTX
MRTK V2で積木アプリを作る
PDF
UE4.17で入る新機能を一気に紹介・解説!
PDF
#MRDevDaysJP HoloLens 2 アプリ開発入門
PPTX
MRTK V2開発環境構築
PDF
HoloLens勉強会#01
PPTX
MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)
PDF
Unreal Studio+機械CADのワークフロー
PPTX
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
PDF
MRTK V2.3 Spatial Awareness
PDF
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
PPTX
MRTK3を調べてみた
PDF
HoloLensハンズオン@ももち浜TECHカフェ vol.1
PDF
UnrealEngine の VR 事情
PDF
20180801 ガチラボ vol.7
PPTX
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~
MRTK-Unreal(UX Tools) を利用した HoloLens 2 アプリ開発 | UNREAL FEST EXTREME 2020 WINTER
HoloLens 2 開発入門
ノンプログラミングで始めるAR (HoloLens 2 / ARCore / ARKit) 開発 with MRTK
Mixed Reality Toolkit V2開発環境構築(2020/01版)
MRTK V2で積木アプリを作る
UE4.17で入る新機能を一気に紹介・解説!
#MRDevDaysJP HoloLens 2 アプリ開発入門
MRTK V2開発環境構築
HoloLens勉強会#01
MRTKで始めるAR開発 (HoloLens 1 and 2, ARCore, ARkit)
Unreal Studio+機械CADのワークフロー
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
MRTK V2.3 Spatial Awareness
手乗りちょまぎょアプリ開発で学ぶ MRTK 入門 (MRTK 2.5 対応)
MRTK3を調べてみた
HoloLensハンズオン@ももち浜TECHカフェ vol.1
UnrealEngine の VR 事情
20180801 ガチラボ vol.7
S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)
Ad

More from Takahiro Miyaura (18)

PPTX
Microsoft Ignite 2022の情報 & Microsoft Learnの整理をしてみた
PPTX
Mixed Reality Toolkit 3 の更新状況 - 6月からもちょいちょいアップデートされてるよ
PPTX
Mixed Reality Toolkit 3 - 「MRTK XR Rig」と「Bounds Control」
PPTX
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」のUXをみる
PPTX
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介
PPTX
Mixed Reality Toolkit 3 Recap
PPTX
【続】OpenXRでHoloLensアプリを作る
PPTX
OpenVRやOpenXRの基本的なことを調べてみた
PPTX
Mixed Reality Toolkit で OpenXRのEye Trackingを使う
PPTX
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
PPTX
5周年ふりかえり!HoloLens 1とHoloLens 2のUI操作と実装の違いを改めて見てみよう
PPTX
World Locking Tools でAzure Spatial Anchorsが使えるようになった
PPTX
Azure Digital TwinとUnreal Engineを統合するADTLink Pluginについて
PPTX
Azure Object Anchors のQuick Startで理解を深めたい
PPTX
Build 2021のDigital Twinsセションを読み解く ~Azure関連サービス概要とラーニングパスの詳説~
PPTX
「あれ」がスマホで動くのか試してみた
PPTX
Azure Object Anchors Recap(Kobe版)
PPTX
Azure Object Anchors Recap
Microsoft Ignite 2022の情報 & Microsoft Learnの整理をしてみた
Mixed Reality Toolkit 3 の更新状況 - 6月からもちょいちょいアップデートされてるよ
Mixed Reality Toolkit 3 - 「MRTK XR Rig」と「Bounds Control」
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」のUXをみる
Mixed Reality Toolkit 3 のチュートリアル「Zappy’s Playground」の紹介
Mixed Reality Toolkit 3 Recap
【続】OpenXRでHoloLensアプリを作る
OpenVRやOpenXRの基本的なことを調べてみた
Mixed Reality Toolkit で OpenXRのEye Trackingを使う
Mixed RealityとAzure Digital Twinsを組合わせてデジタルツインを可視化するためのTips
5周年ふりかえり!HoloLens 1とHoloLens 2のUI操作と実装の違いを改めて見てみよう
World Locking Tools でAzure Spatial Anchorsが使えるようになった
Azure Digital TwinとUnreal Engineを統合するADTLink Pluginについて
Azure Object Anchors のQuick Startで理解を深めたい
Build 2021のDigital Twinsセションを読み解く ~Azure関連サービス概要とラーニングパスの詳説~
「あれ」がスマホで動くのか試してみた
Azure Object Anchors Recap(Kobe版)
Azure Object Anchors Recap

Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~

  • 1. takabrz1 大阪駆動開発 Takahiro Miyaura Unreal Engine でアプリ開発 ~ MRTK UXTools for Unreal V0.9.0 ~
  • 2. 宮浦 恭弘 (Miyaura Takahiro)  大阪駆動開発コミュニティに生息  HoloLens日本販売してからXR系技術に取組む  普段はよくMixed Reality Toolkitに関する調査している  新しい技術や、MRに使えそうな技術を調べる 技術Tips : https://qiita.com/miyaura takabrz1 ※よかったらこれを機にお知り合いになってください Microsoft MVP for Windows Development 2018-202 1 某会社でSE(アプリケーション領域のアーキテクト的なお仕事なはず)= XRは趣味です(貢献領域:Mixed Reality)  リリース機能調べたり・・・  面白い機能使ってみたり・・・  新しい実験してフィードバックしたり・・・ 最近はこちらが中心
  • 3. 本日のお題 Unreal EngineでHoloLens開発 2020/08/31 Copyright © 2020 Takahiro Miyaura Mixed Reality Toolkit UXTools for V0.9.0の話 Unreal Engineで開発 最小限のプロジェクト構成 デプロイに必要な設定 etc… 3
  • 5. 開発ツール その① 2020/08/31 Copyright © 2020 Takahiro Miyaura HoloLens 1stから開発で使われてきたゲームエンジン  最もノウハウがたまっている開発手法 Unity モバイルゲームではおなじみ(Made with Unity) クロスプラットフォーム開発が可能 コンテンツ開発にはコーディング(主にC#)の知識が必要 Visual Studio コードエディタとしても利用 直接/関節的にHoloLens用にUWPアプリのビルドとデプロイを実行 5
  • 6. Unreal Engine モバイルゲームではおなじみ クロスプラットフォーム開発が可能 コーディングの知識がなくてもある程度アプリケーション開発ができる。 開発ツール その② 2020/08/31 Copyright © 2020 Takahiro Miyaura HoloLens 2から利用できるようになったゲームエンジン  ノウハウはまだ少なめ。これから整備(ライブラリ等)が充実(すると考えられる) Visual Studio 直接的には呼び出さないがUE側のバックエンドで呼びだされビルドを実行 6
  • 8. HoloLens開発に関連するライブラリ 2020/08/31 Copyright © 2020 Takahiro Miyaura 各ゲームエンジン向けにOSSとして提供 Mixed Reality Toolkit for Unity(V2.4.0) ButtonやBoundingBox等のUX部品 イベント制御系 etc… Mixed Reality Design Labs Unity向けOSSライブラリ UXデザインのサンプル Mixed Reality Toolkit for Unreal(V0.9.0) Unity向けのライブラリと同等を目指す 8
  • 9. Mixed Reality Toolkit UXTools for Unreal 2020/08/31 Copyright © 2020 Takahiro Miyaura Unity向けMRTKを踏襲しUnreal用に整備 Mixed Reality Toolkit for Unreal(V0.9.0) Unity向けのライブラリと同等を目指す V0.9.0でBuilding Blocksの一部が実装 9 HoloLens 2 style buttons Pinch slider Improved far beam visuals Generic manipulator improvements Performant shaders and material functions New editor utility Blueprints and widgets Configurable front face fraction for buttons Hand constraints New touchable volume component Forced grab cancelation V0.9.0で追加された機能
  • 10. Mixed Reality Toolkit UXTools for Unreal ~ V0.9.0 リリースノート ~ 2020/08/31 Copyright © 2020 Takahiro Miyaura HoloLens 2 style buttons  https://microsoft.github.io/MixedReality-UXTools-Unreal/version/public/0.9.x/Docs/ReleaseNotes.html#hololens-2-style-buttons 10  MRTKでは定番のHoloLens 2 Style Button  押ボタン  チェックボックス  トグル  スイッチ
  • 11. Mixed Reality Toolkit UXTools for Unreal ~ V0.9.0 リリースノート ~ 2020/08/31 Copyright © 2020 Takahiro Miyaura Pinch slider  https://microsoft.github.io/MixedReality-UXTools-Unreal/version/public/0.9.x/Docs/ReleaseNotes.html#pinch-slider 11  スライダー操作可能なUX部品
  • 12. Mixed Reality Toolkit UXTools for Unreal ~ V0.9.0 リリースノート ~ 2020/08/31 Copyright © 2020 Takahiro Miyaura New editor utility Blueprints and widgets 12  UXの部品のカスタマイズを容易にす るために仕組みの提供
  • 13. Mixed Reality Toolkit UXTools for Unreal ~ V0.9.0 リリースノート ~ 2020/08/31 Copyright © 2020 Takahiro Miyaura Hand constraints 13  アクターが手に追従するコンポーネント  Palm-Up 制約を利用してHand Menuと しても利用可能
  • 15. 2020/08/31 Copyright © 2020 Takahiro Miyaura Unreal Engineで開発 ~ 最小限の構成 ~ Microsoft公式ドキュメントでも公開 15 https://docs.microsoft.com/ja-jp/windows/mixed-reality/unreal-development-overview?WT.mc_id=MR-MVP-5003104 公式の情報を元にUnreal Engineでの最小手順を整理
  • 16. 2020/08/31 Copyright © 2020 Takahiro Miyaura Unreal Engineで開発 ~ 最小限の構成 ~ 手順通りに作ると空間マッピング+Cubeが落下するアプリ 16 カクつく人のために Youtubeにアップしました。
  • 17. 2020/08/31 Copyright © 2020 Takahiro Miyaura Unreal Engineで開発 ~ 最小限の構成 ~ 大まかな流れ 1. オプションの設定 2. プロジェクト設定 & プラグイン設定 3. MRTK UX-Toolsの導入 4. 空のレベルを作る(シーンみたいなもの) 5. 初期位置と光源の設定 6. ARSessionの開始と終了処理 7. 空間マッピングの設定 8. ユーザオブジェクト(装着者に相当)の追加 17 9. ゲームモードの作成(利用オブジェクトの定義等) 10. プロジェクト設定 11. ハンドインタラクションの設定 12. ビルド用の設定 13. ビルド ★コンテンツの開発をする
  • 18. Unreal Engineで開発 ~ 最小限の構成 ~ 開発環境 2020/08/31 ソフトウェア Windows 10 version 1909 or higher. 最新の Visual Studio 2019 (試したときは16.5.3) Windows SDK 10.0.18362.0 MRTK UX Tools V0.9.0 Unreal Engine 4.25.2 Copyright © 2020 Takahiro Miyaura 18
  • 19. Unreal Engineで開発 ~ 最小限の構成 ~ 1.オプションの設定(HoloLens 2デプロイ用モジュール追加) 2020/08/31 1. [Epic Games Launcher]の[ライブ ラリ]から利用しているUnreal Engineの[オプション]を開く 2. [HoloLens 2]にチェックを入れて [適用]を押す Copyright © 2020 Takahiro Miyaura 19
  • 20. Unreal Engineで開発 ~ 最小限の構成 ~ 2.プロジェクト設定 & プラグイン設定 2020/08/31 1. 新規プロジェクトを作る 2. カテゴリは[ゲーム]で作成 3. テンプレートは[Blank]で作成 Copyright © 2020 Takahiro Miyaura 20
  • 21. Unreal Engineで開発 ~ 最小限の構成 ~ 2.プロジェクト設定 & プラグイン設定 2020/08/31 Copyright © 2020 Takahiro Miyaura 21 1. [プロジェクト]は[C++] 2. [パフォーマンス特性]は [スケーラブルな3D・2D] 3. [コンテンツ]は[スターターコンテンツ無し]
  • 22. Unreal Engineで開発 ~ 最小限の構成 ~ 2.プロジェクト設定 & プラグイン設定 2020/08/31 1. [編集]-[プラグイン]を選択 2. 以下のプラグインをセットして再起動 • [Augmented Reality]の[HoloLens] • [Virtual Reality]の[Microsoft Windows Mixed Reality] Copyright © 2020 Takahiro Miyaura 22
  • 23. Unreal Engineで開発 ~ 最小限の構成 ~ 3. MRTK UX-Toolsの導入 2020/08/31 1. プロジェクトを一度閉じる 2. GithubからUXTools-Unrealを取得 https://github.com/microsoft/MixedReality-UXTools-Unreal/releases/tag/v0.9.0  UXTools.0.9.0.zipをダウンロード&展開 3. [プロジェクトフォルダ]/Pluginsを作ったプ ロジェクトの直下にフォルダごとコピー ※Pluginsフォルダがない場合は作成 Copyright © 2020 Takahiro Miyaura 23 UXTGame-HoloLens.0.9.0.zipをHoloLens 2 にセットアップすると実装機能を確認可能
  • 24. Unreal Engineで開発 ~ 最小限の構成 ~ 4.空のレベルを作る(シーンみたいなもの) 2020/08/31 1. [ファイル] – [新規レベル]を選択 2. [空のレベル]を選択 Copyright © 2020 Takahiro Miyaura 24
  • 25. Unreal Engineで開発 ~ 最小限の構成 ~ 5.初期位置と光源の設定 2020/08/31 1. [Place Actor]-[Basic]-[Player Start]を選択し、 エリアにドロップ 2. トランスフォームを下記の通り設定 1. Location:0,0,0 2. Rotate:0,0,0 Copyright © 2020 Takahiro Miyaura 25
  • 26. Unreal Engineで開発 ~ 最小限の構成 ~ 5.初期位置と光源の設定 2020/08/31 Copyright © 2020 Takahiro Miyaura 26 1. [Place Actor]-[Lights]-[Directional Light]を選 択し、エリアにドロップ 2. トランスフォームを下記の通り設定 1. 位置:430,0,430 2. 回転:0,-46.999996,0
  • 27. Unreal Engineで開発 ~ 最小限の構成 ~ 6.ARSessionの開始と終了処理 2020/08/31 1. [Content Browser]内から[Add New]- [Miscellaneous]-[Data Asset]を選択 2. 表示される選択肢の中から [ARSessionConfig]選択 3. オブジェクト名を[ARSessionConfig] に変更 4. 一度[ARSessionConfig]を開いて保存 して閉じる Copyright © 2020 Takahiro Miyaura 27
  • 28. Unreal Engineで開発 ~ 最小限の構成 ~ 6.ARSessionの開始と終了処理 2020/08/31 1. メニューの[Blueprints]-[Open Level Blueprint]を選択 Copyright © 2020 Takahiro Miyaura 28
  • 29. Unreal Engineで開発 ~ 最小限の構成 ~ 6.ARSessionの開始と終了処理 2020/08/31 1. [Event BeginPlay]から処理を引出す 2. [Executable actions]から[Start AR Session] を選択し、パラメータに先ほど作った [ARSessionConfig]を割り当てる。 Copyright © 2020 Takahiro Miyaura 29
  • 30. Unreal Engineで開発 ~ 最小限の構成 ~ 6.ARSessionの開始と終了処理 2020/08/31 Copyright © 2020 Takahiro Miyaura 30 1. [Level Blueprint]内で右クリックでメニュを 表示する 2. [Add Event]-[Event End Play]を選択する 3. [Event EndPlay]から処理を引出す 4. [Executable actions]から[Stop AR Session] を選択する 5. [Compile]を押下後、[Save]を押して閉じる
  • 31. Unreal Engineで開発 ~ 最小限の構成 ~ 7.空間マッピングの設定 2020/08/31 1. 追加した[ARSessionConfig]を開く 2. [World Mapping]の以下の設定を チェックする  Generate Mesh Data from Tracked Geometry  Generate Collision for Mesh Data  Use Mesh for Occlusion  Render Mesh Data in Wireframe  Track Scene Objekcts Copyright © 2020 Takahiro Miyaura 31 この設定を行うことで、空間マッピング が有効になりワイヤーメッシュを表示
  • 32. Unreal Engineで開発 ~ 最小限の構成 ~ 8.ユーザオブジェクト(装着者に相当)の追加 2020/08/31 Copyright © 2020 Takahiro Miyaura 32 1. [Content Browser]内から[Add New]-[Blueprints]-[Blueprints Class]を選択 2. [All Classes]の中から [DefaultPawn]を選択 3. オブジェクト名を[MRPawn]に変 更
  • 33. Unreal Engineで開発 ~ 最小限の構成 ~ 8.ユーザオブジェクト(装着者に相当)の追加 2020/08/31 1. 追加したMRPawnうぃクリックし[Class Defaults]を表示する 2. 中程の[Collision]カテゴリ内の以下の2つの コンポーネントの[Collision Presets]を [NoCollision]に設定する  CollisionComponent  MeshComponent Copyright © 2020 Takahiro Miyaura 33
  • 34. Unreal Engineで開発 ~ 最小限の構成 ~ 9.ゲームモードの作成(利用オブジェクトの定義等) 2020/08/31 Copyright © 2020 Takahiro Miyaura 34 1. [Content Browser]内から[Add New]-[Blueprints]-[Blueprints Class]を選択 2. [All Classes]の中から [GameModeBase]を選択 3. オブジェクト名を [MRGameMode]に変更
  • 35. Unreal Engineで開発 ~ 最小限の構成 ~ 9.ゲームモードの作成(利用オブジェクトの定義等) 2020/08/31 1. 追加した[MRGameMode]を開く 2. [Default Pawn Class]を[MRPawn]に変更 Copyright © 2020 Takahiro Miyaura 35
  • 36. Unreal Engineで開発 ~ 最小限の構成 ~ 10.プロジェクト設定 2020/08/31 1. メニューから[Edit] – [Project Settings]を開く 2. [Default Modes]を [MRGameMode]に変更 3. [Default Maps]を[Main]に変更 Copyright © 2020 Takahiro Miyaura 36
  • 37. Unreal Engineで開発 ~ 最小限の構成 ~ 11.ハンドインタラクションの設定 2020/08/31 1. [MRPawn]のイベントグラフを開く 2. [イベントBeginPlay]からスタートし左記の 通りイベントを設定 1. SpawnActorFromClass (クラスからアクタをスポーン) ・Uxt HandInteraction Actorを設定 2. SetHand ・スポーンしたハンドインタラクショ ンがどちらの手かを設定 Copyright © 2020 Takahiro Miyaura 37
  • 38. Unreal Engineで開発 ~ 最小限の構成 ~ 12.ビルド用の設定 2020/08/31 Copyright © 2020 Takahiro Miyaura 38 1. メニューから[Edit]-[Project Settings…] を選択する 2. [Project]-[Description]を選択し以下の設 定を行う。 • Project Name ⇒ 任意 • Company Distinguished Name ⇒ CN=ほげほげ ※署名に使うコモンネーム
  • 39. Unreal Engineで開発 ~ 最小限の構成 ~ 12.ビルド用の設定 2020/08/31 1. メニューから[Edit]-[Project Settings…]を選択する 2. [Project]-[Platform]から[HoloLens]を 選択する 3. [HoloLens]-[Build for HoloLens Device]にチェックを入れる 4. [Packaging]-[Signing Certificate]の [Generate new]を押下する ※初回でデバッグ時のみ Copyright © 2020 Takahiro Miyaura 39 別途署名がある場合は作成は不要 (署名を選択して設定)
  • 40. Unreal Engineで開発 ~ 最小限の構成 ~ 13.ビルド 2020/08/31 1. メニューから[File] – [Package Project] – [HoloLens]を選択しパッケージ化する Copyright © 2020 Takahiro Miyaura 40
  • 41. Unreal Engineで開発 ~ おまけ – コンテンツ開発 ~ HoloLens 2Style Buttonの追加 2020/08/31 Copyright © 2020 Takahiro Miyaura 41 1. [Content Browser]内から[Add New]-[Blueprints]-[Blueprints Class]を選択 2. [All Classes]の中から[BP_Bうっ とnHoloLens2]を選択 3. オブジェクト名を[BtnFreeFall]に 変更 4. [BtnFreeFall]をコピー&ペースト し、オブジェクト名を[BtnReset] に変更
  • 42. Unreal Engineで開発 ~ おまけ – コンテンツ開発 ~ ボタンの配置 2020/08/31 Copyright © 2020 Takahiro Miyaura 42 1. [Content Browser]内から [BtnFreeFall]、[BtnReset] をそれ ぞれ選択しエリアにドラッグ&ド ロップする 2. [BtnFreeFall]の[Transform]を以下 の通り設定する • Location:50,40,5 • Rotation:0,0,180 • Scale:3,3,3 3. [BtnReset]の[Transform]を以下の 通り設定する • Location:50,40,-5 • Rotation:0,0,180 • Scale:3,3,3
  • 43. Unreal Engineで開発 ~ おまけ – コンテンツ開発 ~ Resetボタンの制御(Cubeを元の位置に戻す) 2020/08/31 Copyright © 2020 Takahiro Miyaura 43 1. [Content Browser]内から [BtnReset] を選択しBlueprintを開 く 2. 左記のとおり制御を組む • 物理演算の停止 • Cubeを初期位置(50,0,0)に移動 3. [Variable]に[Cube]をする • 型は[Static Mesh Actor] • [Instance Editable]にチェック World Outlinerから[BtnReset]を選 択して変数にCubeを割り当てる
  • 44. Unreal Engineで開発 ~ おまけ – コンテンツ開発 ~ FreeFallボタンの制御(物理制御が有効になる) 2020/08/31 Copyright © 2020 Takahiro Miyaura 44 1. [Content Browser]内から [BtnFreeFall] を選択しBlueprintを 開く 2. 左記のとおり制御を組む • 物理演算を有効化 3. [Variable]に[Cube]をする • 型は[Static Mesh Actor] • [Instance Editable]にチェック World Outlinerから[BtnFreeFall]を 選択して変数にCubeを割り当てる
  • 45. Unreal Engine モバイルゲームではおなじみ クロスプラットフォーム開発が可能 コーディングの知識がなくてもある程度アプリケーション開発ができる。 まとめ 2020/08/31 Copyright © 2020 Takahiro Miyaura HoloLens 2から利用できるUnreal EngineにもMRTKが使える  これから整備(ライブラリ等)が充実 45 Mixed Reality Toolkit for Unreal(V0.9.0) Unity向けのライブラリの機能が徐々に移植されている ノンコーディング開発の1つの手法として今後に注目