【问题标题】:Teleport Point: Switch to new scene传送点:切换到新场景
【发布时间】:2017-12-18 19:56:51
【问题描述】:

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

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

控制台记录“TeleportPoint:连接你的关卡加载逻辑以切换到新场景:Location3”。

【问题讨论】:

    标签: unity3d


    【解决方案1】:

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

    Application.LoadLevel("Location3");
    

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

    【讨论】:

    • 请注意 Application.LoadLevel() 已过时,不应再使用
    • 啊,我不知道这个。谢谢。
    【解决方案2】:

    我不建议使用 Application.LoadLevel(),因为该函数已过时,并且在未来的 Unity 版本中将不再支持。

    你可以使用:

    SceneManager.LoadSceneAsync("NameOfScene");
    

    为了不让您的传送脚本被破坏,您可以将以下脚本添加到您的传送组件中。

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

    使用此组件,您的对象在加载新场景时不会被破坏,因此可以用于传送。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-12
      • 2017-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多