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

问题描述 投票:0回答:1

所以现在我有了这个层次结构:Cube→Canvas→RawImage

我想获得我在rawimage上点击的坐标,但我不知道现在从哪里开始。

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

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

  1. 将你的CanvasOverlay更改为World SpaceRaycast点击以获得正常位置,而不是Canvas位置。
  2. 如果你在CanvasOverlay,我认为Input.mousePositionRectTransform.position成正比,所以有你的位置。

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

© www.soinside.com 2019 - 2024. All rights reserved.