unity学习51:所有UI的父物体:canvas画布
目录
1 下载资源
1.1 在window / Asset store下下载一套免费的UI资源
1.2 下载,导入import
1.3 导入后在 project / Asset下面可以看到
2 画布canvas,UI的父物体
2.1 创建canvas
2.1.1 画布的下面是 event system是UI相关的事件系统
2.2 canvas基础
2.2.1 切换到2D
2.2.2 使用矩形工具操作UI
2.3 canvas 的白色线框是什么?
2.3.1 canvas 的白色线框,就是game窗口的边界
编辑
2.3.2 下面的UI实验
2.3.3 理解摄像机camera 前景框,就是UI的边界
2.4 创建一个测试的UI
3 canvas的属性
3.1 raycaster
3.2 sacler 缩放
3.2.1 UI的缩放
3.2.1 默认模式: constant pixel size 恒定像素大小
3.2.2 scale with screen size 随着屏幕大小缩放
3.2.3 constant physicl size 恒定物理大小
4 canvas / render mode 渲染模式
4.1 screen space -overlay 覆盖
4.2 screen space -camera
4.2.1 现在这种情况下,canvas永远面向摄像机
4.2.2 物体遮挡UI
4.2.3 UI完全遮挡了物体
4.3 world space
5 sort order
1 下载资源
1.1 在window / Asset store下下载一套免费的UI资源



1.2 下载,导入import

1.3 导入后在 project / Asset下面可以看到

2 画布canvas,UI的父物体
- UI最基础,最底层的就是画布 canvas
- 可以认为是一张,画画基础的白纸
- 也可以认为是最底层的容器吧
- UI的所有内容都必须在canvas上
- UI必须是其他UI内容的父物体

2.1 创建canvas
- UI/ canvas

2.1.1 画布的下面是 event system是UI相关的事件系统
- 创建CANVAS的同时
- 会自动创建一个event system


2.2 canvas基础
- canvas 就是一个白色的虚线框

2.2.1 切换到2D

2.2.2 使用矩形工具操作UI

2.3 canvas 的白色线框是什么?
2.3.1 canvas 的白色线框,就是game窗口的边界
- canvas 的白色线框,就是game窗口的边界
- game窗口不要黑色填充的那部分的边界
2.3.2 下面的UI实验
- 当 game 游戏窗口时 free aspect的情况下
- 随便缩放game窗口,UI线框会跟着变化,变形

- 当 game 游戏窗口时 free aspect的情况下
- 随便缩放game窗口,UI线框会跟着变化,变大变小,而且可能变形

- 当 game 游戏窗口时 16/9 aspect的情况下
- 随便缩放game窗口,UI线框会跟着变化,变大变小,但是一直保持16/9 不变形

2.3.3 总结:UI,完全跟着游戏game窗口的分辨率走,决定最终显示效果
- game窗口的比例,会决定UI的比例
2.3.4 理解摄像机camera 前景框,就是UI的边界
- 摄像机camera,有一个大的锥形盒子
- 摄像机camera 前景框,就是UI的边界
- 后面都是景深内容
- camera 前景框
- 在UI的渲染模式:屏幕空间--摄像机的选择下,也就是UI
2.4 创建一个测试的UI
- 创建 canvas
- 在canvas下,创建子物体 UI/image
- 给image选择一个图片


3 canvas的属性

3.1 raycaster
- 就是之前的 ray 检测。判断人在UI点击位置的
3.2 sacler 缩放
3.2.1 UI的缩放
- UI的缩放是一个很重要的问题
- 因为unity游戏世界 scene里的其他gameObject,都没有这个问题,只有UI有这个问题
- 因为UI要求无论什么分辨率下,都显示相同的效果
- 其他gameObject 都是随着分辨率,缩放的


3.2.2 默认模式: constant pixel size 恒定像素大小
- constant pixel size 恒定的像素
- 默认的缩放模式:constant pixel size 按像素大小缩放
- 我理解就是大分辨率下,恒定的像素就看起来小了
下面2个图分别是这个模式下
- 1920;1080
- 16:9
- 两种结果下不同的分辨率


