Unity 一步跳过启动Logo画面

2024-01-08 14:34:48

1.概述

? ? ? ? 在Unity发布后默认启动会有启动动画,并且默认是Unity的Logo。而在Project Settings里个人版是不能去掉这个启动动画的,需要付费购买才行,那么这里推荐一种使用个人版也能去除Logo的办法。

2.RuntimeInitializeLoadType

描述

设置 RuntimeInitializeOnLoadMethod 类型。

另请参阅:RuntimeInitializeOnLoadMethodAttribute

?变量
????????AfterSceneLoad?? ?在场景加载后。
????????BeforeSceneLoad?? ?在场景加载前。
????????AfterAssembliesLoaded?? ?加载完所有程序集并初始化预加载资源时的回调。
????????BeforeSplashScreen?? ?在显示启动画面之前。
????????SubsystemRegistration?? ?用于子系统注册的回调

3.实现方法

? ? ? ? 将下面脚本拖拽到除Editor文件以外的地方,打包后运行。

#if !UNITY_EDITOR
using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Scripting;
 
[Preserve]
public class SkipUnityLogo
{
    [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSplashScreen)]
    private static void BeforeSplashScreen()
    {
#if UNITY_WEBGL
        Application.focusChanged += Application_focusChanged;
#else
        System.Threading.Tasks.Task.Run(AsyncSkip);
#endif
    }
 
#if UNITY_WEBGL
    private static void Application_focusChanged(bool obj)
    {
        Application.focusChanged -= Application_focusChanged;
        SplashScreen.Stop(SplashScreen.StopBehavior.StopImmediate);
    }
#else
    private static void AsyncSkip()
    {
        SplashScreen.Stop(SplashScreen.StopBehavior.StopImmediate);
    }
#endif
}
#endif

4.注意

  1. 此方法不是所有Unity版本有效,我这用的Unity2021版本测试。理论上是Unity2019.4或者更高版本。
  2. 当工程较大时,会出现Logo一闪而过或者卡出几帧Logo画面。

文章来源:https://blog.csdn.net/qq_26540577/article/details/135455765
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。