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…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...

ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...

SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码
目录 一、👨🎓网站题目 二、✍️网站描述 三、📚网站介绍 四、🌐网站效果 五、🪓 代码实现 🧱HTML 六、🥇 如何让学习不再盲目 七、🎁更多干货 一、👨…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...

UE5 音效系统
一.音效管理 音乐一般都是WAV,创建一个背景音乐类SoudClass,一个音效类SoundClass。所有的音乐都分为这两个类。再创建一个总音乐类,将上述两个作为它的子类。 接着我们创建一个音乐混合类SoundMix,将上述三个类翻入其中,通过它管理每个音乐…...
2.2.2 ASPICE的需求分析
ASPICE的需求分析是汽车软件开发过程中至关重要的一环,它涉及到对需求进行详细分析、验证和确认,以确保软件产品能够满足客户和用户的需求。在ASPICE中,需求分析的关键步骤包括: 需求细化:将从需求收集阶段获得的高层需…...