Más contenido relacionado
La actualidad más candente (20)
Similar a Unreal Engine でアプリ開発~ MRTK UXTools for Unreal V0.9.0 ~ (20)
Más de Takahiro Miyaura (11)
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)
リリース機能調べたり・・・
面白い機能使ってみたり・・・
新しい実験してフィードバックしたり・・・
最近はこちらが中心
- 5. 開発ツール その①
2020/08/31 Copyright © 2020 Takahiro Miyaura
HoloLens 1stから開発で使われてきたゲームエンジン
最もノウハウがたまっている開発手法
Unity
モバイルゲームではおなじみ(Made with Unity)
クロスプラットフォーム開発が可能
コンテンツ開発にはコーディング(主にC#)の知識が必要
Visual Studio
コードエディタとしても利用
直接/関節的にHoloLens用にUWPアプリのビルドとデプロイを実行
5
- 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を割り当てる