美文网首页
VRTK - 3.传送

VRTK - 3.传送

作者: 雨天到处晃 | 来源:发表于2017-05-21 15:30 被阅读0次

    <p>
      VRTK传送小笔记,使用手柄在场景中进行传送移动,包括传送的基本设置,传送的几种方式,限制传送。
    </p>

    一、基本的传送

    在场景中进行基本的移动操作,使用到了VRTK_Pointer(用来发出射线),VRTK_StraightPointerRenderer(渲染射线),VRTK_BasicTeleport这几个脚本组件。
      在手柄上添加VRTK_Pointer和VRTK_StraightPointerRenderer,同时将VRTK_StraightPointerRenderer赋值给VRTK_Pointer用来渲染射线,同时需要勾选Enable Teleport:

    Pointer设置.png

    渲染射线的方式有两种,一种是直线,就是例子中添加的,一种是比塞尔曲线,需要使用到另外一个渲染射线脚本VRTK_BezierPointerRenderer,需要使用到哪种渲染射线方式,把对应的脚本赋值给VRTK_Pointer中的PointRenderer就行了。

    BezierPointer.png

    射线添加完毕后,然后添加传送的方式,首先在VRTK下建立一个PlayArea空对象,用来做VRTK的游玩区域,并添加上VRTK_BasicTeleport脚本:

    BasicTeleport.png

    完成到这里,就可以进行基本的传送啦。

    二、传送的方式

    完成后就可以在场景中进行传送啦,传送的方式有三种:
    VRTK_BasicTeleport(基本传送),这种传送方式只会更新X/Z的坐标位置不能够进行上下移动。
    VRTK_HeightAdjustTeleport(高度调整传送),基本传送的扩展,通过确定PlayArea是否在另外一个游戏对象上来改变Y的坐标。

    VRTK_DashTeleport(冲撞传送),和VRTK_HeightAdjustTeleport类似,都可以进行高度的调整,却别是VRTK_HeightAdjustTeleport是瞬移到目的地,VRTK_DashTeleport是快速移动到目的地(有一个渐变的过程);

    三、限制传送

    在VR场景内,使用传送来移动,当然有些地方是不能够移动的,VRTK也提供了进行几种限制传送的方式,如下:

    限制传送区域:

    通过VRTK_PolicyList来限制传送区域,限制的方式有以下几种:

    Operation.png Check Type.png

    以tag为例,如果PolicyList的操作方式是Ignore的话,场景中物体的tag匹配上PolicyList中的tag “Test”时,则不能够传送到该物体上。


    示例.png
    限制手柄传送

    当手柄碰撞到物体时,禁止传送:
    VRTK_TeleportDisableOnControllerObscured,在PlayArea上加上这个脚本,添加时会自动添加VRTK_HeadsetControllerAware脚本,这个是用来跟踪手柄是否碰撞到物体


    VRTK_TeleportDisableOnControllerObscured.png
    限制身体传送

    当身体陷入场景内物体时,不能够进行传送:
    在PlayArea上添加VRTK_TeleportDisableOnHeadsetCollision和VRTK_HeadsetCollision,进行限制:


    VRTK_TeleportDisableOnHeadsetCollision.png

    相关文章

      网友评论

          本文标题:VRTK - 3.传送

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