5. 3D オブジェクトとの対話5. Interacting with 3D objects

このチュートリアルでは、基本的な3D コンテンツとユーザーエクスペリエンスについて学習します。次に例を示します。In this tutorial, you will learn about basic 3D content and user experience, such as:

  • コレクションの一部としての3D オブジェクトの整理Organizing 3D objects as part of a collection
  • 基本操作のための境界ボックスBounding boxes for basic manipulation
  • Near と far の相互作用Near and far interaction
  • ハンドトラッキングを使用したタッチジェスチャとグラブジェスチャTouch and grab gestures with hand tracking

目標Objectives

  • MRTK の grid オブジェクトコレクションで3D コンテンツを整理する方法について説明します。Learn how to organize 3D content with MRTK's grid object collection
  • 境界ボックスを実装するImplement bounding boxes
  • 基本的な操作のための3D オブジェクトの構成--移動、回転、およびスケールConfigure 3D objects for basic manipulation--move, rotate, and scale
  • 近距離操作と遠距離操作について確認するExplore near and far interaction
  • グラブやタッチなど、その他のハンドトラッキングジェスチャについて説明します。Learn about additional hand tracking gestures, such as grab and touch

手順Instructions

3D オブジェクトをコレクションに整理するOrganizing 3D Objects in a Collection

  1. 階層を右クリックし、[空の作成] を選択して空の game オブジェクトを作成し、名前を3DObjectCollection に変更して、x = 0、y = 0、z = 0 に配置されていることを確認します。Right-click on your hierarchy and select Create Empty to create an empty game object, rename it to 3DObjectCollection, and make sure it is positioned at x = 0, y = 0, and z = 0.

    mrlearning-base-ch4-1-step1

  2. Unity パッケージ HoloLens2 をダウンロードし、レッスン1からに記載されているカスタムパッケージをインポートする場合と同じ手順を使用して2.1.0.0をインポートします。Download the Unity package Unity.HoloLens2.GettingStarted.Tutorials.Asset.2.1.0.0 and import it using the same instructions to import custom packages outlined in Lesson1. このパッケージには、このチュートリアル全体で使用される3D モデルとその他の便利なアセットが含まれています。This package includes 3D models and other useful assets that are used throughout this tutorial.

  3. [プロジェクト] パネルで、[資産 > BaseModuleAssets] > ベースモジュール Prefabs に移動し、"不完全" を検索します。これらの Prefabs の一部を使用します。In the Project panel, navigate to Assets > BaseModuleAssets > Base Module Prefabs and search for "incomplete", we will use some of these prefabs.

    mrlearning-base-ch4-1-step3

  4. コーヒーカップを手順 1. の 3DObjectCollection game オブジェクトにドラッグします。Drag the coffee cup into the 3DObjectCollection game object from Step 1. これでコーヒー カップはコレクションの子になりました。The coffee cup is now a child of the collection.

    mrlearning-base-ch4-1-step4

  5. 次に、前の手順と同じプロセスに従って、3D オブジェクトをシーンに追加します。Next, you'll add more 3D objects into our scene by following the same process as in the previous step. この例で追加するオブジェクトの一覧を次に示します。Below is a list of objects to add in this example. オブジェクトを追加すると、さまざまなサイズのシーンにオブジェクトが表示されることがあります。As you add the objects, you might find they appear in your scene in various sizes. [インスペクター] パネルの [変換の設定] で、各3D モデルのスケールを調整します。Adjust the scale of each 3D model under Transform settings in the Inspector panel. この例で推奨される調整とそのオブジェクトを以下に示します。Recommended adjustments for this example are listed with the objects below.

    • Cheese_BaseModuleIncomplete。Cheese_BaseModuleIncomplete. Scale: x = 0.05、y = 0.05、z = 0.05。Scale: x = 0.05, y = 0.05, z = 0.05.
    • CoffeeCup_BaseModuleIncomplete。CoffeeCup_BaseModuleIncomplete. Scale: x = 0.1、y = 0.1、z = 0.1。Scale: x = 0.1, y = 0.1, z = 0.1.
    • EarthCore_BaseModuleIncomplete。EarthCore_BaseModuleIncomplete. Scale: x = 50.0 y = 50.0、z = 50.0。Scale: x = 50.0 y = 50.0, z = 50.0.
    • Model_Platonic_BaseModuleIncomplete。Model_Platonic_BaseModuleIncomplete. Scale: x = 0.13、y = 0.13、z = 0.13。Scale: x = 0.13, y = 0.13, z = 0.13.
    • Octa_BaseModuleIncomplete。Octa_BaseModuleIncomplete. Scale: x = 0.13。Scale: x = 0.13. y = 0.13、z =0.13 に設定します。y = 0.13, z =0.13.
    • TheModule_BaseModuleIncomplete。TheModule_BaseModuleIncomplete. Scale: x = 0.03、y = 0.03、z = 0.03。Scale: x = 0.03, y = 0.03, z = 0.03.

    mrlearning-base-ch4-1-step5

  6. シーンに3つのキューブを追加します。Add three cubes into your scene. 3DObjectCollection オブジェクトを右クリックし、[3D オブジェクト]、[キューブ] の順に選択します。Right-click the 3DObjectCollection object, select 3D Object, then select Cube. スケールを x = 0.14、y = 0.14、z = 0.14 に設定します。Set the scale to x = 0.14, y = 0.14, and z = 0.14. 合計3つのキューブを作成するには、この手順をさらに2回繰り返します。Repeat this step two additional times to create a total of three cubes. または、キューブを合計3つのキューブに対して2回複製することもできます。Alternatively, you can duplicate the cube twice for a total of three cubes. また、[アセット] > [BaseModuleAssets] > [ベース モジュール プレハブ] から用意されている 3 つの立方体のプレハブを使用し、GreenCube_BaseModuleIncomplete、BlueCube_BaseModuleIncomplete、および OrangeCube_BaseModuleIncomplete を選択することもできます。You may also choose to use the three prepared cube prefabs from Assets>BaseModuleAssets>Base Module Prefabs and select GreenCube_BaseModuleIncomplete, BlueCube_BaseModuleIncomplete and OrangeCube_BaseModuleIncomplete.

    mrlearning-base-ch4-1-step6

  7. レッスン 2」で説明されている手順に従って、オブジェクトのコレクションを整理してグリッドを形成します。Organize your collection of objects to form a grid, via the procedure described in Lesson 2, using the MRTK’s Grid Object Collection. 3 x 3 グリッドでオブジェクトを構成する例については、次の図を参照してください。Refer to the image below, for an example of configuring the objects in a 3x3 grid.

    mrlearning-base-ch4-1-step7

    注意

    上の図のように、一部のオブジェクトはセンター外にあることがわかります。You might notice that some of the objects are off-center, such as the objects in the image above. これは、プレハブまたはオブジェクトに整列していない子オブジェクトが含まれている可能性があるためです。This is because prefabs or objects may have child objects that are not aligned. オブジェクトの位置や子オブジェクトの位置に必要な調整を自由に加えることで、グリッドを適切に整列させることができます。Feel free to make any necessary adjustments to object positions or child object positions to achieve a well-aligned grid.

