MR Learning ベースのモジュールの 3D オブジェクトの相互作用MR Learning Base Module - 3D Object Interaction

このレッスンでが、基本的な 3D コンテンツとユーザー エクスペリエンス経由します。In this lesson, we will go through basic 3D content and user experience. 私たちは、コレクションの一部として 3D オブジェクトを整理、境界ボックスの基本的な操作について説明します、ほぼとの相互作用について説明しますとタッチについて説明します、および追跡の手でジェスチャを取得する方法について説明します。We will learn how to organize 3D objects as part of a collection, learn about bounding boxes for basic manipulation, learn about near and far interaction, and learn about touch and grab gestures with hand tracking.

目標Objectives

  • MRTK の Grid オブジェクトのコレクションを使用して 3D コンテンツを整理する方法について説明しますLearn how to organize 3D content using MRTK's Grid Object Collection
  • 境界ボックスを実装します。Implement bounding boxes
  • 3D オブジェクトの基本的な操作 (移動、回転、および拡大縮小) を構成します。Configure 3D objects for basic manipulation (move, rotate, and scale)
  • Near との相互作用を探索します。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. 階層を右クリックしを選択、「作成空」です。Right click on your hierarchy and select, “create empty.” これは、空のゲーム オブジェクトを作成します。This creates an empty game object. "3DObjectCollection"に変更しますRename it to “3DObjectCollection.” これはすべて、3 D オブジェクトの保存場所です。This is where we will put all of our 3D Objects. コレクションの位置を x に設定してください = 0、y = 0、および z = 0。Make sure the collection’s positioning is set at x = 0, y = 0, and z = 0.

Lesson4 第 1 章 Step1im

  1. カスタム パッケージをインポートするのと同じ手順が記載 BaseModule 資産を使用してインポートレッスン 1 からします。Import BaseModule Assets Using the same instructions to import custom packages outlined in Lesson1. BaseModule 資産には、3 D のモジュールとこのチュートリアル全体で使用されるその他の便利なスクリプトが含まれます。The BaseModule assets include 3D modules and other useful scripts that will be used throughout this tutorial. BaseModule unity パッケージはここにあります。 https://github.com/Microsoft/MixedRealityLearning/releases/tag/V1.1The BaseModule unity package can be found here: https://github.com/Microsoft/MixedRealityLearning/releases/tag/V1.1

  2. コーヒー カップのプレハブは、その横にある青色の立方体で認識されないことができます。The coffee cup prefab can be recognized by a blue cube next to it. 青の cube および小規模のホワイト ペーパー (示す元の 3D モデルとプレハブではありません。) で、コーヒー カップは選択しないでください。Do not select the coffee cup with the blue cube and small white paper (that denotes the original 3D model and not the prefab.)

Lesson4 第 1 章 Noteaim

  1. 手順 1 から"3DObjectCollection"ゲーム オブジェクトに好きなコーヒー カップのプレハブをドラッグします。Drag the coffee cup prefab of your choice into the "3DObjectCollection" game object from step 1. コーヒー カップはコレクションの子であるようになりました。The coffee cup is now a child of the collection.

