MR 学習ベース モジュール - 高度な入力MR Learning Base Module - Advanced Input

このレッスンでは、音声コマンド、パン ジェスチャ、視線追跡などを含む、HoloLens 2 でのいくつかの高度な入力のオプションについて学習します。In this lesson, we will explore several advanced input options for the HoloLens 2, including the use of voice commands, the panning gesture, and eye tracking.

目標Objectives

  • 音声コマンドとキーワードを使用してイベントをトリガーする方法を学ぶLearn how to trigger events using voice commands and keywords
  • 追跡された手を使用してテクスチャと 3D オブジェクトをパンするUse tracked hands to pan textures and 3D objects
  • HoloLens 2 の視線追跡機能を活用してオブジェクトを選択するLeverage the HoloLens 2's eye tracking capabilities to select objects

手順Instructions

音声コマンドの有効化Enabling Voice Commands

このセクションでは、2 つの音声コマンドを実装します。In this section, we will be implementing two voice commands. 1 つ目として、「toggle diagnostics」(診断をトグル) と言ってフレーム レート診断パネルをトグルします。First, the ability to toggle the frame rate diagnostics panel by saying "toggle diagnostics." 2 つ目として、音声コマンドにより音を再生します。Second, the ability to play a sound with a voice command. まずは、音声コマンドの構成に必要な MRTK プロファイルと設定を確認します。We will first explore the MRTK profiles and settings responsible for configuring voice commands.

  1. [Base Scene] 階層で、[MixedRealityToolkit] を選択します。In the Base Scene hierarchy select "MixedRealityToolkit." [Inspector] (インスペクター) パネルで、下にスクロールして [Input System Settings] (入力システム設定) を探します。In the inspector panel, scroll down to the input system settings. ダブルクリックして、[Input System Profile] (入力システム プロファイル) を開きます。Double click to open up the input system profile. レッスン 1 で学習したように、入力システム プロファイルをクローンして編集できるようにします。Clone the input system profile to make it editable, as we learned in Lesson 1

入力システム プロファイルには、多くの設定があります。In the input system profile, you will see a variety of settings. 音声コマンドの設定は、[Speech Command Settings] (音声認識コマンド設定) にあります。For voice commands, go down to where it says, “Speech Command Settings.”

Lesson5 Chapter1 Step2im

  1. レッスン 1 で学習したように、音声認識コマンド プロファイルをクローンして編集できるようにします。Clone the speech commands profile to make it editable, as we learned in Lesson 1. 音声認識コマンド プロファイルをダブルクリックすると、多くの設定が表示されます。Double click on the speech command profile, where you’ll notice a range of settings. これらの設定の詳細については、MRTK 音声認識に関するドキュメントを参照してください。For a full description on these settings, refer the MRTK speech documentation.

注:既定では、一般の動作は [Auto Start] (自動で開始) です。Note: By default, the general behavior is auto-start. 必要であれば [Manual Start] (手動で開始) に変更できますが、この例では [Auto Start] (自動で開始) のままにします。That can be changed to manual-start if desired, but for this example we are going to keep it on auto-start. MRTK には、いくつかの既定の音声コマンドが含まれています (menu (メニュー)、toggle diagnostics (診断のトグル)、toggle profiler (プロファイラーのトグル) など)。The MRTK comes with several default voice commands (such as menu, toggle diagnostics, and toggle profiler). この例では「toggle diagnostics」(診断をトグル) キーワードを使用して、診断フレームレート カウンターのオンとオフを切り替えます。We will be using the keyword “toggle diagnostics” in order to turn on and off the diagnostics framerate counter. また、以下のステップで新しい音声コマンドを追加します。We will also add a new voice command in the steps below.

Lesson5 Chapter1 Noteim

  1. 新しい音声コマンドを追加します。Add a new voice command. 新しい音声コマンドを追加するには、[+ Add a New Speech Command] (新しい音声認識コマンドを追加) ボタンをクリックします。既存の音声コマンドのリストの下に、新しい行が表示されます。To add a new voice command, click on the “+ add a new speech command” button and you will see a new line that appears down below the list of existing voice commands. 使用したい音声コマンドを入力します。Type in the voice command you want to use. この例では、「play music」(音楽を再生) コマンドを使用します。In this ex musicample we are going to use the command “play music.”

