如何修改java启动界面_unity启动界面splash的设置和研究(logo过大,背景模糊)...

本文主要是介绍如何修改java启动界面_unity启动界面splash的设置和研究(logo过大,背景模糊)...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

unity自带的splash功能在player setting下设置:

530c5f8ea7085451d506f2b6b1f476b0.png

常用的配置选项一般都能看懂,使用中有两个问题

1.  怎样把logo缩小

logo配背景图的方式下,logo会非常大,比较难看,原因是logo图的大小是固定的,而且宽度占据屏幕宽度的一半以上。

比如logo设为这个:

79e435a566412253ec81d282f706c3f9.png

spalsh显示效果如图:

66e501fde9705b19efcc3e52a682035a.png

想要把logo缩小,怎么办?

解决办法是,设置纯色背景,将logo缩小,放在一张大图之中比如logo.png,logo.png的背景设为和splash background color同色。

比如背景如果是白的,logo.png的背景也设为白的

a38dd7e28fed3ea09076f2d6fa859a2a.png

这样,logo.png占据屏幕正中的时候,真正的logo只占了屏幕正中的一小部分,实现了logo的缩小。

72769acb3f0032a3408e0051b7edb8ef.png

8436061230bca2e7da2ed34950c0c7a7.png

注意,logo.png的logo之外的背景不能设为透明

019d34b2c0bc4a028a68b6b098c00b62.png

像上图这样设完,unity还是会自动放大logo。

227c61408e4e755868fbd82b532181fa.png

1b62a7c33acec146709beaa6f06fbd1f.png

那么,背景不想设为纯色,而是设为背景图片该怎么办?利用上面过程之中发现的特点,有个取巧的办法,我们在制作纯色png的logo时,在图片相对的两个角落里根据背景图片的相近颜色点上两个点。

比如我就在图中红圈的位置点了两个白点:

c88e43926812268f95fa78bbff470f61.png

然后使用一张白色比较多的背景图片:

700f177df234d35015038389c877f847.png

效果就是这样的了:

5c3e7a210d04da48243cf184a44d1d17.png

2.  背景清晰

但这种方式设置完的splash背景总是模糊的,该怎么办?

可以关掉show spalsh screen,然后在static spalsh image里设一张带有logo和背景的大图,scaling选scale to fill(cropped)比如下面:

25ffbe217165a87765f51bb80e10e03e.png

效果就是这样了,非常清晰:

230a3d579d144222bb52338a21734faf.png

scalling一共有三种方式:

Center (only scale down) will try to draw your image "pixel correct", with no scaling unless needed to fit it on screen.

居中(只是缩小),以正确的像素显示图片,不会缩放图片除非需要。

Scale to fit (letter-boxed) will try to draw your image full screen, but without cropping it, an fill the empty space with black pixels.

自适应缩放大小(高宽比不变)尝试满屏显示,但不会裁剪,并用黑色填充空白的地方。

Scale to fill (cropped) will draw your image full screen, and cut the parts which extend outside the screen.

自适应填充(裁切不正的)满屏显示,屏幕外的部分将不显示。

一般我们选第三种。这三种方式的区别,如果图比较大,前两种是没什么区别的,但是当换成比较小的图时就可以看出三种方式的区别了:

Center (only scale down) ,只是缩小,不会放大:

dd2eccf3a95f26d85b4439b7cbc8ae53.png

(注意此种方式,当你图片非常大,但是比例和屏幕比例不一致时,会保持原图长宽比不变进行简单地缩小,直到屏幕能显示图片所有内容为止,所以也会出现黑边)

比如原图是这样的:

3eeeb95df8c01f16553fdc7e172408fb.png

显示效果是这样的:

9aa6f1caff0dd0604cd39a66d8cf139d.png

Scale to fit (letter-boxed),这种情况下只要比例不合,无论图片过小还是过大,都会尝试等比例缩小或扩大图片,以显示图片全部内容,并保持图片的长或宽充满屏幕。

b550be9635dd5126a80a25010c6b838d.png

Scale to fill (cropped),当图片过大,等比例缩小直到图片的长和宽之中有一个和屏幕正好相等。当图片过小,则等比例拉伸直到没有黑边。

ebb44f37f05ef2e65442875e1cfa4a50.png

3. 背景既要清晰,又要logo的动画,该怎么做?

这个更简单,先在static spalsh image里设一张没有logo的清晰背景大图。然后把你的第一个scene里写一段logo的动画,背景还是static spalsh image里那张背景大图。这样程序启动时,先显示背景,然后进入scene之中显示带背景的logo动画。

不过需要掌握好图片被裁切的比例和大小,以免被人看出scene之间的切换。

这篇关于如何修改java启动界面_unity启动界面splash的设置和研究(logo过大,背景模糊)...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/321971

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Springboot @Autowired和@Resource的区别解析

《Springboot@Autowired和@Resource的区别解析》@Resource是JDK提供的注解,只是Spring在实现上提供了这个注解的功能支持,本文给大家介绍Springboot@... 目录【一】定义【1】@Autowired【2】@Resource【二】区别【1】包含的属性不同【2】@

springboot循环依赖问题案例代码及解决办法

《springboot循环依赖问题案例代码及解决办法》在SpringBoot中,如果两个或多个Bean之间存在循环依赖(即BeanA依赖BeanB,而BeanB又依赖BeanA),会导致Spring的... 目录1. 什么是循环依赖?2. 循环依赖的场景案例3. 解决循环依赖的常见方法方法 1:使用 @La

Java枚举类实现Key-Value映射的多种实现方式

《Java枚举类实现Key-Value映射的多种实现方式》在Java开发中,枚举(Enum)是一种特殊的类,本文将详细介绍Java枚举类实现key-value映射的多种方式,有需要的小伙伴可以根据需要... 目录前言一、基础实现方式1.1 为枚举添加属性和构造方法二、http://www.cppcns.co

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis