【Unity VR开发】结合VRTK4.0:不可移动区域

语录:

      生活坏到一定程度就会好起来,因为它无法更坏。努力过后,才知道许多事情坚持坚持,就过来了。


前言:

     有时候我们可能并不需要所有的区域都进行移动,而只需要部分区域进行移动,那么我们就要将不允许移动的区域设置为不可移动区域,只留下可以进行移动的小部分区域。这里我们会用到:Locomotors.TeleportTargets.Area模块。


正文:

         步骤一:

         我们要创建不可移动区域,就要添加模块:Locomotors.TeleportTargets.Area

Tilia -> Prefabs -> Locomotors -> TeleportTargets -> Locomotors.TeleportTargets.Area

         步骤二:

         我们需要创建Indicators.SpatialTargets.Dispatcher来区别不可移动区域

 然后我们需要把Indicators.SpatialTargets.Dispatcher拖放到Indicators.ObjectPointers.Curved属性中:

   这时,我们运行后发现,射线 点击在移动区域会发光提示,但是无法移动到里面。这时我们需要添加一个伪身体 ,用来移动。     

       步骤三:

      添加伪身体:Trackers.PseudoBody:

 将对应的游戏对象拉取到伪身体上:

         步骤四:

        我们需要添加一个空物体,添加PhysicsCast,作为不可移动层:     

 最后将我们的Plane层改为IgnoreStraightPointer:

 最后,在Indicators.ObjectPointers.Curved对象上添加不可交互层的游戏对象:

最后运行,射线点击到可移动区域,会自动瞬移到对应位置,射线点击到Plane上,则显示红线,无法点击移动。


猜你喜欢

转载自blog.csdn.net/LiKe11807/article/details/130200638
今日推荐