ヒント:また、音声認識コマンドのキーコードを設定することもできます。Tip: You can also set a keycode for speech commands. これにより、キーボードのキーを押すことで音声コマンドをトリガーできるようになります。This allows for voice commands to trigger upon press of a keyboard key.

  1. 音声コマンドに応答する機能を追加します。Add the ability to respond to voice commands. [Base Scene] 階層で、他の入力スクリプトが何も追加されていない任意のオブジェクトを選択します (たとえば、操作ハンドラーがない)。[Inspector] (インスペクター) パネルで、[Add Component] (コンポーネントの追加) をクリックします。Select any object in the base scene hierarchy that does not have any other input scripts attached to it (e.g., no manipulation handler.) In the inspector panel, click “add component.” 「speech input handler」と入力し、Type in “speech input handler.” それを選択します。Select it. Lesson5 Chapter1 Step4imLesson5 Chapter1 Step4im

既定では 2 つのチェックボックスが表示されます。1 つは [is focus required] (フォーカスが必要) チェックボックスです。By default, you will see 2 checkboxes, one is the “is focus required” checkbox. これが意味するのは、音声コマンドをトリガーするためには、視線入力の光線 (目の視線入力、頭の視線入力、コントローラーの視線入力、手の視線入力) によってオブジェクトをポイントしていることが必要であるということです。What this means is as long as you are pointing to the object with a gaze ray, (eye-gaze, head-gaze, controller-gaze, or hand-gaze) the voice command will be triggered. このチェックボックスのチェックを外して、ユーザーがオブジェクトを見なくても音声コマンドを使用できるようにします。Uncheck this checkbox to make it so that the user does not have to look at the object to use the voice command.

  1. 音声コマンドに応答する機能を追加します。Add the ability to respond to a voice command. そうするには、音声入力ハンドラーの [+] ボタンをクリックして、応答するキーワードを選択します。To do this, click the “+” button that’s in the speech input handler and select the keyword you would like to respond to.

    注:これらのキーワードは、以前のステップで編集したプロファイルに基づいて事前設定されています。Note: These keywords are populated based on the profile you edited in the previous step.

Lesson5 Chapter1 Step5im

  1. [Keyword] (キーワード) の隣にドロップダウン メニューがあります。Next to “Keyword” you will see a dropdown menu. [Toggle Diagnostics] (診断をトグル) を選択します。Select “Toggle Diagnostics.” こうすると、ユーザーが「toggle diagnostics」(診断をトグル) というフレーズを言うたびに、操作がトリガーされるようになります。This will make it so that whenever the user says the phrase, “toggle diagnostics” it will trigger an action. 場合によっては、隣にある矢印を押して [Element 0] を拡張する必要があります。Note that you may need to expand "element 0" by pressing the arrow next to it.

Lesson5 Chapter1 Step6im

  1. フレームレート カウンター診断のオンとオフを切り替えるために、[Diagnostics Demo Control] (診断デモ コントロール) スクリプトを追加します。Add the “diagnostics demo control script” to toggle the framerate counter diagnostic on and off. そうするには、[Add Component] (コンポーネントの追加) ボタンを押して「diagnostics demo control script」を検索し、メニューから追加します。To do this, press the “add component” button and search for “diagnostics demo control script” then add it from the menu. このスクリプトは任意のオブジェクトに追加できますが、わかりやすさのため、[Speech Input Handler] (音声入力ハンドラー) と同じオブジェクトに追加します。This script can be added to any object, but for simplicity, we will add it to the same object as the speech input handler.

    注意: このスクリプトはこれらのモジュールにのみ含まれており、元の MRTK には含まれていません。Note: this script is only included with these modules and is not included with the original MRTK.

Lesson5 Chapter1 Step7im

  1. [Speech Input Handler] (音声入力ハンドラー) で新しい応答を追加します。Add a new response in the Speech Input Handler. そうするには、[Response ()] の下にある [+] ボタンをクリックします (上の図では緑の矢印で示されています)。To do this click the “+” button underneath where it says “response ()” (marked by green arrow in the picture above).

