Получение координаты столкновения для указателя взгляда в MRTK2 - PullRequest
1 голос
/ 05 июня 2019

Мне нужно получить координаты столкновения между указателем взгляда и объектами в Hololens, когда объект «щелкают».

Все примеры используют MRTK1, как вы делаете это в MRTK2?Я знаю, что вам нужно использовать курсор, но как вы его получите? Он появляется только тогда, когда я действительно запускаю код.

Это то, что у меня есть:

using Microsoft.MixedReality.Toolkit.Input;


public class MoveTo : BaseInputHandler, IMixedRealityInputHandler
{
    public GameObject Sphere;
    public GameObject Cursor;

    public void OnInputUp(InputEventData eventData)
    {
        GetComponent<MeshRenderer>().material.color = Color.red;
    }

    public void OnInputDown(InputEventData eventData)
    {
        Vector3 gazePos = Cursor.transform.position;
        Sphere.transform.position = gazePos;
        GetComponent<MeshRenderer>().material.color = Color.green;
    }
}

1 Ответ

1 голос
/ 05 июня 2019

Разобрался. Вместо этого мне пришлось использовать обработчик указателя. Этот код работает:

public class MoveTo : BaseInputHandler, IMixedRealityPointerHandler
{
    public GameObject Sphere;

    public void OnPointerDown(MixedRealityPointerEventData eventData)
    {
        GetComponent<MeshRenderer>().material.color = Color.green;
    }

    public void OnPointerDragged(MixedRealityPointerEventData eventData)
    {
    }

    public void OnPointerUp(MixedRealityPointerEventData eventData)
    {
        Vector3 gazePos = Sphere.transform.position;
        Sphere.transform.position = eventData.Pointer.Result.Details.Point;
        GetComponent<MeshRenderer>().material.color = Color.red;
    }

    public void OnPointerClicked(MixedRealityPointerEventData eventData)
    {
    }
}
...