如何使用Hololens获取Unity中rawImage的点击坐标?

时间:2019-02-14 13:31:44

标签: unity3d augmented-reality hololens mrtk

所以现在我有了这个层次结构: 立方体画布 RawImage

我想获取单击原始图像的坐标,但我不知道现在从哪里开始。

  1. 在HoloToolkit中是一个GazeManager,在其中执行光线投射,并具有属性HitPosition。因此,通过使用 GazeManager.Instance.HitPosition ,我应该获得世界上的点击位置。但是,如何从此到达画布上的坐标?
  2. 如果我使用 IInputClickHandler ,则可以触发 OnInputClicked(InputClickedEventData eventData)。但是从eventData中,我不会获得有关点击的信息。
  3. 我找到了this,但无法将其转移到我的需求中。因为他的eventData有更多选择。
  4. 我想从原始图像,画布或立方体中获得点击不会有什么区别,因为它们的大小都相同。

1 个答案:

答案 0 :(得分:2)

也许您需要的是改变方法,我可以看到一些解决方案。

  1. CanvasOverlay更改为World Space,然后单击Raycast以获得正常位置,而不是Canvas位置。

  2. 如果您在Canvas中有Overlay,我认为Input.mousePositionRectTransform.position成正比,那么您的位置就可以了。

    < / li>

对于两者,您都可以使用IPointerClickHandler来检测对任何UI元素的点击。