跳过 Unity 启动Logo | 多平台适用 | 官方API支持
前言
- 众所周知,使用Unity引擎打包的工程在启动时都带有Unity的默认启动Logo。
- 这个问题可以通过购买Unity专业版以及零元购解决,但是对于多数人来说一般不会使用这种方法。
- 之前已经写过一篇文章使用aar的方式从安卓端去掉Unity的启动Logo:【Unity终极奥义】Unity打包去掉启动画面Logo,无需破解,一学就会
- 那本篇文章就来使用一种更简单的方法来直接去掉启动Logo,只需要一个脚本即可完成。
【Unity实战篇 】 | 一个步骤跳过 Unity Logo 界面 | 多平台适用 | 官方API支持
使用方法
在Unity工程中创建一个脚本SkipSplash.cs
,然后将该脚本放到除了Editor
以外的文件夹就可以了,不需要挂载。
脚本代码如下:
#if !UNITY_EDITOR
using UnityEngine;
using UnityEngine.Rendering;
public class SkipSplash
{
[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
核心 API
该脚本主要用到了两个API: RuntimeInitializeOnLoadMethodAttribute
与SplashScreen
。
1. RuntimeInitializeOnLoadMethodAttribute
RuntimeInitializeOnLoadMethodAttribute
一般会配合RuntimeInitializeLoadType
进行使用。
RuntimeInitializeLoadType 有以下类型:
类型 | 介绍 |
---|---|
AfterSceneLoad | 在场景加载后 |
BeforeSceneLoad | 在场景加载前 |
AfterAssembliesLoaded | 加载完所有程序集并初始化预加载资源时的回调 |
BeforeSplashScreen | 在显示启动画面之前 |
SubsystemRegistration | 用于子系统注册的回调 |
在之前写过的一篇小知识文章中用到过这个RuntimeInitializeOnLoadMethodAttribute:
【100个 Unity实用技能】 ☀️ | 脚本无需挂载到游戏对象上也可执行的方法
RuntimeInitializeOnLoadMethodAttribute
主要负责的是在显示启动画面之前调用这个静态方法,也就是执行跳过Logo方法的时间。
2. SplashScreen
SplashScreen
是负责跳过Logo的核心方法,与上面的RuntimeInitializeOnLoadMethodAttribute进行配合,在在显示启动画面之前停止 SplashScreen 渲染即可完成Unity启动Logo的去除!
SplashScreen.Stop(SplashScreen.StopBehavior.StopImmediate)
效果展示
可以看到非常简单的就实现了去掉Unity的启动Logo,只需要一个脚本放到工程中就好了,限制是需要 Unity2019.4 或更高版本。
实测了Unity2021、2020及2019.4版本发现都可以正常使用。
优点:
该方法非常简单方便,一个脚本可以实现多平台去掉启动Logo。
缺点:
当工程比较大时,此方法去除Logo的效果可能会很差,可能会出现Logo一闪而过或者卡出几帧Logo的画面。
还可能会出现长达4、5秒的黑屏时间,这是因为应用程序正在加载,即使我们停止了Logo,但是并不能影响这个加载的流程时间。
这个时候跳过启动Logo的意义就不大了,正确的方法应该是在此空挡时间换成自己的启动画面,这样就需要另外写方法进行操作了。
总结
- 本文讲了一下怎样方便快速跳过 Unity 启动Logo的方法,非常的简单实用。
- 如果想去除启动Logo画面的同时并替换成自己的启动动画则可以参考下面的文章
- 【Unity终极奥义】Unity打包去掉启动画面Logo,无需破解,一学就会
- Unity实战篇 | 教你怎样将Unity的启动Logo 设置成 自己制作的 帧动画
🎬 博客主页:https://xiaoy.blog.csdn.net
🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📆 未来很长,值得我们全力奔赴更美好的生活✨
------------------❤️分割线❤️-------------------------
资料白嫖,技术互助
学习路线指引(点击解锁) | 知识定位 | 人群定位 |
---|---|---|
🧡 Unity系统学习专栏 🧡 | 入门级 | 本专栏从Unity入门开始学习,快速达到Unity的入门水平 |
💛 Unity实战类项目 💛 | 进阶级 | 计划制作Unity的 100个实战案例!助你进入Unity世界,争取做最全的Unity原创博客大全。 |
❤️ 游戏制作专栏 ❤️ | 难度偏高 | 分享学习一些Unity成品的游戏Demo和其他语言的小游戏! |
💚 游戏爱好者万人社区💚 | 互助/吹水 | 数万人游戏爱好者社区,聊天互助,白嫖奖品 |
💙 Unity100个实用技能💙 | Unity查漏补缺 | 针对一些Unity中经常用到的一些小知识和技能进行学习介绍,核心目的就是让我们能够快速学习Unity的知识以达到查漏补缺 |
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhibejji
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22 -
excel打印预览压线压字怎么办
PHP中文网 06-22