Oculus Rift S丨(四)实现移动:传送、步行

提示:选中右侧目录,可快速找到所需内容

本系列博客地址:传送门

 

前言:

测试时发现该SDK在有的电脑能实现传送,有的射线都不显示(去官网下载了最老版本的SDK,遇到同样问题)。

因此让同事导了一份SDK,测试可以使用。

下载地址:链接

 

一、效果展示:

Oculus Rift S丨(四)实现移动:传送、步行_第1张图片

移动方式:

1、射线自由传送:左手柄摇杆向前推,发射射线传送。右手柄摇杆控制左右转向。

2、射线传送到指定点:右手A键,按下发射射线,只有接触到设置好的点,才能传送到该点。

3、步行:左手柄摇杆任何方向推,控制人物向任何方向移动。右手柄摇杆控制左右转向。

4、眼睛传送:按下A键,眼前出现射线,该射线跟随你的头转动(下图所示,感觉不是很好用的样子,所以有需要告诉我,再研究一下)

Oculus Rift S丨(四)实现移动:传送、步行_第2张图片

 

 实现目标划分:

1、出现手

2、出现手柄

3、出现射线,实现传送

 

 

二、实现步骤:

1、射线自由传送(默认)

a、新场景,添加 Locomotion 场景的 PlayerController。

该物体,实现了手、眼睛的效果。且只有当戴上头盔、拿着手柄时,程序才会运行,手和头的mesh才会打开。

Oculus Rift S丨(四)实现移动:传送、步行_第3张图片

b、PlayerController——LocomotionController物体:

      启用 TeleportTargetHandlerPhysical ,关闭TeleportTargetHandlerNode、TeleportTargetHandlerNavMesh

注:下方脚本比较奇葩的是,这些方法有时能实现效果,有时不行。因此建议最先根据上方方法配置好,不要代码切换了(下同)。

b、添加SampleSupport物体,执行:SampleSupport——LocomotionSampleSupport脚本——SetupNodeTeleport()方法(与上方法b二选一即可)。

 

 

2、射线传送到指定点

a、新场景,添加 Locomotion 场景的 PlayerController。

b、PlayerController——LocomotionController物体:

      启用 TeleportTargetHandlerNode ,关闭TeleportTargetHandlerPhysical、TeleportTargetHandlerNavMesh。

SetupNodeTeleport

b、添加SampleSupport物体,执行:SampleSupport——LocomotionSampleSupport脚本——SetupWalkOnly()方法

c、添加传送点。

      该传送点可用TeleportPoint预制体。你可以发现该传送点的 layer 和 TeleportTargetHandlerNode 指定的层一样。

 

3、步行

a、新场景,添加 Locomotion 场景的 PlayerController。

b、直接关掉 LocomotionController 、SampleSupport 物体。

b、添加SampleSupport物体,执行:SampleSupport——LocomotionSampleSupport脚本——SetupWalkOnly()方法

 

 

三、效果修改:

1、改变射线传送,下方所示指示:

PlayerController——LocomotionController物体——LocomotionTeleport脚本——TeleportDestinationPrefab,修改该预制件即可。

Oculus Rift S丨(四)实现移动:传送、步行_第4张图片

 

2、切换直线传送/贝瑟尔曲线传送

PlayerController——LocomotionController物体:

TeleportAimHandlerLaser:直线传送

TeleportAimHandlerParabolic:贝瑟尔曲线传送

 

3、开启关闭传送

PlayerController——LocomotionController物体,TeleportInputHandlerAvatarTouch的开关控制传送开关。(该脚本是传送处理程序)

(TeleportAimHandlerLaser是眼睛传送的开关)

 

4、传送时效果:

PlayerController——LocomotionController物体:

立刻传送:TeleportTransitionInstant 

淡入淡出:TeleportTransitionBlink 

不断移动到目标点:TeleportTransitionWarp 

 

5、控制行走速度

PlayerController物体——OVRPlayerController脚本——Acceleration加速度属性。

你可能感兴趣的:(#,Oculus,Rift,S)