前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HTC VIVE☀️八、使用VRTK实现与物体的交互

HTC VIVE☀️八、使用VRTK实现与物体的交互

作者头像
星河造梦坊官方
发布2024-08-14 17:17:19
760
发布2024-08-14 17:17:19
举报
文章被收录于专栏:星河造梦坊专栏

🟥 要点

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组件

5️⃣ 给手柄添加VRTK_Interact Use

该脚本实现了选中的效果

以上效果展示:

6️⃣ 当抓起剑时,让手柄消失

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

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

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

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

7️⃣ 给手柄添加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。

大家还有什么问题,欢迎在下方留言!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🟥 要点
    • 🚩 VRTK实现与物体的交互方法
    • 🟧 方法一:挂载脚本
      • 🚩 本章目标
        • 🚩 实现步骤
          • 1️⃣ 导入资源包
          • 2️⃣ 给物体添加VRTK_Interactable Object
          • 3️⃣ 给物体添加碰撞体
          • 4️⃣ 给手柄挂载VRTK_Interact Grab
          • 5️⃣ 给手柄添加VRTK_Interact Use
          • 6️⃣ 当抓起剑时,让手柄消失
          • 7️⃣ 给手柄添加VRTK_Interact Haptics,实现对手柄的反馈
      • 🟨 方法二:UI配置窗口
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档