Lesson4 第 1 章 Step4ima

  1. 次に、3 D オブジェクト、シーンに追加します。Next, we'll add more 3D objects into our scene. この例で追加するオブジェクトの一覧を次に示します。Below is a list of objects we are going to add in this example. オブジェクトを追加すると、さまざまなサイズで、シーンに表示されることがあります。As you add the objects you may find that they appear in your scene in various sizes. Inspector パネルの 変換の設定では各 3D モデルのスケールを調整します。Adjust the scale of each 3D model under the transform setting in the inspector panel. この例では、推奨される調整は、次のオブジェクトを一覧表示されます。Recommended adjustments for this example are listed with the objects below. [プロジェクト] パネルで検索ボックスにこれらの単語を検索し、前の手順と同様に、"3DObjectCollection"オブジェクトに 3D オブジェクトのプレハブをドラッグします。Search these words in the search box in your project panel and drag the 3D object prefab into the "3DObjectCollection" object similar to the previous step. アセットのプレハブのこれらのコレクションが表示されます > BaseModuleAssets > ベースのモジュールのプレハブYou will find these collection of prefabs in Assets>BaseModuleAssets>Base Module Prefabs
  • "TheModule_BaseModuleIncomplete"を検索Search for “TheModule_BaseModuleIncomplete.” シーンにドラッグします。Drag into scene. X にスケールを設定 = 0.03、y = 0.03、z = 0.03 です。Set the scale to x = 0.03, y = 0.03, z = 0.03.
  • "Octa_BaseModuleIncomplete"を検索Search for “Octa_BaseModuleIncomplete.” シーンにドラッグします。Drag into scene. X にスケールを設定 0.13 を = です。Set the scale to x = 0.13. y = $0.13、z = $0.13 します。y = 0.13, z =0.13.
  • "EarthCore_BaseModuleIncomplete"を検索Search for “EarthCore_BaseModuleIncomplete.” シーンにドラッグします。Drag into scene. X にスケールを設定 50.0 = y = 50.0、z = 50.0 します。Set the scale to x = 50.0 y = 50.0, z = 50.0.
  • "Cheese_BaseModuleIncomplete"を検索Search for “Cheese_BaseModuleIncomplete.” シーンにドラッグします。Drag into scene. X にスケールを設定、0.05 = y = 0.05、z = 0.05 します。Set the scale to x = 0.05, y = 0.05, z = 0.05.
  • "Model_Platonic_BaseModuleIncomplete"を検索Search for “Model_Platonic_BaseModuleIncomplete.” シーンにドラッグします。Drag into scene. X にスケールを設定 = $0.13、y = $0.13、z = $0.13 します。Set the scale to x = 0.13, y = 0.13, z = 0.13.
  • "CoffeeCup_BaseModuleIncomplete"を検索Search for "CoffeeCup_BaseModuleIncomplete." シーンにドラッグします。Drag into scene.

Lesson4 第 1 章 Step5im

  1. 3 つのキューブをシーンに追加します。Add 3 cubes into your scene. "3DObjectCollection"オブジェクトを右クリックし、「3 D オブジェクト」を選択し、「キューブです」を選択します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. この手順をさらに 2 回繰り返します 3 つのキューブの集計を作成します。Repeat this step 2 additional times to create a total of 3 cubes. または、2 回、合計で 3 つのキューブのキューブを複製することがあります。Alternatively, you may duplicate the cube twice for a total of 3 cubes. アセットから、次の 3 つの準備済みのキューブ プレハブを使用することもできます > BaseModuleAssets > モジュールのプレハブをベースと選択 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.

Lesson4 第 1 章 Step6im

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

Lesson4 第 1 章 Notebim

注:中心から、上の図内のオブジェクトなど一部のオブジェクトがわかります。Note: You may notice that some of the objects are off-center, such as the objects in the image above. これは、prefabs またはオブジェクトに子オブジェクトに不整合があった可能性があるためにです。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 you must do the following:
  • (この例では、キューブのいずれか)、階層内を操作する 3D オブジェクトを選択します。Select the 3D object you want to manipulate in your hierarchy (in this example, one of your cubes).
  • "コンポーネントの追加 をクリックします。Click “add component.”
  • 「操作」の検索Search for “manipulation.”
  • 「操作ハンドラー。」を選択します。Select “manipulation handler.”
  • "3DObjectCollection"オブジェクトがありません"3DObjectCollection"下にあるすべての 3D オブジェクトの繰り返し自体。Repeat for all 3D objects under the “3DObjectCollection” object but not the “3DObjectCollection” itself.
  • すべての 3D オブジェクトが collider または足場に box collider ことを確認 (コンポーネントの追加 > コライダーのボックス)。Ensure all 3D objects have a collider or box collider (Add Component > box collider).

