关于Unity游戏开发场景切换:Time.timeScale的捣乱

这篇具有很好参考价值的文章主要介绍了关于Unity游戏开发场景切换:Time.timeScale的捣乱。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在制作场景切换功能的时候,我用的是SceneManager.LoadScene函数,从主界面场景切换到关卡1场景,从关卡1场景切换到关卡2场景都是没有问题的。

关于Unity游戏开发场景切换:Time.timeScale的捣乱

但是,当我在点击Pause按钮来到暂停界面,点击Back Menu按钮准备回到主界面场景时,只显示了一片空白,场景没有被完全加载。

关于Unity游戏开发场景切换:Time.timeScale的捣乱

我的代码是这样的:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.Audio;

public class Mainmenu : MonoBehaviour
{
    public GameObject pasue, resume;
    public AudioMixer audioMixer;
    public void BackMainMenu()
    {
        SceneManager.LoadScene(0);
    }
   public void PlayGame()
    {
        SceneManager.LoadScene(SceneManager.GetActiveScene().buildIndex + 1);
    }
    public void QuitGame()
    {
        Application.Quit();
    }
    public void UIEnabled()
    {
        GameObject.Find("Canvas/Mainmenu/UI").SetActive(true);
    }
    public void Pasue()
    {
        resume.SetActive(true);
        Time.timeScale = 0f;
    }
    public void Resume()
    {
        resume.SetActive(false);
        Time.timeScale = 1f;
    }
    public void Volume(float value)
    {
        audioMixer.SetFloat("MainVolume", value);
    }
}

关于Unity游戏开发场景切换:Time.timeScale的捣乱

我尝试在代码中寻找问题,一开始去官方手册寻找SceneManager.LoadScene方法,找到一个与它相像的方法:SceneManager.LoadSceneAsync(异步加载)。

关于Unity游戏开发场景切换:Time.timeScale的捣乱

 在LoadScene描述中:使用此方法,不会立即加载场景,而是在下一帧加载。这种半异步的行为可能会导致卡顿,并可能令人困惑,因为加载无法立即完成。

因为这一句话,我猜想是不是就是这个原因呢?因为我的画面就是停止卡住一样,会不会是没有加载完呢?

但是我的游戏只有一点点内容,完全不是很大的场景,这样问题是不会出现的吧。但是信可有而不以为无。我在另一个游戏制作中使用了异步场景加载,让我对异步加载有了一点了解。我发现异步加载只是一种加载场景的方式,这种方式是为了不让玩家无聊而使用。就是游戏的加载场景,不让玩家以为自己的手机卡死了。所以一切又回到了原点。

后来询问了我的一个游戏开发的学长,他就很快解决了我的疑问。

我会出现场景返回卡住一样的情况,是由于我改变了游戏的时间,让游戏“静止”了。

关于Unity游戏开发场景切换:Time.timeScale的捣乱

 当我在进行游戏的时候点击Pause来到暂停界面,此时我的timeScale让游戏时间的流逝变为了0,静止不动达到暂停游戏的效果。

Time.timeScale官方描述如下:

关于Unity游戏开发场景切换:Time.timeScale的捣乱

 timeScale的改变会影响全局,会影响粒子、动画等与帧率相关的。当我让timeScale变为0后,单击返回主菜单按钮,我的动画就被静止了,一直停在第一帧而不会继续进行下去,如果要改变此问题,只要在点击按钮的事件函数了将timeScale的的值改回1,就解决了返回场景卡住的情况文章来源地址https://www.toymoban.com/news/detail-448002.html

