Unity3D OpenVR SteamVR 点击菜单切换场景

2021-06-09 20:04:54 浏览数 (1)

本文来告诉大家如何在基于 SteamVR 的 Unity3D 里面在用户点击菜单的时候,切换到新的场景的方法

在开始之前,期望大家已阅读过基于 SteamVR 的 Unity3D 相关博客,如果还没了解相关知识,请参阅如下博客

  • Unity OpenVR 虚拟现实入门一:安装配置 Unity OpenVR 环境
  • Unity OpenVR 虚拟现实入门二:一个最简单的虚拟现实游戏/程序
  • Unity OpenVR 虚拟现实入门三:最简单的五指交互
  • Unity OpenVR 虚拟现实入门四:通过脚本控制手与控制器
  • Unity OpenVR 虚拟现实入门五:通过传送控制玩家移动
  • Unity OpenVR 虚拟现实入门六:通过摇杆控制玩家移动

如系列博客的内容,咱通过加入 SteamVR SDK 然后将 Player 拖入到咱的场景中,如下图

如上图,为了演示如何切换场景,咱创建了两个场景,分别是 MainMenuScene 主菜单场景和 Challenge1-1 关卡1场景。下面咱将要在 MainMenuScene 主菜单点击一个叫 Chloroplast 的物体,从 MainMenuScene 切换 Challenge1-1 关卡

如上图,咱给 Chloroplast 物体绑定了 MainMenuNewGameScript 的脚本,为了实现让用户碰触到 Chloroplast 物体就跳转到新的场景功能,咱需要让脚本继承 Interactable 类,如下图代码

代码语言:javascript复制
var player = GameObject.Find("Player");
GameObject.Destroy(player);

SteamVR_LoadLevel.Begin("Challenge1-1");

上面代码有两个细节部分,第一个是通过 SteamVR_loadLevel 的 Begin 方法切换场景,其次是删除在 MainMenuScene 里面的 Player 对象。如果没有删除 Player 对象,那么在进入到新的场景将会发现自己的手将会两份

接下来咱还需要在游戏的生成里面,将 MainMenuScene 主菜单场景和 Challenge1-1 关卡1场景加入到生成

点击 Unity3D 的文件生成设置

在打开的界面里面添加 MainMenuScene 主菜单场景和 Challenge1-1 关卡1场景,如下图

添加之后可以关闭此窗口,关闭窗口将会自动保存

接下来还需要在 Challenge1-1 关卡1场景里面,将 SteamVR 里面的 Player 加入,否则进入到 Challenge1-1 关卡1场景将会啥都看不见

另外,如果在实现切换场景,发现切换到新的场景时,界面是黑色,啥都看不见,那么请确定你在 场景 里面是否加入了 Player 游戏对象,以及是否在生成设置里面将场景进入到生成


本文会经常更新,请阅读原文: https://blog.lindexi.com/post/Unity3D-OpenVR-SteamVR-点击菜单切换场景.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者前往 CSDN 关注我的主页

0 人点赞