网站大量收购闲置独家精品文档,联系QQ:2885784924

1、UnitySteam_VR开发工具插件VRTK自带案例分析(第一部分).docx

1、UnitySteam_VR开发工具插件VRTK自带案例分析(第一部分).docx

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档