Lesson5 Chapter1 Step7im

  1. [Diagnostics Demo Controls] (診断デモ コントロール) スクリプトを持つオブジェクトを、ステップ 8 で作成した新しい応答にドラッグします。Drag the object that has the Diagnostics Demo Controls script to the new response you just created in step 8. Lesson5 Chapter1 Step9imLesson5 Chapter1 Step9im

  2. ここで [No Function] (関数なし) ドロップダウン リストを選択し、[DiagnosticDemoControls]、[OnToggleDiagnostics ()] の順に選択します。Now select the “no function” dropdown list, select diagnostic demo controls, then “on toggle diagnostics ().” この関数は、診断のオンとオフを切り替えます。This function toggles your diagnostics on and off. Lesson5 Chapter1 Step10im

デバイス向けにビルドする前に、マイクの設定を有効にする必要があります。Note that before building to your device you need to enable mic settings. そうするには、[File] (ファイル) をクリックして [Build Settings] (ビルド設定) に移動し、そこから [Player Settings] (プレーヤーの設定) に移動して、マイクの機能が設定されていることを確認します。To do that click on file, go to build settings, from there, player settings, and ensure the microphone capability is set.

次に、「octa」オブジェクトを使用して音声コマンドからオーディオ ファイルを再生する機能を追加します。Next, we are adding the ability to play an audio file from voice command using the "octa" object. レッスン 4 で、octa オブジェクトにタッチすることでオーディオ クリップを再生する機能を追加したことを思い出してください。Recall from lesson 4, we added the ability to play an audio clip from touching the octa object. この同じオーディオ ソースを、ミュージック音声コマンドでも活用します。We will leverage this same audio source for our music voice command.

  1. [Base Scene] 階層で octa オブジェクトを選択します。Select the octa object in the base scene hierarchy.

  2. 別の音声入力ハンドラーを追加します (ステップ 4 と 5 を繰り返します) が、octa オブジェクトに対してそうします。Add another speech input handler (repeat steps 4 and 5), but with the octa object.

  3. ステップ 6 のように [Toggle Diagnostics] (診断をトグル) 音声コマンドを追加するのではなく、ここでは次の図に示されているように [Play Music] (音楽を再生) 音声コマンドを追加します。Instead of adding the “Toggle Diagnostics” voice command from step 6, add the “play music” voice command, as shown in the image below.

    Lesson5 Chapter1 Step13im

  4. ステップ 8 と 9 と同じように、新しい応答を追加し、応答の空のスロットに octa をドラッグします。As with steps 8 and 9, add a new response, and drag the octa to the empty slot on response.

  5. [No Function] (関数なし) のドロップダウン メニューを選択し、[AudioSource]、[PlayOneShot (AudioClip)] の順に選択します。Select the dropdown menu that says “no function," select “Audio Source,” then select “PlayOneShot (AudioClip).”

Lesson5 Chapter1 Step15im

  1. オーディオ クリップとして、この例ではレッスン 4 と同じオーディオ クリップを使用します。For the audio clip, for this example we are going to use the same audio clip from Lesson 4. 下の図で示されているように、[プロジェクト] パネルに移動して [MRTK_Gem] オーディオ クリップを検索し、オーディオ ソース スロットにドラッグします。Go into your project panel, search for “MRTK_Gem” audio clip and drag it into the audio source slot, as shown in the image below. これで、このアプリケーションは「toggle diagnostics」(診断をトグル) 音声コマンドに応答してフレーム レート カウンター パネルをトグルし、「play music」(音楽を再生) 音声コマンドに応答して MRTK_Gem の曲を再生できるようになりました。Now your application should be able to respond to the voice commands “toggle diagnostics” to toggle the frame rate counter panel and “play music” to play the MRTK_Gem song. Lesson5 Chapter1 Step16imLesson5 Chapter1 Step16im

パン ジェスチャThe Pan Gesture

この章では、パン ジェスチャを使用する方法を学びます。In this chapter, we will learn how to use the pan gesture. この機能は、スクロール (指または手を使ってコンテンツをスクロールする) に役立ちます。また、パン ジェスチャを使用してオブジェクトを回転させたり、3D オブジェクトのコレクションを次々と表示させたり、2D UI をスクロールさせたりすることさえできます。It’s useful for scrolling (using your finger or hand to scroll through content.) You can also use the pan gesture to rotate objects, to cycle through a collection of 3D objects, or even scroll a 2D UI. ここでは、パン ジェスチャを使用してテクスチャをラップする方法を学びます。We will be learning how to use the pan gesture to warp a texture. また、3D オブジェクトのコレクションを移動させる方法も学習します。We will also explore how to move a collection of 3D objects.

  1. quad を作成します。Create a quad. [Base Scene] 階層で右クリックして [3D Object] (3D オブジェクト) を選択し、[Quad] を選択します。In your base scene hierarchy, right click, select “3D Object,” then select “Quad.”