Lesson4 第 2 章 Step1im

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

  1. 1 つのキューブを制限して、拡張することのみ。Restrict one cube so that it can only be scaled. "3DObjectCollection"オブジェクトでは、1 つのキューブを選択します。Select one cube in the “3DObjectCollection” object. Inspector パネルで、「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 第 2 章 Step2im

  1. 各キューブの色を変更するは、それらの間で差別化できるようにします。Change the color of each cube so that we can differentiate between them.
  • [プロジェクト] パネルに移動し、「MixedRealityToolkit.SDK」を参照してください。 しそれを選択するまで下へスクロールします。Go to the project panel and scroll down until you see “MixedRealityToolkit.SDK” then select it.
  • "Standard Assets"フォルダーを選択します。Select the “Standard Assets” folder.
  • 「マテリアル」フォルダーをクリックします。Click on the “materials” folder.
  • 各キューブには、さまざまな資料をドラッグします。Drag a different material onto each of your cubes.

注:キューブの任意の色を選択できます。Note: You can choose any color for your cubes. たとえば、"glowingcyan"、"glowingorange"を使用するつもりは「緑」For our example, we are going to use “glowingcyan,” “glowingorange”, and "green." 自由に異なる色で実験できます。Feel free to experiment with different colors. キューブには、色を追加するにはの色を変更するキューブをクリックして、キューブのインスペクター ウィンドウで、メッシュ レンダラーの素材のフィールド、マテリアルをドラッグします。To add the color to the cube, click the cube you want to change the color of, then drag the material to the mesh renderer's material field in the cube's inspector panel.

Lesson4 第 2 章 Step3im

  1. "3DObjectCollection"オブジェクトで別のキューブを選択し、その動きは先頭にある修正プログラムの距離に制限されるようになります。Select another cube in the “3DObjectCollection” object and make it so that its movement is constrained to the fix distance from the head. 「移動の制約」の右側で、ドロップダウン メニューをクリックし、「先頭からの距離を修正します。」を選択します。To do this, on the right of “constraint on movement,” click on the dropdown menu and select “fix distance from the head.” これによりするため、ユーザーは、そのフィールドのビジョン内のキューブにのみ移動できます。This makes it so that the user can only move the cube within their field of vision.

Lesson4 第 2 章 Step4im

次のいくつかの手順の目標:グラブし、3 D オブジェクトとの対話を有効にします。Goal of the next few steps: We will enable grab and interaction with our 3D objects. さまざまな操作の設定が適用されます。We will apply different manipulation settings

  1. チーズ オブジェクトを選択し、[inspector] パネルで「コンポーネントを追加します」をクリックしてくださいSelect the cheese object and in the inspector panel, click “add component.”

  2. 検索ボックスに"近くの対話 Grabbable"を検索し、スクリプトを選択します。Search in the search box for “Near Interaction Grabbable” and select the script. このコンポーネントにより、ユーザーに連絡し、追跡対象の手でオブジェクトを取得します。This component allows users to reach out and grab the objects with tracked hands. 「を許可するまでの操作」のチェック ボックスがオフになって (次の図の緑色の円で示されます)。 いない場合も、オブジェクトが許可された距離から操作するのにはObjects will also be allowed to be manipulated from a distance, unless the "Allow Far Manipulation" checkbox is unchecked (denoted by green circle in image below.)

