VRTK_Grab,VR抓取物体的实现

学习了VRTK_Example_5之后当然要自己实现一个抓取物体,记录一下以后当回顾


把台上的球抓着,然后扔到框框里面。很简单。


把原来Example中[ExampleSceneScripts]和[VRTK_SDKManager]做成Prefabs,用的时候直接拖进来,反正也不会变。

手柄上添加的组件


VRTK_InteractGrab

 

这个脚本用来抓取物体, 抓的按键在VRTK_ControllerEvent 脚本中设置

controllerAttachPoint:   被抓的物体,被附加在哪个物体上 默认是手柄的圆环处

HideController On Grab  抓住物体时,隐藏手柄

Hide Controller Delay   延迟几秒后隐藏手柄

Grab Precognition   提前预判抓取物体   对应快速运动的物体,我们可能需要提早按下抓取按键才能抓住物体, 数值是提前的时间值,值越大, 可提前的抓取时间越长

 

Throw Multiplier: 把物体扔出去时,速度的倍增值

Create Rigid Body When Not Touch :  在碰到物体时才创建RigidBody    默认情况下手柄也创建Rigidbody,这就可以和物体在物理上

碰撞.

 

VRTK_InteractTouch

和物体接触

 

Hide Controller On Touch  接触物体时隐藏物体

Hide Controller Delay :  接触物体后延迟几秒后隐藏物体

 

Global Touch HighLight Color 如果被接触的物体上未设置接触高亮颜色,则用此颜色来对改变目标的颜色

 

Custom RigidBody Object 自定义用于判定接触的刚体物体, 如果没有的话,会自动在子层级创建一个刚体物体

交互物体上应该添加的脚本



VRTK_InteractableObject  需要有rigidbody组件和collider组件

 

1 Touch options   接触

HighLight OnTouch 接触时高亮显示物体颜色

Touch HightLight Color 高亮的颜色

Rumble On Touch 接触时的反馈震动   强度和时间

Allow Touch Controller   规定哪个手柄可以接触这个物体

Hide Controller On Touch  覆盖是否隐藏手柄的设置   default是根据手柄的设置

 

 

2 Grab Options   抓取

IsGrabbable  是否可以被抓取

Is droppable 松开时是否掉落

Is swappable 是否可替换  如果不行 则必须先把物体丢掉

Hold Button To Grab 按住才能保证物体不掉落

 

Grab Override Button 覆盖手柄的抓取按键设置

Rumble On Touch 接触时震动 同上

Allowed Grab Controllers规定哪个手柄可以接触这个物体

 

Precision Grab 精准抓取   如果是,则抓取的位置是刚接触到物体的点,而不是默认的物体中心位置

Right Left Snap Handle 被抓物体的抓取点, 该游戏物体应该放在被抓物的子层级下

 

StayGrabbed On Teleport 传送后仍然抓住物体 否则物体丢掉

 GrabAttach Mechanic  被抓物体的依附机制  Fixed_joint  链接到fixed Joint ,这是比较常用的物理上的固定位置链接 

Spring_joint Fixed Joint类似 但是有点手臂关节,可以拉伸弯曲伸直,   track Object  不靠joint 链接 而是让被抓物跟随手柄的位置方向

,  rotator _Track 比较适合门,车驾驶把手这种 有固定转轴的物体,它只能在受转轴的约束下,根据手柄的抓取位置来调整旋转, child of controller 作为手柄的子物体, climbable  固定不动的交互物体

 

 

3 Use options   使用

Use only if Grabbed  只有在被抓取时才可以被使用

Hold Button to Use 长按手柄按键才可以使用

Use Override Button 自定义操作按键

Pointer activates Use Action  如果打钩  当手柄发射的激光落在交互物体上,于此同时如果Holon to use没有打钩,则使用该物体,  Holon to use打钩了,则要按住使用按键才可以使用该物体


该脚本可以 为交互物体增加一个外轮廓颜色


The Fixed Joint Grab Attach script is used to create a simple Fixed Joint connection between the object and the grabbing object.

The Swap Controller Grab Action provides a mechanism to allow grabbed objects to be swapped between controllers




  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值