脈衝著色器 — MRTK2

MRTK_SpatialMesh_Pulse

使用脈衝著色器,在表面重建、接合的手部網格或任何其他網格上以動畫顯示視覺脈衝效果。

著色器和材質

下列材質使用 SR_Triangles 著色器。 您可以設定各種選項,例如填滿色彩、線條色彩和脈衝色彩。

  • MRTK_Pulse_SpatialMeshBlue.mat
  • MRTK_Pulse_SpatialMeshPurple.mat
  • MRTK_Pulse_ArticulatedHandMeshBlue.mat
  • MRTK_Pulse_ArticulatedHandMeshPurple.mat

必要條件

針對空間網格範例,請確定已將 MRTK_Pulse_SpatialMeshBlue.mat 或 MRTK_Pulse_SpatialMeshPurple.mat 指派給 MixedRealityToolkit 物件 - 空間感知設定檔 - >> 顯示設定 - > 可見材質。

針對手部網格範例,請確定 MRTK_Pulse_ArticulatedHandMeshBlue.mat 或 MRTK_Pulse_ArticulatedHandMeshPurple.mat 是在 ArticulatedHandMesh.prefab 中指派,其本身應該在 MRTK 設定 - 輸入 - > 手部追蹤 - >> 手部網格預製專案中指派。

運作方式

手部網格著色器會使用 UV 來沿著手部網格對應脈衝,並淡出手部手部。 表面重建著色器會使用頂點位置來對應脈衝。

空間網格範例 - PulseShaderSpatialMeshExample.unity

類似于HoloLens 2殼層體驗,您可以使用手部光線指向和空中點選,以在空間網格上產生脈衝效果。 範例場景包含 ExampleSpatialMesh 物件,這是 Unity 遊戲模式的測試空間網格資料。 此物件將會在裝置上停用和隱藏。

PulseShaderSpatialMeshHandler.cs 腳本會在達到點位置時 PulseOnSelect 對空間網格產生脈衝效果。 屬性 Auto Pulse 也可以在重複動畫的材質本身中設定為 true。 在範例場景中,此腳本會附加至 PulseShaderSpatialMeshParent prefab。 此預製專案是在 [空間感知設定檔] 底下透過執行時間空間網格預製物件屬性來參考。 在執行時間期間,PulseShaderSpatialMeshParent 預製專案已具現化,且只會在裝置上將它新增至空間網格階層 (,因此無法在編輯器) 中觀察到此行為。

手部網格範例 - PulseShaderHandMeshExample.unity

此範例場景示範使用脈衝著色器的手部網格視覺效果。 當 HoloLens 裝置偵測到手部時,會觸發一次脈衝動畫。 此視覺化回饋可以增加使用者的互動信賴度。

PulseShaderHandMeshHandler.cs 腳本會在指派的材質上產生脈衝效果。 根據預設,會檢查 「手上偵測到的脈衝」。