【问题标题】:MRTK Unity getting WMR Controller position and rotationMRTK Unity 获取 WMR 控制器位置和旋转
【发布时间】:2019-07-15 14:54:34
【问题描述】:

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

}

目标

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

【问题讨论】:

    标签: unity3d mrtk windows-mixed-reality


    【解决方案1】:

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

    【讨论】:

    • 除了使用求解器来获取控制器的位置和旋转之外,还有其他选择吗(并且不推荐使用)?
    • 这不是一个好的答案。我在 MS 工作,我对 MRTK 非常熟悉,能够获得控制器的位置应该非常简单,不需要 MRTK 或任何其他重量级的安全带。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多