VR开发中常见的交互方式就是直接接触物体,物体高亮,然后拿起并使用。

在VRTK中实现起来都是很简单的,参考示例有很多个,简单点的:008_Controller_UsingAGrabbedObject

如果可交互物品不需要使用,只要给物体加个Collider和Rigidbody,然后添加VRTK_InteractableObject脚本并进行相应的设置就行了。

VRTK学习记录2——拿起和使用物品

从上到下依次是接触,拿起,使用。

接触可以设定高亮颜色和哪只手可以接触。

拿起可设定是否能拿起,是否能拿着移动等。

使用可设定是否能使用,是否拿起后才能使用等。


由于使用的通常是我们自定义的功能,例如发射子弹,打开手电筒等,所以这个脚本就不适用,这时就需要开始自己写脚本了。

VRTK学习记录2——拿起和使用物品

这是最简单的实现,首先需要继承VRTK_InteractableObject,然后覆盖StartUsing方法,在其中加入自己写的逻辑。

当脚本添加在物体上时,所有设定与图1一样。勾选Is Usable和Use Only If Grabbed选项后,当拿起物体后按下扳机键,就会触发FireBullet()方法。

同样的,如果想在接触,或者抓取时执行相应的逻辑,只要覆盖对应的方法就行。

VRTK学习记录2——拿起和使用物品

想进一步了解相关内容,可以参考VRTK示例场景中的各种可交互物体的脚本实现以及对应的设置。

相关文章:

  • 2021-11-21
  • 2022-12-23
  • 2021-05-24
  • 2021-11-22
  • 2021-08-24
  • 2021-08-11
  • 2022-01-10
  • 2021-08-15
猜你喜欢
  • 2021-08-30
  • 2021-09-11
  • 2021-09-01
  • 2021-08-24
  • 2021-05-24
  • 2021-04-11
  • 2021-09-11
相关资源
相似解决方案