MRTK Unity 获取 WMR 控制器位置和旋转



我想了解如何在 Unity 上使用 MRTK 获取 WMR 控制器位置和旋转。

场景:对象由其中一个控制器(左/右(拾取,对象将跟随控制器的位置和旋转。

当前状态

我可以触发抓取/拾取事件并验证惯用手 (R/L(。这是我的基本代码示例:

public class WeaponControl : MonoBehaviour, IMixedRealityInputHandler
{
    private Handedness pickedHand;
    private bool isPickedUp = false;
    public void OnInputDown(InputEventData eventData)
    {
        if(eventData.InputSource.SourceType == InputSourceType.Controller && isPickedUp == false)
        {
            Debug.Log("Left Hand");
            isPickedUp = true;
            pickedHand = eventData.Handedness;
        }
    }
    public void OnInputUp(InputEventData eventData)
    {
        //throw new System.NotImplementedException();
    }
    /// Method on tracking controller below
    ///
}

目标

跟踪所选控制器的位置和旋转

根据您的描述,我建议使用 MRTKv2 提供的求解器来实现对象跟随控制器,而不是手动获取控制器的位置和旋转。在求解器系统中,可以在求解器处理程序组件中设置引用对象,并根据不同的需求选择不同的求解器。更多信息请参阅:https://microsoft.github.io/MixedRealityToolkit-Unity/Documentation/README_Solver.html

最新更新