在这里插入图片描述

在Unity中,控制元素的层级排序(渲染顺序)是确保场景正确显示的关键。以下是常见的层级排序方式及其适用场景:


1. 通过GameObject的层级顺序(Sorting Layer/Order in Layer)

适用对象:2D精灵(SpriteRenderer)、UI元素(Canvas)、粒子系统等。

  • Sorting Layer
    Tags and Layers设置中创建自定义层级(如"Background", “Characters”, “UI”),将对象分配到不同层级。高层级永远显示在低层级之上
  • Order in Layer
    同一Sorting Layer内的对象通过此数值排序,数值越大越靠前
// 代码示例(SpriteRenderer)
GetComponent<SpriteRenderer>().sortingLayerName = "Characters";
GetComponent<SpriteRenderer>().sortingOrder = 10;

2. 通过Z轴坐标(3D场景)

适用对象:3D物体。
Unity默认根据摄像机视角的Z轴距离排序(透视投影时),或直接按Z轴值(正交投影时)。

  • 正方向:Z值越大离摄像机越远(可能被遮挡)。
  • 负方向:Z值越小离摄像机越远(取决于坐标系)。

3. UI元素的层级控制(Canvas)

适用对象:UGUI系统。

  • Canvas层级
    • Screen Space模式:通过Canvas的Sort Order属性控制画布层级,数值高的覆盖低的。
    • World Space模式:结合Sorting Layer和Order in Layer。
  • UI子物体顺序
    同一Canvas下,Hierarchy面板中的顺序决定渲染顺序(下方的物体后渲染,显示在上层)。
// 动态调整UI顺序
transform.SetAsLastSibling(); // 置顶
transform.SetSiblingIndex(1); // 指定位置

4. 渲染队列(Shader中的Queue)

适用对象:自定义Shader或材质,控制透明/不透明物体的渲染顺序。

  • 内置队列
    • Background (1000)
    • Geometry (2000, 默认)
    • AlphaTest (2450)
    • Transparent (3000, 从后到前渲染)
    • Overlay (4000)
  • 自定义队列
    在Shader中声明 Queue 值(如Queue = Geometry+100)。
// Shader示例
SubShader {Tags { "Queue" = "Transparent" }// ...
}

5. 摄像机深度(Camera Depth)

适用对象:多摄像机场景。

  • 在Camera设置中调整Depth值,数值高的摄像机后渲染,覆盖之前的画面。
  • 结合Clear Flags控制清除规则(如仅渲染UI的摄像机设为Depth Only)。

6. 粒子系统排序

适用对象:Particle System。

  • 通过Renderer模块设置Sorting LayerOrder in Layer
  • 可选Sort Mode(如按距离、深度等)。

7. 自定义排序(脚本控制)

适用场景:动态调整渲染顺序(如角色移动时改变层级)。

// 动态修改Sorting Order
void Update() {if (isMoving) {GetComponent<Renderer>().sortingOrder = 20;}
}

选择建议

  • 2D游戏:优先使用Sorting Layer + Order in Layer
  • UI系统:利用Canvas层级和Hierarchy顺序。
  • 3D场景:调整Z轴或Shader队列(透明物体用Transparent队列)。
  • 复杂场景:结合多种方式(如多摄像机+分层渲染)。

通过灵活组合这些方法,可以精准控制Unity中元素的显示层级。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/diannao/91217.shtml
繁体地址,请注明出处:http://hk.pswp.cn/diannao/91217.shtml
英文地址,请注明出处:http://en.pswp.cn/diannao/91217.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

梁的振动特征函数分析2

问题7&#xff1a;左端固定、右端自由梁的振动分析 考虑梁的振动方程&#xff1a; uttKuxxxx0,0<x<l,K>0 u_{tt} K u_{xxxx} 0, \quad 0 < x < l, \quad K > 0 utt​Kuxxxx​0,0<x<l,K>0 边界条件&#xff1a; 左端固定&#xff08;位移和斜率为零…

AI问答-Token:在人工智能领域,Token 是模型处理文本的核心单元 / 最小可处理片段

一、在人工智能领域&#xff0c;Token 是模型处理文本的核心单元&#xff0c;可理解为文本的“最小可处理片段”二、表格理解类别详细说明基本定义Token 是模型处理文本的最小语义或语法单位&#xff0c;可以是单词、子词、字符、标点符号或特殊符号。例如&#xff1a;- 单词级…

读取ubuntu的磁盘分区表与超级块

1.读取磁盘分区表sudo fdisk -l /dev/sda2.计算偏移量分区起始偏移 4096 512 2097152 字节 超级块位置 2097152 1024 2098176字节3.快速验证&#xff08;直接检查魔数 53 &#xff09;# 检查偏移 2,098,176 处是否有 EXT4 魔数 sudo dd if/dev/sda bs1 count2 skip$((209…

科技驯服烈日狂沙:中东沙漠农场的光储革命

作者 | 小葳 阿布扎比郊外的午后&#xff0c;沙漠灼热、干旱难耐。 然而一座农场内&#xff0c;景象截然不同&#xff1a;蔬菜生机盎然&#xff0c;果实挂满枝头。农户轻点手机&#xff0c;远程调控着大棚内温湿度&#xff1b;灌溉与施肥&#xff0c;则由系统自动精准执行。 这…

基于Chinese-CLIP与ChromaDB的中文图像检索功能实现

本文按“原理 → 代码 → 讲解”三层展开&#xff0c;读者只需具备 Python 基础即可跟随完成一个可落地的以文搜图应用。 一、整体思路 把图片和文字都转成固定长度的向量&#xff08;768 维&#xff09;。把图片向量提前存入向量数据库。查询时把文字转成向量&#xff0c;再找…

Pandas 的 Index 与 SQL Index 的对比

一、Pandas 的 Index&#xff08;索引&#xff09;是什么&#xff1f;Pandas 的 Index 就像是 Excel 表格的行号 列标题&#xff0c;或者书的目录。核心作用&#xff1a;定位数据&#xff1a;就像 Excel 中用行号和列名定位单元格&#xff08;如 A1、B2&#xff09;&#xff0…

Rust指针选择

Rust指针选择&#xff1a; 1.优先使用引用&#xff1a;安全访问数据 fn process(data: &[i32]) { /* ... */ }2.需要所有权转移时用 Box fn create() -> Box<Data> { Box::new(Data::new()) }3.共享数据用 Rc/Arc // 单线程 let shared Rc::new(data);// 多线程 …

【实用IP查询工具】IP数据云-IP地址查询离线库使用方案

IP数据云&#xff08;ipdatacloud.com&#xff09;深耕IP地址查询技术&#xff0c;打造了覆盖多场景、高精度的IP地址查询离线库&#xff0c;为不同行业客户提供稳定、高效的本地化数据支持。 什么是IP 地址查询 离线库&#xff1f; IP地址查询离线库是将海量IP地址与对应的地…

UE5CameraShake参数详解

使用CameraShakeBase蓝图中简单调用和调试 使用 Play World Camera Shake 这个节点带有震动衰减效果Epicenter是震动中心点 传入Boss的位置 Inner Radius是 内部范围 距离小于内部范围时 , 全强度震动Outer Radius是 外部范围 距离大于外部范围时 , 就无震动Falloff 是衰…

java学习 day4 分布式锁

P60分布式锁误删线程标示和锁中标示一致P61分布式锁的原子性问题判断锁标示和释放锁不同时 造成误删P62Lua脚本P63java执行Lua脚本原子性P64redissionredisson框架P65redisson入门P66redisson可重入锁原理和测试redisson可重入锁P67锁重试看门狗看到67 10min处&#xff0c;看不…

python+selenium UI自动化初探

