新增:VRTK丨双手柄:换手、双手持握、缩放

一、基础配置

基础配置地址

二、VRTK提供的三种双手二级联动操作机制

SwapControllers:一只手拿着当前物体,另一只手进来抓握,实现物体附着到刚参与进来的手上的效果。

ControlDirection:通过两个手,确定物体的朝向,使得物体操作更加自然

AxisScale:通过两个手的距离、方向控制物体的缩放

注意:更换联动机制,不必删掉物体上组件,直接快捷配置,快捷配置会为我们删掉不用的脚本,添加需要的脚本。

1、SwapControllers:换手

a、选中物体,直接默认配置即可。

b、给该物体添加collider,并调成合适大小

c、Enjoy~

2、 ControlDirection:双手持握

类似双手拿枪。注意一下几点:基础配置、旋转点设置

a、双手旋转点设置:

举例,以枪扳机位置为旋转点。

1)、新建空物体,将Icon设为可视化,将其位置放在把手位置。

2)、将枪设为该空物体子物体。

现在当设定的一只手抓住扳机位置后,另一只手也抓住该物体,旋转,该物体就以旋转点进行旋转了。(不设置这样旋转时,则以该物体枪的中心点旋转。后续改变位置不要旋转子物体,旋转父物体整体即可)。

b、配置持握二级联动设置

1)、 选中该空物体,SetupObject——SecondaryGrabAttach——ControlDirection,其他默认配置,最后给该空物体添加合适大小Collider。

2)、抓取点设置。

空物体Gun下新建空物体 Handle (调整到合适姿态),赋值给VRTK_ChildOfControllerGrabAttach属性 RightSnapHandle。

Enjoy~

3、AxisScale:缩放物体该物体在对应轴缩放。

效果:比如右手拿住物体,左手Grab键来回拖动,

1)、 选中该空物体,SetupObject——SecondaryGrabAttach——AxisScale,其他默认配置,最后给该空物体添加合适大小Collider。

2)、属性讲解

UngrabDistance:当控制器超出该物体1m时,该物体脱离控制器

LockXAxis:锁定X轴,X轴不进行缩放

UniformScaling:不管手柄在哪个轴缩放,该物体XYZ轴都会进行等比例缩放。

Enjoy~

 

发布了320 篇原创文章 · 获赞 77 · 访问量 17万+

猜你喜欢

转载自blog.csdn.net/weixin_38239050/article/details/103394232