如何在MRTK v2项目中将HoloLens 2的手射线更改为抛物线形而不是线性形?

时间:2019-05-21 18:01:34

标签: unity3d hololens mrtk

我的HoloLens 2项目的内容安排得当,因此我无法使用现有的手射线瞄准碰撞器。我过去常常以目光瞄准目标内容,但是由于手光线在身体上的位置较低,因此很难找到想要选择的内容。我相信我将受益于抛物线选择射线,类似于在“混合现实”中进行传送以到达参与者上方的曲面时所使用的那些射线。

与我的内容进行交互的主要方法是通过抛物线射线。在我的应用程序中有一些实例,我可能会更改模式以从近距离或远距离聚焦于菜单系统,而在远距离时,我想更改为线性射线。因此,具有这种通过代码更改曝光的光线类型的功能将是首选。

我的项目正在使用MRTK v2,并且标准的线性手动射线正在起作用。

我希望能够更改Unity检查器中使用的射线类型,并能够在运行时通过代码更改样式。我想控制射线的弧度,因为内容的规模可能会影响对不同弧度和最小/最大距离的需求。

1 个答案:

答案 0 :(得分:1)

您可以修改DefaultControllerPointer预制件,以使用物理抛物线数据提供程序代替贝塞尔曲线数据提供程序。这会使指针所使用的行变形得更抛物线。

之前:

enter image description here

之后:

enter image description here

请注意,我删除了粉红色组件,并添加了绿色组件。

您还将希望将指针的线条投射分辨率从2增加到更大的值,这意味着用于查询所命中的光线的分辨率将更高:

enter image description here

您可能想提高MR Line Renderer本身的分辨率。

抛物线形指针的演示

enter image description here