混合實境工具組 (MRTK) 元件 與 Unity 可編寫腳本的物件

已完成

MRTK-Unity 是由 Microsoft 所推動的專案,其提供一組元件與功能,可用來加快 Unity 中的跨平台 MR 應用程式開發。 您將使用此 MRTK,在場景中快速建立與風力發電機的3D 模型之間的沉浸式互動。 尤其是,在此專案中,我們將會使用 Microsoft.MixedReality.Toolkit.UI 命名空間的下列 MRTK 物件類別:

  • ObjectManipulatorObjectManipulator 指令碼會使用一或兩隻手,讓物件成為可移動、可調整及可旋轉的。 此指令碼適用於 HoloLens 的手勢輸入和沉浸式頭戴裝置的運動控制器輸入。

  • BoundsControl:界限控制項可讓您轉換物件 (旋轉和縮放) ,並在物件周圍繪製方塊,以視覺化使用者觸發的變形操作。 界限控制項提供縮放和旋轉控點,可用於物件的遠距離和近距離互動操作。 它會進一步提供縮放和旋轉控點的相近效果,以改變尺寸和材質。

  • NearInteractionGrabbable:您可以將 NearInteractionGrabbable 元件新增至任何有碰撞屬性的 GameObject,使該碰撞物件在近處時可抓取。 任何 IMixedRealityNearPointer 都會接著將指標事件分派至最接近的近距可抓取物件。 此外,近距指標會在裝飾物件是接近指標的最接近物件時,傳送焦點的進入和離開事件

  • RotationAxisConstraint:可以用來將風力發電機限制為只圍繞 Y (上向)軸旋轉

     Unity 場景視窗的螢幕擷取畫面,風力發電機預製專案呈現在檢視視窗內、且風力發電機預製專案選擇在偵測器內。

風力發電機預製專案

每個數位對應項的預製專案在 Unity 專案中都有對應的 ScriptableObject,可儲存從 Microsoft Azure 接收的資料。 ScriptableObjects 基本上是輕量物件,可在整個場景和應用程式執行中全域保存資料。 風車預製專案會保存此 ScriptableObject 的參考,並會觸發事件,以在資料更新時通知資產。 請注意這些預製資產,以查看所包含的 MRTK 元件和 Azure 資料的接收位置:

  1. 瀏覽至 [資產] > [美術] > [預製專案] 以查看數位對應項風力發電機。 在風車的偵測器中,您可以看到有 LOD 群組、上述 MRTK 元件,以及附加至此預製專案的其他指令碼。

    Unity 場景視窗的螢幕擷取畫面,其中具有風力發電機的可編寫腳本物件,並在偵測器中。

  2. 您可以在 [資產 > 可編寫指令碼的物件 > 風力發電機場址資料] 中,找到我們模擬的對應可編寫指令碼物件。

    Unity 場景視窗的螢幕擷取畫面,其中具有風力發電機的可編寫腳本物件,並在偵測器中。