Lesson5 Chapter2 Step2im

  1. quad を適切な位置に配置します。Reposition the quad as appropriate. たとえば、カメラから x = 0、y = 0、z = 1.5 の分だけ離れた場所に設定して、HoloLens 2 からのちょうどよい位置に配置します。For our example, we set the x = 0, the y = 0 and the z = 1.5 away from the camera for a comfortable position from the HoloLens 2.

    注:quad ブロックが以前のレッスンのいずれかのコンテンツの前にある場合、他のオブジェクトをブロックしない場所に移動します。Note: If the quad blocks (is infront of) any content from the previous lessons, be sure to move it such that it doesn’t block any of the other objects.

  2. 素材を quad に適用します。Apply a material to the quad. この素材が、パン ジェスチャでスクロールする素材になります。This material will be the material we will be scrolling through with the pan gesture.

Lesson5 Chapter2 Step3im

  1. [Project] (プロジェクト) パネルで、検索ボックスに「pan content」と入力します。In your projects panel, type in the search box “pan content.” この素材を、シーンの quad にドラッグします。Drag that material on to the quad in your scene.

注:「パン コンテンツ」素材は MRTK には含まれていません。以前のレッスンでインポートしたこのモジュールの資産パッケージに含まれています。Note: The "Pan content" material is not included in the MRTK, but it is an asset in this module's asset package, as imported in previous lessons.

注:パン コンテンツを追加すると、引き伸ばされたように見えることがあります。Note: When you add the pan content, it may look stretched. これを修正するには、quad のサイズの x、y、z 値を希望する大きさになるまで調整します。You can fix this by adjusting the values x, y and z values of the size of the quad until you are satisfied with the way it looks.

パン ジェスチャを使用するには、オブジェクト上のコライダーが必要です。To use the pan gesture, you will need a collider on your object. 場合によっては、quad には既にメッシュ コライダーがあります。You may see the quad already has a mesh collider. ただし、メッシュ コライダーは極めて薄く、選択するのが容易ではないため理想的ではありません。However, the mesh collider is not ideal, because it is extremely thin and difficult to select. メッシュ コライダーをボックス コライダーに置き換えることをお勧めします。We suggest replacing the mesh collider with a box collider.

  1. ([Inspector] (インスペクター) パネルで) quad の上にあるメッシュ コライダーを右クリックして、[Remove Component] (コンポーネントの削除) をクリックして削除します。Right click the mesh collider that’s on the quad (in the inspector panel) then remove it by clicking “remove component.” Lesson5 Chapter2 Step5imLesson5 Chapter2 Step5im

  2. [Add Component] (コンポーネントの追加) をクリックして [Box Collider] (ボックス コライダー) を検索して、ボックス コライダーを追加します。Now add the box collider by clicking “add component” and searching “box collider.” 追加される既定のボックス コライダーでも薄すぎるので、[Edit Collider] (コライダーの編集) ボタンをクリックします。The default added box collider is still too thin, so click the “edit collider” button to edit it. ボタンを押すと、x、y、z の値を使用して、またはシーン エディターの要素を使用してサイズを調整できます。When it’s pressed in, you can adjust the size using the x, y and z values or the elements in the scene editor. この例では、ボックス コライダーを quad の少し後ろまで拡張します。For our example, we want to extend the box collider a little behind the quad. シーン エディターで、ボックス コライダーを後ろから外側にドラッグします (下の図を参照してください)。In the scene editor, drag the box collider from the back, outwards (see the image below). これにより、ユーザーは指だけでなく手全体を使用してスクロールできるようになります。What this will do is allow the user to not only use their finger, but their entire hand to scroll. Lesson5 Chapter2 Step6imLesson5 Chapter2 Step6im

  3. 操作ができるようにします。Make it interactive. quad を直接操作できるようにしたいので、[Near Interaction Touchable] (近接操作、タッチ可能) コンポーネントを使用します (これはレッスン 4 で octa から音楽を再生するために使用しました)。Since we want to interact with the quad directly, we want to use the “near interaction touchable” component (we also used this in Lesson 4 for playing music from the octa). 下の図に示されているように、[Add Component] (コンポーネントの追加) をクリックして「near interaction touchable」を検索して選択します。Click “add component” and search for “near interaction touchable” and select it, as shown in the images below.

  4. パン ジェスチャを認識する機能を追加します。Add the ability to recognize the pan gesture. [Add Component] (コンポーネントの追加) をクリックして「hand interaction pan」と入力します。Click “add component” and type “hand interaction pan.” [Hand Ray] (手の光線) (離れたところからパンできるようになる) と [Index Finger] (人差し指) の選択肢があります。You will have a choice between hand ray (allowing you to pan from a distance) and index finger. この例では、[Index Finger] (人差し指) のままにします。For this example, leave it at index finger. Lesson5 Chapter2 Step7 8ImLesson5 Chapter2 Step7 8Im

