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

このチュートリアルでは、基本的な3D コンテンツとユーザーエクスペリエンスについて説明します。In this tutorial, we learn about basic 3D content and user experience. 次の情報について説明します。We will learn about:

  • コレクションの一部として3D オブジェクトを整理する。Organizing 3D objects as part of a collection.
  • 基本操作のための境界ボックス。Bounding boxes for basic manipulation.
  • Near と遠くのやり取り。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. 階層を右クリックし、[空の作成] を選択します。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 Chapter1 Step1im

  1. レッスン1からに記載されているカスタムパッケージをインポートする場合と同じ手順を使用して、basemodule アセットをインポートします。Import BaseModule assets using the same instructions to import custom packages outlined in Lesson1. BaseModule アセットには、このチュートリアル全体で使用される3D モジュールとその他の便利なスクリプトが含まれています。The BaseModule assets include 3D modules and other useful scripts that are 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. Blue cube や small ホワイトペーパーではコーヒーカップを選択しないでください。これは、事前 fab ではなく元の3D モデルを表しているためです)。Do not select the coffee cup with the blue cube and small white paper because this denotes the original 3D model and not the prefab.)

Lesson4 Chapter1 Noteaim

  1. 選択したコーヒーカップ prefab を、手順1で作成した 3DObjectCollection game オブジェクトにドラッグします。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 Chapter1 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 might find that they appear in your scene in various sizes. [インスペクター] パネルの [変換] 設定で、各3D モデルのスケールを調整します。Adjust the scale of each 3D model under Transform Setting in the Inspector panel. この例で推奨される調整とそのオブジェクトを以下に示します。Recommended adjustments for this example are listed with the objects below. プロジェクトパネルの [検索] ボックスでこれらの単語を検索し、3D オブジェクトの prefab を前の手順と同様に3DObjectCollection オブジェクトにドラッグします。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. これらの prefabs のコレクションは、> BaseModuleAssets > Base Module Prefabs にあります。You will find these collections 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.

Lesson4 Chapter1 Step5im

  1. シーンに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.

Lesson4 Chapter1 Step6im

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

Lesson4 Chapter1 Notebim

注:上の図のように、一部のオブジェクトはセンター外にあることがわかります。Note: 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 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.

  1. 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

  1. 立方体を区別できるように、それぞれの色を変更します。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 on the Materials folder.
  • 立方体のそれぞれに異なる素材をドラッグします。Drag a different material onto each of your cubes.

注:立方体には任意の色を選択できます。Note: You can choose any color for your cubes. この例では、glowingcyan、glowingorange、および green を使用します。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, then drag the material to the mesh renderer's material field in the cube's Inspector panel.

Lesson4 Chapter2 Step3im

  1. 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 on the drop-down 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 Chapter2 Step4im

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

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

  2. [検索] ボックスで [Near Grabbable] を検索し、スクリプトを選択します。Search in the search box for Near Interaction Grabbable, and select the script. このコンポーネントを使用すると、ユーザーは追跡したハンドを使用してオブジェクトを取得できます。This component enables users 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 green circle in image below.

Lesson4 Chapter2 Step6im

  1. これらのオブジェクトに対して手順 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.

  2. 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 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. 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).

  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 Chapter2 Step10im

11:地球コアの場合は、リリース動作を何も変更しません。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

注:この設定は、投げることができるボールの作成などのシナリオに適しています。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

境界ボックスにより、直接操作 (近距離操作) と 光線による操作 (遠距離操作) の両方で、オブジェクトを片手でより簡単で直感的に操作できるようになります。境界ボックスは、特定の軸に沿ってオブジェクトを拡大縮小および回転するために取得できるハンドルを提供します。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 を用意する必要があります。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. コライダーを追加するには、オブジェクトを選択し、オブジェクトの [インスペクター] パネルで [コンポーネントの追加] > [ボックス コライダー] を選択します。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. 指定された指示に従って、ベースモジュールアセットフォルダーに用意されている 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. 地球コアの場合は、次の図に示すように、箱を 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 のサイズを大きくしたり小さくしたりしないようにしてください。Note: 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

  1. 地球コアの 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.

  2. 境界ボックスの [動作] セクションで、[アクティブ化] ドロップダウンリストから [開始時にアクティブにする] を選択します。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, 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 the 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 の素材を取得し、境界ボックスコンポーネントのボックスにある素材スロットに配置します。Also grab the boundingboxgrabbed material, and put that in the box grabbed material slot on the bounding box component.

  3. MRTK_BoundingBox_ScaleWidget prefab を、境界ボックスコンポーネントのスケールハンドル prefab スロットにドラッグします。Drag the MRTK_BoundingBox_ScaleWidget prefab into the scale handle prefab slot on the bounding box component.

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

Lesson4 Chapter3 Step4 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 be surrounded by a blue frame. そのフレームのコーナーをドラッグすると、オブジェクトのサイズを自由に変更できます。You’re welcome to drag the corners of that frame to resize the object. スケーリングハンドルと回転ハンドルのサイズを大きくして表示する場合は、既定の境界ボックスの設定を使用することをお勧めします (手順 4. ~ 7. を回避)。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 7.)

Lesson4 Chapter3 Step8im

  1. 既定の境界ボックスの視覚化に戻るには、境界ボックスのオブジェクトの [インスペクター] パネルで、回転ハンドル 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. 次の画像のような境界ボックスの視覚エフェクトが表示されます。You will see a bounding box visualization similar to the image below. 注: 境界ボックスの視覚エフェクトは、再生モードの場合にのみ表示されます。Note: the bounding box visualizations only appears when in play mode.

Lesson4 Chapter3 Step9im

タッチ効果の追加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 があることを確認します。Note: Ensure that the Octa object has a box collider on it.

  1. Near 対話 Touchable コンポーネントを追加します。Add the Near Interaction Touchable 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 の近くに追加しました。Note: 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

  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, 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 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.

  1. 次の図に示すように、[タッチ開始時] オプションの [+] ボタンをクリックします。Click the + button on the On Touch Started option as shown in the image below. Octa オブジェクトを空のフィールドにドラッグします。Drag the Octa object into the empty field.

  2. [関数がありません] と表示されているドロップダウン (下図の図の緑色の四角形の上) で、[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 フォルダーと、Standard Assets フォルダーの下にあります。You will find them under the MixedRealityToolkit.SDK folder and then the Standard Assets folder. ここには、すべてのオーディオクリップがあるオーディオフォルダーが表示されます。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 Chapter4 Step3 5 Noteim

結論Congratulations

このチュートリアルでは、グリッドコレクション内の3D オブジェクトを整理する方法と、近くの操作 (追跡したハンドを使用した直接グラブ) と遠くの相互作用 (宝石を使用した、または光線を使用) を使用して、3D オブジェクトを操作する方法について学習しました。In this tutorial, 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). また、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