传送点:切换到新场景

时间:2017-12-15 04:07:11

标签: unity3d

我使用以下网站在我的游戏中设置传送:https://unity3d.college/2017/05/16/steamvr-locomotion-teleportation-movement/

从图像中可以看出,我输入了“位置3”和“#3”。作为我想在构建设置中传送到的新场景。但是,当我运行.exe文件时,我无法传送到' Location3'即使我能够传送到其他传送点到当前场景中的新位置。 TeleportPoint

控制台记录" TeleportPoint:挂机级别加载逻辑以切换到新场景:Location3"。

2 个答案:

答案 0 :(得分:1)

你想要实现的目标似乎是场景变化(?) 这可以使用

完成
Application.LoadLevel("Location3");

当你改变到这个场景时,你可能想要操纵你想要传送的任何东西的位置。这可以通过使用静态类来实现,该静态类根据您正在更改的场景执行某些操作。

答案 1 :(得分:0)

我不建议使用Application.LoadLevel(),因为该功能已过时,并且在将来的Unity版本中不会受到支持。

您可以使用:

SceneManager.LoadSceneAsync("NameOfScene");

为了不让您的Teleportation脚本被销毁,您可以将以下脚本添加到您的Teleportation组件。

[Serializable]
public class KeepOnSceneChange : MonoBehaviour {
    public void Awake() {
            DontDestroyOnLoad(this.gameObject);
    }
}

使用此组件,当加载新场景时,您的对象不会被销毁,因此可用于传送。