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

How to get coordinates of click on rawImage in Unity using Hololens?

所以现在我有一个层次结构: 立方体CanvasRawImage

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

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

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

  1. 将您的 CanvasOverlay 更改为 World SpaceRaycast 点击以获得正常位置,而不是 Canvas 位置.

  2. 如果你在Overlay中有Canvas,我认为Input.mousePositionRectTransform.position成正比,所以有你的位置。

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