unity学习54:图片+精灵+遮罩mask,旧版文本 text 和新的TMP文本
目录
1 图片 image
1.1 如果直接导入image
1.2 图片 image 和精灵 sprite
1.2.1 继续修改上面的格式 texture type 是default
1.2.2 再次关联到UI的 image 物体上就可以了
1.3 图片和遮罩 mask
1.3.1 创建1个父物体和1个子物体,分别都是image
1.3.2 如果父物体增加一个 mask的component
1.3.3 那什么是UI里所说的遮罩 mask ? 补集
2 text:新旧2种文本
2.1 区别
2.2 下面新建2种 text进行测试
3 旧版文本: legacy - text
3.1 文本的属性
3.2 文本的默认
3.3 支持富文本
3.4 支持溢出 和截断处理
3.5 best fit 时,文本框大小不变,自动修改字体的大小保证全部显示
3.6 color
3.7 raycast
4 新版文本: text TMP/TextMesh Pro
4.1 创建后,需要import这个TMP包
4.2 新版 tmp-text 的属性
4.3 设置文本的各种类型
4.4 字体 font 相关
4.5 color 且有渐变色
4.6 间隔设置等
4.7 对齐 alignment 和 overflow 溢出处理
5 内容适应器: content size fitter
(根据文字内容,动态调整文本框的大小,和前面不同)
1 图片 image
- UI的基础就是图片
- 可以把canvas , panel 都看成图片
- 尤其是panel面板是自带 image这个componet的,本身就是一个用图片改的容器
1.1 如果直接导入image
- 我从网上直接down一个图下来,png的
- 可以直接拖到project里
- 可以看到 texture type 是default

- 会发现如果往UI里新建的image对象的 源图像里拖入
- 无法拖入
- 这是为什么? 因为 这个源图像,格式不对

1.2 图片 image 和精灵 sprite
- 图片导入unity后,有很多种格式
- 一般来说, image 都是默认格式
- 但是如果需要在2D 或者 UI下使用,必须先把图片类型修改为 sprite才可以
1.2.1 继续修改上面的格式 texture type 是default
- 继续修改上面的格式 texture type 是 sprite

1.2.2 再次关联到UI的 image 物体上就可以了


1.3 图片和遮罩 mask
1.3.1 创建1个父物体和1个子物体,分别都是image
- 创建1个父物体和1个子物体,分别都是image
- 可以发现子物体,可以显示超过父物体,显示在外面

1.3.2 如果父物体增加一个 mask的component
如果父物体增加一个 mask的component

1.3.3 那什么是UI里所说的遮罩 mask ? 补集
- 我理解,就是除了这个 图片,外面所有的地方都是遮罩
- 也就是,灰色的区域
- 灰色区域:一个挖了一个洞的整个图都是mask
- 从数学的概念理解: 就是imageA的 补集 = 全集合 - imageA

2 text:新旧2种文本
2.1 区别
- 虽然是2套
- 每套里,包含4个: 文本,按钮,下拉框,输入框。每套里,实际是只有文本不同
- 比如,新版TMP的按钮,只是button上的文本用的新版的text-tmp 其他都一样
- 第1套: 文本,按钮,下拉框,输入框
- 第2套 TMP: TMP文本,TMP按钮,TMP下拉框,TMP输入框

2.2 下面新建2种 text进行测试

3 旧版文本: legacy - text
3.1 文本的属性


3.2 文本的默认
- legacy - text
- 默认是黑色,而且字体很小,要注意。。。。
3.3 支持富文本
- 富文本的语法,类html那种


3.4 支持溢出 和截断处理
对比下效果很明显


3.5 best fit 时,文本框大小不变,自动修改字体的大小保证全部显示
- best fit 时,文本框大小不变,自动修改字体的大小保证全部显示
- 但是字体的大小范围还是有限制



3.6 color

3.7 raycast
如果不勾选,则无法被点击操作等选中
4 新版文本: text TMP/TextMesh Pro
4.1 创建后,需要import这个TMP包


4.2 新版 tmp-text 的属性