Lesson5 Chapter2 Step8im

  1. [Hand Interaction Pan (Script)] (手による操作、パン (スクリプト)) の [Lock Horizontal] (水平方向のロック) と [Lock Vertical] (垂直方向のロック) チェックボックスでは、それぞれの動きを固定できます。In the hand interaction pan script, the “lock horizontal” and “lock vertical” checkboxes will lock the movements, respectively. [Wrap Texture] (テクスチャのラップ) 設定は、テクスチャ (テクスチャ マッピング) がユーザーのパンの動きを追跡できるようにします。The wrap texture settings will make the texture (texture mapping) follow the user's pan movements. この例では、このボックスにチェックを入れます。For this example, we are going to check that box. また、[Velocity Active] (速度アクティブ) にチェックを入れない場合、パン ジェスチャは動作しません。There is also “velocity active” which, if unchecked, the pan gesture will not work. このボックスにもチェックを入れます。Check this box as well. これで、quad のパンが有効になりました。Now you should have a pan-enabled quad.

    次に、3D オブジェクトをパンする方法を学びます。Next, we will learn how to pan 3D objects.

  2. [Quad] オブジェクトを右クリックして [3D Object] (3D オブジェクト) を選択し、[Cube] をクリックします。Right click the quad object, select 3D object then click “cube.” cube を、おおよそ x = 0.1、y = 0.1、z = 0.1 になるように大きさを調整します。Scale the cube so that it’s roughly x = 0.1, y = 0.1 and z = 0.1. cube を 3 回コピーします ([Cube] を右クリックして [Duplicate] (複製) を押すか、Control キーまたは Command キーと D を押します)。Copy that cube 3 times (by right clicking the cube and pressing duplicate, or by pressing control/command D). それらを均等に配置します。Space them out evenly. シーンは下の画像のようになるはずです。Your scene should look similar to the picture below.

Lesson5 Chapter2 Step10im

  1. [Quad] をもう一度選択し、[Hand Interaction Pan (Script)] (手による操作、パン (スクリプト)) で、それぞれの cube に対してパンの動作を設定します。Select the quad again, and under the hand interaction pan script, we want to set the pan actions to each of the cubes. [Pan Event Receivers] (パン イベントのレシーバー) で、イベントを受け取るオブジェクトの数を指定します。Under “pan event receivers” we want to specify the number of objects that are receiving the event. 4 つの cube があるので、「4」と入力して Enter キーを押します。Since there are 4 cubes, type “4” and press enter. 4 つの空のフィールドが表示されます。4 empty fields should appear.

Lesson5 Chapter2 Step11im

  1. それぞれの cube を、空の要素スロットにドラッグします。Drag each of the cubes in to each of the empty element slots. Lesson5 Chapter2 Step12imLesson5 Chapter2 Step12im

  2. [Move with Pan] (パンに合わせて移動) スクリプトをすべての cube に追加します。Add the “move with pan” script to all of the cubes. そうするには、Control キーまたは Command キーを長押ししながら、それぞれのオブジェクトを選択します。To do this, press and hold control/command and select each object. その後、[Inspector] (インスペクター) パネルで [Add Component] (コンポーネントの追加) をクリックし、[Move with Pan] (パンに合わせて移動) を検索します。Then, in the inspector panel, click “add component” and search for “move with pan.” スクリプトをクリックすると、各 cube に追加されます。Click the script and it will be added to each cube. これで 3D オブジェクトはパン ジェスチャに合わせて動くようになります。Now the 3D objects will move with your pan gesture! quad 上のメッシュの表示を削除した場合、非表示の quad があるはずで、3D オブジェクトのリストからそこにパンできます。If you remove the mesh render on your quad, you should now have an invisible quad where you can pan through a list of 3D objects.

