動的なコンテンツの配置とソルバー MR Learning ベース モジュールMR Learning Base Module - Dynamic Content Placement and Solvers

ホログラム、生きるように、HoloLens 2 で直感的に、ユーザーをフォローし、相互作用は、シームレスかつ洗練された方法で、物理環境に配置されます。Holograms come to life in the HoloLens 2 when they intuitively follow the user and are placed in the physical environment in a way that makes interaction seamless and elegant. レッスン 3 では「ソルバー」と呼ばれる MRTK の使用可能な配置ツールを使用してホログラムを動的に配置する方法について説明します。In Lesson 3, we will explore ways to dynamically place holograms using the MRTK’s available placement tools, known as "solvers." これらは、複雑な空間配置アルゴリズムを解決する方法を「ソルバー」と呼ばれます。They are known as "solvers" for the way they solve complex spatial placement algorithms. MRTK ソルバーは、システムのスクリプトと動作をフォローして、ユーザーまたはその他のゲーム オブジェクト、シーン内の UI 要素を許可するようにするために使用します。In the MRTK, solvers are a system of scripts and behaviors that we use to be able to allow UI elements to follow you, the user or other game objects in the scene. こともできますを迅速に特定の位置にスナップより直感的なアプリケーションを作成します。They can also be used to snap to certain positions quickly, making your application more intuitive.

目標Objectives

  • MRTK のソルバーを紹介します。Introduce the MRTK's solvers
  • ボタンのコレクションにソルバーを使用して、ユーザーをフォローします。Use solvers to have a collection of buttons follow the user
  • ゲーム オブジェクトを持つソルバーを使用して次のユーザーの追跡対象の手Use solvers to have a game object follow the user's tracked hands

手順Instructions

MRTK ソルバーの場所Location of solvers in the MRTK

次の図に示すように、プロジェクトで使用可能なソルバーを検索、utilities フォルダーの下で、MRTK SDK フォルダー (MixedRealityToolkit.SDK フォルダー) で検索するには、ソルバー フォルダーが表示されます。To find the available solvers in your project, look in the MRTK SDK folder (MixedRealityToolkit.SDK folder), then under the utilities folder you will see the solvers folder, as shown in the image below.

ソルバー

注:このレッスンでは、「回転のこぎり」ソルバーおよび"RadialView"ソルバーの実装を上回ることが変わりますのみ。Note: In this lesson we will only go over implementation of the "Orbital" solver and the "RadialView" solver. ソルバー、MRTK で使用できるさまざまなについての詳細についてには、以下を参照してください。 https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/README_Solver.htmlTo learn more about the full range of solvers available in the MRTK, please visit: https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/README_Solver.html

問題を解くプログラムを使用して、ユーザーをフォローするにはUse a Solver to Follow the User

この章の目的は、ように、ユーザーの視線方向続くに以前に作成したボタンのコレクションを強化するためにです。The goal of this chapter is to enhance the button collection we previously created such that it follows the user’s gaze direction. MRTK と HoloToolkit の以前のバージョンでこの、"taglong"機能としてに呼ばれていました。In previous version of the MRTK and HoloToolkit, this was referred to as a "taglong" functionality.

  1. 前のレッスンからボタン コレクションの親オブジェクトを選択します。Select the Button Collection parent object from the previous lesson.

Lesson3 第 2 章 Step1im

  1. Inspector パネルで、「させます。」の検索と"コンポーネントの追加 ボタンをクリックします。In the inspector panel, click the "add component" button and search for "orbital." 回転のこぎりコンポーネントが表示されます。The orbital component should appear. 回転のこぎりコンポーネントをボタン コレクションのゲーム オブジェクトに追加することを選択します。Select it to add the orbital component to the Button Collection game object.

Lesson3 第 2 章 Step2im