Lesson4 第 2 章 Step6im

  1. それらのオブジェクトに対して手順 5. と 6. を繰り返すことにより、"近くの対話 Grabbable"Octa のオブジェクト、プラトニック オブジェクト、地球のコア、旧暦モジュール、およびコーヒー カップを追加します。Add “Near Interaction Grabbable” to the Octa object, Platonic object, earth core, lunar module, and coffee cup by repeating step 5 and 6 on those objects.

  2. Octa オブジェクトからは、相手側の操作の機能を削除します。Remove the ability of far manipulation from the Octa object. これを行うには、階層では、Octa を選択し、(緑色の円でマークされている)"相手側の操作を許可する チェック ボックスをオフにします。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 that users can only interact with the octa directly using tracked hands.

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

  1. 地球のコア、および、コーヒー カップに"近くの対話 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).

  2. 旧暦モジュールの設定を変更操作ハンドラー オブジェクトの両方の近くのセンターと、相手側との対話の周りを回転、ように次の図に示すようにします。For the lunar module, change the Manipulation Handler settings so that it rotates about the object's center for both near and far interaction, as shown in the image below.

Lesson4 第 2 章 Step10im

11:地球の主要なのリリースの動作を変更する"nothing"。11: For the earth core, change the release behavior to “nothing.” これにより、ユーザーの把握から地球 core がリリースされると、そのままにならないを移動するようにします。This makes it so that once the earth core is released from the users’ grasp, it doesn’t continue to move.

Lesson4 第 2 章 Step11im

注:この設定は、スローできるボールの作成などのシナリオに適しています。Note: This setting is useful for scenarios such as creating a ball that you can throw. 速度と角度の速度を維持することになりますでリリースされた、物理ボールに動作する方法に似ていますが、速度で移動することが引き続き、ボールが解除されるようにします。Keeping the velocity and the angular velocity makes it so 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

境界ボックスにより、簡単と相互作用) の近くの直接の操作と ray ベースの操作 (ここまでの操作) の両方の 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 offer "handles" that can be grabbed for scaling and rotating objects along specific axes.

注:オブジェクトに境界ボックスを追加する前にまずが必要です、コライダー オブジェクト (たとえば、ボックス collider。)このレッスンでは以前とします。Note: 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 we did previously in this lesson. コンポーネントの追加を選択すると、オブジェクトのインスペクター パネルと、オブジェクトを選択して、コライダーを追加できる > 足場に Box Collider します。Colliders can be added by selecting the object, and in the object's inspector panel selecting Add Component>Box Collider.

  1. 1 つは存在しない場合 (足場に box collider とセットアップのベース モジュール アセット フォルダーには、記載されている手順ごとのプレハブを使用する場合は必要ありません。)、地球の中核となるオブジェクトに、box collider を追加します。地球のコアの場合は必要があります、地球のコアの下にある"node_id30"オブジェクトに、足場に box collider を追加する次の図に示すようにします。Add a box collider to the earth core object, if one does not already exist (box collider and setup not required if using the prefab provided in the Base Module Assets folder, per the instructions given.) In the case of the earth core, we will need to add 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 and in the object's inspector tab, click “add component” and search for “box collider.”

Lesson4 第 3 章 Step1im

Lesson4 第 3 章 Step2im

注:大きすぎるか小さすぎることがないように、足場に box collider を視覚化することを確認します。Note: Make sure that you visualize 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 コライダー [編集] オプションを選択して、必要に応じて、足場に 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 第 3 章 Noteim

  1. 地球 core の"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." Inspector タブで、"コンポーネントの追加 をクリックし、「境界ボックス」を検索In the inspector tab, click “add component” and search for “bounding box.” 境界ボックス、足場に box collider、および操作スクリプト (相互作用 grabbable 近く操作ハンドラー) がすべて同じゲーム オブジェクト上であることを確認します。Ensure that the bounding box, box collider, and manipulation scripts (manipulation handler, near interaction grabbable) are all on the same game object.

  2. 境界ボックスの「動作」のセクションでは、アクティブ化のドロップダウン リストから「開始時にアクティブ化」を選択します。In the bounding box's "Behavior" section, select “activate on start” from the Activation dropdown list. さまざまなライセンス認証オプションとその他の境界ボックスのオプションに関する詳細を確認するを参照してください、 MRTK のドキュメンテーションの境界To review additional details regarding the various activation options and other bounding box options, please 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 handles (corner and side handles). The MRTK contains several options to customize the bounding box.

  1. プロジェクト パネルで、検索すると、"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.

  2. 境界ボックス コンポーネントのボックス素材スロットに"boundingbox"マテリアルをドラッグします。Drag the “boundingbox” material into the box material slot on the bounding box component. "Boundingboxgrabbed"material をグラブし、ボックスを数量単価型スロット グラブに境界ボックス コンポーネントに追加することもします。Also grab the “boundingboxgrabbed” material and put that in the box grabbed material slot on the bounding box component.

  3. 境界ボックス コンポーネントのスケール ハンドルのプレハブ スロットに"MRTK_BoundingBox_ScaleWidget"マテリアルをドラッグします。Drag the “MRTK_BoundingBox_ScaleWidget” material into the scale handle prefab slot on the bounding box component.

  4. 結合のボックス コンポーネントの回転ハンドルのスロットに"MRTK_BoundingBox_RotateWidget"マテリアルをドラッグします。Drag the “MRTK_BoundingBox_RotateWidget” material into the rotation handle slot on the bonding box component.

