HTC VIVE丨10. 使用VRTK实现与物体的交互

要点

1、可实现的效果:攀爬、双手持握、缩放物体等

2、VRTK中与物体交互的三种类型:Touch、Grab、Use

Touch:手柄悬停在物体上面,跟物体进行碰撞或接触

Grab:按动某一定义的按键,抓取物体

Use:通过一个事件自定义一个操作

VRTK实现与物体的交互方法

一是手动挂载相应脚本,实现物体交互

二是通过VRTK的UI配置窗口,通过在配置窗口点选想要的操作,即可配制出想要的操作

方法一:挂载脚本

本章目标

实现抓取剑

实现步骤

1、导入资源包

导入含有剑的资源包,并将剑放到合适位置

2、给物体添加VRTK_Interactable Object

为要交互的物体添加VRTK_Interactable Object组件,挂载该组件,证明该物体是可以交互的

Disable When Idle:勾选,当它在闲置时,就将该组件关闭,以节约资源

Is Grabbable / Usable:勾选后,该选项下的组件才可使用

Touch Highlight Color:悬停时高亮的颜色

Allowed Touch Controllers:响应哪个手柄的交互。Both / Left_Only / Right_Only

Hold Button To Grab:勾选意味着只有按住某个键,才可实现抓取,当松开时,物体将掉下来;取消勾选时,则是按一下,实现抓取,再按一下,取消抓取

Stay Grabbed On Teleport:勾选,则传送时,仍可抓取着物体;取消勾选,物体将在传送时掉下来

Valid Drop:在什么情况下(取决于Hold Button To Grab),当按下手柄上的Grap键时,物体可以被释放   

    No_Drop:当我们松开或按下抓取键时,不释放

    Drop_Anywhere:释放在任何地方,类似于扔出的效果

    Drop_Valid Snap Drop Zone:将物体释放在Snap Drop区域中,类似于InteractionSystem中的ItemPackage机制,当我们松开抓取按键时,将会把物体放在我们指定的一个区域,如果重合,则该物体会被吸附在该区域

Grab Attach Mechanic Scrip:抓取吸附机制的脚本,类似于上节的Policy List,该脚本不仅实现将被抓取物体成为子物体效果,也可实现其他抓取效果,在VRTK—Scripts—Interactions—GrabAttachMechanics里有相应脚本

Secondary Grab Action Script:二级抓取的控制脚本,该脚本可实现另一只手参与进来的效果,如双手持握,缩放

3、给物体添加碰撞体

给物体添加碰撞体,规定一个碰撞的区域

4、给手柄挂载VRTK_Interact Grab

挂载该组件后,并自动挂载了VRTK_Interact Touch、、VRTK_ControllerEvents,并且VRTK_Interact Touch源代码自动添加了VRTK_ControllerActions组件

4、给手柄添加VRTK_Interact Use

该脚本实现了选中的效果

以上效果展示:

5、当抓起剑时,让手柄消失

a、选中剑物体,添加VRTK_Interaction Controller Appearance脚本组件

该组件控制在VRTK的三种交互形式中,控制器的显示和消失

b、勾选在某种状态下,Hide Controller On...,即可实现控制器的显示和消失

Hide Delay On Use:控制器隐藏的延迟时间

6、给手柄添加VRTK_Interact Haptics,实现对手柄的反馈

haptics:触感

Strength On ..:力度 0-1

Duration On ..:持续时间

Interval On ..:间隔时间 / 频率

方法二:UI配置窗口

选中物体,Windows—VRTK—Setup Interactable Object,此时该选项卡无法拖动往下看,将该选项卡拖至Scene层,作为标签页,即可查看全部内容

Child Of Controller:把它作为控制器的子物体

Climbable:作为可攀登的物体

Custom Joint:作为节点的配置

Control Direction:关于方向的控制

Axis Scale:在某个轴向上的缩放

Setup selected object:点击后,自动将配置的脚本添加到物体上去,实现类似第一种方法的展示效果

Enjoy。

猜你喜欢

转载自blog.csdn.net/weixin_38239050/article/details/81369395
今日推荐