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

时间:2019-07-12 13:28:27

标签: unity3d mrtk windows-mixed-reality

我想知道如何在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
    ///

}

目标

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

1 个答案:

答案 0 :(得分:1)

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