保举阅读
- CSDN主页
- GitHub开源地点
- Unity3D插件分享
- 简书地点
- 我的个人博客
各人好,我是佛系工程师☆舒适的小魔龙☆,不定时更新Unity开辟本事,以为有效记得一键三连哦。
一、前言
在步伐开辟中,经常会遇到Unity中Text文字不清晰的标题,大多数情况是由于字体太小,造成了在分辨率下的文字的暗昧标题,如下图所示:

虽然在编辑器中Scene视图中看起来效果还行,但是,到Game视图就有点失真了。
二、办理方案
遇到上述标题,比较简单的方式是增长字号巨细,但是字号巨细增长之后在当前的宽高下就会显示不全,但是增大宽高后团体的结构就不对了,就必要调解缩放,总结一下就是:
- (1)增长字号巨细,为了方便就增长一倍
- (2)调解宽高为一倍巨细
- (3)调解缩放为原来的一半
原来的Text:

调解后:

可以显着看出来区别:

三、做成小工具
3-1、做成工具
为了方便写了一个小脚本,可以快速的完成这些操作,新建脚本ReplaceTheFont.cs,将脚本放到Editor文件夹中,双击打开脚本修改代码:
- using UnityEditor;
- using UnityEngine;
- using UnityEngine.UI;
- public class ReplaceTheFont : Editor
- {
- [MenuItem("Tools/优化Text清晰度")]
- public static void UpdateText()
- {
- //寻找Hierarchy面板下所有的Text
- var tArray = Resources.FindObjectsOfTypeAll(typeof(Text));
- for (int i = 0; i < tArray.Length; i++)
- {
- Text t = tArray[i] as Text;
- //记录对象
- Undo.RecordObject(t, t.gameObject.name);
- t.fontSize = t.fontSize * 2;
- t.GetComponent<RectTransform>().sizeDelta = new Vector2(t.GetComponent<RectTransform>().rect.width * 2, t.GetComponent<RectTransform>().rect.height * 2);
- t.GetComponent<RectTransform>().localScale = new Vector3(t.GetComponent<RectTransform>().localScale.x / 2, t.GetComponent<RectTransform>().localScale.y / 2, t.GetComponent<RectTransform>().localScale.z / 2);
- //设置已改变
- EditorUtility.SetDirty(t);
- }
- Debug.Log("完成");
- }
- }
复制代码 效果,完成了:

3-2、根据粉丝的代码进行了优化
如图:

代码更新后:
- using UnityEditor;
- using UnityEngine;
- using UnityEngine.UI;
- public class ReplaceTheFont : Editor
- {
- [MenuItem("Tools/优化Text清晰度")]
- public static void UpdateText()
- {
- //寻找Hierarchy面板下所有的Text
- var tArray = Resources.FindObjectsOfTypeAll(typeof(Text));
- for (int i = 0; i < tArray.Length; i++)
- {
- Text t = tArray[i] as Text;
- //记录对象
- Undo.RecordObject(t, t.gameObject.name);
- t.fontSize = t.fontSize * 2;
- //t.GetComponent<RectTransform>().sizeDelta = new Vector2(t.GetComponent<RectTransform>().rect.width * 2, t.GetComponent<RectTransform>().rect.height * 2);
- SetRectTransformSize(t.GetComponent<RectTransform>(), t.GetComponent<RectTransform>().sizeDelta);
- t.GetComponent<RectTransform>().localScale = new Vector3(t.GetComponent<RectTransform>().localScale.x / 2, t.GetComponent<RectTransform>().localScale.y / 2, t.GetComponent<RectTransform>().localScale.z / 2);
- //设置已改变
- EditorUtility.SetDirty(t);
- }
- Debug.Log("完成");
- }
- public static void SetRectTransformSize(RectTransform rt, Vector2 size)
- {
- Vector2 oldSize = rt.rect.size;
- Vector2 deltaSize = size - oldSize;
- rt.offsetMin = rt.offsetMin - new Vector2(deltaSize.x * rt.pivot.x, deltaSize.y * rt.pivot.y);
- rt.offsetMax = rt.offsetMax + new Vector2(deltaSize.x * (1f - rt.pivot.x), deltaSize.y * (1f - rt.pivot.y));
- }
- }
复制代码 四、跋文
本日写了提高Text清晰度的小工具,渴望可以帮到各人,提升效率。
有什么标题,及时联系我。
你的点赞就是对博主的支持,有标题记得留言:
博主主页有联系方式。
博主另有跟多宝藏文章等待你的发掘哦:
专栏方向简介Unity3D开辟小游戏小游戏开辟教程分享一些使用Unity3D引擎开辟的小游戏,分享一些制作小游戏的教程。Unity3D从入门到进阶入门从自学Unity中获取灵感,总结从零开始学习Unity的蹊径,有C#和Unity的知识。Unity3D之UGUIUGUIUnity的UI体系UGUI全分析,从UGUI的底子控件开始讲起,然后将UGUI的原理,UGUI的使用全面教学。Unity3D之读取数据文件读取使用Unity3D读取txt文档、json文档、xml文档、csv文档、Excel文档。Unity3D之数据聚集数据聚集数组聚集:数组、List、字典、堆栈、链表等数据聚集知识分享。Unity3D之VR/AR(假造仿真)开辟假造仿真总结博主工作常见的假造仿真需求进行案例解说。Unity3D之插件插件重要分享在Unity开辟中用到的一些插件使用方法,插件先容等Unity3D之一样平常开辟一样平常记载重要是博主一样平常开辟中用到的,用到的方法本事,开辟思绪,代码分享等Unity3D之一样平常BUG一样平常记载记载在使用Unity3D编辑器开辟项目过程中,遇到的BUG和坑,让厥后人可以有些参考。
来源:https://blog.csdn.net/q764424567/article/details/128662973
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |