AR/VR/MRVR相关

VR开发-VRTK(3.1.0)插件使用教程更新

2017-04-28  本文已影响1682人  元宇宙协会

最近插件更新了,很多以前的组件功能被修改了。表示蛋疼。。。
再说一次不要使用最新的Unity版本,尤其5.6,手柄渲染不出来
#Unity 5.5.1,目前官方最新是5.6.0
#SteamVR Plugin 1.2.1(目前是最新),
#VRTK 3.1.0(目前是最新)

1、VRTK插件控制管理器: VRTK_SDK Manager
手柄关系

如果是Steam VR平台就选此项

Paste_Image.png

2、帧率显示:VRTK_FramesPerSecondViewer

一个预制体画布,用来显示帧率问题。


Paste_Image.png 如何使用如图

效果图

这就是帧率效果 参数列表

3、移动功能

3-0:圆盘移动:VRTK_Touchpadmovement
此控件是可以进行圆盘移动的,同时会自动添加:
身体碰撞检测:VRTK_BodyPhysics(基于物理),里面的第一句话,Ps:翻译后:创建一个刚体和碰撞器在用户站允许物理相互作用和防止穿过墙。

看学好一个东西多刻苦

3-1:圆盘行走:VRTK_TouchpadWalking
VRTK新插件版本,如果使用圆盘行走只需要将此脚本添加到相关的手柄对象上


就可以很完美的行走了

但是现在远远不够,因为插件提示你需要使用新的脚本控制器了,这个脚本将在新版本删除,而且提示你要添加圆盘控制器:VRTK_TouchPadControl

3-2:圆盘控制器:VRTK_TouchPadControl
但是如果只加这个,充其量也就是控制圆盘而已,并不能办到移动
因为需要添加下面的

Paste_Image.png

3-3 : 控制器事件:VRTK_Controller Event

Paste_Image.png

那么问题来了,我们向哪里移动?

3-4:滑动控制代理: VRTK_SlideObjectControlAction
这个就是解决我们使用圆盘的滑块向哪个轴移动

因为这个默认X轴移动,所以我们还需要添加同样的脚本,利用Y轴移动

4、瞬移功能

在玩过上面的内容后,我们发现其实在VR中使用平移有点晕。所以瞬移是不二之选。
瞬移功能分两种,一种是直线瞬移,一种是曲线瞬移 之前的瞬移功能如何使用?

4-1:直线瞬移

旧版的API
简单激光指针:VRTK_SimplePointer
手柄控制器事件:VRTK_ControllerEvents

Paste_Image.png

新版的API
这里分版本,因为SDK与Unity版本并不一致,这里公布我使用版本
#Unity 5.5.1,
#SteamVR Plugin 1.2.1(目前是最新),
#VRTK 3.1.0(目前是最新)

image.png
image.png
这里只需要添加:
VRTK_Pointer:从一个游戏对象上发出一个指针(如手柄控制器)
VRTK_StraightPointerRenderer:模拟激光束,指针渲染器发出彩色光束到连接的对象
VRTK_Controller Event:控制器事件主要调用底层按键使用
这个脚本一般单独挂载,如图所示。
VRTK_BasicTeleport :基本传送更新用户的X、Z在游戏世界中的位置的位置基类指针的尖端的位置,这是通过设置destinationmarkerset事件。
image.png image.png
4-2:曲线瞬移

旧版的API
贝塞尔曲线激光指针:VRTK_BezierPointer:
手柄控制器事件:VRTK_ControllerEvents
将上述脚本挂载在我们手柄的控制器上就可以

曲线的
问题是,只有第一次定位的时候,才可以瞬移,后面需要重新按,才可以选择圆盘
新版的API
这里分版本,因为SDK与Unity版本并不一致,这里公布我使用版本
#Unity 5.5.1,
#SteamVR Plugin 1.2.1(目前是最新),
#VRTK 3.1.0(目前是最新)
实现曲线瞬移需要添加:
VRTK_Pointer:从一个游戏对象上发出一个指针(如手柄控制器)
VRTK_BezierPointerRenderer : 贝塞尔指针渲染器发出一个弯曲的线
VRTK_Controller Event:控制器事件主要调用底层按键API
在我们添加完上面的组件后,我们还需要添加下面的组件,主要作用是用来传送到指针选取的位置点,不管是基础传送还是曲线传送都需要这个脚本。
VRTK_BasicTeleport:基本传送更新用户的X、Z在游戏世界中的位置的位置基类指针的尖端的位置,这是通过设置destinationmarkerset事件。

5、抓取功能

VRTK_InteractableObject : 让游戏对象可以被交互
如果你想要交互某个游戏对象,那么你就必须将这个控件添加到游戏对象身上。其次要出发的那个物体必须具有碰撞器

Paste_Image.png Paste_Image.png

如何使用VRTK的抓取功能呢

物体的脚本

6、游玩区域

房间区域设定:VRTK_RoomExtender可以点击查看我之前的案例介绍
允许游玩区跟随玩家移动,CameraRig 只在达到定义的圈的边缘才会移动

7、其他脚本

VRTK_SnapRotateObjectControlAction :快速旋转物体控制动作脚本用于快速旋转的控制对象在向量改变轴时

VRTK_WarpObjectControlAction:经物体控制动作脚本用于经纱控制对象给定距离的改变轴时

VRTK_RotateObjectControlAction:旋转物体控制动作脚本用于旋转控制对象在向量改变轴时

VRTK_TransformFollow : 更改一个游戏对象的转换以遵循另一个游戏对象的转换

上一篇 下一篇

猜你喜欢

热点阅读