闲居少邻并, 草径入荒园。

苔痕上阶绿, 草色入帘青。                  

丝竹乱耳案牍劳形  

暂去还来此, 幽期不负言。  

--《陋室铭》《题李凝幽居》                               


1、新建一个项目,导入SteamVR和VRTK,导入场景包VRTK_Teleport_Environment(可以在网上搜索,随便一些场景包都可以,或者在资源商店中找),配置SteamVR 和VRTK,添加手柄,并给手柄添加直线指针

①导入的场景

HTC Vive VRTK入门之瞬移一(初入桃花源)

②渲染出手柄

HTC Vive VRTK入门之瞬移一(初入桃花源)

③按下手柄的touch pad键发射直线型指针

HTC Vive VRTK入门之瞬移一(初入桃花源)
2、添加瞬移区域。在VRTK_SDKManager中创建一个空物体,并重命名为PlayArea,添加组件VRTK_Basic Teleport并设置相关属性。此时便可以进行瞬移了,可以在场景中到处转转
Blink To Color:瞬移时闪屏的颜色
Blink Transition Speed:瞬移时闪屏的速度
Distance Blink Delay:按下Touch Pad键后延迟多久开始瞬移

Target List Policy:瞬移的策略设置

Nav Mesh Limit Distance:控制瞬移区域的数值

HTC Vive VRTK入门之瞬移一(初入桃花源)

①赏赏树

HTC Vive VRTK入门之瞬移一(初入桃花源)

②看看石桥与房屋

HTC Vive VRTK入门之瞬移一(初入桃花源)

③跳到箱子上面,但此时发现并没有站在箱子上面,而是站在了地面上身体穿过了箱子

HTC Vive VRTK入门之瞬移一(初入桃花源)

3、添加自适应高度的瞬移。移除PlayerArear上的组件VRTK_Basic Teleport并添加组件VRTK_Height Adjust Teleport,该组件与Basic Teleport相比多了一个Layer To Ignore(所要忽略的层级)


HTC Vive VRTK入门之瞬移一(初入桃花源)

①瞬移都是基于碰撞的,给所需要设置的物体添加collider

选中场景中的房屋,添加collider

HTC Vive VRTK入门之瞬移一(初入桃花源)

选中石梯,添加collider

HTC Vive VRTK入门之瞬移一(初入桃花源)

选中箱子,添加collider

HTC Vive VRTK入门之瞬移一(初入桃花源)

③登高望远,这里风景独好

站在屋顶

HTC Vive VRTK入门之瞬移一(初入桃花源)

站在石梯

HTC Vive VRTK入门之瞬移一(初入桃花源)

站在箱子HTC Vive VRTK入门之瞬移一(初入桃花源)

4、添加贝塞尔曲线的指针,并看其在不规则表面上的显示

①进行设置

移除左右手柄的VRTK_Straight Pointer Rendere,并添加VRTK_Bezier Pointer Renderer,并分别将左右手柄的VRTK_Bezier Pointer Renderer股给Pointer Activation Settings的Pointer Renderer。给场景中所需要的瞬移区域添加collider。

HTC Vive VRTK入门之瞬移一(初入桃花源)HTC Vive VRTK入门之瞬移一(初入桃花源)

5、运行后,指针的末端穿过了物体的表面

HTC Vive VRTK入门之瞬移一(初入桃花源)

6、修改指针末端的光标,使其与物体表面的法线方向保持一致,从而附着在物体表面

勾选左手柄的Cursor Match Target Rotation

HTC Vive VRTK入门之瞬移一(初入桃花源)

勾选有手柄的Cursor Match Target Rotation

HTC Vive VRTK入门之瞬移一(初入桃花源)

运行后即使在有坡度的表面,光标也浮在了斜坡的表面

HTC Vive VRTK入门之瞬移一(初入桃花源)

7、添加瞬移组件VRTK_Dash Teleport。上面的瞬移是从一个点换到另一个点,只是添加了一个闪屏;VRTK_Dash Teleport瞬移非常快,瞬移中间的过程可见,并且自带了自适应高度的效果。

选中PlayeArea,并移除原来的VRTK_Basic Teleport,添加组件VRTK_DASH Teleport,运行后可以体会其效果,只可意会不可言传

HTC Vive VRTK入门之瞬移一(初入桃花源)







注:1、参考资料:http://edu.manew.com/course/344/learn#lesson/5691

http://blog.csdn.net/nicolelili1/article/details/74857374

2、无论是VRTK还是SteamVR,瞬移都是基于碰撞的,所以瞬移区域都必须附着一些boxcollider或者messcollider等碰撞体



相关文章: