Unity学习part4
1、ui界面的基础使用
ui可以在2d和矩形工具界面下操作,更方便,画布与游戏窗口的比例一般默认相同

如图所示,图片在画布上显示的位置和在游戏窗口上显示的位置是相同的

渲染模式:屏幕空间--覆盖,指画布覆盖在游戏物体渲染画面 上,不会被游戏物体渲染的画面所遮挡。
而屏幕空间--摄像机则允许游戏物体和画布一起渲染甚至遮挡在画布之上,画布永远朝向摄像机

世界空间则允许画布进行旋转,方便做一些3d按钮.(明日方舟的主界面ui 弹幕)
而排序次序是指如果有多个ui画布,哪个画布最先被渲染 .而选择了ui缩放模式为屏幕大小缩放,固定分辨率之后,屏幕所设定的分辨率大小不会影响ui的显示效果

2、ui基础,锚点和轴心点
光线投射目标-- 指是否要进行射线检测
设置原生大小--显示图片原本的大小,因为有的图片被拉伸会模糊,需要展示原本大小
锚点是设置在父物体身上的,图像的位置是相对与锚点的偏移
锚点的最大值最小值是指四个点的比例.(锚点分散之后,被框选中的图像会随着画布大小的调整而调整 弹幕云)。

图片跟锚点的上下左右保持相同距离,当屏幕大小改变时(笔记本电脑屏幕和4k电视屏幕),锚点随之改变,则图片大小也会随之改变(跟锚点上下左右保持固定距离 但可能导致图片比例改变).如果锚点的四个点是何在一起的,则图像的位置x,y是固定不变的(2d没有z轴)
当锚点像这样上下合在一起时,屏幕进行变化时,图像只会进行宽度的拉伸,不会进行高度的变化
图像的位置其实时图像的轴心点相对于父物体锚点的偏移
3、文本组件的基本使用
旧版字体富文本是指支持html语法等写法(通过标签进行加粗、斜体等等)。水平溢出是指自动截断文本到文本框所显示位置或者多出显示框显示范围的文本依旧显示,垂直溢出相同。最佳适应是指让字体大小显示由电脑选择(和最小大小和最大尺寸配合使用)

新版文本相比旧版更像word编辑了

4、按钮
interactable为是否可交互,过渡为鼠标移动或者按下时按钮的显示情况(加深等),高亮是指鼠标移动到按钮上时,过渡可以选择颜色色彩或者 sprite交换。2d游戏时,使用图标需要是sprite类型


导航按钮主要是让手柄通过上下键选中键盘的
导航的explict类似于按钮的超链接,指该按钮按上下左右分别可以跳转到哪一个按钮。使用的效果可以达到我希望我的敌人在战场上捡到我的游戏机没法正确的使用游戏机按钮的效果 .可以取消可视化去除连线显示

可以添加鼠标点击通知事件
public class ButtonTest : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){}public void ButtonClick(){Debug.Log("click1");}
}

5、文本输入框
interactable指文本是否可以被选中 。角色限制纯纯机翻,是character limit。内容类型指可以设置输入内容为十进制、密码等。选择颜色是指文本框中字符被选中时高亮颜色。隐藏移动收入--移动端点击时会弹出输入键盘
输入文本框的事件通知和button差不多
public class ButtonTest : MonoBehaviour
{public InputField inputField; //新版的是TMP_InputField类型,来自TMPro类// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){}public void TextChanged(){Debug.Log(inputField.text);}
}

6、选项组件
ui->切换,搭配toggle group组件实现多只能选1效果,将要多选1的选项拉到同一个toggle group

获取下拉框的组件
public class DropDownTest : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){//获取下拉组件Dropdown dropdown = GetComponent<Dropdown>();//获取组件的选项List<Dropdown.OptionData> options = dropdown.options;//修改选项options.Add(new Dropdown.OptionData("俄罗斯"));}// Update is called once per framevoid Update(){}
}
要给下拉框的选项添加sprite,需要先给项图像添加图源,再配置sprite


标题图像同样如此操作(新建ui ->image,将image作为标题图像的图像源)

7、滚动条与滚动视图
可以看不同组件更改滑动条sprite

滚动条和滚动视图一般是共同使用的

如果把遮罩mask组件取消,超出图像空间外的内容也会被显示出来.

8、面板的使用
在有多个物体的情况下,要进行多屏幕适配时,需要一个个调整锚点,很不方便

