我当前的问题是光标看起来离按钮太远。您可以在屏幕截图中看到我的意思。将鼠标悬停在列表中的按钮上看起来像这样:
问题:该怎么办,因为在HoloLens上您可以看到距离,所以光标靠近按钮了吗?
-编辑-
我应该提到的是,场景中有一个缩放的多维数据集(屏幕截图中的灰色物体),并且在该场景的前面有一个世界画布(白色物体),其中包含滚动视图/列表。
答案 0 :(得分:2)
我看到了UI元素的相同行为。
我只能为您提供一种解决方法。有点hacky,但可以:
遍历所有 UI元素,尤其是Text
和Image
并禁用选项RayCast Target
。
这使光标位于它们的顶部。但是,您会注意到Button
现在没有响应,您无法再与它们进行交互。
之所以会这样,是因为Physics系统需要RayCastTarget或Collider
才能触发其指针事件,例如PointerEnter
,PointerDown
等。
因此现在在您的BoxCollider
中添加一个BoxCollider2D
(不是 Button
!)并将其缩放为正确的大小。好像您使用的是VerticalLayoutGroup
,因此您可以通过将BoxCollider
设置为居中一次来简单地纠正RectTransform
的位置(无论如何,VerticalLayoutgroup
都会强制执行左上锚)。在我的情况下,BoxCollider
需要0.8
,高度为0.1
...,对于z
,我选择0.01
,但是如果您愿意,它可以更小< / p>
万岁,现在按钮又可以重新交互了,并且光标只有通常的距离+ z
的{{1}}厚度的一半。
由于Background多维数据集拥有自己的BoxColliders
,因此我们无需为BoxCollider
和UI面板进一步添加Colliders
。
如果需要滚动条,可能还需要添加一些内容!
如上所述,这更像是一种快速的解决方法,可能不是最终的解决方案,因为无论何时更改ScrollView
或Button
的大小,您都必须重新处理那些经过硬编码的ScrollRect
维数也是如此...
答案 1 :(得分:0)
我对3D对象也有类似的问题。这可能是因为对象碰撞器定义。我的意思是,您可以导入渲染网格物体,但是网格物体碰撞器可能会有所不同(更大,更小...)
我希望这可以解决您的问题;)