Lesson4 第 3 章手順 4 7Im

  1. 境界ボックスの右側のオブジェクトが対象とすることを確認します。Make sure the bounding box is targeting the right object. 境界ボックス コンポーネントでは、「ターゲットのオブジェクト」と「境界の上書き」のスクリプトです。In the bounding box component, there is the “target object” and “bounds override” scripts. これらのスロットの両方にそれを囲む境界ボックスのあるオブジェクトをドラッグしてください。Make sure to 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 these slots, as shown in the image below.

開始するか、またはアプリケーションを再生するときに、オブジェクトは青枠で囲むようになりました。When you start or play the application, your object will now be surrounded by a blue frame. オブジェクトのサイズを変更するには、そのフレームの角をドラッグすることを歓迎しています。You’re welcome to drag the corners of that frame to resize the object. 境界ボックスの設定 (手順 4 ~ 7 を回避できます)。 既定の使用が推奨スケーリングのハンドルと大きくなりより顕著に回転ハンドルをする場合If we want the scaling handles and the rotation handles to be larger and more visible, we recommend using the default bounding box settings (avoiding steps 4 - 7.)

Lesson4 第 3 章 Step8im

  1. 既定の境界、境界ボックスのオブジェクトのインスペクター ウィンドウで、ボックスの視覚エフェクトに戻るに回転ハンドルのプレハブを選択、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 the delete key, you will now see a bounding box visualization similar to the image below. 注: 境界ボックスの視覚エフェクトは、再生モードの場合にのみ表示されます。Note: the bounding box visualizations only appears when in play mode.

Lesson4 第 3 章 Step9im

タッチの効果を追加します。Adding Touch Effects

この例では、手を使用したオブジェクトをタッチしたときにサウンド効果を再生するでしょう。In this example, we are going to play a sound effect when you touch an object with your hand.

  1. ゲーム オブジェクトに audio source コンポーネントを追加します。Add an audio source component to your game object. シーンの階層構造では、"octa"オブジェクトを選択します。Select the "octa" object in your scene hierarchy. Inspector パネルで、"コンポーネントの追加 ボタンをクリックします。 検索し、オーディオ ソース を選択します。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.

注:ために、box collider を"Octa"オブジェクトがあります。Note: Ensure that the "Octa" object has a box collider on it.

  1. 相互作用押せる"近く"コンポーネントを追加します。Add the “near interaction touchable” component. 「付近の押せる相互作用します。」を検索してインスペクターのパネルで、「コンポーネントの追加」ボタンをクリックします。Click the "Add Component" button in the inspector panel and search for “near interaction touchable.” コンポーネントを追加することを選択します。Select it to add the component. 注: は、コンポーネントを追加してだけでなく足場に box collider の強調表示 ことを強調表示するスクリーン ショットを修正します。NOTE: fix screenshot to highlight that we're adding the component, and not just highlighting box collider.

