VRTK使用心得(一):VRTK简介

本文是我的视频教程《HTC VIVE交互开发实例教程》的节选文字版,更多VRTK实例教程可参见蛮牛教育首页

一、什么是VRTK

VRTK全称是Virtual Reality Toolkit,前身是SteamVR Toolkit,由于后续版本开始支持其他VR平台的SDK,如Oculus、Daydream、GearVR等,故改名为VRTK,它是使用Unity进行VR交互开发的利器,以二八原则来看,开发者可以使用20%的时间完成80%的VR交互开发内容。这一点从这个工具的Github简介上就能印证:

A productive VR Toolkit for rapidly building VR solutions in Unity3d.

下图是VRTK的作者在Twitter上分享的一张图片,我在这里中将它做了翻译。作者使用了黄金思考圈的方式告诉大家:为什么开发VRTK,采用什么方式,以及VRTK是什么。

二、VRTK能做什么

VRTK能实现VR开发中大部分交互效果,开发者只需要挂载几个脚本,然后设置相关的属性,就能实现我们想要的功能,下面列出我总结的一部分能实现的VR功能:

  • 支持SteamVR、Oculus、Daydream等SDK
  • VR模拟器,不需要VR硬件即可调试
  • 基于头盔和手柄的激光指针
  • 基于头盔和手柄的曲线指针
  • 游玩区域光标
  • 指针交互
  • 可以为物体设置拖放区域
  • 多种移动方式:瞬移、Dash Movement、Touchpad Movement、Move in place/Run in place Movement
  • 攀登
  • 物体交互:Touching、Grabbing 、Using
  • 双手联动操作物体:缩放、冲锋枪等需要双手持握的物体
  • 物体高亮
  • 手柄震动反馈
  • 手柄效果: 高亮, 透明, 隐藏
  • 预制常见物体的交互方式:按钮、杠杆、 门、抽屉、 滑动条、把手
  • 面板菜单、环形菜单
  • 使用指针与UGUI进行交互
  • 对UI元素进行拖拽
  • ...
    VRTK通过事件驱动进行相应的交互开发,对于手柄发送的各种事件,使用VRTK_Controller_Event脚本,这是在配置过程中首先要挂载到手柄控制器上的脚本。另外,对于其它的交互事件,也会提供相应的unity事件处理,比如VRTK_BasicTeleport_UnityEvents(瞬移事件处理)、VRTK_InteractGrab_UnityEvents(抓取事件处理)、VRTK_InteractTouch_UnityEvents(触摸事件处理),对于各事件发生的不同阶段,都会有对应的处理接口,类似于uGUI中Button的OnClick事件处理形式。当然,你也可以通过代码进行手动添加事件处理函数。

三、为什么选择VRTK?

1. 免费开源
由于VRTK的开源性质,一方面,开发者可以深入到代码中去,查看它如何与原生SDK进行交互,是一个很好的学习工具;另一方面,开发者可以根据自己的项目需求,修改其中的代码,快速开发符合自己需要的功能。
VRTK源代码托管于Github,在Unity Asset Store上以插件包的形式提供免费下载,对应地址分别为:

Github:https://github.com/thestonefox/VRTK
Asset Store:https://www.assetstore.unity3d.com/en/#!/content/64131

使用两种版本的优缺点:
Github版:优点是能够比较早的接触到新版本的新功能;缺点是,新功能由于缺少足够的测试,会存在不稳定的问题。
Asset Store版:优点是稳定,经过了足够的测试才会上架;缺点是由于商店审核周期的原因,版本更新会有一定的滞后性,多数情况下是有了大版本更新以后才会考虑上架。

2. 丰富的文档支持
相对于SteamVR少得可怜的说明文档,VRTK的文档多达二百多页,细化到每个函数和参数的作用及使用方法。并且,在挂载了脚本的属性面板中,鼠标悬停即可显示当前属性的说明,通过这些文档的支持,使得开发者能够在开发过程中比较顺利地使用这个工具集合提供的各项功能。

挂载了VRTK脚本的属性面板.png
源代码注释

3. 40+个示例场景
作者在文件包中提供了40多个示例场景,针对不同的功能分别作为展示,保证开发者在极短时间内上手使用这套工具集。其中比较基础的场景有:

  • 001_CameraRig_VR_PlayArea:关于如何配置VRTK,如果对于刚上手还不知道如何开始的朋友,可以参考这个场景,这是最基础且必要的一步。(注:由于VRTK在每个比较大的版本升级以后,配置过程相较之前的版本会有比较明显的改变,所以建议大家在升级以后参考一下每个版本下的这个场景)
  • 003_Controller_SimplePointer: 如何设置手柄发送射线功能
  • 004_CameraRig_BasicTeleport: 关于瞬移的基本配置
  • 034_Controls_InteractingWithUnityUI:关于VRTK如何与UGUI进行交互。
    其它场景同样比较有用,限于篇幅,不再一一介绍,大家可以根据自己的需求进行相应的查看,场景名称通过字面意思也会知其一二。
    VRTK示例场景

4.活跃的社区
截止此文时间,VRTK在Github上的Star(类似于赞)数为1772个,最近的更新是在两天前,保持了一个非常活跃的状态。同时还有Slack小组方便开发者进行交流,社交媒体的支持也是该有的都有。

VRTK在Github上

5.VRTK油管频道支持
作者会不定期更新自己的youtube频道,解答在社区中提出的问题,以LiveStream的形式。同时也会分享一些VRTK的小技巧,比如怎样和NewtonVR集成,怎样将Survival Shooter这种PC端的项目移植为以VRTK为交互的VR平台,等等。在我们的《VR共同成长群》里我也搬运了一些作者分享的视频。

总之,VRTK为了让开发者快速顺利地上手使用这套工具集,在各个方面都做得非常友好。我也将会在接下来的文章中分享使用VRTK过程中的一些心得体会,希望对你有所帮助。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,185评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,445评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,684评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,564评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,681评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,874评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,025评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,761评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,217评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,545评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,694评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,351评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,988评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,778评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,007评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,427评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,580评论 2 349

推荐阅读更多精彩内容