Unity 之 虚拟现实 HTC View瞬移教程

使用瞬间移动的插件,完成瞬移功能就很简单了,,,
官方下载地址:https://github.com/Flafla2/Vive-Teleporter

第一步:配置Vive NavMesh
1

从添加Vive Nav Mesh对象开始,可以在Assets文件夹中的Vive-Teleporter/Prefabs/Navmesh.prefab路径下找到一个预配置的Vive NavMesh。可以将这个对象放在场景层级面板的任何地方和场景中的任何位置。

接下来需要在Unity中烘焙一个导航网格(“Navmesh”)。这个可以在Navigation窗口中完成(Window > Navigation)。
这里有几点需要考虑:

系统自动剔除斜坡导航网格三角形。 这意味着任何没有直接面向上的部分的导航网格都会被传送系统忽略。这个在VR中是合理的,因为玩家不能走上斜坡!

必须在所以可传送表面使用物理碰撞器。 抛物线的点(见下边第二步)使用物理射线来确定玩家指向。因此所有可传送表面必须有碰撞器(包括像墙这种不可传送的表面并且要阻止指示)。
2
(注:要是没有那个绿色的小球,就调整碰撞体的大小试试,这个测试时弄了好久,,,)

烘焙完导航网格之后(使用Navigation窗口底部的“Bake”按钮烘焙),回到之前创建的Vive Nav Mesh 对象。如果决定专用的导航区域(见上方),可以通过Area Mask属性选择那些区域是可传送的。然后点击检视面板中的“Update Navmesh Data”按钮,就会看到导航网格显示在场景视图中。

第二步:配置ParabolicPointer
3
接下来添加Parabolic Pointer 对象。可以在Assets文件夹中 Vive-Teleporter/Prefabs/Pointer.prefab路径下找到一个预配置的指针。可以将它放在场景层级面板的任何地方和场景中的任何位置。
你当然可以修改Parabolic Pointer脚本中的任何设置了,不过只允许设置其中的一个:配置从第一步的ViveNav Mesh对象到指针的“Nav Mesh”。

第三步:配置Vive Teleporter
4
最后需要为SteamVR Camera 添加一个Vive Teleporter (Component > Vive Teleporter > Vive Teleporter)组件。这是用来渲染Vive显示的摄像机。如果是使用了SteamVR 插件中的[CameraRig]预制件则应该将Vive Teleporter 添加给那个预制件中的Camera (eye) 对象。

组件属性配置
Pointer: 将这个设置为第二步创建的Parabolic Pointer 对象。
OriginTransform: 将这个设置为追踪空间的起点。如果使用了SteamVR插件,这个就是[CameraRig] 游戏对象。当玩家传送时这个对象是实际移动的。
HeadTransform: 将这个设置为玩家的头部。这个应该是Origin Transform的子集。如果使用了SteamVR插件,这个是Camera (head) 游戏对象。
Navmesh Animator: 将这个设置为第一步创建的Vive Nav Mesh 对象的动画。
Fade Material: 将这个设置为Vive-Teleporter/Art/Materials/FadeBlack.mat中的材质
Controllers: 将SteamVR控制器对象填到这里。如果使用了SteamVR的 [CameraRig] 预制件,则应该将Controller(left) 和 Controller(right) 两个对象填到这里。

完成后参照结果图:
5

运行图:
6

此时操控手柄就可以实现瞬移了,,,

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Unity3D是一款非常强大的游戏开发引擎,可以用来开发各种类型的游戏作品,其中也包括虚拟现实作品。虚拟现实(Virtual Reality,简称VR)是一种通过计算机技术来模拟真实环境并产生沉浸感的交互式技术。 使用Unity3D开发虚拟现实作品可以带来身临其境的体验。通过VR头显、手柄等设备,用户可以在虚拟世界里进行互动,感受到与真实世界相近、乃至更强烈的视觉、听觉以及触觉体验。根据具体的应用场景,Unity3D可以实现各种类型的虚拟现实作品。 比如,在教育领域,可以利用VR技术开发虚拟实验室、虚拟考古场景等,让学生们可以身临其境地进行实践和学习;在游戏领域,可以通过VR技术创造出更加逼真的游戏场景,让玩家们沉浸在虚拟的游戏世界中;在医疗领域,可以利用VR技术进行疾病模拟、手术训练等,提高医生们的技能和安全性。 虚拟现实作品的开发过程中,Unity3D提供了丰富的开发工具和资源库,可以轻松实现3D建模、物理仿真、特效制作等功能。同时,Unity3D还支持多平台发布,包括PC、移动设备以及VR设备等,可以让开发者的作品在不同平台上获得更广泛的观众。 总而言之,Unity3D作为一款强大的游戏开发引擎,可以帮助开发者实现各种类型的虚拟现实作品,为用户带来身临其境的沉浸式体验。随着虚拟现实技术的发展,我们可以预见到在不久的将来,虚拟现实作品将在各个领域发挥重要作用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈言必行

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值