1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[MR Dev Tips #6] ユーザーの動きにオブジェクトを追従させる方法

Last updated at Posted at 2023-08-03

はじめに

HoloLens 2 アプリケーション開発の際に、文字を常にスクリーン内に表示しておきたい場面があるかと思います。例えば、写真を撮影する際のシャッターのカウントダウンやユーザーに確実にメッセージを伝えたい時など、ユーザーの視野の中にコンテンツを表示させ続ける必要があるかと思います。そのような場面で使える Tips をご紹介したいと思います。

実現方法としては、以下2つの方法があるかなと思います。

  • MRTK Canvas の Render Mode を Screen Space - Overlay にセットする
  • MRTK の Orbital コンポーネントを利用する

[補足]
Canvas の 描画モードを Screen Space - Overlay にすれば、簡単に対応できるかなと思ったのですが、MRTK Canvas では描画モードを World Space にセットする必要があるみたいです。

image.png

Canvas 上にテキストを表示するだけなら、MRTK Canvas に変換する必要がなく、Unity 標準の Canvas で対応できるみたいです。詳しくは、MRTK の GitHub Issue - Is there any documentation on how to view a UI/canvas in Hololens 2? をご確認ください。

また、XRデバイスでスクリーンスペースUIをサポートする計画はないみたいです。グラフィック処理に重大な影響を及ぼすため。2022年9月時点の回答なので、その点ご留意ください。

We don't have any plans to support screenspace UI in XR devices, as this isn't supported by Unity themselves and has serious rendering/graphical implications.
image.png

検証環境

本記事の検証環境は、以下の通りです。

  • Unity 2020.3.48f1
  • MRTK v2.8.2

MRTK の Orvital コンポーネントを利用する方法

MRTK Foundation パッケージに含まれている 3DTextSelawikBold.prefab をドラック&ドロップで ヒエラルキービュー に追加します。

Packages/com.microsoft.mixedreality.toolkit.foundation/SDK/StandardAssets/Prefabs/Text/3DTextSelawikBold.prefab

Add Component ボタンをクリックします。

image.png

Orbital コンポーネントを検索して、ゲームオブジェクトにアタッチします。

image.png

Orbital コンポーネントがアタッチされると、依存関係のある SolverHandler も同時にアタッチされます。

image.png

Solver (ソルバー) は、定義済みのアルゴリズムに従って、オブジェクトの位置 (Position) と方向 (向き) の計算を行ってくれるコンポーネントです。Solver は3つのスクリプトで構成されます。

スクリプト名 説明
Solver すべてのソルバーのは派生元である基本抽象クラス。状態の追跡、パラメーターと実装のスムージング、自動的なソルバーシステムの統合、更新順序が提供されています。
SolverHandler 追跡する参照オブジェクトを設定して、ソルバーコンポーネントの収集を処理して、適切な順序でそれらの更新を実行します。
Solver 派生クラス ソルバーの抽象クラスを派生させ、利用シチュエーションごとに実装されたクラス。

Solver の派生クラスの種類は10種類あります。それぞれ追従方法が異なるので、コンテンツの利用シーンに応じてこれらの中からお好きな Solver を選択します。今回は、Orbital を使って、ユーザーの頭 (Main Camera) に追従するテキストを作っています。

image.png

MRTK - Follow

実際に HoloLens 2 で動かした際の動画です。


以上、ユーザーの頭の動きにオブジェクトを追従させるのご紹介でした。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?