3.2.3 scale with screen size 随着屏幕大小缩放
- scale with screen size 随着屏幕大小缩放
- 保持某一种屏幕分辨率,无论屏幕怎么缩放,都坚持为这种分辨下的效果

下面2个图分别是这个模式下
- 1920;1080
- 16:9
- 两种结果下不同的分辨率
- 图片固定为1920:1080了,game窗口变成16:9,UI效果完全不变


3.2.4 constant physicl size 恒定物理大小
- constant physicl size
4 canvas / render mode 渲染模式


- screen space -overlay // ui 的内容,永远覆盖在摄像机内容的上面
- screen space -camera // UI也用camera来渲染,总是在camera的正面,且可能场景里更近的东西遮挡UI
- world space //也是camera来渲染。且UI 类gameObject 可以旋转,斜着,等等
4.1 screen space -overlay 覆盖
- ui 的内容,永远覆盖在摄像机内容的上面
- 最常用模式
- 不需要专门的摄像机
- 内容直接覆盖在其他摄像机内容之上!!!就是这么霸道
4.2 screen space -camera
// UI也用camera来渲染,总是在camera的正面,且可能场景里更近的东西遮挡UI
- 选择这个模式
- 需要给 关联一个camera


4.2.1 现在这种情况下,canvas永远面向摄像机
- 现在这种情况下,canvas永远面向摄像机
- 否则UI不能被渲染
4.2.2 物体遮挡UI


4.2.3 UI完全遮挡了物体

4.3 world space
- 也是camera来渲染。
- 也需要关联一个摄像机
- 且UI 类gameObject 可以旋转,斜着,等等
- 选择这个模式后,上面的旋转属性等不再灰色,可以编辑

可以实现这种斜着的效果

5 sort order
- 如果有多个canvas
- 这个order决定显示,覆盖的优先级

