1

我目前的问题是光标离按钮太远了。您可以在屏幕截图中看到我的意思。将鼠标悬停在列表中的按钮上如下所示:

在此处输入图像描述

问题:我该怎么做才能使光标更靠近按钮,因为在 HoloLens 上您可以看到距离?

查看画布上除按钮之外的其他位置,光标越来越近:

在此处输入图像描述

--编辑--
我应该提到场景有一个缩放的立方体(屏幕截图中的灰色物体),在它前面有一个世界画布(白色物体),其中包含滚动视图/列表。

4

2 回答 2

2

我看到 UI 元素的行为相同。

我只能为您提供解决方法。这有点hacky,但它有效:

  1. 尤其是浏览所有UI 元素TextImage禁用该选项RayCast Target

    在此处输入图像描述

    这使得光标位于它们的正上方……但是您会注意到您Button的 s 现在没有响应,并且您无法再与它们进行交互。

    在此处输入图像描述

    发生这种情况是因为物理系统需要 RayCastTarget 或 aCollider才能触发它的指针事件,例如PointerEnterPointerDown

  2. 因此,现在在您的 s 中添加一个BoxCollider不是 BoxCollider2D!)Button并将其缩放到正确的大小。看起来您正在使用 a ,因此您可以通过将 设置为居中一次VerticalLayoutGroup来简单地纠正 的位置(无论如何都会重新执行左上角锚定)。在我的情况下,需要和高度......以及我选择的,但如果你愿意,它可以更小BoxColliderRectTransformVerticalLayoutgroupBoxCollider0.80.1z0.01

    在此处输入图像描述

万岁,现在按钮又可以交互了,光标只有通常的距离 + 所选厚度的z一半BoxColliders

在此处输入图像描述

由于背景立方体有它自己的BoxCollider,我们不需要进一步添加和 UI 面板。CollidersScrollView

如果需要,您可能还需要为 ScrollBars 添加一些内容!


如前所述,这更像是一种快速解决方法,并且可能不是最终解决方案,因为每当更改ButtonScrollRect更改的大小时,您都必须重新处理那些硬编码的BoxCollider尺寸......

于 2019-06-12T12:09:22.163 回答
0

我在 3D 对象上有类似的问题。这可能是因为对象碰撞定义。我的意思是,您可以导入渲染网格,但网格碰撞器可能不同(更大、更小……)

我希望这能解决你的问题;)

于 2019-06-12T13:49:40.603 回答