3D オブジェクトの操作Manipulating 3D Objects

  1. 立方体を操作する機能を追加します。Add the ability to manipulate a cube. 3D オブジェクトを操作する機能を追加するには、次の手順を実行します。To add the ability to manipulate 3D objects, do the following:

    • 階層内で操作する3D オブジェクト (つまり、キューブの1つ) を選択します。Select the 3D object you want to manipulate in your hierarchy (i.e. one of your cubes).
    • [コンポーネントの追加] をクリックします。Click Add Component
    • "操作" の検索Search for "manipulation"
    • 操作ハンドラーの選択Select Manipulation Handler
    • 3DObjectCollection オブジェクトの下にあるすべての3D オブジェクトに対して繰り返しますが、3DObjectCollection 自体は同じではありません。Repeat for all 3D objects under the 3DObjectCollection object, but not the 3DObjectCollection itself.
    • すべての3D オブジェクトに collider または box collider があることを確認します (コンポーネント > Box Collider を追加します)。Ensure that all 3D objects have a collider or box collider (Add Component>Box Collider).

    Lesson4 Chapter2 Step1im

    注意

    操作ハンドラーは、操作時にオブジェクトがどのように動作するかの設定を調整できるコンポーネントです。The manipulation handler is a component that lets you adjust settings for how objects behave when manipulated. これには、特定の軸での回転、拡大縮小、移動、制約の移動が含まれます。This includes rotation, scaling, moving, and constraining movement on a specific axis.

  2. 1 つの立方体を、拡大縮小しかできないように制限します。Restrict one cube so that it can only be scaled. 3DObjectCollection オブジェクトで1つのキューブを選択します。Select one cube in the 3DObjectCollection object. [インスペクター] パネルで、[2 つのきき操作の種類] の横にあるドロップダウンメニューをクリックし、[スケール] を選択します。In the Inspector panel, next to Two Handed Manipulation Type, click the drop-down menu and select Scale. これにより、ユーザーは立方体のサイズしか変更できなくなります。This makes it so that the user can only change the cube’s size.

    Lesson4 Chapter2 Step2im

  3. 立方体を区別できるように、それぞれの色を変更します。Change the color of each cube so that we can differentiate between them.

    • [プロジェクト] パネルに移動し、MixedRealityToolkit が表示されるまで下にスクロールして、それを選択します。Go to the Project panel and scroll down until you see MixedRealityToolkit.SDK, then select it.
    • [Standard Assets] フォルダーを選択します。Select the Standard Assets folder.
    • [素材] フォルダーをクリックします。Click the Materials folder.
    • 立方体のそれぞれに異なる素材をドラッグします。Drag a different material onto each of your cubes.

    注意

    立方体には任意の色を選択できます。You can choose any color for your cubes. この例では、glowingcyan、glowingorange、および green が使用されています。For this example, glowingcyan, glowingorange and green are used. さまざまな色を自由に試すことができます。Feel free to experiment with different colors. キューブに色を追加するには、変更するキューブをクリックし、その素材をキューブの [インスペクター] パネルのメッシュレンダラーの [素材] フィールドにドラッグします。To add the color to the cube, click the cube you want to change, then drag the material to the mesh renderer's material field in the cube's Inspector panel.

    Lesson4 Chapter2 Step3im

  4. 3DObjectCollection オブジェクト内の別のキューブを選択し、その移動を先頭からの固定距離に制限するように設定します。Select another cube in the 3DObjectCollection object and make it so that its movement is constrained to a fixed distance from the head. この操作を行うには、[移動] ラベルの [制約] の右側にあるドロップダウンメニューをクリックし、[ヘッドからの距離を修正] を選択します。To do this, to the right of Constraint on Movement label, click the drop-down menu and select Fix Distance from the Head. これにより、キューブがビジョンのフィールド内になるように調整されます。This adjusts the cube to be within their field of vision.

    Lesson4 Chapter2 Step4im

    次のいくつかの手順の目的は、3D オブジェクトをグラブして操作し、異なる操作設定を適用できるようにすることです。The goal of the following few steps is to enable grabbing and interacting with our 3D objects and applying different manipulation settings.

  5. [チーズ] オブジェクトを選択し、[インスペクター] パネルの [コンポーネントの追加] をクリックします。Select the Cheese object, then click Add Component from the Inspector panel.

  6. [検索] ボックスで [Near インタラクション Grabbable] を検索し、スクリプトを選択します。Search in the search box for Near Interaction Grabbable and select the script. このコンポーネントを使用すると、ユーザーは追跡したハンドを使用してオブジェクトに接続し、オブジェクトを取得できます。This component enables users to reach out and grab objects with tracked hands. 次の画像の緑色の円で示されているように、[Far 操作を許可する] チェックボックスをオフにしない限り、オブジェクトを距離から操作することもできます。Objects can also be manipulated from a distance, unless the Allow Far Manipulation checkbox is unchecked as denoted by a green circle in the image below.

    Lesson4 Chapter2 Step6im

  7. これらのオブジェクトに対して手順 5. と 6. を繰り返して、プラトニックオブジェクト、地球コア、旧暦モジュール、およびコーヒーカップに Near Grabbable を追加します。Add Near Interaction Grabbable to the Octa object, Platonic object, Earth Core, Lunar Module, and Coffee Cup by repeating Steps 5 and 6 on those objects.

  8. Octa オブジェクトから遠距離操作ができないようにします。Remove the ability of far manipulation from the Octa object. これを行うには、階層内で Octa を選択し、[far 操作を許可する] チェックボックスをオフにします (緑色の円でマークされています)。To do this, select the Octa in the hierarchy and uncheck the Allow far Manipulation checkbox (marked by a green circle). これにより、ユーザーは追跡したハンドを使用して、octa だけを直接操作できるようになります。This makes it so users can only interact with the octa directly using tracked hands.

    注意

    操作ハンドラーコンポーネントとそれに関連する設定の完全なドキュメントについては、 Mrtk のドキュメントを参照してください。For the full documentation of the manipulation handler component and it's associated settings, refer to the MRTK Documentation.

  9. Near の相互作用 Grabbable コンポーネントが、地球コア、太陰暦モジュール、およびコーヒーカップに追加されていることを確認します (手順7を参照)。Ensure that the Near Interaction Grabbable component has been added to the earth core, the lunar module and the coffee cup (see Step 7).

  10. 旧暦モジュールの場合は、次の図に示すように、操作ハンドラーの設定を変更して、オブジェクトの中心を前後の対話の両方で回転させます。For the lunar module, change the Manipulation Handler settings so that it rotates around the object's center for both near and far interaction, as shown in the image below.

    Lesson4 Chapter2 Step10im

  11. 地球コアの場合は、リリース動作を何も変更しません。For the earth core, change the release behavior to nothing. これにより、地球コアがユーザーのつかみから解放されると、移動は続行されません。This makes it so that once the earth core is released from the user's grasp, it doesn’t continue to move.

    Lesson4 Chapter2 Step11im

    注意

    この設定は、スローできるボールを作成するなどのシナリオに役立ちます。This setting is useful for scenarios, such as creating a ball that you can throw. 適切なベロシティと角速度を維持して、ボールがリリースされた後も、そのボールがリリースされた速度で移動し続けます。物理的なボールの動作と似ています。Keeping the appropriate velocity and angular velocity to ensure that once the ball is released, it will continue to move at the velocity it was released at; similar to how a physical ball would behave.

