美文网首页
【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:手柄发射瞬移激光检测

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