- 转载:原文链接:http://www.chinaar.com/ZYJC/1434.html
头盔碰撞淡出的目的是为了检测用户的VR头盔何时碰撞到其他游戏对象并淡出屏幕到一个单色。这是为了处理玩家把头放进一个游戏对象里看到对象内部的裁剪,这不是我们所期望的。
之所以这么做,是因为如果玩家把头放到不该放的地方就会淡出到一个颜色(如黑色),这就让玩家意识到他们做错了什么,然后可能自然的就会后退。
如果头盔正在碰撞,那么传送行为就被禁用来防止穿插穿墙的作弊。
使用Unity 5.3及之前版本,头盔碰撞淡出脚本添加到[CameraRig] 预制的Camera(head)对象上。
使用Unity 5.4及之后版本,头盔碰撞淡出脚本添加到[CameraRig] 预制下的Camera
(head)里的Camera(eye)对象上。
可用脚本参数如下:
· Blink Transition Speed(眨眼淡入淡出速度):碰撞时淡入淡出速度。
· Fade Color(淡出颜色):头盔碰撞时淡出颜色。
发出事件如下:
· HeadsetCollisionDetect: 当用户头盔碰到其他游戏对象时发出。
· HeadsetCollisionEnded:当用户头盔停止碰撞游戏对象时发出。
发出事件的有效载体内容包括:
· collider: 头盔所碰撞的游戏对象的碰撞器。
· currentTransform: 当前头盔碰撞淡入淡出脚本所添加到的对象(相机)的Transform。
VRTK_HeadsetCollisionFade脚本例子参见SteamVR_Unity_Toolkit/Examples/011_Camera_HeadSetCollisionFading场景。场景在游玩区周围有可碰撞的墙壁,如果玩家把头放进墙壁,头盔就将渐变成黑色。