- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1、UnitySteam_VR开发工具插件VRTK自带案例分析(第一部分)要点
1、 HYPERLINK /zerotoinfinity/p/6474840.html Unity Steam_VR 开发工具插件 VRTK自带案例分析(第一部分)
VRTK这个工具包提供了很多在Unity3d做VR开发中通用的VR功能,主要包括
1)具有别名的控制器按钮事件
2)控制世界指针(激光指针)
3)玩家瞬间转移
4)使用控制器抓起/握住物体
5)使用控制器与物体交互
6)把游戏物体变成交互式的UI元素
这个工具集主要分成三个部分:
1)Prefabs - VRTK/Prefabs/
2)Scripts - VRTK/Scripts/
3)Examples - VRTK/Examples/
DEMO 1 ?查询硬件手柄头显
在VRTK插件的第一个demo 001_CameraRIg_VR_PlayArea 案例。这个demo 显示的功能: ?按下任一手柄上的按键,便载入下一个场景。找到demo场景中##Scene Changer## 游戏物体,打开附加的scene changer脚本,里面有两个核心的类,以及几个重要的API。
VRTK_DeviceFinder类:用于在场景中寻找左右手柄、头显、返回硬件编号
或手柄,头显的gameobject。
? ? ?
重要的API:??
获得左右手柄的游戏物体
VRTK_DeviceFinder.GetControllerRightHand();?
VRTK_DeviceFinder.GetControllerLiftHand();
获得左右手柄对应的硬件编号
VRTK_DeviceFinder.GetControllerIndex(rightHand)
按下手柄任一按键或键盘上的空格键,加载下一个场景。ForwardPressed 用于侦测手柄的按键是否按下。
上图中引入第二个重要的类:VRTK_SDK_Bridge,这是插件封装了?SteamVR 的比较底层的API:VRTK_SDK_Bridge.IsTriggerPressedOnIndex(controllerIndex) 。输入硬件的编号,返回是否按下的布尔值。
?
DEMO 2手柄的输入事件002_Controller_Events
封装成VRTK_Controller Event脚本。
针对VR中常见的交互动作:?UI点击,抓住物体,触发物体功能等,自定义手柄按键,绑定这些动作。
旧版
新版
pointerToggleButton:激光的显示开关,激光在VR里相当于鼠标箭头的指向功能。
pointerSetButton:激光停留的指向目标,触发目标的功能,相当于鼠标点击。
grabToggleButton:抓住物体动作,配合使用 VRTK 插件集成的抓取,投掷功能。
useToggleButton:触发目标事件,比如把手柄放在门把手上,按下这个按键,触发门打开的功能;手柄放在电灯开关上,按下按键,触发电灯开发的功能。这个和pointerSetButton区别在于后者需要激光落在目标上,才能触发目标上的功能。
uiClickButton:触发UI Canvas 目标的事件。
menuToggleButton:游戏目录显示开关。
axisFidelity:按键按下的强度,完全按下是1,松开时是0。现在只有Trigger按键(手部后面扳机)有此属性。
triggerClickThreShold:扳机要到多大程度,才能使用扳机的触发功能。如果是0.5,则表示只要按下一半的程度就可以触发,如果是1,则必须完全按下才能触发。
?
以上是设置各个按键在插件中交互的功能。
如果要获得每个按键具体的使用情况,如按下、松开按键、手触摸板的按键位置、扳机的按下强度等,则需要在 VRTK_ControllerEvent 注册对应按键的事件。?
在VRTK_ControllerEvents_ListenerExample脚本中,监听了VRTK_ControllerEvent所有按键的事件,和按键的参数信息。如下图的扳机键的按键事件。?
事件的参数在VRTK_ControllerEvents中是:
手柄的硬件编号、按钮的按下程度值(扳机键专有的属性)、 触摸板的触摸位置和角度(触摸板专有的属性)
?
DEMO 003_Controller_SimplePointer?传送位置
VRTK_Simple Pointer类。该脚本继承自VRTK_WorldPointer
旧版
新版
功能的核心是将玩家的位置传送到激光所指落在的地方,该脚本应默认放在手柄的prefab上。其他的参数设置激活颜色、传送时是否显示玩家活动区域、激光有效触碰的层、激光的粗细等。
?
DEMO 004_CameraRig_BasicTeleport
VR
您可能关注的文档
最近下载
- 郑希付-学校心理健康教育-第九章 学校心理危机干预技术.pptx VIP
- 河北保定雄安新区公开选调工作人员模拟卷(一).docx
- 郑希付-学校心理健康教育-第七章 学校心理健康教育课程设计与实施.pptx VIP
- 郑希付-学校心理健康教育-第三章 学校心理健康教育的课题研究.pptx VIP
- 事业单位考试试题:河北保定雄安新区公开选调工作人员模拟卷(附答案解析).docx
- 郑希付-学校心理健康教育-第六章 学校团体心理辅导.pptx VIP
- 生产厂长KPI考核指标.docx VIP
- 青少年法制教育读本.pdf
- (新)人教高中数学A版必修一第二章第1节《等式性质与不等式性质》优质说课稿.doc
- 催化裂化操作指南(分馏与稳定)ppt课件.pptx
文档评论(0)