UGUI Canvas画布

Canvas画布

定义

Canvas(画布)是Unity UGUI系统中的一个重要组件,用于在屏幕上绘制UI元素。它是UI元素的容器,可以包含各种UI元素,如按钮、文本、图像等。Canvas组件提供了一种方便的方式来管理和渲染UI元素。

所有的UI组件都在画布的子集中,画布相当于所有UI的容器,每当创建一个UI物体时,Canvas都会自动创建。

和Canvas一同创建的还有EventSystem,它是一个一个基于Input的事件系统,可以对键盘按键、屏幕触摸、鼠标输入事件进行处理。

Canvas组件的工作原理

Canvas组件通过渲染器将UI元素绘制到屏幕上,它使用层级结构来管理UI元素的显示顺序,可以通过设置UI元素的层级来控制它们的显示顺序。  

Canvas组件还可以设置渲染模式,包括屏幕空间、世界空间和摄像机空间等。

Canvas的各种参数

Render Mode:渲染模式

Screen Space overlay:让UI始终位于界面最前面

Screen Space camera:赋值一个相机,按照相机的距离前后显示UI和物体

World Space:让画布变成一个3D物体 可以进行移动旋转等等

Canvas Scaler:控制画布的缩放比例

Constant Pixel Size:固定像素大小,无论屏幕尺寸如何变化,UI都不会变化

Scale With Screen Size:根据屏幕分辨率,自动调节UI比例

Constant Physical Size:固定物理像素大小

Graphic Raycaster:控制是否让UI响应射线点击

Ignore Reversed Graphic:忽略反转的UI,UI反转后点击无效

Blocking Objects:阻挡点击物体,当UI前有物体时,点击前面的物体射线会被阻挡

Blocking Mask:阻挡层级,当UI前有设置的层级时,点击前面的物体射线会被阻挡

Sorting Layer(排序层级)

设置Canvas的排序层级,用于控制UI元素的显示顺序。

Order in Layer(层级顺序)

设置UI元素在排序层级中的显示顺序。

Pixel Perfect(像素完美)

启用像素完美模式,可以确保UI元素在不同分辨率下的显示效果一致。

Reference Pixels Per Unit(参考像素单位)

设置参考像素单位,用于计算UI元素的大小和位置。

Canvas关键参数

1Render Mode:控制UI的渲染模式
Screen Space overlay:让UI始终位于界面最前面

Pixel Pefect:完美像素,边缘更加清晰。

Sort Order:渲染顺序,多个Canvas时可以调整其显示顺序

Target Display:目标显示器,Unity多开时选择显示器用

Canvas将置于屏幕最上层,自动填充屏幕,不会被其他模式的Canvas或2D/3D物体遮挡。Canvas的大小和位置无法通过手动设置, 大小只能和屏幕大小一致, 位置总是处于屏幕正中间。

Screen Space camera:赋值一个相机 按照相机的距离前后显示UI和物体

Pixel Pefect:完美像素,边缘更加清晰。

Render Camera:对应的渲染相机,也就是该Canvas显示在哪个Camera前面,不同的Camera渲染顺序可能不同。

Plane Distance:Canvas与Camera的距离。

Sorting Layer:渲染层级,影响渲染顺序。

Order in Layer:同一渲染层级下的渲染顺序。

Canvas将置于相机前方,此时在Canvas和相机中间的2D/3D物体将显示在UI上面。利用这一点,可以通过调整Z坐标或者SortingLayer,来调整渲染和视觉顺序,从而在UI界面展示3D模型、粒子特效等。

也可以混合多个摄像机的结果, 根据摄像机的Depth属性来决定渲染顺序, 值小的先渲染。

上面的摄像机负责照射UI,下面的摄像机负责照射3D物体, 注意ClearFlags需要设置为DepthOnly或者Don’t Clear,否则后渲染的摄像机渲染内容会被覆盖。

World Space:让画布变成一个3D物体 可以进行移动旋转等等

Event Camera:接收UI事件的Camera,Click、Drag等事件。

Sorting Layer:渲染层级,影响渲染顺序。

Order in Layer:同一渲染层级下的渲染顺序。

Canvas将作为一个游戏对象显示在3D场景内,可以通过修改Rect Transform的相关属性来调整显示。

2Canvas Scaler:控制UI画布的缩放比例

Canvas Scaler是屏幕适配的主要方式,一般通过该组件就可以完成适配,如果有需求,还可以通过Screen.height和Screen.width获取屏幕长宽,然后代码控制UI位置及缩放。

Canvas Scaler只用于Canvas的Screen Space两种模式,World Space模式Canvas作为一个3D物体,不涉及适配问题。

Constant Pixel Size:固定像素大小 无论屏幕尺寸如何变化,UI都不会变化

Scale With Screen Size:根据屏幕分辨率,自动调节UI比例
Reference Resolution

参考分辨率,进行屏幕适配,自动缩放UI大小时,将以此作为参考。

