![](/img/trans.png)
[英]How to get the Eye tracking data for HoloLens 2 and MRTK in Unity?
[英]How to mimic HoloLens 2 hand tracking wIth Windows Mixed Reality controllers [MRTK2]?
HoloLens 2將具有手部跟蹤功能,並能夠伸出並戳出 UI元素。 使用Unity和Mixed Reality Toolkit V2,手動跟蹤的近距離交互(即戳戳)的輸入來自PokePointer類,並為具有BaseNearInteractionTouchable組件的GameObjects生成事件。
我的問題是如何從虛擬現實控制器(例如Windows Mixed Reality控制器)中獲取相同的PokePointer事件? 這樣就可以使用VR頭戴式耳機在桌面上進行原型制作,甚至可以直接在VR應用程序中使用Mixed Reality Toolkit的幾乎相同的交互方式。
可以將PokePointer組件附加到作為控制器模型的手動GameObject上嗎? 還是有更好的方法通過MRTK配置文件系統來做到這一點?
實際上,可以向VR設備添加戳指針和抓取指針。 實際上,無需編寫任何代碼就可以完成不可視化的基本功能!
在指針選項下,為PokePointer和Grab Pointer設置控制器類型以包括您的VR控制器類型(在我的情況下是Windows Mixed Reality,盡管您可能希望使用OpenVR)
戳指針被配置為遵循食指姿勢,而VR則不存在。 因此,您需要打開PokePointer.prefab
文件,然后在檢查器中的“ Poke PokePointer.prefab
> Pose Action”下,將值設置為“ Pointer Pose”。
通過使用自定義指針而不是默認指針,可以大大改善您擁有的指針。 例如,您可以:
raycastorigin
字段設置為自定義變換,使戳指針與Gizmo原點偏移 我創建了一個示例,演示了一個自定義抓斗和p指針,該指針可視化了抓斗和p的位置,並偏移了the的位置,以更加方便。 您可以在此處下載示例的unitypackage ,或僅克隆mrtktips存儲庫並查看VRGrabPokePointers場景。
注意:要使視覺效果真正顯示出來,請使用以下腳本(指針當前在啟動時禁用所有渲染器以避免閃爍)。
using UnityEngine;
public class EnableRenderers : MonoBehaviour
{
void Start()
{
foreach (var renderer in GetComponentsInChildren<Renderer>())
{
renderer.enabled = true;
}
}
}
您可以在此處的示例中以及VRGrabPokePointersUnity場景中看到自定義MRTK和指針配置文件的示例
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.