【问题标题】:Unity load scene after splash screen ended?启动画面结束后的Unity加载场景?
【发布时间】:2017-08-03 16:26:11
【问题描述】:

我有 Unity 个人版,所以我必须显示启动画面(可在最新版本的 Unity 中自定义),但我注意到它的奇怪行为。在我的旧游戏中,我的第一个场景在启动画面结束后立即显示但现在在我的项目中,第一个场景似乎只有在 Unity 启动画面结束后才开始加载。事实上,在启动画面之后会出现一个白屏,直到场景被加载。我尝试将启动画面时间设置为 30 秒, 让游戏有足够的时间加载,但什么也没发生,之后,无论是持续 2 秒还是 30 秒,白屏仍然出现在第一个场景之前,这很烦人,因为我的第一个场景很大,需要最多加载 10 秒。我的问题是,只有当第一个场景准备好时,是否可以淡出 Unity 启动画面?我希望能很好地解释自己,谢谢!

【问题讨论】:

    标签: unity5 unity2d


    【解决方案1】:

    根据 Unity 2017.1 的documentation

    Unity 启动画面在所有平台上都是统一的。它显示 很快,在第一个场景异步加载时显示 背景。 这与您自己的介绍性屏幕或 可能需要一些时间才能出现的动画;这是由于 Unity 具有 在显示它们之前加载整个引擎和第一个场景。

    因此,使用 Unity 2017,您应该获得所需的行为。由于您标记了“Unity5”,我认为您可能没有使用最新版本。您应该尝试更新到 Unity 2017。除此之外,您无能为力,因为您的许可证强制您保留此初始屏幕

    编辑

    看到您的评论,您的场景似乎真的很长才能加载。比启动画面更长。

    第一件事:如果这是一个空场景,它应该更快。也许您的设备太旧了。在您计算机上的编辑器上更快吗?如果它是一个空场景并且在现代计算机上速度很慢,您应该联系 Unity 支持。

    如果场景确实很大且加载时间很长,您有两种选择:

    • 您可以尝试缩短加载时间。使用 Unity 中的分析器来识别您的代码中运行缓慢的部分。好好看看你的 Start 和 Awake 方法。如果有些东西真的很长,你可以尝试在协程中逐步加载它

    • 您可以添加第一个空场景,仅包含一个图像或文字说明“正在加载”,该场景会立即加载您的主场景。这不会提高性能,但会让用户看到等待屏幕而不是空白屏幕

    【讨论】:

    • 嗨,谢谢你的回答,但今天我尝试将 Unity 更新到 2017.1 并为 Android 构建我的项目,但没有任何改变,这是一个视频,你可以看到发生了什么:youtu.be/OTlHi67kRko
    • 谁能帮帮我?
    • 谢谢,我使用了分析器,并确定了一个运行时间为 3000 毫秒以上的方法,并将其移动到协程中。现在我最大的问题是由 Font.CacheFontForText 引起的游戏启动时 6000ms+ 的峰值,我认为这是因为我在场景中的所有文本都经过了最佳拟合检查(因为据我所知是缩放文本的最佳方法自动覆盖不同的屏幕尺寸),我搜索了这个问题,但据我了解,我必须预先填充场景中的所有文本,而且它们很多。但我认为这是另一个问题。谢谢你的帮助!!
    猜你喜欢
    • 1970-01-01
    • 2018-09-10
    • 2022-08-02
    • 1970-01-01
    • 2016-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多