VRTK: Headset Collision

来源:互联网 发布:mac传奇单机版 编辑:程序博客网 时间:2024/05/21 17:23

VRTK: Headset Collision

在VR应用中可能经常会发生用户将头伸入物体中从而发生透视的效果。这不仅会造成不好的用户体验,更会引发许多BUG,为了解决这些“穿墙”的问题,VRTK中提供了一系列与头戴设备碰撞处理有关的组件:

  • VRTK_HeadsetCollision
  • VRTK_HeadsetFade
  • VRTK_HeadsetCollisionFade
  • VRTK_PositionRewind

示例场景

011_Camera_HeadSetCollisionFading
011_Camera_HeadSetCollisionFading

这个场景中展示了当用户将头部伸入墙壁中时,眼前会变为黑色,从而迫使用户后退,来解决穿墙的问题。

017_CameraRig_TouchpadWalking
017_CameraRig_TouchpadWalking

这个场景包含了HeadSet Collision Fade和Position Rewind的组合使用,当用户与墙发生碰撞时将自动将用户移回墙外。

Headset Collision Fade

在PlayArea上加入以下脚本:
PlayArea
其中:

  • VRTK_HeadsetCollision中的Collider Radius规定了头部碰撞范围大小
  • VRTK_HeadsetCollisionFade中的Blink Transition Speed设定了当碰撞发生需要变色时渐变的速度。Fade Color指定了渐变后的颜色。

Position Rewind

在PlayArea上添加一个脚本:
VRTK_PositionRewind
其中:

  • Rewind Delay设定了从发生碰撞到开始传送之间的间隔时间。
  • Pushback Distance设定了在发生回退传送后PlayArea需要回退的距离,可以防止在回退传送后靠墙太近而重复发生传送。
  • Crouch Threshold设定了系统认定的“蹲下”这个动作的高度(从地面到头部)。回退回的位置应该是一个之前站立的位置而不是蹲下的位置。
原创粉丝点击