Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

Miyaura
August 19, 2020

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

XRミーティング登壇資料。
HoloLens 2開発をUNREAL Engineで実施する際の話。最近Mixed Reality Toolkit もUnreal版が整備されておりv0.9.0がリリースされたのでその内容を元にUnreal Engineでの開発Tipsを共有。

Miyaura

August 19, 2020
Tweet

Other Decks in Technology

Transcript

  1. 宮浦 恭弘 (Miyaura Takahiro) ◼ 大阪駆動開発コミュニティに生息 ◼ HoloLens日本販売してからXR系技術に取組む ◼ 普段はよくMixed

    Reality Toolkitに関する調査している ◼ 新しい技術や、MRに使えそうな技術を調べる 技術Tips : https://qiita.com/miyaura takabrz1 ※よかったらこれを機にお知り合いになってください Microsoft MVP for Windows Development 2018-2021 某会社でSE(アプリケーション領域のアーキテクト的なお仕事なはず)= XRは趣味です (貢献領域:Mixed Reality) ✓ リリース機能調べたり・・・ ✓ 面白い機能使ってみたり・・・ ✓ 新しい実験してフィードバックしたり・・・ 最近はこちらが中心
  2. 本日のお題 Unreal EngineでHoloLens開発 2020/08/19 Copyright © 2020 Takahiro Miyaura ✓Mixed

    Reality Toolkit UXTools for V0.9.0の話 ✓Unreal Engineで開発 ✓最小限のプロジェクト構成 ✓デプロイに必要な設定 etc… 3
  3. Mixed Reality Toolkitに関連するライブラリ 2020/08/19 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向けのライブラリと同等を目指す 5
  4. Mixed Reality Toolkit UXTools for Unreal 2020/08/19 Copyright © 2020

    Takahiro Miyaura Unity向けMRTKを踏襲しUnreal用に整備 ◼Mixed Reality Toolkit for Unreal(V0.9.0) ◼Unity向けのライブラリと同等を目指す ◼V0.9.0でBuilding Blocksの一部が実装 6
  5. Mixed Reality Toolkit UXTools for Unreal ~ V0.9.0 リリースノート ~

    2020/08/19 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 7 ◼ MRTKでは定番のHoloLens 2 Style Button ✓ 押ボタン ✓ チェックボックス ✓ トグル ✓ スイッチ
  6. Mixed Reality Toolkit UXTools for Unreal ~ V0.9.0 リリースノート ~

    2020/08/19 Copyright © 2020 Takahiro Miyaura Pinch slider ◆ https://microsoft.github.io/MixedReality-UXTools-Unreal/version/public/0.9.x/Docs/ReleaseNotes.html#pinch-slider 8 ◼ スライダー操作可能なUX部品
  7. Mixed Reality Toolkit UXTools for Unreal ~ V0.9.0 リリースノート ~

    2020/08/19 Copyright © 2020 Takahiro Miyaura Improved far beam visuals ◆ https://microsoft.github.io/MixedReality-UXTools-Unreal/version/public/0.9.x/Docs/ReleaseNotes.html#improved-far-beam-visuals 9 ◼ 遠隔操作のためのポインター表現 ✓ HoloLens 2標準とほぼ一致 ✓ ポインターは点線 ✓ 操作時にポインターがしなる等
  8. Mixed Reality Toolkit UXTools for Unreal ~ V0.9.0 リリースノート ~

    2020/08/19 Copyright © 2020 Takahiro Miyaura Generic manipulator improvements ◆ https://microsoft.github.io/MixedReality-UXTools-Unreal/version/public/0.9.x/Docs/ReleaseNotes.html#generic-manipulator-improvements 10 ◼ 操作対象のScene Componentを任意に変更可能 ◼ オブジェクト操作を近距離/遠距離指定可能 ◼ Constraint systemの導入 ◼ モード変更をBlueprint上で変更可能に
  9. Mixed Reality Toolkit UXTools for Unreal ~ V0.9.0 リリースノート ~

    2020/08/19 Copyright © 2020 Takahiro Miyaura Performant shaders and material functions ◆https://microsoft.github.io/MixedReality-UXTools-Unreal/version/public/0.9.x/Docs/ReleaseNotes.html#performant-shaders-and-material-functions 11 ◼ Fluent Design Systemに従ったシェーダーや レンダリングのパフォーマンス
  10. Mixed Reality Toolkit UXTools for Unreal ~ V0.9.0 リリースノート ~

    2020/08/19 Copyright © 2020 Takahiro Miyaura New editor utility Blueprints and widgets 12 ◼ UXの部品のカスタマイズを容易にす るために仕組みの提供
  11. Mixed Reality Toolkit UXTools for Unreal ~ V0.9.0 リリースノート ~

    2020/08/19 Copyright © 2020 Takahiro Miyaura Configurable front face fraction for buttons 13 ◼ 押ボタンの押し込み感を調整する機能
  12. Mixed Reality Toolkit UXTools for Unreal ~ V0.9.0 リリースノート ~

    2020/08/19 Copyright © 2020 Takahiro Miyaura Hand constraints 14 ◼ アクターが手に追従するコンポーネント ◼ Palm-Up 制約を利用してHand Menuとし ても利用可能
  13. Mixed Reality Toolkit UXTools for Unreal ~ V0.9.0 リリースノート ~

    2020/08/19 Copyright © 2020 Takahiro Miyaura New touchable volume component 15 ◼ 任意のタッチ可能なボリュームを利用で きるコンポーネント ◼ イベントはBlueprintで利用可能
  14. Mixed Reality Toolkit UXTools for Unreal ~ V0.9.0 リリースノート ~

    2020/08/19 Copyright © 2020 Takahiro Miyaura Forced grab cancelation 16 ◼ オブジェクトをつかんだ状態から強制的にキャンセルするための関数が追加
  15. 2020/08/19 Copyright © 2020 Takahiro Miyaura Unreal Engineで開発 ~ 最小限の構成

    ~ 大まかな流れ 1. Unreal Engine起動 2. プロジェクト設定 & プラグイン設定 3. MRTK UX-Toolsの導入 4. 空のレベルを作る(シーンみたいなもの) 5. 初期位置と光源の設定 6. ARSessionの開始と終了処理 7. ユーザオブジェクト(装着者に相当)の追加 18 8. ゲームモードの作成(利用オブジェクトの定義等) 9. プロジェクト設定 10. ハンドインタラクションの設定 11. ビルド用の設定 12. ビルド
  16. Unreal Engineで開発 ~ 最小限の構成 ~ 開発環境 2020/08/19 ◼ソフトウェア ◼Windows 10

    version 1909 or higher. ◼最新の Visual Studio 2019 (試したときは16.5.3) ◼Windows SDK 10.0.18362.0 ◼MRTK UX Tools V0.8.X? ◼Unreal Engine 4.25.2 Copyright © 2020 Takahiro Miyaura 19
  17. Unreal Engineで開発 ~ 最小限の構成 ~ 2.プロジェクト設定 & プラグイン設定 2020/08/19 1.

    新規プロジェクトを作る 2. カテゴリは[ゲーム]で作成 3. テンプレートは[Blank]で作成 Copyright © 2020 Takahiro Miyaura 20
  18. Unreal Engineで開発 ~ 最小限の構成 ~ 2.プロジェクト設定 & プラグイン設定 2020/08/19 Copyright

    © 2020 Takahiro Miyaura 21 1. [プロジェクト]は[C++] 2. [パフォーマンス特性]は [スケーラブルな3D・2D] 3. [コンテンツ]は[スターターコンテンツ無し]
  19. Unreal Engineで開発 ~ 最小限の構成 ~ 2.プロジェクト設定 & プラグイン設定 2020/08/19 1.

    [編集]-[プラグイン]を選択 2. 以下のプラグインをセットして再起動 • [Augmented Reality]の[HoloLens] • [Virtual Reality]の[Microsoft Windows Mixed Reality] Copyright © 2020 Takahiro Miyaura 22
  20. Unreal Engineで開発 ~ 最小限の構成 ~ 3. MRTK UX-Toolsの導入 2020/08/19 1.

    GithubからUXTools-Unrealを取得 https://github.com/microsoft/MixedReality-UXTools-Unreal 2. public/V0.9.xにブランチを変更 3. UXToolsGame/Pluginsを作ったプロジェク トの直下にフォルダごとコピー Copyright © 2020 Takahiro Miyaura 23 https://github.com/microsoft/MixedReality-UXTools-Unreal/releases/tag/v0.9.0 上記のリリースから[UXTools.0.9.0.zip]をダウンロードしてコピーしてもOK
  21. Unreal Engineで開発 ~ 最小限の構成 ~ 4.空のレベルを作る(シーンみたいなもの) 2020/08/19 1. [ファイル] –

    [新規レベル]を選択 2. [空のレベル]を選択 Copyright © 2020 Takahiro Miyaura 24
  22. Unreal Engineで開発 ~ 最小限の構成 ~ 5.初期位置と光源の設定 2020/08/19 Copyright © 2020

    Takahiro Miyaura 26 1. [アクタの配置]-[ライト]-[ディレクションラ イト]を選択し、エリアにドロップ 2. トランスフォームを下記の通り設定 1. 位置:430,0,430 2. 回転:0,-46.999996,0
  23. Unreal Engineで開発 ~ 最小限の構成 ~ 6.ARSessionの開始と終了処理 2020/08/19 1. [コンテンツブラウザ]-[新規追加]- [その他]-[データセット]を選択

    2. 表示される選択肢の中から [ARSessionConfig]選択 3. オブジェクト名を [ARSessionConfig]に変更 Copyright © 2020 Takahiro Miyaura 27
  24. Unreal Engineで開発 ~ 最小限の構成 ~ 7.ARSessionの開始と終了処理 2020/08/19 1. [イベント BeginPlay]から処理を引出す

    2. 実行可能アクションから[StartARSession]を 選択し、パラメータに先ほど作った [ARSessionConfig]を割り当てる。 Copyright © 2020 Takahiro Miyaura 30
  25. Unreal Engineで開発 ~ 最小限の構成 ~ 6.ARSessionの開始と終了処理 2020/08/19 Copyright © 2020

    Takahiro Miyaura 31 1. [イベント EndPlay]から処理を引出す 2. 実行可能アクションから[StopARSession]を 選択する
  26. Unreal Engineで開発 ~ 最小限の構成 ~ 7.ユーザオブジェクト(装着者に相当)の追加 2020/08/19 Copyright © 2020

    Takahiro Miyaura 32 1. [コンテンツブラウザ]-[新規追加]- [ブループリント]-[ブループリント クラス]を選択 2. [すべてのクラス]の中から [DefaultPawn]を選択 3. オブジェクト名を[MRPawn]に変 更
  27. Unreal Engineで開発 ~ 最小限の構成 ~ 8.ゲームモードの作成(利用オブジェクトの定義等) 2020/08/19 Copyright © 2020

    Takahiro Miyaura 34 1. [コンテンツブラウザ]-[新規追加]- [ブループリント]-[ブループリント クラス]を選択 2. [すべてのクラス]の中から [GameModeBase]を選択 3. オブジェクト名を[MRGameMode] に変更
  28. Unreal Engineで開発 ~ 最小限の構成 ~ 9.プロジェクト設定 2020/08/19 1. [編集] –

    [プロジェクト設定]を 開く 2. [Default Modes]を [MRGameMode]に変更 3. [Default Maps]を[Main]に変更 Copyright © 2020 Takahiro Miyaura 36
  29. Unreal Engineで開発 ~ 最小限の構成 ~ 10.ハンドインタラクションの設定 2020/08/19 1. [MRPawn]のイベントグラフを開く 2.

    [イベントBeginPlay]からスタートし左記の 通りイベントを設定 1. SpawnActorFromClass (クラスからアクタをスポーン) ・Uxt HandInteraction Actorを設定 2. SetHand ・スポーンしたハンドインタラクショ ンがどちらの手かを設定 Copyright © 2020 Takahiro Miyaura 37
  30. Unreal Engineで開発 ~ 最小限の構成 ~ 11.ビルド用の設定(HoloLens 2デプロイ用モジュール追加) 2020/08/19 1. [Epic

    Games Launcher]の[ライブラ リ]から利用しているUnreal Engine の[オプション]を開く 2. [HoloLens 2]にチェックを入れて [適用]を押す Copyright © 2020 Takahiro Miyaura 38
  31. Unreal Engineで開発 ~ 最小限の構成 ~ 11.ビルド用の設定 2020/08/19 Copyright © 2020

    Takahiro Miyaura 39 1. [プロジェクト設定]でデプロイ用の設 定を行う 2. [プロジェクト]-[説明]の以下の設定を 行う。 • プロジェクト名 ⇒ 任意 • 企業識別名 ⇒ CN=ほげほげ ※署名に使うコモンネーム
  32. Unreal Engineで開発 ~ 最小限の構成 ~ 11.ビルド用の設定 2020/08/19 1. [プロジェクト設定]でデプロイ用の設 定を行う

    2. [プラットフォーム]-[HoloLens]の以下 の設定を行う。 • Build HoloLens Device ⇒ True • 署名証明書 ⇒ [新規生成]を押す Copyright © 2020 Takahiro Miyaura 40
  33. Unreal Engineで開発 ~ 最小限の構成 ~ 12.ビルド 2020/08/19 1. [ファイル] –

    [プロジェクトをパッケージ化] – [HoloLens]を選択しパッケージ化する Copyright © 2020 Takahiro Miyaura 41
  34. ◼Unreal Engine ✓モバイルゲームではおなじみ ✓クロスプラットフォーム開発が可能 ✓コーディングの知識がなくてもある程度アプリケーション開発ができる。 まとめ 2020/08/19 Copyright © 2020

    Takahiro Miyaura HoloLens 2から利用できるUnreal EngineにもMRTKが使える ✓ これから整備(ライブラリ等)が充実 42 ◼Mixed Reality Toolkit for Unreal(V0.9.0) ◼Unity向けのライブラリの機能が徐々に移植されている ノンコーディング開発可能1つの方法としてこちらも楽しみ