視線追跡Eye Tracking

この章では、デモで視線追跡を有効にする方法を学習します。In this chapter, we will explore how to enable eye tracking in our demo. 目の視線入力によって 3D メニュー項目を見つめると、それがゆっくりと回転するようにします。We will slowly spin our 3D menu items when they are being gazed upon with eye gaze. また、見つめられた項目が選択されると、楽しい効果がトリガーされるようにします。We will also trigger a fun effect when the gazed-upon item is selected.

  1. Mixed Reality ツールキット プロファイルが適切に構成されていることを確認します。Ensure the Mixed Reality Toolkit profiles are properly configured. 執筆時点で、Mixed Reality ツールキット プロファイルの構成には、視線追跡機能は既定では含まれていません。As of this writing, the mixed reality toolkit profile configuration does not include eye tracking capabilities by default. 視線追跡機能を追加するには、Mixed Reality ツールキット ドキュメントの「Setting up the MRTK profiles required for Eye Tracking (視線追跡に必要な MRTK プロファイルを設定する)」にある指示に従ってください。To add eye tracking capabilities, follow the instructions in the “Setting up the MRTK profiles required for Eye Tracking” section as outlined in the Mixed Reality Toolkit Documentation. 上記リンク先のドキュメント内のすべての残りのステップに従って、視線追跡が適切に構成されていることを確認します。それには、GazeProvider (カメラに添付されているコンポーネント) 内の視線追跡を有効にすることと、Unity エディターで視線追跡のシミュレーションを有効にすることが含まれます。Ensure that eye tracking is properly configured by following any remaining steps in the documentation link above, including enabling eye tracking in GazeProvider (component attached to camera) and enabling simulation of eye tracking in the Unity editor. MRTK の将来のバージョンには、視線追跡が既定で追加されるかもしれません。Note that future version of the MRTK may include eye tracking by default.

    上記のリンクでは、以下の点についての簡潔な指示があります。The link above provides brief instructions for:

    • MRTK プロファイルで使用するために、Eye Gaze Data Provider を作成するCreating the Eye Gaze Data Provider for use in the MRTK Profile
    • Gaze Provider で視線追跡を有効にするEnabling eye tracking in the Gaze Provider
    • エディターで視線追跡のシミュレーションを設定するSet up for simulating eye tracking in the editor
    • Visual Studio ソリューションの機能を編集して、ビルド済みアプリケーションで視線追跡できるようにするEditing the Visual Studio solution's capabilities to allow eye tracking in the built application
  2. [Eye Tracking Target] (視線追跡ターゲット) コンポーネントをターゲット オブジェクトに追加します。Add the Eye Tracking Target component to target objects. オブジェクトが目の視線入力イベントに応答できるようにするには、目の視線入力を使用して操作したい各オブジェクトに EyeTrackingTarget コンポーネントを追加する必要があります。To allow an object to respond to eye gaze events, we will need to add the EyeTrackingTarget component on each object that we wish to interact with using eye gaze. このコンポーネントを、グリッド コレクションの一部である 9 つの 3D オブジェクトそれぞれに追加します。Add this component to each of the nine 3D objects that are part of the grid collection. ヒント: 階層内の複数の項目を選択すれば、EyeTrackingTarget コンポーネントを一括で追加できます。Tip: select multiple items in the hierarchy to bulk-add the EyeTrackingTarget component. Lesson5 Chapter3 Step2Lesson5 Chapter3 Step2

  3. 次に、EyeTrackingTutorialDemo スクリプトを追加して、興味深い操作ができるようにします。Next we will add the EyeTrackingTutorialDemo script for some exciting interactions. EyeTrackingTutorialDemo スクリプトはこのチュートリアル シリーズのリポジトリに含まれています。Mixed Reality ツールキットには既定では含まれていません。The EyeTrackingTutorialDemo script is included as part of this tutorial series’ repository and is not included by default with the Mixed Reality Toolkit. グリッド コレクションの各 3D オブジェクトに対して、[Add Component] (コンポーネントの追加) メニューからコンポーネントを検索して EyeTrackingTutorialDemo スクリプトを追加します。For each 3D object in the grid collection, add the EyeTrackingTutorialDemo script by searching for the component in the “Add Component” menu. Lesson5 Chapter3 Step3Lesson5 Chapter3 Step3

    1. ターゲットを見つめている間、オブジェクトを回転させます。Spin the object while looking at the target. 見つめている間、3D オブジェクトが回転するように構成します。We would like to configure our 3D object to spin while we are looking at it. そうするには、下の図に示されているように、[Eye Tracking Target] (視線追跡ターゲット) コンポーネントの [While Looking At Target] (対象を見つめている間) セクションに新しいフィールドを挿入します。To do this, insert a new field in the “While Looking At Target” section of the EyeTrackingTarget component, as shown in the image below.