Screen Match Mode

首先,需要设置Panel大小与Reference Resolution一致,锚点设在中心。

屏幕匹配方式,分为三种:

Match Width Or Heigh:保持宽高比不变,通过设置Match值,对宽高进行缩放。如果Match值为0,优先缩放宽度与屏幕宽度一致,高度或超出屏幕或在屏幕内;如果Match值为1,则优先缩放高度。

Expand:保持宽高比不变,优先缩放任一宽度或高度与屏幕一致,另外一个方向在屏幕内,即Canvas包含在屏幕内。

Shrink:保持宽高比不变,优先缩放任一宽度或高度与屏幕一致,另外一个方向在屏幕外,即屏幕包含在Canvas内。

Reference Pixel Per Unit:Unity的1个单位代表多少个像素

Constant Physical Size:固定物理像素大小

固定物理尺寸,这个模式很少用到。

Physical Unit:物理单位,点、毫米、厘米等。

Fallback Screen DPI:物理单位的像素密度。

Default Sprite DPI:默认Sprite的像素密度。

Reference Pixel Per Unit:Unity的1个单位代表多少个像素

3Graphic Raycaster:控制是否让UI响应射线点击

    

 Ignore Reversed Graphic:忽略反转的UIUI反转后点击无效

    Blocking Objects:阻挡点击物体 当UI前有物体时 点击前面的物体射线会被阻挡

    Blocking Mask:阻挡层级 当UI前有设置的层级时 点击前面的物体射线会被阻挡

可加密个性化个人博客(源码+数据库+毕业论文+答辩ppt)java开发springboot框架javaweb,可做计算机毕业设计或课程设计 【功能需求】 本系统分为用户、管理员2个角色 (1)用户模块: 1.注册登录:用户可以通过注册功能创建个人账户,系统使用MD5加密算法对输入的密码进行处理,在登录时,用户的密码同样通过MD5加密后与数据库中的哈希值匹配,以验证身份。 2.博主:该功能展示了平台上的所有博主,并允许用户根据兴趣添加好友,通过关注不同的博主,用户可以及时获取感兴趣的内容更新。 3.个人中心:系统给用户提供了一个管理个人信息的空间,这里应用了脱敏算法来保护用户的敏感数据,如联系方式和邮箱等,在展示给其他用户时进行适当的模糊处理,确保隐私安全。 4.博客论坛:用户可以在此进行分享见解、交流想法,采用了屏蔽敏感词技术,自动过滤不当言论,确保内容健康积极。 5.评论管理:允许用户对博客文章发表看法。为了维护健康的讨论环境,系统采用了屏蔽敏感词技术,自动过滤敏感词评论。 6.交流互动:鼓励用户之间的互动,包括点赞、私信等功能,促进了社区成员间的沟通与联系。 7.博客信息:用户可以在自己的博客空间内发布各种类型的信息,从日常随笔到专业知识分享不等。 8.旅游资讯:提供最新的旅游资讯内容,这部分内容丰富了平台的信息多样性,增加了平台的价值和吸引力。 (2)管理员模块: 1.登录:管理员通过专门的登录入口进入系统后台,登录后,管理员可以访问所有管理功能模块。 2.博主管理:此功能允许管理员查看和管理平台上的所有博主信息,包括审核新注册博主、编辑现有博主资料以及处理违规行为等。 3.博客类型管理:管理员可以通过博客类型管理功能创建、修改或删除博客分类,帮助用户更好地组织和查找内容。 4.博客信息管理:该功能使管理员能够对博客文章进行全面管理,可以删除不适当的文章。 5.交流互动:管理员可以监督用户的交流互动情况,确保社区互动健康有序。 6.博客论坛:管理员有权管理博客论坛的整体运作。 7.论坛分类管理:管理员可以创建和调整论坛的不同分类,确保每个板块的主题明确且易于浏览。 8.举报记录管理:管理员可以通过审查用户的举报记录来处理违规内容或行为,及时采取措施防止不良信息扩散。 9.敏感词管理:在敏感词管理模块中,管理员可以添加、修改或删除需要屏蔽的敏感词汇列表,以自动过滤不当言论,保障社区交流环境的健康和谐。 10.系统管理:系统管理涵盖了多个方面,如更新首页轮播图、发布最新的旅游资讯以及管理资讯分类等。 11.个人中心:管理员的个人中心提供了账户信息管理的功能,包括修改个人信息、查看权限设置等。 【环境需要】 1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的 2.IDE环境:IDEA,Eclipse,Myeclipse都可以 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.数据库:MySql 5.7/8.0等版本均可 【购买须知】 本源码项目经过严格的调试,项目已确保无误,可直接用于课程实训或毕业设计提交。里面都有配套的运行环境软件,讲解视频,部署视频教程,一应俱全,可以自己按照教程导入运行。附有论文参考,使学习者能够快速掌握系统设计和实现的核心技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值