【Unity】UI、背景和3D的Camera和Canvas设置

目前存在需求

背景是指定的图片,该图片始终显示在页面中,不会因场景的视角操控发生尺寸等变化;

UI内容显示在页面最上层,同样不会因场景的视角操控发生尺寸等变化,但是当软件整个尺寸发生变化时,会跟随变化,UI内容会覆盖3D物体;

3D物体可以随着相机视角的变化而变近变远等,3D物体上可能存在UI卡片等。

需求分析

背景在最底层,3D物体在中间层,UI在最顶层。

因此背景和UI不能公用一个Canvas,3D物体也需要一个Canvas;

3D物体根据相机视角改变远近等,背景和UI不变,那么3D物体使用单独的相机,背景和UI使用对应的UI相机。

成果展示

请添加图片描述
查看相机视角控制方法

场景部分组成

在这里插入图片描述
三个相机的展示内容:三个相机的内容互不干扰。
主相机
在这里插入图片描述
背景相机
在这里插入图片描述
UI相机
在这里插入图片描述

参数设置

需要建立Sorting layer如下:
在这里插入图片描述

将对应的物体设置为对应的层级。
在这里插入图片描述
在这里插入图片描述

背景的相机和Canvas设置如下
需要将背景相机拖拽到背景CanvasRenderCamera
注意:Sorting Layerorder in Layer参数的选择
在这里插入图片描述
注意Depth参数的设置
在这里插入图片描述

UI的相机和Canvas设置如下
在这里插入图片描述
在这里插入图片描述

主相机的设置如下
在这里插入图片描述

3D物体的Canvas设置如下
在这里插入图片描述

一些参数的说明

Canvas组件

mode:

  • space-overlay(屏幕空间-全局) 展示场景中的方形区域,内部的所有UI元素可见,非常吃性能

  • space-Camera 允许指定一个镜头,让系统渲染镜头内的元素

Canvas Scaler组件

UI scale Mode

  • Constant Pixel Size (保持像素大小) UI可以无视屏幕大小,保持像素的大小

  • scale with screen size (随屏幕大小缩放) 根据屏幕大小适应
    ​ - reference Resolution UI主分辨率 X1280 Y720 (桌面端)
    - Match height:1 只有高度改变时 UI元素才会随之改变

  • constant physical size(保持实体大小) 无视屏幕和分辨率大小 保持UI大小

UICamera的设置

Clear Flags : Depth only 清除镜头的深度信息

projection(投影类型) :Orthographic(正交) 2D场景

### 修改 UnityCanvas背景颜色或图片 在 Unity 项目中修改 Canvas 背景的方法取决于所使用的渲染模式以及具体需求。 #### 方法一:通过 Image 组件设置背景图片 为了给 Canvas 设置背景图,可以创建一个新的 UI 图像对象作为背景。这通常是最简单有效的方式: 1. 创建一个新 GameObject 并命名为 Background 或者直接选中现有的 Canvas 对象。 2. 添加 `Image` 组件至该 GameObject 上。 3. 将想要用作背景的 Sprite 拖放到 `Source Image` 属性框内[^1]。 4. 如果需要调整大小以适应整个屏幕,则可考虑将其锚点设为 Stretch to Fill 整个父级 Canvas。 对于希望使用纯色而非图像的情况,在上述基础上只需切换 `Image Type` 到 Filled 类型并配置合适的填充参数;或者更简便的是直接改变 `Color` 字段来指定所需的颜色值。 #### 方法二:利用 RawImage 显示纹理资源 当素材不是标准Sprite而是Texture时,应该采用RawImage组件代替普通Image: ```csharp using UnityEngine; using UnityEngine.UI; public class ChangeBackground : MonoBehaviour { public Texture backgroundTexture; // 在Inspector面板分配纹理 void Start() { GetComponent<RawImage>().texture = backgroundTexture; } } ``` 此脚本允许动态更换背景材质而无需重新导入新的精灵文件。 另外值得注意的是关于Canvas本身的一些属性设定,比如Render Mode的选择会影响最终效果呈现方式。如果选择了Screen Space - Camera模式,则记得关联正确的摄像机以便正确显示UI元素。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值