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开放端口&…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
SpringCloudGateway 自定义局部过滤器
场景: 将所有请求转化为同一路径请求(方便穿网配置)在请求头内标识原来路径,然后在将请求分发给不同服务 AllToOneGatewayFilterFactory import lombok.Getter; import lombok.Setter; import lombok.extern.slf4j.Slf4j; impor…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
多模态图像修复系统:基于深度学习的图片修复实现
多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...
掌握 HTTP 请求:理解 cURL GET 语法
cURL 是一个强大的命令行工具,用于发送 HTTP 请求和与 Web 服务器交互。在 Web 开发和测试中,cURL 经常用于发送 GET 请求来获取服务器资源。本文将详细介绍 cURL GET 请求的语法和使用方法。 一、cURL 基本概念 cURL 是 "Client URL" 的缩写…...
如何配置一个sql server使得其它用户可以通过excel odbc获取数据
要让其他用户通过 Excel 使用 ODBC 连接到 SQL Server 获取数据,你需要完成以下配置步骤: ✅ 一、在 SQL Server 端配置(服务器设置) 1. 启用 TCP/IP 协议 打开 “SQL Server 配置管理器”。导航到:SQL Server 网络配…...