4.3 设置文本的各种类型

4.4 字体 font 相关
很多内容
字体库,材质,模式。大小等等

4.5 color 且有渐变色

4.6 间隔设置等
各种间隔设置
- 字符之间的
- 词语之间的
- 行之间的
- 段落之间的

4.7 对齐 alignment 和 overflow 溢出处理

5 内容适应器: content size fitter
(根据文字内容,动态调整文本框的大小,和前面不同)
一个文本框显示效果

可以动态根据文字内容,实时动态的修改文本框的大小,去适应文字内容




这样就会自动根据文字内容,调整文本框大小了
相关文章:
unity学习54:图片+精灵+遮罩mask,旧版文本 text 和新的TMP文本
目录 1 图片 image 1.1 如果直接导入image 1.2 图片 image 和精灵 sprite 1.2.1 继续修改上面的格式 texture type 是default 1.2.2 再次关联到UI的 image 物体上就可以了 1.3 图片和遮罩 mask 1.3.1 创建1个父物体和1个子物体,分别都是image 1.3.2 如果父…...
2024年国赛高教杯数学建模D题反潜航空深弹命中概率问题解题全过程文档及程序
2024年国赛高教杯数学建模 D题 反潜航空深弹命中概率问题 原题再现 应用深水炸弹(简称深弹)反潜,曾是二战时期反潜的重要手段,而随着现代军事技术的发展,鱼雷已成为现代反潜作战的主要武器。但是,在海峡或…...
什么是数字人
什么是数字人 Ultralight-Digital-Human 是一个能在移动设备上实时运行的数字人模型仓库,可能是第一个开源的如此轻量级的数字人模型。 主要特点 轻量级:能够在移动设备上实时运行。开源:代码和模型公开,方便开发者使用和改进。文件结构 根目录: README.md:项目的说明文…...
15.5 基于 RetrievalQA 的销售话术增强系统实战:构建智能销售大脑
基于 RetrievalQA 的销售话术增强系统实战:构建智能销售大脑 关键词:RetrievalQA 应用实战、销售知识增强、语义检索优化、上下文感知问答、多源知识融合 1. RetrievalQA 技术原理与销售场景适配 1.1 RetrievalQA 核心工作机制 #mermaid-svg-VL2yIusgl4oprXUr {font-family…...
软件供应链安全工具链研究系列—RASP自适应威胁免疫平台(下篇)
在“软件供应链安全工具链研究系列—RASP自适应威胁免疫平台-上篇”中我们提到了RASP工具的基本能力、原理以及工具的应用场景,了解到了RASP工具在各场景下发挥的价值。那么在当今高强度攻防对抗的大场景下,RASP作为最后一道防线,不论是从高危…...
WordPress网站502错误全面排查与解决指南
502 Bad Gateway错误是WordPress站长最常遇到的服务器问题之一,它意味着服务器作为网关或代理时,未能从上游服务器获取有效响应。针对WP可能出现的502问题,本文提供一些基础到进阶的解决方案供大家参考:) 一、502错误的本质和核心诱因 502错误属于HTTP状态码中的5xx系列,…...
PCL源码分析:曲面法向量采样
文章目录 一、简介二、源码分析三、实现效果参考资料一、简介 曲面法向量点云采样,整个过程如下所述: 1、空间划分:使用递归方法将点云划分为更小的区域, 每次划分选择一个维度(X、Y 或 Z),将点云分为两部分,直到划分区域内的点少于我们指定的数量,开始进行区域随机采…...
HTTP 动态报错码的原因和解决方法
目录 1xx(信息性状态码) 2xx(成功状态码) 3xx(重定向状态码) 4xx(客户端错误状态码) 5xx(服务器错误状态码) 参考文章 以下是 HTTP 动态报错码的常见原…...
1分钟用DeepSeek编写一个PDF转Word软件
一、引言 如今,在线工具的普及让PDF转Word成为了一个常见需求,常见的pdf转word工具有收费的wps,免费的有pdfgear,见下文: PDFgear:一款免费的PDF编辑、格式转化软件-CSDN博客 还有网上在线的免费pdf转word工具smallp…...
生成对抗网络(GAN)
生成对抗网络(GAN):生成对抗网络是一种深度学习模型,由 Ian Goodfellow 等人在 2014 年提出。GAN由生成器和判别器组成,生成器生成假数据,判别器区分真假数据。两者通过对抗训练不断提升,最终生成器能够生成…...
openlayers结合turf geojson面获取面积和中心点
在 OpenLayers 中绘制 GeoJSON 面要素并计算面积和中心点,可以结合 OpenLayers 的 ol/format/GeoJSON 模块将 GeoJSON 数据转换为 OpenLayers 的 Feature,然后使用 Turf.js 进行计算。示例代码如下 import Map from ol/Map; import View from ol/View; …...
【SRC实战】修改金币数量实现财富自由
01 — 漏洞证明 1、进入阅读奖励 2、此时金币数量0 3、来到新手福利处 4、观看广告获取奖励 5、由于int整型范围-2147483648~2147483647,避免溢出,此处修改请求包中coinNum参数为2147483640 6、返回查看金币数量变为2147483640 02 — 漏洞…...
地理数据可视化:飞线说明(笔记)
//主要代码 //黄色飞线s_data.push({type: lines,zlevel: 2,effect: {//线上的箭头效果show: true,period: 1.5,//控制点的流动速度,数越小流动的速度越快trailLength: 0.1,//动画的拖尾时长// color: #2ef358,color: #ffeb40,symbol: planePath,//控…...
2024最新版鸿蒙纯血原生应用开发教程文档丨学习ArkTS语言-基本语法
ArkTS是HarmonyOS的主要应用开发语言,在TypeScript基础上进行了扩展,保留了其基本风格,并通过增强静态检查和分析来提高程序的稳定性和性能。本教程将帮助开发者掌握ArkTS的核心功能、语法及最佳实践,以便高效地构建高性能移动应用…...
微信小程序-二维码绘制
wxml <view bindlongtap"saveQrcode"><!-- 二维码 --><view style"position: absolute;background-color: #FFFAEC;width: 100%;height: 100vh;"><canvas canvas-id"myQrcode" style"width: 200px; height: 200px;ba…...
轻量化网络设计|ShuffleNet:深度学习中的轻量化革命
一、引言 在深度学习中,卷积神经网络(Convolutional Neural Networks,CNN)无疑是大家最耳熟能详的算法之一。自诞生以来,CNN 在图像分类、目标检测、语义分割等众多计算机视觉任务中取得了令人瞩目的成就,…...
一天记20个忘10个之五:land
一天记20个忘10个之五:land land n.陆地,土地 v.着陆,降落 // la-拉、宽广 nd后缀 字面义:宽广的土地 陆地 landing n.着陆,降落lander n.登陆车,着陆者 派生: island岛,岛屿 //isle(n.用于…...
Python 类(创建和使用类)
面向对象编程 是最有效的软件编写方法之一。在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。编写类时,你定义一大类对 象都有的通用行为。基于类创建对象 时,每个对象都自动具备这种通用行为&am…...
LeetCode 解题思路 3(Hot 100)
解题思路: 初始化指针: 左指针指向数组起始位置,右指针指向数组末尾。计算当前面积: 左右指针相遇前所围成的矩形面积。更新最大面积: 比较当前面积与已知最大面积。移动指针: 移动较高指针无法获得更…...
算法-二叉树篇11-左叶子之和
左叶子之和 力扣题目链接 题目描述 给定二叉树的根节点 root ,返回所有左叶子之和。 解题思路 层次遍历的时候,保留每层第一个节点并相加即可。 题解 class Solution { public:int sumOfLeftLeaves(TreeNode* root) {if(root NULL){return 0;}re…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
遍历 Map 类型集合的方法汇总
1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...
关于nvm与node.js
1 安装nvm 安装过程中手动修改 nvm的安装路径, 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解,但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后,通常在该文件中会出现以下配置&…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