在公司上班闲的没事干&#xff0c;学点selenium 先安装selenium pip install selenium出现报错 Cannot uninstall certifi None ╰─> The packages contents are unknown: no RECORD file was found for certifi.hint: You might be able to recover from this via: pip in…

前端-CSS-day3

目录 1、结构伪类选择器-基本使用 2、结构伪类选择器-公式用法 3、伪元素选择器 4、盒子模型-组成 5、盒子模型-边框线 6、盒子模型-单方向边框线 7、盒子模型-内边距 8、盒子模型-内边距-多值写法 9、盒子模型-尺寸计算 10、盒子模型-版心居中 11、清除默认样式 1…

BPE(Byte Pair Encoding)分词算法

下面是对 BPE&#xff08;Byte Pair Encoding&#xff09;分词算法的深入介绍&#xff0c;涵盖其背景、原理、实现细节、数学机制、优缺点以及在自然语言处理中的实际应用。一、背景与动机在自然语言处理中&#xff0c;模型输入通常需要被转换为数值序列&#xff0c;而这首先需…

ssm学习笔记day07mybatis

项目的准备 创建springboot项目&#xff08;moudle&#xff09;&#xff0c;加入依赖lombok(自动添加setter,getter,toString)、Spring Web&#xff08;处理servlet请求&#xff09;、MySQL Driver(mysql的驱动器&#xff09;、JDBC&#xff08;JAVA与mysql的接口&#xff09;、…

Kubernetes 高级调度01

目录 一、 初始化容器 InitContainer 1. InitContainer 的基本概念 2. 延迟指定时间后启动 3. 使用初始化容器修改内核参数 4. 等待依赖的服务启动后再启动应用 5. pause 容器 二、 临时容器 Ephemeral Containers 1. 临时容器的概念 2. 临时容器的使用示例 三、 自动…

Spring MVC2

在Spring MVC1中&#xff0c;我们知道了MVC的定义&#xff0c;同时也知道了RequestMapping和RestController这个注解的作用。本篇文章&#xff0c;我们将学习使用Spring MVC获取请求参数和返回不同的响应等等请求传递单个参数如图所示&#xff0c;创建RequestController类&…

项目文章(IF:9.3)转录因子ChIP-seq助力揭示CsphyB-CsPIF4-CsBRC1模块调控ABA合成和腋芽生长发育

分枝生长是作物农业特性中的一项重要指标&#xff0c;它直接影响植株的结构和作物的产量。黄瓜&#xff08;学名&#xff1a;Cucumis sativus L.&#xff09;是一种在全球范围内具有重要经济价值和营养价值的重要蔬菜作物。在田间环境中&#xff0c;具有更多侧枝的黄瓜植株更受…

NSSCTF Web 一点学习

[SWPUCTF 2021 新生赛]jicao连接&#xff1a;利用hackbar&#xff0c;按照php的判断条件来得到flag[SWPUCTF 2021 新生赛]easyrce连接&#xff1a;url读取并且执行先用ls查看flag位置&#xff1a;找到了个看起来是flag的文件cat一下&#xff1a;得到flag[SWPUCTF 2021 新生赛]c…

【STM32项目】环境监测设计

✌️✌️大家好&#xff0c;这里是5132单片机毕设设计项目分享&#xff0c;今天给大家分享的是基于《基于STM32的环境监测设计》。 目录 1、系统功能 2.1、硬件清单 2.2、功能介绍 2.3、控制模式 2、演示视频和实物 3、系统设计框图 4、软件设计流程图 5、原理图 6、主…

不同系统记录项目进度不一致,如何统一口径

不同系统记录项目进度不一致&#xff0c;会造成项目管理混乱、信息混淆和决策失误。统一口径的方法包括&#xff1a;采用统一的项目管理平台、明确数据记录与更新规范、建立进度数据对接与整合机制。特别是采用统一的项目管理平台&#xff0c;通过统一的信息输入与输出渠道&…