美文网首页
【HTC-VIVE】09-Teleport:手柄发射瞬移激光检测

【HTC-VIVE】09-Teleport:手柄发射瞬移激光检测

作者: lijianfex | 来源:发表于2018-10-30 17:30 被阅读40次

Teleport脚本组件:

该脚本是一个很重要的脚本,涉及到使用手柄的圆盘进行位置移动,通过该脚本来控制TeleportPoint与TeleportArea 的相关状态。同时能播放相应的特效,音频,调整可以瞬移的最大距离等,下面会详细分析该组件。

Teleporting.png
可设置的属性:
  • Teleport Action : 瞬移传送定义的输入事件

  • Trace Layer Mask: 该传送激光可以追踪的layer层
  • Floor Fixup Trace Layer Mask: 地面修正的可追踪的layer层
  • Floor Fixup Maximum Trace Distance: 地面修正的最大的追踪距离

  • Area Visible Material : 区域传送的未锁定的材质
  • Area Locked Material: 区域传送锁定的材质
  • Area Highlighted Material: 区域传送被激光打中的 高亮显示的材质

  • Point Visible Material : 点传送的未锁定的材质
  • Point Locked Material : 点传送锁定的材质
  • Point Highlighted Material:点传送被激光打中的 高亮显示的材质

  • Destination Reticle Transform: 有效目的地时的十字线模型及材质
  • Invalid Reticle Transform :无效目的地时的十字线模型及材质

  • Play Area Preview Corner : 用于生成玩家可游玩的区域的 拐角 模型
  • Play Area Preview Side : 用于生成玩家可游玩的区域的 边线 模型

  • Pointer Valid Color : 激光线 打到 可以传送位置 的颜色
  • Pointe rInvalid Color : 激光线 打到 无效位置 的颜色
  • Pointer Locked Color: 激光线 打到 锁定的位置 的颜色

  • Show Play Area Marker : 如果是可传送区域,则显示角色可游玩标记

  • Teleport Fade Time : **瞬移的转场时间,也设置头显SteamVR_Fade的模糊渐隐时间。
  • Mesh Fade Time : 可瞬移的区域模型mesh 的渐隐时间

  • Arc Distance : 可瞬移的最大距离

特效:
  • On Activate Object Transform : 在激光一打到激活显示的任何物体的一瞬间,产生特效的位置(可以将固定特效作为该点的子物体,就可以实现播放特效)
  • On Deactivate Object Transform : 在激光一打到目标点或区域一瞬间,产生特效的位置(可以将固定特效作为该点的子物体,就可以实现播放特效)
  • Activate Object Time : 激光打到激活显示的任何物体物体的特效,持续显示的时间
  • Deactivate Object Time : 激光一打到目标点或区域的特效。持续显示的时间

音效播放器:
  • Pointer Audio Source : 激光线的音频播放器(pointerStartSound与pointerStopSound)
  • Looping Audio Source:持续循环播放的播放器(比如一直按下传送时,一直播放的音效pointerLoopSound)
  • Head Audio Source : 玩家头部的音效播放器(比如播放传送声音teleportSound)
  • Reticle Audio Source : 瞬移激光是否正确选中区域,或者能否传送的播放器( badHighLightSound 与 goodHighLightSound)

音效资源AudioClip:
  • Teleport Sound: 瞬移动作声音 Clip
  • Pointer Start Sound : 瞬移激光刚发射时的 声音 Clip
  • Pointer Loop Sound : 瞬移激光一直按下的 声音 Clip
  • Pointer Stop Sound : 瞬移激光停止的 声音 Clip
  • Good Highlight Sound : 可以移动的高亮显示的 声音 Clip
  • Bad Highlight Sound : 不可移动的高亮显示的 声音 Clip

Debug:
  • Debug Floor : 是否开起 地面测试
  • Show Offset Reticle : 是否显示 可移动与可游玩的偏移量
  • Offset Reticle Transform : 行进偏移模型
  • Floor Debug Sphere : 地面检测球
  • Floor Debug Line : 地面检测显示线

可访问的属性或方法:
  • HideTeleportPointer(): --------------隐藏激光线
  • ShowTeleportHint()---------------显示传送按钮点击的提示
  • CancelTeleportHint() : ----------------取消传送按钮点击的提示
  • IsEligibleForTeleport( Hand hand ) : -------判断该手是否能够进行传送,(当拿着东西时,该物体有AllowTeleportWhileAttachedToHand 组件时,就可以传送,如果没有,就不能拿着物体进行传送)

注:

  • 该脚本也是一个单例 ,通过instance 访问公共成员。在同一时刻应该只有一个。

为了显示与调节瞬移的显示线,在该组件下 添加 TeleportArc 脚本组件:

TeleportArc.png
可设置属性:
  • SegmentCount : 激光线有多少段
  • Thickness : 激光线的厚度
  • Arc Duration : 线段的持续时间
  • Segment Break : 线端每部部分之间的间隔
  • Arc Speed: 线段移动速度
  • Material : 激光线的材质

相关文章

  • 【HTC-VIVE】09-Teleport:手柄发射瞬移激光检测

    Teleport脚本组件: 该脚本是一个很重要的脚本,涉及到使用手柄的圆盘进行位置移动,通过该脚本来控制Telep...

  • unity SteamVR 2.2.0 手柄控制瞬移

    目的:简化脚本,并深入学习VR 注:本次只有相机移动,并无手柄的射线检测 原理:手柄发射射线:检测到地板,返回一个...

  • 激光发射

    这件事必须要记录一下,嘿嘿。我终于去做了点阵激光,特别开心^_^!!! 我是自己去做的,一开始有点紧张,因为医...

  • HTC Vive基础

    如何获取圆盘位置 手柄震动 瞬移功能的实现 写入一下脚本并将其挂载在左手手柄或者右手手柄上,并在其上添加另一个按键...

  • HTC手柄如何实现瞬移

    什么是瞬移功能? 瞬移就是使用手柄选取一个位置,通过扳机键进行瞬间移动。因为HTC Vive活动范围有限制(3m ...

  • VR开发实战HTC Vive项目之拯救金字塔

    一、场景 二、激光发射逻辑 EmissionLaser 三、接收激光 1、父类接收激光脚本 ReceiveLase...

  • VR开发 -- HTC Vive实现瞬移功能

    一.什么是瞬移功能? 瞬移就是使用手柄选取一个位置,通过扳机键进行瞬间移动。因为HTC Vive活动范围有限制(3...

  • VR开发实战之HTC Vive实现瞬移功能

    一.什么是瞬移功能? 瞬移就是使用手柄选取一个位置,通过扳机键进行瞬间移动。因为HTC Vive活动范围有限制(3...

  • 树莓派基础实验5:激光传感器实验

    一、介绍    由于其良好的指向性和能量集中性,激光广泛用于医疗军事等领域,顾名思义,激光发射模块是一种可以发射激...

  • unity SteamVR2.0 激光与UGUI交互(一)

    发射激光:在StemVR中自带有SteamVR_LaserPointer的脚本,是用来控制激光。 UI互交:使用U...

网友评论

      本文标题:【HTC-VIVE】09-Teleport:手柄发射瞬移激光检测

      本文链接:https://www.haomeiwen.com/subject/tbzdtqtx.html