【HoloLens2】UE4.26でQRCode Trackingの座標軸に合わせてActorを出現させる

3 min読了の目安(約3300字TECH技術記事

はじめに

前回の記事で、QRCode上にCubeを出現させてみました。
この記事では、向きを調整して出現させる方法について書きます。

完成物

このようにQRCodeに対して想定通りの向きで出現してくれれば成功です。
ChairQR2

開発環境

  • Windows10 Pro
  • Unreal Engine4.26 (以下Unreal)
  • Visual Studio2019
  • HoloLens2

前準備

今回はこちらの記事の続きとなります。

手順

  • MarketPlaceから好きなAssetを追加する
  • QRTrackingしたらAssetが表示されるようにする
  • 一旦Package化
  • 座標軸の調整
  • 再Package化

MarketPlaceから好きなAssetを追加する

  • [Epic Games Launcher]アプリを起動する
  • [Unreal Engine]>[マーケットプレイス]を選択
    • [無料]などでフィルターを行いお好みのAssetを見つける
      • 今回[Broadcast Studio]というAssetを使わせていただきました。ありがとうございます。
    • サポートされているプラットフォーム、バージョン、[アセットタイプ]かどうかを確認
    • [無料]>[プロジェクトに追加する]を選択
  • 追加先のプロジェクトを選択し、[プロジェクトに追加]を選択
  • Unrealを開き、追加されていることを確認

[Unreal Engine]>[マーケットプレイス]を選択

image

[プロジェクトに追加する]を選択

image

追加先のプロジェクトを選択し、[プロジェクトに追加]を選択

image

Unrealを開き、追加されていることを確認

image

QRTrackingしたらAssetが表示されるようにする

  • ViewPortに配置
    • [Content]>[BroadcastStudio]>[Meshes]以下の[SM_BS_Guest_Chair]を選択
    • ViewPortにドラッグ&ドロップ
  • Transformを調整
    • Location:0,0,0
    • Scale:0.1,0.1,0.1
    • Mobility:Movableに設定
  • [Outliner]上の[BP_QRCodeTrackingManager]を選択し[Details]画面で[Default]>[Cube]を[SM_BS_Guest_Chair]に変更
    • [BP_QRCodeTrackingManager]の設定は前回の記事の引継ぎになります。

ViewPortに配置, Transformを調整

image

[Outliner]上の[BP_QRCodeTrackingManager]を選択し[Details]画面で[Default]>[Cube]を[SM_BS_Guest_Chair]に変更

image

一旦Package化して確認

ChairQR

これを見る限り向きが90度回転していますね。

参考

座標軸を可視化したオブジェクトを表示するとこのようになります。
Coordinate

座標軸の調整

上記の結果から、Y軸90度ズレていることがわかった。QRコードをかざしたときに、目的の位置にするようにするために以下のように[BP_QRCodeTrackingManager]を編集する

Transform Rotationのノードを(0,-90,0)に設定する。

image

再Package化

無事、想定通りの向きで椅子が出てきました。
ChairQR2

補足

最初のChiarの出現時に「チカチカ」表示されていた現象に対して、このようにEmpty Actorの子供にMeshのActorを置くと、改善されました。(理由はまた分析します)
image

さらにActorのそのままのScaleで出現してもらうために[BP_QRCodeTrackingManager]を以下のように書き換えました。
image

ここらへんは目的に合わせて使い分けてください。