境界ボックスの追加Adding Bounding Boxes

境界ボックスを使用すると、直接操作 (ほぼ相互作用) と射線ベースの操作 (遠くのやり取り) の両方で、オブジェクトを1つの手で操作することが簡単になり、直観的になります。境界ボックスは、特定の軸に沿ってオブジェクトを拡大縮小および回転するために取得できるハンドルを提供します。Bounding boxes make it easier and more intuitive to manipulate objects with one hand for both direct manipulation (near interaction) and ray-based manipulation (far interaction.) Bounding boxes provide handles that can be grabbed for scaling and rotating objects along a specific axis.

注意

オブジェクトに境界ボックスを追加するには、まず、このレッスンで前に説明したように、オブジェクト (box collider など) に collider を用意する必要があります。Before you can add a bounding box to an object, you first need to have a collider on the object (e.g., a box collider), as was covered previously in this lesson. Colliders を追加するには、オブジェクトを選択し、オブジェクトの [インスペクター] パネルで [コンポーネントの追加 > Box Collider] を選択します。Colliders can be added by selecting the object and in the object's inspector panel selecting Add Component>Box Collider.

  1. 箱の collider を地球コアオブジェクトに追加します (まだ存在しない場合)。Add a box collider to the Earth Core object if one does not already exist. 指定された指示に従って、ベースモジュールの Assets フォルダーに用意されている prefab を使用する場合、box の collider とセットアップは必要ありません。The box collider and setup are not required, if using the prefab provided in the Base Module Assets folder per the instructions given. 地球コアの場合、次の図に示すように、box collider を、、node_id30、地球コアの下にあるオブジェクトに追加しました。In the case of the earth core, we added the box collider to the, node_id30, object underneath the earth core, as shown in the image below. オブジェクトの [インスペクター] タブで [node_id30] を選択し、[コンポーネントの追加] をクリックして、box collider を検索します。Select node_id30 from the object's Inspector tab, click Add Component, and search for box collider.

    Lesson4 Chapter3 Step1im

    Lesson4 Chapter3 Step2im

    注意

    Box collider のサイズを大きくしたり小さくしたりしないようにしてください。Make sure that you size the box collider so that it’s not too big or too small. それが囲むオブジェクト (この例では地球の核) とほぼ同じサイズである必要があります。It should be roughly the same size as the object it’s surrounding (in this example, the earth core). Box collider の [Collider の編集] オプションを選択して、必要に応じて box の collider を調整します。Adjust the box collider as needed by selecting the Edit Collider option in the box collider. X、y、z の値を変更するか、[エディターシーン] ウィンドウで境界ボックスハンドラーをドラッグします。You can either changing the x, y, and z values or drag the bounding box handlers in the Editor Scene window.

    Lesson4 Chapter3 Noteim

  2. アースコアの node_id30 オブジェクトに境界ボックスを追加します。Add a bounding box to the earth core's node_id30 object. これを行うには、3DObjectCollection から node_id30 オブジェクトを選択します。To do this, select the node_id30 object from the 3DObjectCollection. [インスペクター] タブで、[コンポーネントの追加] をクリックし、[境界ボックス] を検索します。In the inspector tab, click Add Component, and search for bounding box. 境界ボックス、ボックス コライダー、および操作スクリプト (操作ハンドラー、近距離操作 - グラブ可能) がすべて同じゲーム オブジェクト上にあることを確認します。Ensure that the bounding box, box collider, and manipulation scripts (manipulation handler, near interaction grabbable) are all on the same game object.

  3. 境界ボックスの [動作] セクションで、[アクティブ化] ドロップダウンリストから [開始時にアクティブにする] を選択します。In the bounding box's Behavior section, select Activate on Start from the Activation drop-down list. さまざまなアクティブ化オプションおよびその他の境界ボックスオプションに関する詳細については、 Mrtk の境界ボックスのドキュメントを参照してください。To review additional details regarding the various activation options and other bounding box options, see the MRTK's bounding box documentation

    次のいくつかの手順では、既定のボックスマテリアル、グラブ中の素材、コーナーハンドルとサイドハンドルの視覚化を調整して、境界ボックスがどのように見えるかを変更します。MRTK には、境界ボックスをカスタマイズするためのオプションがいくつか含まれています。In the next few steps, we will also change how the bounding box looks by adjusting the default box material, the material while it’s being grabbed as well as the visualization of the corner and side handles. The MRTK contains several options to customize the bounding box.

  4. [プロジェクト] パネルで "boundingbox" を検索すると、次の図に示すように、検索結果に青い球で示される素材の一覧が表示されます。In the Project panel, search for "boundingbox" and you’ll see a list of materials denoted by a blue sphere in the search results as shown in the image below.

  5. Boundingbox マテリアルを、境界ボックスコンポーネントのボックス素材スロットにドラッグします。Drag the boundingbox material into the box material slot on the bounding box component. また、boundingboxgrabbed の素材を取得し、境界ボックスコンポーネントのボックスに挿入します。Also grab the boundingboxgrabbed material and put that in the box grabbed material slot on the bounding box component.

    mrlearning-base-ch4-3-step5

  6. MRTK_BoundingBox_ScaleHandle prefab をスケールハンドル prefab スロットにドラッグし、MRTK_BoundingBox_RotateHandle prefab を結合ボックスコンポーネントの回転ハンドルスロットにドラッグします。Drag the MRTK_BoundingBox_ScaleHandle prefab into the scale handle prefab slot and the MRTK_BoundingBox_RotateHandle prefab into the rotation handle slot on the bonding box component.

    mrlearning-base-ch4-3-step6

  7. 境界ボックスの正しいオブジェクトを対象としていることを確認します。Make sure the bounding box is targeting the right object. 境界ボックスコンポーネントには、ターゲットオブジェクトと境界オーバーライドスクリプトがあります。In the bounding box component, there is the target object and bounds override scripts. 境界ボックスを持つオブジェクトをこれらのスロットの両方にドラッグします。Drag the object that has the bounding box around it to both of these slots. この例では、次の図に示すように、これらのスロットの両方に node_id30 オブジェクトをドラッグします。In this example, drag the node_id30 object to both of these slots, as shown in the image below.

    mrlearning-base-ch4-3-step7

    注意

    アプリケーションを起動または再生すると、オブジェクトは青いフレームで囲まれます。When you start or play the application, your object will be surrounded by a blue frame. そのフレームのコーナーをドラッグすると、オブジェクトのサイズを自由に変更できます。You’re welcome to drag the corners of that frame to resize the object. スケーリングハンドルと回転ハンドルのサイズを大きくして表示する場合は、既定の境界ボックスの設定を使用することをお勧めします (手順 4. ~ 6. を回避)。If you want the scaling handles and the rotation handles to be larger and more visible, it is recommend using the default bounding box settings (avoiding Steps 4 -through 6.)

  8. 既定の境界ボックスの視覚化に戻るには、境界ボックスのオブジェクトの [インスペクター] パネルで、回転ハンドル prefab を選択し、del キーを押して削除します。To return to the default bounding box visualization, in the Inspector panel of the bounding box's object, select the rotation handle prefab and press delete to remove it. 再生モードに入ると、次の図のような境界ボックスの視覚エフェクトが表示されます。When you enter play mode, wou will see a bounding box visualization similar to the image below.

    mrlearning-base-ch4-3-step8

    注意

    境界ボックスの視覚エフェクトは、再生モードの場合にのみ表示されます。The bounding box visualizations only appear when in play mode.

