




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【新提醒】【SteamVR Unity工具包(三):控制器交互】可用脚本参数如下Touch Interactions 触摸交互 Highlight On Touch:如果勾选,这个对象在控制器触摸它 时就会高亮。 Touch Highlight Color :对象被触摸时高亮的 颜色。颜色可以被任何全局的设置颜色来覆写(例如 InteractTouch脚本)。 Rumble On Touch:控制器触碰对象时 触发振动反馈, x 表明时长, y 表明震动强度。 ( x 和 y 将来 会被自定义编辑器代替) 。Grab Interactions 抓握交互 Is Grabbale :决定对象是否能
2、被抓握。 Is Droppable :决定对象在被控制器抓握后能否被放下。如果没有勾选,一旦 用控制器按钮拾起了物品就不能放下了。但是如果抓握的机 制是关节(Fixed_Joint)的话,当对象受力足够大之后关节 断开,物品也就被放下了。所以最好使用控制器子物体的抓 握机制( Child_Of_Controller )来防止这种情况。 Hold Button To Grab:如果勾选,控制器就需要持续按住设置为抓握的按钮来保持抓握状态。如果没有勾选,抓握的按钮切换抓握行为通过按下一次抓取,再按一次释放。 On Grab CollisionDelay :当对象被第一次抓取时延迟碰撞的作用的时间量
3、。这在防止游戏对象被抓取时卡到另外一个物体时很有用。 Grab Snap Type (抓取对齐方式):这个设置了当对象 呗抓取时的对齐方式o Sinmple_Snap 把抓取的对象的中心位置放到控制器的附加点上(默认是控制器的 tip) o Rotation_Snap 调整抓取的对象到一个指定旋转, 由 Vector3 类型的 Snap To Rotation 变量提供。o Precision_Snap 没有把对象的位置对齐到控制器,而是用控制器触摸对象时的 点来拾起对象 (就像真实生活中用手拿起东西一样) 。 o Handle_Snap 允许一个空的 GameObject 作为可交互对象的
4、子物体来用作参考对齐点。抓取时,空 GameObject 的旋转 和位置用来定位抓取的可交互物体到控制器。 Snap To Rotation :表示欧拉角的 Vector3变量,决定在对齐时相对于 控制器的对象的旋转。在拾取枪或剑的时候很有用,对控制 器的相对旋转对便于使用是很重要的。 Snap To Position: 一个 Vector3 变量,决定对象对齐控制器时的相对位置。 Snap Hanlde :一个由空游戏对象提供的Transform ,它必须是被抓取物品的子物体并用作一个被拾取物品相对 于进行抓取的控制器的旋转和位置的定位点。 Rumble On Grab:控制器抓取对象时触发
5、振动反馈,x表明时长,y表明震动强度。(x和y将来会被自定义编辑器代替)。Grab Mechanics 抓握机制 Grab Attach Type :这决定了抓取的物品在被抓取时怎样 被添加到控制器上。o Fixed Joint (固定关节)用一个固定的关节把对象附 加到控制器上,意味着附加对象以完全 1:1 的方式追踪控制 器的位置和旋转。o Spring Joint (弹性关节)用一个弹性关节把对象添加到控制器上,意味着物体和控制器之间有 一些弹性,弹力驱动物体。在想要牵引一个物体而不是直接 把物体对齐到控制器上是很有效的。就感觉物体有运动阻力 一般。o Track Object (追踪对
6、象)不是通过关节来把对象附加到控制器上,而是确保对象追踪控制器的方向,这 适用于铰链式关节。o Child Of Controller (控制器子物体)简单地让对象成为抓取控制器的子物体,所以自然地 追踪了控制器运动位置。 Detach Threshold (分离阈值):当对象从被抓取的控制器 分离时的力值。如果控制器试着施加一个高于这个阈值的力 到对象上(从另一个对象上拉它或者推它到另一个对象) ,然后保持对象到抓取控制器的关节就将断开并且对象将不 能再被抓起了。这在 Tracked Object 抓取机制下也有效,只 是这个 值确定断开抓取钱控制器可以离对象多远。 SpringJoint
7、Strength (弹簧关节力):弹簧力保持对象到控制器。小 数值将意味着弹簧很松并且对象需要一个更大的力去移动, 大数值就意味着弹簧很紧, 小点的力就可以移动它。 Spring Joint Damper (弹簧关节阻尼) :弹簧的阻尼量在使用弹簧关 节抓取机制下有效。在移动被关节的交互对象时,值越高震 动效果越小。 Throw Muliplier (投掷倍数) :值用来乘以给 定对象被扔出时的速度值。 这还可以被用来连同 Interact Grab 脚本的 Throw Multiplier 来让对象被扔的比平常更远(或者 输入的值小于 1 就扔的很近) 。Use Interactions 使
8、用交互 Is Usable (是否可用):决定对象是否可以被使用 Hold Button To Use :如果勾选,控制器上的使用(use)按钮需要 被持续按下来保持使用。如果没有勾选,use按钮用一次按钮按下来启动使用和再一次按下来停止使用。 Pointer Avtivates Use Action :如果勾选,当一个世界光束指针(由 控制器投射)碰到了交互对象,如果对象的 Hold Button To Use没有勾选的话,当指针在对象上的时候就会运行对象的StartUsing 方法, 指针移开失效就会运行 StopUsing 方法。 这 个选项在被勾选以后,为了防止在用一个指针来使用对象时
9、 发生不必要的传送,就不会抛出目标点设置( Destination Set )事件。 Rumble On Use:控制器触碰对象时触发振动 反馈, x 表明时长, y 表明震动强度。 ( x 和 y 将来会被自定 义编辑器代替) 。下面的事件是被发送的: InteractableObjectTouched :当另 一个对象碰到当前对象时发出事件。 InteractableObjectUntouched:当其他对象停止触碰当 前对象时发出事件。 InteractableObjectGrabbed :当其他对 象(如控制器)抓握当前对象时发出事件。 InteractableObjectUngrab
10、bed :当其他对象停止抓握当 前对象时发出事件。 InteractableObjectUsed :当其他对象(控 制器)使用当前对象时发出事件。 InteractableObjectUnused: 当其他对象停止使用当前对象时发出事件。发出的事件有效信息载体包涵: interactingObject :初始化 交互的对象(如控制器) 。脚本基本是提供一个简单的机制来区分游戏世界中的对象 是否能被抓取或者使用,最好是把这个脚本看做是一个基类来派生出功能更丰富的脚本VRTK_InteractableObject 的例子可以看 SteamVR_unity_Toolkit/Examples/005_
11、Controller_BasicObject Grabbing.场景。这个场景还在控制器上使用了 VRTK_InteractTouch 和 VRTK_InteractGrab 脚本,来展示一 个交互对象怎样被抓取和对齐到控制器以及在游戏世界中 扔出。另外一个例子在场景 SteamVR_Unity_Toolkit/Examples/013_Controller_UsingAnd GrabbingMultipleObjects 。这个场景展示了更多对象, 可以被 按住按钮抓取或者切换按钮点击来抓取的对象,还有对象通 过切换它们的 Using 状态来展示多种物品可同时被开启。Touching Int
12、eractable Objects (VRTK_InteractTouch) 触摸交互 脚本被添加到 CameraRig 预制里的控制器对象上。可用参数如下: Hide Controller On Touch:当有效触碰发生 时隐藏控制器模型 Hide Controller Delay :触摸隐藏控制器 之前的等待秒数。 Global Touch Highlight Color: 如果交互 对象被触碰就能高亮显示,没有设置本地颜色的话就使用全局颜色发出事件如下: ControllerTouchlnteractableObject :当有效 对象被碰到时发出 ControllerUntouchl
13、nteractableObject:当 一个有效对象不再被触碰时发出发出事件有效载体信息包含: controllerindex (控制器序号): 正在交互的控制器的序号Target (目标):控制器正在交互的对象的 GameObjectVRTK_lnteractTouch 的例子参见 SteamVR_Unity_Toolkit/Examples/005_Controller/BasicObject Grabbing 场景。场景演示了添加了 VRTK_lnteractableObject 脚本的对象被控制器触碰时能够高亮显示交互对象的能力。抓取交互对象 (VRTK_lnteractGrab)交互
14、抓取脚本被添加到 CameraRig 预制里的控制器对象上,并且需要添加 VRTK_ControllerEvents 脚本用来监听抓 取和释放交互游戏对象的控制器按钮事件。它监听 AliasGrabOn 和 AliasGrabOff 事件来确定对象合适应该被抓 取和释放。控制器对象也需要添加 VRTK_InteractTouch 脚本用来确定 何时一个可交互对象被触摸到。只有有效的被触摸对象才能 被抓取。如果控制器触碰到一个包含 VRTK_InteractableObject 脚本并 且 isGrabbable 标志位设置为真的游戏对象,该对象就可以 被抓取。如果有效可交互对象是可抓取的,按下
15、控制器上所设置的抓 取按钮(默认是 Trigger 按钮)将抓取和对齐对象到控制器 上,并且直到抓取按钮松开才会被释放。当控制器抓取按钮松开时,如果可交互对象是可抓取的,它 将会被按一定速率沿着控制器松开时的方向进行推动,这就 模拟了对象投掷。可交互对象需要碰撞体用来激活触发和一个刚体用来拾取 它们并在游戏世界中四处移动它们。可用脚本参数如IT .* Controller Attach Point:控制器模型上用来吸附抓取的对象的刚体点(默认为tip) Hide ControllerOn Grab:当有效抓取发生时隐藏控制器模型。 HideController Delay: 在抓取时隐藏控制器
16、之前的等待时间秒 数。 Grab Precognition (预先抓取):在抓取按钮按下时和 控制器正在抓取某个东西时之间时间量。例如,如果一个对 象下落过快,因为人的反应时间可能很难及时按下抓取按钮 来抓住对象。这个值越高意味着抓取键可以越提前在控制器 碰到对象以及碰撞发生前按下, 如果抓取键仍然被按下 (如果 抓取对象需要持续按键抓取的话 ),则抓取动作就会成 功。 Throw Multiplied投掷乘数):用来乘以对象被扔出时 速度的量。在放大 CameraRig 来模拟能够把物体扔的更远 时是很有用的。 Create Rigid Body When Not Touching: 如果
17、勾选,当抓取按钮按下时,如果控制器没有碰到一个可交互 的对象,那么添加到控制器上的刚体就允许控制器去推动周 围其他的刚体对象。发出事件如下: ControllerGrabInteractableObject: 当有效对 象被抓取时发出 ControllerUngrablnteractableObject:当有 效对象从抓取到放开时发出发出事件有效载体信息包含: controllerlndex: 正在交互的VRTK_InteractGrab 的例子可以参见SteamVR_Unity_Toolkit/Examples/005_Controller/BasicObjectGrabbing 场景。场景
18、演示了抓取挂有VRTK_InteractableObject 脚本的可交互对象。对象可拾起可 抛出。更复杂一点的例子可以参见场景SteamVR_Unity_Toolkit/Examples/013_Controller_UsingAnd GrabbingMultipleObjects ,这里演示了每个控制器都能单独 抓取和使用对象并且对象也可以被同时切换它们的使用状 态。SteamVR_Unity_Toolkit/Examples/014_Controller_SnappingObjectsOnGrab 场景演示了不同的对齐抓取的对象到控制器上 的机制。使用可交互对象 (VRTK_Intera
19、ctUse)交互使用脚本被添加到 CameraRig 预制里的控制器对象 上,并且需要添加 VRTK_ControllerEvents 脚本用来监听使 用和停止使用交互游戏对象的控制器按钮事件。它监听AliasUseOn 和 AliasUseOff 事件来确定对象合适应该被使 用和停止使用。控制器对象也需要添加 VRTK_InteractTouch 脚本来决定何时 可交互对象被触碰。只有有效的触碰对象才能被使用。如果控制器触碰到一个包含 VRTK_InteractableObject 脚本 且 isUsable 标志位设置为真,这个对象就能被使用。可用脚本参数如下: Hide Controll
20、er On Use :当有效使用 动作开始时隐藏控制器模型Hide Controller Delay :在使用之前,隐藏控制器的等待时间秒数发出事件如下: ControllerUselnteractableObject: 当一个有效对象开始被使用时发出 ControllerUnuselnteractableObject:当一个有效对象停止被使用时发出 发出的事件的有效载体信息包含: controllerlndex: 正在交 互的控制器序号target:控制器正在交互的对象的 GameObject例子参见SteamVR_Unity_Toolkit/Examples/006_Controller_UsingADo or 场景,模拟打开一扇门和关上。地上也有一个立方体可以 被抓取来展示可交互对象怎么被使用或者抓取。另一个例子可参见 SteamVR_Unity_Toolkit
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人职业规划的思路与方向计划
- 幼儿成长之路小班教学活动规划计划
- 生产计划与需求预测的关系
- 小班音乐与韵律教育活动计划
- 《贵州连云矿业有限公司兴仁县潘家庄镇旭东煤矿(延续)矿产资源绿色开发利用方案(三合一)》专家组评审意见
- 盐边县中天矿业有限责任公司新九大老包铁矿矿山地质环境保护与土地复垦方案情况
- 第1课 互联网与物联网 教学设计 -初中信息技术七年级下册浙教版2023
- 第八单元-第2课时-角的度量(教学设计)四年级数学上册同步高效课堂系列(苏教版)
- 《三位数乘两位数的笔算乘法》(教学设计)-2024-2025学年四年级上册数学人教版
- 不同茶叶冲泡方法
- 11471劳动争议处理(第8章)
- 《铁杵成针》教学课件
- 激光原理与技术:第六章 调Q技术
- 养老护理技术操作规范评分标准
- 中国文化概论-绪论
- 网页设计基础ppt课件(完整版)
- 2023高中物理步步高大一轮 第十章 专题强化十八 带电粒子在有界匀强磁场中的运动
- 供应商管理控制流程图
- 义务教育语文课程标准(2022年版)
- 小学四年级《鸡兔同笼》优秀获奖公开课分析
- 不均匀系数和曲率系数自动升程计算(升级版)
评论
0/150
提交评论