到了这里,关于关于Unity游戏开发场景切换:Time.timeScale的捣乱的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [JavaScript游戏开发] 绘制Q版地图、键盘上下左右地图场景切换

    第一章 2D二维地图绘制、人物移动、障碍检测 第二章 跟随人物二维动态地图绘制、自动寻径、小地图显示(人物红点显示) 第三章 绘制冰宫宝藏地图、人物鼠标点击移动、障碍检测 第四章 绘制Q版地图、键盘上下左右地图场景切换 本章内容在第一章的基础上进行了升级,因此

    2024年02月12日
    浏览(41)
  • JavaScript游戏开发:绘制Q版地图、键盘上下左右地图场景切换

    [JavaScript游戏开发] 绘制Q版地图、键盘上下左右地图场景切换,前端小游戏,javascript,html小游戏,Q版地图

    2024年02月14日
    浏览(56)
  • 项目实训--Unity多人游戏开发(十一、PUN框架--游戏场景篇(加载与同步))

    本地加载 有许多方法,举几个例子: 本地加载 本地异步加载(场景内容过多时,防止卡顿异步加载) 多人游戏加载场景 pun2插件加载 这个异步加载起初是觉得场景内容如果过多会引起卡顿。所以把这个应用在了单机模式上。 至于多人游戏加载场景,可能用不到而且也没法

    2024年02月01日
    浏览(63)
  • 【游戏开发小技】Unity通过UI全屏图来模糊场景画面(Shader | 模糊 | 滤镜 | Blur)

    一、前言 嗨,大家好,我是新发。 以前我写文章都是很长很长,接下来我会尝试用新的方式来写博客,尽量简短,以实用为主。同时也是作为自己零碎的一些记录,方便查阅。 本文我要说的是在 Unity 中通过 UI 全屏图来模糊场景画面的效果。 二、效果演示 这是没用模糊效果

    2024年02月05日
    浏览(41)
  • Unity切换场景保存上一个场景的数据,Unity切换场景的案例,Unity切换场景再返回数据丢失的解决方案

    Unity在切换场景之后在再次返回上不会保存上一个场景的数据的。 但是大多数时候我们是需要这些数据的,这应该如何解决呢? 文件链接:我将解决方案打包了,点我下载,免费,或者私信我发你 首先将需要存储到一个class中,这里以学生为例子 然后我们再创建一个脚本,

    2024年02月02日
    浏览(49)
  • 23. Unity - 3D游戏开发小计02 --- 动画结束UI、导航网格代理、场景搭建插件(ProGrids,ProBuilder,Polybrush)

    1. 动画结束UI 一个游戏在通过后,都是需要一个界面显示当前游戏已经结束,即需要给游戏添加一个结束的界面,可以做一个简单的游戏结束界面,用一个图片展示: 首先在 层级窗口 添加两层UI中的Image,其中第一层的Image仅作背景,可将其填充颜色设置为纯黑色,第二层的

    2024年02月05日
    浏览(58)
  • Unity 切换场景后场景变暗

    Unity版本:2019.4.34f1c1 主场景只有UI,没有灯光,天空盒;其他场景有灯光和天空盒 所有场景不烘焙 主场景作为启动场景运行,切换到其他场景,场景变暗 某一个场景作为启动场景运行,光影效果正常, 切换到其他场景,场景变暗; 切换到启动场景,光影正常 方法1:烘焙场

    2024年02月06日
    浏览(42)
  • Unity基础 场景概念以及场景切换

    在Unity中,场景可以理解为一种游戏关卡。它是一个包含了游戏中各种元素的环境,如游戏物体、光照、相机、音频等等。每个场景都可以通过Unity提供的一系列方法和变量进行操作和管理。 在Unity中,场景有以下特点: 可以包含多个游戏物体。 可以包含多个光源和相机。

    2024年02月06日
    浏览(45)
  • unity——通过点击按钮进行场景切换

    前记 通过 点击鼠标 进行场景切换请参考: Unity——通过点击鼠标进行场景切换_行秋的博客-CSDN博客 通过点击按钮进行场景切换请参考:unity——通过点击按钮进行场景切换_行秋的博客-CSDN博客1.准备两个示例场景 2.点击File—Build Settings...,将场景添加到视图中,点击Build。选

    2024年01月25日
    浏览(60)
  • Unity框架学习--场景切换管理器

    用脚本实例化的游戏对象都会生成在活动场景中。 哪个场景是活动场景,则当前的天空盒就会使用该场景的天空盒。 只能有一个场景是活动场景。 在Hierarchy右击一个场景,点击“Set Active Scene”可以手动把这个场景设置为活动场景。也可以使用SceneManager.SetActiveScene方法把一个

    2024年02月11日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包