【问题标题】:How can I change hand-rays in my MRTK v2 project for HoloLens 2 to parabolic instead of linear?如何将 HoloLens 2 的 MRTK v2 项目中的手部光线更改为抛物线而不是线性?
【发布时间】:2019-05-23 06:53:44
【问题描述】:

我的 HoloLens 2 项目的内容是这样安排的,我无法使用现有的手部射线来瞄准对撞机。我过去常常用头部凝视来定位我的内容,但由于手部光线在身体上的位置较低,因此更难以到达我想要选择的内容。我相信我会从抛物线选择射线中受益,类似于在混合现实中传送以到达参与者上方的表面时使用的那些。

与我的内容交互的主要方法是通过抛物线。在我的应用程序中的某些情况下,我可能会更改模式以从近处或远处关注菜单系统,而当我远离时,我想更改为线性光线。所以,最好有这种能力来改变通过代码暴露的光线类型。

我的项目正在使用 MRTK v2,并且标准的线性手部光线正在运行。

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

【问题讨论】:

  • Unity 没有内置抛物线光线投射,因此您可能必须自己编程。
  • VR 传送有时是抛物线的,你可能不得不借鉴它并创建自己的。

标签: unity3d hololens mrtk


【解决方案1】:

您可以修改DefaultControllerPointer 预制件以使用物理抛物线数据提供程序而不是贝塞尔线数据提供程序。这会使指针使用的线变得更加抛物线。

之前:

之后:

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

您还需要将指针的线投射分辨率从 2 增加到更大的值,这意味着用于查询您所击中的光线将具有更高的分辨率:

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

抛物线指针演示:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多