Unity渲染时的排序规则

news/2025/9/27 1:33:50/文章来源:https://www.cnblogs.com/jeason1997/p/19114657

按照我们的常规理解,渲染顺序应该是:

1.不透明物体按照相机空间进行Z轴排序,从前往后排,先渲染前面再渲染后面,避免造成过多的OverDraw

2.绘制天空盒,天空盒在要不透明物体之后渲染,避免造成OverDraw

3.绘制透明物体,透明物体按照相机空间进行Z轴排序,从后往前排,先渲染最后面的,这样才能正确的Blend颜色

 

实际上,Unity的不透明物体排序可能会稍微复杂些,可能要考虑材质合批,模板测试影响,所以不一定是按Z轴从前往后渲染。

SRP支持我们自定义渲染管线的物体排序。

 

控制 Unity 的渲染顺序 - 为什么以及如何 |Toca Boca Tech 博客 --- Controlling Unity's rendering order - why and how | Toca Boca Tech Blog

Unity :排序标准 SortingCriteria --- Unity - Scripting API: SortingCriteria

Unity :内置渲染管线中的渲染顺序 --- Unity - Manual: Rendering order in the Built-in Render Pipeline

Unity :不透明排序模式 OpaqueSortMode --- Unity - Scripting API: OpaqueSortMode  可以手动指定相机渲染不透明物体时的排序方式,默认情况下,不透明对象被分组在粗略的从前到后的存储桶中,在 GPU 上这样做是有益的。在某些 GPU 中,执行这种基于距离的排序并没有真正的帮助(最值得注意的是 PowerVR/Apple GPU),因此在这些 GPU 上,默认情况下不会完成基于距离的排序。

 

 

TODO:待研究

因我发现Unity有些地方很奇怪

A.4.3.1f1旧版本,模板测试的开启似乎会影响物体的排序?按道理来说,模板测试应该受先后渲染顺序影响,比如物体A先绘制,写入模板缓冲区,物体B后绘制,读取模板缓冲区,逻辑正常。

但如果反过来,物体B先绘制,此时读取的模板缓冲区就是空的,可能会导致渲染跟我们预期不一样,所以需要手动去Shader里设置渲染顺序,让A先渲染。

但奇怪的是,我并不用手动设置,在4.3.1f1中,不管我怎么摆放它们,模板缓冲区总是能正确被读取。难道旧版在渲染时,会自动优先渲染有写入模板缓冲区的对象?

B.这个问题在Unity6里似乎就正常了点,物体的不同摆放,会影响渲染顺序,从而影响模板缓冲区的读取是否正确。但Unity6里也有个问题,比如有3个物体ABC,按照从前到后摆放,其中B写缓冲区,AC读取。

按照理解,应该是先渲染A再B再C,所以A应该读取不到缓冲区的内容,C能读到。但实际上,一旦我给B加上写模板缓冲的Shader后,它们的渲染顺序就不再是从前往后了,B可能会变到最后。难道是跟材质批次有关?

 

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

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

相关文章

商业网站开发的实训小结怎么写策划公司属于什么行业

微信搜一搜舒适11今天这篇文章,小壹就向大家科普一下空调和新风系统,告诉大家为什么装了空调还要装新风机。1、空调是什么? 对此大家都能够脱口而出:空调就是用来制冷或制热的机器,能够改变室内温度,让我们…

单位门户网站wordpress本地utc

官方文档地址:Index lifecycle actions | Elasticsearch Guide [7.12] | Elastic 索引生命周期操作(index lifecycle actions) Allocate 将分片移动到具有不同性能特征的节点并减少副本数量 Delete 永久删除索引。 Force merge 减少索…

建平县网站建设wordpress访问量统计

Python优化算法篇 scipy.optimize Scipy是一个用于数学、科学和工程的开源库,它建立在NumPy的基础上,提供了一系列强大的科学计算工具。在Scipy中,优化模块(scipy.optimize)提供了多种优化算法,用于求解最小…

专门做行业分析的网站ps做的网站

目录 1 创建工程3 配置文件4 静态资源 之前我们已经学习的Spring、SpringMVC、Mabatis、Maven,详细讲解了Spring、SpringMVC、Mabatis整合SSM的方案和案例,上一节我们学习了SpringBoot的开发步骤、工程构建方法以及工程的快速启动,从这一节开…

网站开发和企业级开发有什么区别wordpress languages

简介: 上海致拓软件有限公司利用云钉低代码应用构建平台——钉钉宜搭为合安建筑快速、低成本地搭建了个性化的项目管理系统,着力帮助合安建筑解决业务在线场景,形成场景化的工程项目管理数字化解决方案。 一封由工程公司发给项目管理数字化实…

US$79 Latest Version SBB Key Programmer V46.02 Multi-language