注:コンポーネントを追加すると、システムが inspector タブで、必要なコンポーネントである、回転のこぎりスクリプトおよびソルバー ハンドラー スクリプトを追加することがわかります。Note: When you add the component you will notice that the system adds the orbital script and the solver handler script in the inspector tab, which is a required component.

  1. 次の調整を実装するのユーザーをフォローするボタンのコレクションを構成するには (くださいは次の図も参照)。In order to configure the button collection to follow the user, we need to implement the following adjustments (please also refer to the image below):
  • 回転のこぎりのスクリプトでは、「ヨーのみです。」を「向きの種類」のドロップダウン リストを設定します。In the Orbital script, set the "orientation type" drop-down list to "Yaw Only." これにより、ユーザーを次のように、オブジェクトの 1 つだけその軸が回転するため。This makes it so that only one axis of the object rotates as it follows the user.
  • すべての軸で、ローカルのオフセットを 0 に設定します。Set the local offset to 0 on all axes. X に世界中のオフセットを設定 = 0、y =-0.1 と z = 0.6 です。Set the World Offset to x = 0, y = -0.1 and z = 0.6. これにより、オブジェクトは、環境に関するユーザーが移動すると、ユーザーに従うことを許可する一方で、物理環境、高さを固定する引き続き高さを変更するときなど、オブジェクトの移動がロックされます。This locks movement of the object such that when the user changes height, the object will remain at a fixed height in the physical environment, while still allowing it to follow the user as the user moves about the environment. Wade 一連の動作を実現するために、これらの値を調整することがあります。These values may be adjusted to achieve a wade range of behaviors.
  • これにより、ボタンのみ後で次のユーザーのビュー、ユーザーが自分の頭が十分にに従って動作するためには、「の世界のオフセット角度ステップを使用して」チェック ボックスをオン可能性があります (注。このタイトル可能性がありますに切り捨てる一部の画面では、下の画像であるためです。)たとえば、ユーザー-90 にのみ、オブジェクトには、設定ステップ数 (左側の例では、緑色の矢印でマークされた) 4 に等しい。For a follow behavior whereby the buttons only follow the user’s view after the user turns his or her head sufficiently far, you could select the "Use Angle Stepping for world offset" checkbox (Note: This title may be truncated on some screens, as it is in the image below.) For example, to have the object follow the user only every 90 degrees, set the number of steps equal to 4 (marked by a green arrow in the example to the left).

Lesson3 第 2 章 Step3im

追跡対象の手に従うオブジェクトの有効化Enabling Objects to Follow Tracked Hands

このセクションでは、以下の RadialView ソルバーを使用して、ユーザーの追跡対象の手に以前に作成したキューブのゲーム オブジェクトを構成します。In this section, we will configure the cube game object previously created to follow the user’s tracked hands using the RadialView solver.

  1. BaseScene 階層では、キューブ オブジェクトを選択します。Select the cube object in the BaseScene hierarchy. Inspector パネルの「コンポーネントの追加」をクリックします。Click "add component" in the inspector panel.

Lesson3 第 3 章 Step1im

  1. "RadialView"検索ボックスに入力し、キューブに追加する RadialView コンポーネントを選択します。Type in "RadialView" in the search box and select the RadialView component to add it to the cube. ソルバーのハンドラ コンポーネントは、キューブに自動的に追加もします。The solver handler component will also be automatically added to the cube.

  2. ヘッドに従っていないが、以下の左側にある放射状のビューを変更します。Change the radial view to not follow the head but follow the left hand. 「参照するオブジェクトを追跡」オプションの横にあるドロップダウン メニューを選択します。Select the dropdown menu next to the "tracked object to reference" option. メニューから「ジョイントが左を渡す」を選択します。Then select "hand joint left" from the menu.

Lesson3 第 3 章 Step3im

  1. ハンド ジョイントを選択すると、キューブにたいして手のアイコンのどの部分を選択できます。Once you select the hand joint, you can choose which part of the hand you want the cube to follow. この例では、手首を使用するでしょう。For this example, we are going to use the wrist. オプションの横にあるは、「追跡手ジョイント」は、ドロップダウン メニューを選択し、手首を選択します。Next to the option "tracked hand joint" select the dropdown menu and select wrist.

Lesson3 第 3 章 Step4im

  1. キューブがユーザーのリストとの間の距離があるないように、最大および最小の距離を 0 に設定します。Set the maximum and minimum distances to 0 so that the cube will not have any distance between it and the user’s wrist. 一度設定すると、キューブが一直線手首をします。Once set, the cube will be perfectly aligned with the wrist. 場合 (たとえば、ユーザーのリストでの回転、"回転と追跡 Object"への参照の方向を設定するオブジェクトを許可するには) キューブが方向にはどのように動作を調整する「参照方向」フィールドを調整することも可能性があります。You may also adjust the "Reference Direction" field to adjust the behavior of how the cube is oriented (e.g., if you would like to allow the object to rotate with the user's wrist, set the reference direction to "Orient with Tracked Object")

Lesson3 第 3 章 Step5im

おめでとうございますCongratulations

これで終了です。Congratulations! このレッスンでは、直感的に、ユーザーをフォロー ui MRTK のソルバーを使用する方法について説明しました。In this lesson, you learned how to use the MRTK’s solvers to have a UI intuitively follow the user. 次のユーザーの追跡対象の手をゲーム オブジェクト (つまり、キューブ) に問題を解くプログラムをアタッチする方法も学習しました。You also learned how to attach a solver to a game object (i.e., cube) to follow the user’s tracked hands. これらの機能と、MRTK に含まれているその他のソルバーの詳細については、自由にアクセスしてください、 MRTK ソルバー ドキュメント ページします。To learn more about these and other solvers included with the MRTK, feel free to visit the MRTK solvers documentation page.

次のレッスン:3D オブジェクトの相互作用Next Lesson: 3D Object Interaction