这时候就可以使用面板,将多个 物体归到一个面板下,只需要调整面板的锚点即可以做多屏幕适配

9、常见的ui组件
父物体添加遮罩之后,子物体超出范围的会被遮罩

内容适应器组件,适应内容自动调整显示宽度/长度

矩形框选工具可以改变文本框的大小

vertical group layout能自动排版组件。
控制子物体大小是指子物体会随着父物体的宽度/高度改变而改变.。间距是指子物体之间的间距,填充则相当于css中的padding

水平控件同样如此

网格布局grid layout group

而滑动视图+网格布局,就可以做成背包系统的ui

到此,初阶课程完结,恭喜自己unity小学毕业,但已经在思考要不要跳到UE了,团结引擎真的无力吐槽
相关文章:
Unity学习part4
1、ui界面的基础使用 ui可以在2d和矩形工具界面下操作,更方便,画布与游戏窗口的比例一般默认相同 如图所示,图片在画布上显示的位置和在游戏窗口上显示的位置是相同的 渲染模式:屏幕空间--覆盖,指画布覆盖在游戏物体渲…...
【AI绘画】大卫• 霍克尼风格——自然的魔法(一丹一世界)
大卫• 霍克尼,很喜欢这个老头,“艺术是一场战斗”。老先生零九年有了iphone,开始用iphone画画,一零年开始用ipad画画,用指头划拉,据说五分钟就能画一幅,每天早上随手画几幅送给身边的朋友。很c…...
MySQL日志undo log、redo log和binlog详解
MySQL 日志:undo log、redo log、binlog 有什么用? 一、前言 在MySQL数据库中,undo log、redo log和binlog这三种日志扮演着至关重要的角色,它们各自承担着不同的功能,共同保障了数据库的正常运行和数据的完整性。了解…...
C++中的指针
一.指针的定义 在C中,指针是一种特殊的变量,它存储另一个变量的内存地址。简单的说,指针是指向另一个数据类型的“指针”或“引用”,我们可以通过指针来间接操作其他变量的值。 指针的基本语法: 数据类型 *指针变量名 …...
拆解微软CEO纳德拉战略蓝图:AI、量子计算、游戏革命如何改写未来规则!
2025年2月19日 知名博主Dwarkesh Patel对话微软CEO萨蒂亚纳德拉 在最新访谈释放重磅信号:AI将掀起工业革命级增长,量子计算突破引爆材料科学革命,游戏引擎进化为世界模拟器。 整个视频梳理出几大核心观点,揭示科技巨头的未来十年…...
智能算法如何优化数字内容体验的个性化推荐效果
内容概要 在数字内容体验的优化过程中,个性化推荐系统的核心价值在于通过数据驱动的技术手段,将用户需求与内容资源进行高效匹配。系统首先基于用户行为轨迹分析,捕捉包括点击频次、停留时长、交互路径等关键指标,形成对用户兴趣…...
MATLAB在数据分析和绘图中的应用:从基础到实践
引言 股票数据分析是金融领域中的重要研究方向,通过对历史价格、成交量等数据的分析,可以帮助投资者更好地理解市场趋势和做出决策。MATLAB作为一种强大的科学计算工具,提供了丰富的数据处理和可视化功能,非常适合用于股票数据的…...
AI客服-接入deepseek大模型到微信(本地部署deepseek集成微信自动收发消息)
1.本地部署 1.1 ollama Ollama软件通过其高度优化的推理引擎和先进的内存管理机制,显著提升了大型语言模型在本地设备上的运行效率。其核心采用了量化技术(Quantization)以降低模型的计算复杂度和存储需求,同时结合张量并行计算&…...
Host文件没有配置ip解析,导致请求接口速度慢
Linux访问第三方接口速度慢 现象 在测试环境,Linux的服务器中,要访问第三方接口;速度有时快,有时慢。 有时候第一次访问比较慢,第二次访问比较快。第三方人员,排查之后,第三方接口没有问题&am…...
excel导入Mysql中时间格式异常
问题描述: 当使用xls/xlsx/csv导入mysql中,如果列是时间类型比如excel表中显示2024/02/20 09:18:00,导入后时间可能就会变成1900-01-01 09:18:00这样。 问题原因: 这是由于excel表中和数据库中的时间类型不匹配导致。 问题解决…...
vue 判断一个属性值,如果是null或者空字符串或者是空格没有值的情况下,赋值为--
在 Vue 中,可以通过多种方式来判断一个属性值是否为 null、空字符串或者仅包含空格,如果满足这些条件则将其赋值为 --。下面分别介绍在模板和计算属性、方法中实现的具体做法。 1. 在模板中直接判断 如果只需要在模板中对属性值进行显示处理,…...
JavaWeb-Tomcat服务器
文章目录 Web服务器存在的意义关于Web服务器软件Tomcat服务器简介安装Tomcat服务器Tomcat服务器源文件解析配置Tomcat的环境变量启动Tomcat服务器一个最简单的webapp(不涉及Java) Web服务器存在的意义 我们之前介绍过Web服务器进行通信的原理, 但是我们当时忘记了一点, 服务器…...
vue语法---样式操作-行内样式
文章目录 直接写死的行内样式v-bind绑定对象(静态样式)对象数组 直接写死的行内样式 <template><div v-bind:style"{color:red}">睡觉</div> </template><script>export default{data() {return {}},methods:{}, mounted(){},} </…...
封装一个echarts的组件
父组件页面 <yyjlchartv-if"showyyjl"chartId"yyjllLine":sourceData"sourceDatayyjl":options"optionsyyjl"></yyjlchart>components: {LineEcharts,yyjlchart: () > import("../yyjlchart"),},data() {re…...
计算机网络安全之一:网络安全概述
1.1 网络安全的内涵 随着计算机和网络技术的迅猛发展和广泛普及,越来越多的企业将经营的各种业务建立在Internet/Intranet环境中。于是,支持E-mail、文件共享、即时消息传送的消息和协作服务器成为当今商业社会中的极重要的IT基础设施。然而࿰…...
Linux 性能调优简单指南
一、性能调优概述 Linux 性能调优是系统运维的核心任务之一,目的是通过资源分配、参数优化和瓶颈消除,提升系统运行效率和稳定性。调优需遵循以下原则: 基于数据驱动:使用监控工具精准定位瓶颈分层逐级分析:从硬件到应用的逐层排查变更可回溯:单变量调整并记录结果场景适…...
第十一章: vue2-3 生命周期
创建 挂载 更新 销毁 四个阶段 > 生命周期函数 生命周期钩子 created mounted 创建vue2 的脚手架: vue create vue2_test v-show"isShow" v-if "isShow" 这里的isShow 表示一个函数 let isShow "true" <tem…...
【算法基础】--前缀和
前缀和 一、一维前缀和示例模板[寻找数组的中心下标 ](https://leetcode.cn/problems/tvdfij/description/)除自身以外的数组乘积和可被k整除的子数组 一、一维前缀和 前缀和就是快速求出数组某一个连续区间内所有元素的和。 示例模板 已知一个数组arr,求前缀和 …...
输入搜索、分组展示选项、下拉选取,el-select 实现:即输入关键字检索,返回分组选项,选取跳转到相应内容页 —— VUE 项目-全局模糊检索
后端数据代码写于下一篇:输入搜索、分组展示选项、下拉选取,全局跳转页,el-select 实现 —— 后端数据处理代码,抛砖引玉展思路 【效果图】:分组展示选项 【去界面操作感受一下】—> 便捷简洁的企业官网 【录制效…...
Web入侵实战分析-常见web攻击类应急处置实验2
场景说明 某天运维人员,发现运维的公司站点被黑页,首页标题被篡改,你获得的信息如下: 操作系统:windows server 2008 R2业务:公司官网网站架构:通过phpstudy运行apache mysqlphp开放端口&…...
Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
循环冗余码校验CRC码 算法步骤+详细实例计算
通信过程:(白话解释) 我们将原始待发送的消息称为 M M M,依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)(意思就是 G ( x ) G(x) G(x) 是已知的)࿰…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
Python爬虫实战:研究feedparser库相关技术
1. 引言 1.1 研究背景与意义 在当今信息爆炸的时代,互联网上存在着海量的信息资源。RSS(Really Simple Syndication)作为一种标准化的信息聚合技术,被广泛用于网站内容的发布和订阅。通过 RSS,用户可以方便地获取网站更新的内容,而无需频繁访问各个网站。 然而,互联网…...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
测试markdown--肇兴
day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...
第25节 Node.js 断言测试
Node.js的assert模块主要用于编写程序的单元测试时使用,通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试,通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