Latest Version SBB Key Programmer V46.02 Multi-languageSBB Key Programmer Features:1.Software Version: 46.022.Language: English,Italiano,Deutsch,Francais,Espaniol,Portugues,Turkish3.Support Toyota G Ch…

AI智慧的三重跃升:从「数理魔兽」到「悬荡悟空」的文明协作者

AI智慧的三重跃升:从「数理魔兽」到「悬荡悟空」的文明协作者 我们正站在一个岔路口。一边,是追求极致效率、基于数理逻辑的“AI魔兽”,它精准迅猛,却在复杂的人类价值困境前显得笨拙而冷漠;另一边,是多条人迹罕…

平面设计做网站的步骤凡科网建站模板

原文链接:http://blog.csdn.net/ivan_pig/article/details/8257365 -------------------------------------------------- 4 数组相关操作 4.1 编写一段代码,将a设置为一个n个随机整数的数组,要求随机数介于0(包含)和n(不包含)之间 random和…

织梦移动端网站模板下载地址网页素材及网站架构制作

ip addr和ifconfig都是用于配置和管理网络接口的工具 1. ifconfig ifconfig是较旧的网络配置工具,属于net-tools套件的一部分。 该命令主要用于配置、显示和控制网络接口的参数,如IP地址、子网掩码、广播地址等。 ifconfig命令的功能相对有限&#xff…

新学期每日总结(第 5天)

今日 相较昨日复习了Java相关知识

网站怎么做实名认证视觉设计包括哪些

一、摘要在很多业务的系统中,我们常常需要定时的执行一些任务,例如定时发短信、定时变更数据、定时发起促销活动等等。在上篇文章中,我们简单的介绍了定时任务的使用方式,不同的架构对应的解决方案也有所不同,总结起来…

苏州新区网站建设企业解决方案平台

文章目录 文件菜单子部件开关 Python绘图系统: 前置源码: Python打造动态绘图系统📈一 三维绘图系统 📈二 多图绘制系统📈三 坐 标 轴 定 制📈四 定制绘图风格 📈五 数据生成导入📈…

US$45 Scorpio-LK Emulators SLK-01 for Tango Key Programmer including Authorization

Scorpio-LK Emulators SLK-01 for TangoPrice including authrization and the emulator together. Quick Referrence TablePackage Includes: 1pc x Scorpio-LK Emulators SLK-01 for TangoPictures of Scorpio-LK Em…

长沙企业网站seo狭义的网络营销是什么

1、 裘千丈轻功水上漂之UART射雕英雄传中的裘千丈说,UART就是我的轻功水上漂过河。想从河上过(通信),提前布暗桩,行走时步伐按桩距固定(波特率提前确定),步幅太大或太小都会落水。为…

我想克隆个网站 怎么做怎么注册亚马逊跨境电商

目录 一、实验要求 二、实验原理 1. 指针的基本概念 1.1 指针的定义 1.2 取地址运算符(&) 1.3 间接引用运算符(*) 2. 指针的基本操作 2.1 指针的赋值 2.2 空指针 3. 指针和数组 3.1 数组和指针的关系 3.2 指针和数…

自适应手机网站模板手机网址大全哪个好

1、实验目的 通过本实验可以掌握: 交换机管理地址配置及接口配置。查看交换机的MAC地址表。配置静态端口安全、动态端口安全和粘滞端口安全的方法。 2、实验拓扑 配置交换机端口安全的实验拓扑如图所示。 配置交换机端口安全的实验拓扑 3、实验步骤 &#xff…

吉林省舒兰市建设银行网站公司网站建设应注意什么

标题 环境VUE2目录publicassetscomponentsmain.jsbabel.config.jspackage.jsonvue.config.js 项目路由分析Header与Footer非路由组件完成Header示例 路由组件的搭建声明式导航编程式导航 Footer组件的显示与隐藏路由传递参数重写push和replace三级联动组件拆分附件 环境 前提要…

怎么样检查网站有没有做全站301贵州省住房与城乡建设部网站

作为访问internet的工具,浏览器已经成为我们日常生活中必不可少的上网工具了,它能让你加入全球的网络,通过一个窗口就能够连接世界。当你用浏览器时有没有想过浏览器的发展历史?面对市场上繁多的浏览器你又为什么偏爱你现在用的&a…

进不了建设银行网站seo培训一对一

首发博客地址 系列文章地址 Spring Framework是一个广泛使用的开源应用程序框架,用于构建企业级Java应用程序。它提供了许多不同的模块,用于支持各种不同的应用程序开发需求。以下是Spring Framework的一些核心模块: 「Spring Core Container…

四川信德建设有限公司网站昆明优化网站公司

题目: 输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。 示例:{4,6,5,7,2,3…