【HTCVR】VRTK插件模块功能分析之传送移动(一)

在HTC Vive设备上,我们戴着头戴显示器可以在一定的范围内自由走动,在现实中的移动会反映到虚拟世界中,我们称这个范围为“房间”。但是,在我们的游览项目中,虚拟场景里可移动的范围要远远大于房间的大小。那么如何实现在有限的现实空间中游览无限的虚拟空间呢。在很多类似的VR游戏、应用中采用的一个常用方法是传送。在本次我们的项目中,我们也将采用相同的方法。

在Unity中VRTK已经帮助我们封装好了一些常用的传送方法,这里我们来一一查看一下:

基础传送

示例场景

004_CameraRig_BasicTeleport 
004_CameraRig_BasicTeleport

这个场景展示了基础的传送功能:按下手柄的触摸板按钮将发射一条射线,松开触摸板将立即传送到射线指向的目标位置,但是y坐标值并不改变,也就是水平平面上的传送。

实现方法

首先在场景中创建一个空物体,在上面绑上VRTK_SDK Manager脚本。 
VRTK_SDK Manager 
如图进行设置。 
其中,Script Alias Left/Right Controller项中所设置的物体分别是作为该空物体的子物体的两个物体。我们将在这两个子物体上绑定控制脚本,将自动映射到对应的左右手柄上,这样更便于管理并且不会破坏[CameraTig]物体的Prefab链接。 
在该物体下再新建一个空物体,命名为PlayArea,并在上面绑上VRTK_Basic Teleport脚本。 
VRTK_Basic Teleport 
LeftControllerRightController上绑上如下三个脚本 
VRTK_Controller EventVRTK_PointerVRTK_Straight Pointer Renderer 
这样设置之后,我们就拥有了基础传送的功能,可以在运行中尝试。

高度调整传送

示例场景

007_CameraRig_HeightAdjustTeleport 
007_CameraRig_HeightAdjustTeleport

这个场景展示了另一种传送功能:按下手柄的触摸板按钮将发射一条射线,松开触摸板将立即传送到射线指向的目标位置,y坐标值贴合目标位置的y坐标值。

实现方法

PlayArea上绑定以下三个脚本 
VRTK_Body PhysicsVRTK_Height Adjust TeleportVRTK_Policy List 
其中,如果有物体的Tag被设置为在VRTK_Policy List中设置的Tag之一的话,那么将无法传送到该物体上。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值