Lesson5 Chapter3 Step4a Lesson5 Chapter3 Step4bLesson5 Chapter3 Step4a Lesson5 Chapter3 Step4b

下の図に示されているように、新しく作成されたフィールドで現在のゲーム オブジェクトを空のフィールドに追加して、[EyeTrackingTutorialDemo] > [RotateTarget()] を選択します。In newly created field, add the current Game Object to the empty field, and select EyeTrackingTutorialDemo > RotateTarget() as shown in the image below. これで、視線追跡により、3D オブジェクトを見つめると回転するように構成できました。Now the 3D object is configured to spin when it is being gazed upon with eye tracking.

  1. 選択する (エアタップするか、「select」(選択) と言う) 際に見つめられている「ターゲットをブリップする」機能を追加します。Add in ability to “blip target” that is being gazed at upon select (air-tap, or saying “select”). ステップ 4 と同様、EyeTrackingTutorialDemo > BlipTarget() をトリガーするため、これを EyeTrackingTarget コンポーネントのゲーム オブジェクトの "Select()" フィールドに割り当てます (以下の図を参照)。Similar to Step 4, we want to trigger EyeTrackingTutorialDemo > BlipTarget() by assigning it to the Game Object’s “Select()” field of the EyeTrackingTarget component, as shown in the figure below. これを構成したため、エアタップや「select」音声コマンドなどの選択操作をトリガーすると、ゲーム オブジェクト内で短くブリップするようになります。With this now configured, you will notice a slight blip in the game object whenever you trigger a select action, such as air-tap or the voice command “select.” Lesson5 Chapter3 Step5Lesson5 Chapter3 Step5
  2. HoloLens 2 向けにビルドする前に、視線追跡機能が適切に構成されていることを確かめます。Ensure eye tracking capabilities are properly configured before building to HoloLens 2. 執筆時点で、Unity では視線入力 (視線追跡のための) 機能を設定することはできません。As of this writing, Unity does not yet have the ability to set the gaze input (for eye tracking) capability. HoloLens 2 で視線追跡を使用するには、この機能を設定する必要があります。Setting this capability is required for eye tracking to work on the HoloLens 2. 次の Mixed Reality ツールキット ドキュメントにある指示に従って、視線入力機能を有効にしてください。 https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/EyeTracking/EyeTracking_BasicSetup.html#testing-your-unity-app-on-a-hololens-2Follow these instructions on the mixed reality toolkit documentation to enable the gaze input capability: https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/EyeTracking/EyeTracking_BasicSetup.html#testing-your-unity-app-on-a-hololens-2

これで終了です。Congratulations!

これで基本的な視線追跡機能をアプリケーションに追加することができました。You’ve successfully added basic eye tracking capabilities to the application. これらの操作は、視線追跡が持つ可能性のほんの一部にすぎません。These actions are only the beginning of a world of possibilities with eye tracking. この章でレッスン 5 も終了です。このレッスンでは、音声コマンド、パン ジェスチャ、視線追跡などの高度な入力機能について学習しました。This chapter also concludes lesson 5, where we learned about advanced input functionality such as voice commands, panning gestures, and eye tracking.

次のレッスン:Lunar Module アセンブリのサンプル エクスペリエンスNext Lesson: Lunar Module Assembly Sample Experience