首页 > 其他分享 >Unity】一步跳过Unity启动屏/Logo, 全平台适用,Unity官方API支持

Unity】一步跳过Unity启动屏/Logo, 全平台适用,Unity官方API支持

时间:2023-04-25 21:33:46浏览次数:64  
标签:启动 focusChanged Application Unity API Logo SplashScreen

Unity启动Logo让人非常不爽,因为展示unity logo非常拖沓, 延缓了打开游戏的时间,用0元购版本又怕收到律师函。

终于....刷github学习的时候意外发现一段有趣的代码,说是能跳过Unity Logo启动屏:

https://github.com/psygames/UnitySkipSplash/blob/main/SkipSplash.cs

翻了一下Unity API文档,Unity居然真的暴露了SplashScreen.Stop() 停止启动屏的API,跳过Unity Logo可是付费版用户的特权啊。居然这么草(tie)率(xin)的留出跳过logo的接口。简直是免费unity用户的福音啊!

只需要写个静态方法,使用[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSplashScreen)]即在在显示启动画面之前调用这个静态方法,在静态方法中调用SplashScreen.Stop(SplashScreen.StopBehavior.StopImmediate)来立即停止启动屏。

RuntimeInitializeLoadType

enumeration

描述

设置 RuntimeInitializeOnLoadMethod 类型。

另请参阅:RuntimeInitializeOnLoadMethodAttribute

变量

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

使用方法:

1. 将下面脚本文件直接作为Runtime代码放到项目里(注意,不是Editor代码,是运行时代码)

2. 打包->运行。果然,Unity Logo消失了,瞬间进入游戏,快速干净清爽。非常好用,无需破解,官方支持,全平台适用。

#if !UNITY_EDITOR
using UnityEngine;
using UnityEngine.Rendering;
 
[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

标签:启动,focusChanged,Application,Unity,API,Logo,SplashScreen
From: https://www.cnblogs.com/xiondun/p/17353957.html

相关文章

  • 【谷歌插件开发】获取当前网站COOKIE并上报HTTP-API
    一背景由于本人每天需要登录网站查看数据并分析统计汇总,而每次机械式地搜索和简单计算,十分繁琐。我们可以写个定时任务,每天根据cookie获取网站数据并遍历统计。脚本得以成功执行的关键是需要获取到COOKIE故,写了个谷歌插件用来上报COOKIE二代码总目录三上代码manifest......
  • Unity3D:目标约束
    推荐:将NSDT场景编辑器加入你的3D工具链3D工具集:NSDT简石数字孪生目标约束(AimConstraints)AimConstraint可旋转游戏对象以朝向其源游戏对象。还可针对另一个轴保持一致方向。例如,可将AimConstraint添加到摄像机。要在约束瞄准摄像机时保持摄像机直立,请指定摄像机的向上轴和......
  • API 自动化测试难点分享
    笔者是API管理工具的项目参与者之一,在日常工作中会经常遇到API自动化测试难点,我决定总结分享给大家: API自动化测试的难点包括:接口的参数组合较多,需要覆盖各种可能的情况。接口的状态和数据关联较多,需要验证返回结果是否符合预期。接口的并发访问和性能测试较为复杂,需......
  • C++语言亚马逊国际获取AMAZON商品详情 API接口
    跨境电子商务是一种全新的互联网电商模式,运用电子化方式促成线上跨境交易,利用跨境物流运送商品,有利于打破传统的贸易格局,成为新的经济增长点。对我国来说,跨境电商平台正用一种全新的力量改变我国产业链的结构,并有利于增加贸易机会,拓展我国外贸在国际市场的广度与深度,赢得广阔的海......
  • API网关:开源Apinto网关-上游服务篇(二)
    功能介绍服务发现是一种分布式系统中的关键技术,它能够帮助应用程序动态地发现和访问依赖的服务实例,解决了服务实例分布在不同节点上的问题。通过服务发现,应用程序可以快速找到需要调用的服务实例的位置和元数据信息,并实现负载均衡和故障恢复等功能,从而提高分布式系统的可用性和性能......
  • API网关:开源Apinto网关-上游服务篇(二)
    功能介绍服务发现是一种分布式系统中的关键技术,它能够帮助应用程序动态地发现和访问依赖的服务实例,解决了服务实例分布在不同节点上的问题。通过服务发现,应用程序可以快速找到需要调用的服务实例的位置和元数据信息,并实现负载均衡和故障恢复等功能,从而提高分布式系统的可用性和......
  • API网关:开源Apinto网关-上游服务篇(一)
    背景介绍Apinto是一款高性能、可扩展、易维护的API网关。Apinto网关基于GO语言模块化开发,5分钟极速部署,配置简单、易于维护,支持集群与动态扩容,企业级开箱即用。Apinto除了提供丰富的网关插件外,还将提供监控告警、用户角色等企业插件,同时支持自定义网关插件和可扩展企业......
  • Java代码虾皮item_search-根据关键词获取商品列表 API 接口(title商品标题、pic_url宝
     Shopee是东南亚最大的电商平台之一。Shopee拥有商品种类,包括电子消费品、家居、美容保健、母婴、服饰及健身器材等。做好shopee店铺需要注意以下几点:1.选择优质的产品2.每日上新产品3.营销策略4.引流策略5.发货的地点Java代码操作示例importjava.io.BufferedReader;impo......
  • 产品经理需要了解api接口的哪些东西
    一、作为产品经理,需要了解API接口的以下方面:功能:API接口的功能是指它提供的业务功能,包括数据查询、修改、增加、删除、计算等等,根据产品的需求确定需要调用哪些API接口。请求方式和传参:API接口的请求方式包括GET、POST、PUT、DELETE等,根据功能需要选择对应的请求方式。传参指的是使......
  • 供应商竞争情报分析工具 —— 全国招投标查询API
    引言招投标是一项非常重要的商业活动,涉及政府采购、建筑工程、物资采购等众多领域。招投标活动的开展需要广泛的信息支持,包括招标公告、中标结果、项目动态等各种信息。然而,由于信息分散、更新速度慢等原因,用户往往难以及时了解市场动态和机会,制定合理的商业决策。因此,招投标信息......