タッチ効果の追加Adding touch effects

この例では、オブジェクトを手でタッチしたときに効果音が再生されるようにします。In this example, we are going to play a sound effect when you touch an object with your hand.

  1. ゲーム オブジェクトにオーディオ ソース コンポーネントを追加します。Add an audio source component to your game object. シーン階層で Octa オブジェクトを選択します。Select the Octa object in your scene hierarchy. [インスペクター] パネルで [コンポーネントの追加] ボタンをクリックし、[オーディオソース] を検索して選択します。In the inspector panel, click the Add Component button, search for and select audio source. 後の方の手順で、このオーディオ ソースを使用して効果音を再生します。We’ll use this audio source to play a sound effect in a later step.

    注意

    Octa オブジェクトに box collider があることを確認します。Ensure that the Octa object has a box collider on it.

  2. Near 対話 Touchable コンポーネントを追加します。Add the Near Interaction Touchable component. [インスペクター] パネルの [Add Component (コンポーネントの追加)] ボタンをクリックし、near インタラクション touchable を検索します。Click the Add Component button in the Inspector panel and search for near interaction touchable. 選択してコンポーネントに追加します。Select it to add the component.

    注意

    以前は、grabbable の近くに追加しました。Previously, we added near interaction grabbable. この相互作用 touchable の違いは、grabbable の相互作用は、オブジェクトをグラブして操作することを意図しています。The difference between this and near interaction touchable is that the grabbable interaction is intended for an object to be grabbed and interacted with. Touchable コンポーネントは、タッチするオブジェクトを対象としています。The touchable component is intended for the object to be touched. 操作を組み合わせるために両方のコンポーネントを一緒に使用することができます。Both components can be used together for a combination of interactions.

    Lesson4 Chapter4 Step1 2Im

  3. ハンドインタラクションタッチスクリプトにを追加します。Add in the Hand Interaction Touch script. 前の手順と同じように、[コンポーネントの追加] をクリックして、追加するタッチ操作を検索します。Just like the previous step, click Add Component and search for hand interaction touch to add it.

    スクリプトには次の3つのオプションがあることに注意してください。Notice that you have three options with the script:

    • タッチ完了時: オブジェクトをタッチして解放するとトリガーされますOn Touch Completed: Triggers when you touch and release the object
    • タッチ開始時: オブジェクトがタッチされたときにトリガーしますOn Touch Started: Triggers when the object is touched
    • タッチ更新時: ハンドがオブジェクトに接している間、定期的にトリガーします。On Touch Updated: Triggers periodically while your hand is touching the object

    この例では、[タッチによる開始] 設定を使用します。For this example, we will be working with the On Touch Started setting.

    注意

    このスクリプトは、このチュートリアルの冒頭でインポートした BaseModuleAssets Unity パッケージに含まれており、元の MRTK には含まれていません。This script is included with the BaseModuleAssets Unity package that you imported as at the beginning of this tutorial and it is not included in the original MRTK.

  4. [タッチ開始時] オプションの [+] ボタンをクリックし、[Octa] オブジェクトを空のフィールドにドラッグします。Click the + button on the On Touch Started option and drag the Octa object into the empty field.

    mrlearning-base-ch4-4-step4

  5. [関数がありません] というドロップダウンで、[AudioSource > PlayOneShot] を選択します。In the drop-down that says No Function, select AudioSource > PlayOneShot. 以下のコンセプトを元に、このフィールドにオーディオ クリップを追加します。We will add an audio clip to this field using the concepts below:

    • MRTK には、オーディオ クリップの小さいリストがあります。The MRTK does provide a small list of audio clips. これらは、プロジェクトパネルで自由に調べることができます。Feel free to explore these in your Project panel. これらのファイルは、[アセット > MixedRealityToolkit > Standard Assets > Audio フォルダー] の下にあります。You will find them under the Assets > MixedRealityToolkit.SDK > Standard Assets > Audio folder.
    • この例では、MRTK_Gem オーディオクリップを使用します。For this example, we are going to use the MRTK_Gem audio clip.
    • オーディオクリップを追加するには、目的のクリップを [プロジェクト] パネルから [PlayOneShot] フィールドにドラッグするだけです。To add an audio clip, simply drag the clip you want from the project panel into the AudioSource.PlayOneShot field.

    mrlearning-base-ch4-4-step5

    これで、ユーザーがに到達し、Octa オブジェクトに触れると、オーディオトラック MRTK_Gem が再生されます。Now, when the user reaches out and touches the Octa object, the audio track MRTK_Gem will play. また、ハンドインタラクションタッチスクリプトでは、オブジェクトの色も調整されます。The Hand Interaction Touch script will also adjust the color of the object, when touched.

結論Congratulations

このチュートリアルでは、グリッドコレクション内の3D オブジェクトを整理する方法と、近くの操作 (追跡したハンドを使用した直接グラブ) と遠くの相互作用 (宝石を使用した、または光線を使用) を使用して、これらのオブジェクトを操作する方法について学習しました。In this tutorial, you learned how to organize 3D objects in a grid collection and how to manipulate these objects (scaling, rotating, and moving) using near interaction (directly grabbing with tracked hands) and far interaction (using gaze rays or hand rays). また、3D オブジェクトの周囲に境界ボックスを配置する方法と、境界ボックスでギズモを使用およびカスタマイズする方法についても学習しました。You also learned how to put bounding boxes around 3D objects, and learned how to use and customize the gizmos on the bounding boxes. 最後に、オブジェクトにタッチしたときにイベントをトリガーする方法を学習しました。Finally, you learned how to trigger events when touching an object.

次のレッスン: 6. 詳細な入力オプションの調査Next Lesson: 6. Exploring advanced input options