【Unity VR开发】结合VRTK4.0:设置抓取时可交互对象的方向

语录:

取酒酿晚风,赠我一场空。


前言:

获取可交互对象的默认方法是将可交互对象的原点与交互器的原点对齐。此机制适用于基本抓取,但有时当您想要抓取某个对象时,您可能希望将可交互对象定向到特定位置并旋转到交互器。

一个很好的例子是,当你拿起一把剑时,你会希望剑可交互自然地将自己定向到抓取控制器交互器,所以感觉就像你实际上拿着一把剑。我们可以通过使用组件上的属性来确定我们的可交互对象如何在抓取上定向来实现这个方向。


正文:

步骤一:

        首先,我们需要创建基本条件:CameraRigs.TrackedAlias(追踪器)、CameraRigs.UnityXR(头显)、Input.UnityInputManager.OpenVR.RightController(右手控制器)、Input.UnityInputManager.OpenVR.LeftController(左手控制器):

步骤二:
       我们需要在CameraRigs.TrackedAlias->Aliases->LeftControllerAlias(RightControllerAlias)下面创建Interactions.Interactor:

步骤三:
       我们需要给 Interactions.Interactor指定对应的Grad Action和Velocity Tracker:

 步骤四:
        我们需要在CameraRigs.TrackedAlias->Aliases->LeftControllerAlias(RightControllerAlias)下面创建Interactions.ActionPublisher:

步骤五:
        我们需要给 Interactions.ActionPublisher指定对应的Source Action和Source Interactor:

 步骤六:
       新建游戏对象:Interactions.Interactable,然后选择Interactions.Interactable -> Mesh Container -> Cube 复制两个,分别更改属性:

 步骤七:

        修改游戏对象Interactions.Interactable的属性:

 点击按钮,找到“OrientationHandles”对象:

步骤八:

       我们希望确保剑始终有向外的护罩指向外部,无论我们用左控制器还是右控制器抓住,因此为此,我们可以为每个控制器设置不同的方向手柄。

所以我们要修改属性, OrientationHandles -> OrientationHandleCollection -> GenericOrientationHandle

步骤九:

       我们希望确保剑始终有向外的护罩指向外部,无论我们用左控制器还是右控制器抓住,因此为此,我们可以为每个控制器设置不同的方向手柄。

       然后我们需要复制一个 GenericOrientationHandle,然后更改属性:

步骤十:

       最后我们要为 OrientationHandles 配置对应的属性:


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值