注:以前に「ほぼ相互作用 grabbable」を追加しましたNote: Previously we added the “near interaction grabbable.” この間、および相互作用押せる"の"近くの違いは、"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. 「押せる」のコンポーネントは、編集するオブジェクトを対象としています。The "touchable" component is intended for the object to be touched. 両方のコンポーネントは、相互作用の組み合わせを一緒に使用できます。Both components can be used together for a combination of interactions.

Lesson4 第 4 章 Step1 2Im

  1. 「タッチの相互作用を渡す」スクリプトに追加します。Add in the “hand interaction touch” script. このスクリプトは、このデモのパッケージの一部としてインポートした unity シーンに含まれることに注意してくださいし、は、元の MRTK には含まれません。Note that this script is included with the unity scene you imported as part of this demo package and it is not included in the original MRTK. だけ、前の手順のように、"コンポーネントの追加 をクリックし、「手の形の相互作用のタッチ」を検索して追加します。Just like the previous step, click “add component” and search for “hand interaction touch” to add it. スクリプトを使用して 3 つのオプションがあることに注意してください。Notice that you have 3 options with the script:

    • "上のタッチが完了しました。""On touch completed." これは、タッチ、オブジェクトを解放するとトリガーされます。This will trigger when you touch and release the object.
    • 「でタッチから開始します。」"On touch started." これは、オブジェクトが操作されたときにトリガーされます。This will trigger when the object is touched.
    • "でタッチを更新します。""On touch updated." これは、手がオブジェクトを変更中に定期的にトリガーされます。This will periodically trigger while your hand is touching the object.

    この例では、私たちは"開始タッチ"に設定で使用されます。For this example, we will be working with the “on touch started” setting.

  2. 次の図に示すように、"で開始するタッチ"オプションで「+」ボタンをクリックします。Click the “+” button on the “on touch started” option, as shown in the image below. Octa オブジェクトは、空のフィールドにドラッグします。Drag the octa object into the empty field.

  3. (下の画像の緑の四角形) 上の「関数」を示すドロップダウン リスト、選択 AudioSource > PlayOneShot します。In the drop-down that says "no function" (above green rectangle in the image below), 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.SDK"フォルダーを"standard assets"フォルダーの下で表示されます。You will find them under the “MixedRealityToolkit.SDK” folder and then the “standard assets” folder. "Audio"フォルダーのすべてのオーディオ クリップの場所が表示されます。There you will see an “audio” folder where all the audio clips are.
    • この例では、"MRTK_Gem"オーディオ クリップを使用するでしょう。For this example, we are going to use the "MRTK_Gem" audio clip.
    • オーディオ クリップを追加するに単にドラッグするクリップ プロジェクト パネルからインスペクター パネル AudioSource.PlayOneShot (上記の例で緑色のボックスでマークされている)。To add an audio clip, simply drag the clip you want from the project panel into the AudioSource.PlayOneShot (marked by green box in the example above) in the inspector panel.

    これでユーザーがに達するし、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.

Lesson4 第 4 章の手順 3. 5 Noteim

おめでとうございますCongratulations

このレッスンでは、グリッドのコレクション内の 3D オブジェクトを整理する方法と (拡大縮小、回転、および移動)、3 D オブジェクトを操作する方法を説明しました (追跡対象の手を直接取得して) 相互作用と (注視光線または手光線を使用). ここまでの相互作用近くを使用して3D オブジェクトの周りの境界ボックスを配置する方法について説明し、使用し、境界ボックスのギズモをカスタマイズする方法について説明します。In this lesson, you learned how to organize 3D objects in a grid collection and how to manipulate 3D objects (scaling, rotating, and moving) using near interaction (directly grabbing with tracked hands) and far interaction (using gaze rays or hand rays.) 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.

次のレッスン:高度な入力Next Lesson: Advanced Input