【Unity VR开发】结合VRTK4.0:摄像机碰撞变黑

语录:

       人是要长大的,有天你也会推着婴儿车幸福地在街上行走,而曾经的喜欢,不管曾经怎样,都会幻化成风,消失在时光的隧道。所以向前走,向前走,无须回头。


前言:

          往往我们在运行场景时,会出现摄像机穿透模型,为了避免这种情况,我们就需要Visuals.CollisionFader模块,使用户头显设备与Unity场景中其他几何体碰撞时,淡化主摄像机视图。


正文:

         步骤一:

          首先我们需要添加对应的模块Visuals.CollisionFader

Tilia -> Prefabs -> Visuals -> Visuals.CollisionFader

【Unity VR开发】结合VRTK4.0:摄像机碰撞变黑_第1张图片

 然后我们需要指定 Visuals.CollisionFader 中对应模块的属性:

【Unity VR开发】结合VRTK4.0:摄像机碰撞变黑_第2张图片

       设置完成后,运行场景发现,只要头显进入带有Collider时,视角就会变黑,但是我们想要的是,在碰到跟我们没有相关的物体时,才会屏幕变黑,那么我们就需要给它加上限制。

       步骤二:

        我们首先创建一个空物体对象,然后在空物体对象上添加组件:List Contains Rule:

【Unity VR开发】结合VRTK4.0:摄像机碰撞变黑_第3张图片

         步骤三:

          我们再在上面的空物体下面创建一个空物体作为他的子物体,然后在其身上添加组件:Unity Object Observable List:

【Unity VR开发】结合VRTK4.0:摄像机碰撞变黑_第4张图片

 然后我们将子物体拖放到父物体的属性中:

这时将我们指定的物体拖放到下面就可以了,也说明只有我们指定的物体才能和头显进行交互。

【Unity VR开发】结合VRTK4.0:摄像机碰撞变黑_第5张图片

 然后我们将父物体指定给Visuals.CollisionFader 的属性中:

【Unity VR开发】结合VRTK4.0:摄像机碰撞变黑_第6张图片

 扩展:

我们在起初是在父物体上添加的是指定的物体才能和头显交互,有的时候面临场景庞大,不适合,这时,我们可以使用另外一个方法,指定对应的标签(Tag):AnyTagRule:

【Unity VR开发】结合VRTK4.0:摄像机碰撞变黑_第7张图片

 然后我们就添加对应的标签,并将需要交互的物体标签换成我们设置的标签即可。


你可能感兴趣的:(VR,vr,VRTK)