相关文章:
unity学习51:所有UI的父物体:canvas画布
目录 1 下载资源 1.1 在window / Asset store下下载一套免费的UI资源 1.2 下载,导入import 1.3 导入后在 project / Asset下面可以看到 2 画布canvas,UI的父物体 2.1 创建canvas 2.1.1 画布的下面是 event system是UI相关的事件系统 2.2 canvas…...
ctfshow做题笔记—栈溢出—pwn57~pwn60
目录 前言 一、pwn57(先了解一下简单的64位shellcode吧) 二、pwn58 三、pwn59(64位 无限制) 四、pwn60(入门难度shellcode) 前言 往前写了几道题,与shellcode有关,关于shellc…...
数据结构 1-2 线性表的链式存储-链表
1 原理 顺序表的缺点: 插入和删除移动大量元素数组的大小不好控制占用一大段连续的存储空间,造成很多碎片 链表规避了上述顺序表缺点 逻辑上相邻的两个元素在物理位置上不相邻 头结点 L:头指针 头指针:链表中第一个结点的存储…...
ArcGIS Pro进行坡度与坡向分析
在地理信息系统中,坡度分析是一项至关重要的空间分析方法,旨在精确计算地表或地形的坡度,为地形特征识别、土地资源规划、环境保护、灾害预警等领域提供科学依据。本文将详细介绍如何利用ArcGIS Pro这一强大的地理信息系统软件,进…...
My first Android application
界面元素组成: 功能代码: /*实现功能:当输入内容后,欢迎文本发生相应改变,并清除掉文本域内容当未输入任何内容时,弹出提示文本以警告用户*/val greetingText findViewById<TextView>(R.id.printer)…...
ZLMediaKi集群设置
要在集群环境中部署 ZLMediaKit,您可以按照以下步骤进行操作。ZLMediaKit 是一个高性能的流媒体服务器,支持 RTMP、RTSP、HLS 等协议。以下是一个详细的集群部署方案: ### 1. 环境准备 - **服务器**:准备多台服务器,…...
Docker基础实践与应用举例
Docker 是一个轻量级容器化平台,通过将应用及其依赖打包到容器中,实现快速部署和环境一致性。以下是 Docker 的实践与应用场景举例,结合具体操作步骤: 一、基础实践 1. 快速启动一个容器 # 运行一个Nginx容器,映射宿…...
Innovus中快速获取timing path逻辑深度的golden脚本
在实际项目中我们经常会遇到一条timing path级数特别多,可能是一两页都翻不完。此时,我们大都需要手工去数这条path上到底有哪些是设计本身的逻辑,哪些是PR工具插入的buffer和inverter。 数字IC后端手把手培训教程 | Clock Gating相关clock …...
百度AI图片助手,免费AI去水印、画质修复、画面延展以及局部替换
最近,要是你常用百度图片,可能已经发现了它新添的一个超实用功能——百度AI图片助手。但很多朋友不知道它的入口地址,我们今天给大家分享一下。 这个功能的出现,在图片编辑修改方面带来了极大便利,它涵盖了AI去水印、…...
【前端】Axios AJAX Fetch
不定期更新,建议关注收藏点赞。 目录 AxiosAJAXCORS 允许跨域请求 Fetch Axios axios 是一个基于 Promise 的 JavaScript HTTP 客户端,用于浏览器和 Node.js 中发送 HTTP 请求。它提供了一个简单的 API 来发起请求,并处理请求的结果。axios …...
测试面试题:以一个登录窗口为例,设计一下登录界面测试的思路和方法
在测试登录窗口时,可以从 表单测试、 逻辑判断和 业务流程三个方面设计测试思路和方法。以下是一个详细的测试方案: 1. 表单测试 表单测试主要关注输入框、按钮等UI元素的正确性和用户体验。 测试点: 输入框测试 用户名和密码输入框是否正常显示。输入框是否支持预期的字符类…...
Android之图片保存相册及分享图片
文章目录 前言一、效果图二、实现步骤1.引入依赖库2.二维码生成3.布局转图片保存或者分享 总结 前言 其实现在很多分享都是我们自定义的,更多的是在界面加了很多东西,然后把整个界面转成图片保存相册和分享,而且现在分享都不需要第三方&…...
EX_25/2/24
写一个三角形类,拥有私有成员 a,b,c 三条边 写好构造函数初始化 abc 以及 abc 的set get 接口 再写一个等腰三角形类,继承自三角形类 1:写好构造函数,初始化三条边 2:要求无论如何,等腰三角形类对象&#x…...
ElasticSearch公共方法封装
业务场景 1、RestClientBuilder初始化(同时支持单机与集群) 2、发送ES查询请求公共方法封装(支持sql、kql、代理访问、集群访问、鉴权支持) 3、判断ES索引是否存在(/_cat/indices/${indexName}) 4、判断ES…...
JVM之JVM的组成
Java 虚拟机(JVM)是 Java 程序的运行核心,它主要由类加载系统、运行时数据区、执行引擎和本地方法接口这几个关键部分组成。 类加载系统(Class Loading System) 类加载系统负责在程序运行时动态地将 Java 类加载到 J…...
贪心算法
int a[1000], b5, c8; swap(b, c); // 交换操作 memset(a, 0, sizeof(a)); // 初始化为0或-1 引导问题 为一个小老鼠准备了M磅的猫粮,准备去和看守仓库的猫做交易,因为仓库里有小老鼠喜欢吃的五香豆,第i个房间有J[i] 磅的五香豆…...
Linux下安装中文输入法总结
Linux下安装中文输入法总结_linux 微软拼音-CSDN博客文章浏览阅读4.2w次,点赞21次,收藏92次。众所周知,fcitx和ibus是两款很好用的Linux中文输入法框架。下面来说一下其安装方法以及会踩的坑。首先fcitx和ibus是不能共存的,两者只…...
人工智能(AI):科技新纪元的领航者
摘要 人工智能(AI)作为当今科技领域最具变革性的力量之一,正以惊人的速度重塑着我们的世界。本文旨在全面且专业地介绍人工智能,涵盖其定义、发展历程、关键技术、应用领域、面临的挑战以及未来展望等方面,以期为读者…...
c3p0、Druid连接池+工具类 Apache-DbUtils (详解!!!)
数据库连接池是在应用程序启动时创建一定数量的数据库连接,并将这些连接存储在池中。当应用程序需要与数据库通信时,它可以向池中请求一个连接,使用完后将连接归还给池,而不是关闭连接。这样可以减少创建和关闭连接的开销…...
鸿蒙开发深入浅出03(封装通用LazyForEach实现懒加载)
鸿蒙开发深入浅出03(封装通用LazyForEach实现懒加载) 1、效果展示2、ets/models/BasicDataSource.ets3、ets/models/HomeData.ets4、ets/api/home.ets5、ets/pages/Home.ets6、ets/views/Home/SwiperLayout.ets7、后端代码 1、效果展示 2、ets/models/Ba…...
ollama运行Phi-4-mini-reasoning从入门到进阶:Prompt设计与推理链优化
ollama运行Phi-4-mini-reasoning从入门到进阶:Prompt设计与推理链优化 1. 认识Phi-4-mini-reasoning推理专家 Phi-4-mini-reasoning是一个专门为复杂推理任务设计的轻量级开源模型。它基于高质量的合成数据训练而成,特别擅长数学推理、逻辑分析和多步骤…...
C#比较两个二进制文件的差异 C#如何实现一个二进制diff工具
FileStream逐字节比对是最直接的文件一致性判断方式:先比长度,再用缓冲区读取并逐字节比对,遇差异立即退出;需注意offset计算、大文件long类型、Dispose释放及避免文本编码干扰。用 FileStream 逐字节比对是最直接的方式如果只是判…...
小模型在昇腾NPU上的推理部署:【ONNX 模型快速部署】
作者:昇腾实战派 小模型在NPU上的推理部署: 【知识地图】 背景概述 本文为开发者提供一份实用指南,演示如何利用 ONNX Runtime 与 华为 CANN 的对接能力,将通用 ONNX 模型快速部署到昇腾 AI 处理器(NPU)…...
NVIDIA Profile Inspector:显卡性能调校的艺术与技术深度解析
NVIDIA Profile Inspector:显卡性能调校的艺术与技术深度解析 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector 在显卡性能优化的领域中,NVIDIA Profile Inspector(NPI…...
mac codex intel版本
20260417最新版...
2025最权威的十大降重复率工具推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 为切实有效地把文本的AIGC检测可能性降低下来,能够按照下面这些维度开展技术性的…...
从若依(RuoYi)漏洞看SpringBoot项目常见安全坑:开发中如何避免SQL注入与路径遍历?
从若依漏洞剖析SpringBoot项目安全防御体系:SQL注入与路径遍历实战解决方案 最近在代码审计中遇到几个典型漏洞案例,让我意识到很多开发者对SpringBoot项目的安全防护仍停留在理论层面。以若依(RuoYi)这类流行框架为例,其SQL注入和任意文件下…...
WaveTools鸣潮工具箱:终极免费工具让游戏体验全面升级
WaveTools鸣潮工具箱:终极免费工具让游戏体验全面升级 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 你是否正在寻找一款能够彻底释放《鸣潮》游戏潜力的专业级工具?WaveTools鸣潮…...
Hunyuan-MT-7B开源镜像:Pixel Language Portal与LangChain集成构建翻译Agent
Hunyuan-MT-7B开源镜像:Pixel Language Portal与LangChain集成构建翻译Agent 1. 项目概览 Pixel Language Portal(像素语言跨维传送门)是一款基于腾讯Hunyuan-MT-7B大模型构建的创新翻译工具。不同于传统翻译软件的呆板界面,它采…...
海报颜色选择指南:选对色彩,让海报更具吸引力
色彩是海报视觉传达的核心要素,比文字、图形更能快速抓住受众目光,传递情绪与信息。选对海报颜色,不仅能提升整体设计质感,还能强化信息传递效率,让海报在众多视觉素材中脱颖而出;反之,色彩搭配…...

