Unity - BRP - PP后效导致 Camera.targetTexture 被换掉,graphicsFormat 不对问题

news2024/11/17 14:17:07

文章目录

  • 环境
  • 目的
  • 原因
  • 问题
  • 解决方法


环境

Unity : 国际版2020.3.37f1
Pipeline : BRP
Packages: Post Processing 3.0.3


目的

BRP 虽然是 官方放弃更新的 渲染管线,但是有些项目仍然会使用到,有一些踩过的坑,该记录的还是记录一下,便于 自己、他人 索引


原因

为了保留 HDR 效果,并且为了做性能优化

我们让 FrameBuffer 里面的 Color Buffer 使用格式为 R11G11B10 (注意没有A通道)

在这里插入图片描述

而没有使用 FP16,毕竟 FP16 会比 R11G11B10 大 2 倍 内存


问题

另外

我们在 Camera 渲染到 RT 时,Camera.HDR 设置为 Off 或是 Using Graphics Settings

FrameDebugger 都可以看到渲染使用都是 RT 中制定的 graphicsFormat (这里是设置 R16G16B16A16_SFloat 为例)

在这里插入图片描述

这时,如果我们使用 Post-process Layer 和 Post-process Volume 组件,就会导致 Camera.TargetTexture 被偷梁换柱,如下图

在这里插入图片描述

这种的话,RT 渲染出来的话,无论我们的RT graphicsFormat 是否 HDR 的,都没有用

我们的 RT graphicsFormatR16G16B16A16_SFLOAT
(下面是 color format,其实内部API中 color format 的 setter 是对 graphicsFormat 的设置)
在这里插入图片描述
但是绘制使用的竟然是: R8G8B8A8_SRGB 这就没办法整 HDR 了

另外,我之前说过的 当前渲染 RT 被 偷梁换柱了,而我们原来的 RT 名字为: TestRT
在这里插入图片描述

因此,如果你的项目中,某个 RT 想要拍摄 HDR 效果,并且有使用了 BRP 中的 PP 组件,那么 Camera.HDR == OFF 情况下,是无法正常使用的 custom RT 的 (其实这块功能设计就不是很好,难怪官方要放弃 BRP)

另外,如果你的 custom RT 如果是带了 A 通道,但是渲染出来的 RT,被 using graphics settings 替换了,可能会使用 R11G11B19_UFloatPack32 导致没有透明通道,都可以使用下面介绍的解决方法来处理


解决方法

RT camera 中不使用 BRP 自带的 PP 组件,自己写一个 PP 组件,可以参考以往我学习 Unity 后效组件来处理 : Unity Shader PostProcessing - 1 - 后处理概念

项目中使用的话,使用的是 MonoBehaviourOnRenderImage,自行优化写法和部分效率问题

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

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

相关文章

Python爬虫入门 - 通过茅台脚本讲些爬虫知识,应用和价值

前言 前段时间抢茅台脚本非常火,它是 Python 脚本,加上刚好最近在学习 Python,我们准备通过这个脚本,来加深学习 Python。 抢茅台的脚本其实属于爬虫脚本的一类,它实现了模拟登陆,模拟访问并抓取数据。于…

chatgpt api调用方法指南

文章目录 python调用chatgpt api的方法获取api可以调用的模型各种任务代码示例文本分类任务文本生成(补全)任务多轮对话任务 机器翻译任务文本摘要任务信息抽取任务 本文主要介绍使用python调用chatgpt api的方法,并提供一些任务的代码样例&a…

2023年认证杯C题超详细思路配有实现代码

2023年认证杯初步解题思路 后续会更新思路对应的实现代码 问题一思路 数据预处理:首先,根据描述,你已经有了心电波形的功率谱密度数据。你可以将频率范围从0 Hz到180 Hz分成361个频率间隔为0.5 Hz的数据点。确保数据格式正确,并…

chatgpt赋能Python-python2虚拟环境

Python2虚拟环境——加强你的编程能力 Python是一种广泛应用于Web开发,数据科学和机器学习等领域的编程语言。但是,由于不同的应用程序需要使用不同的Python库和版本,因此在不同的项目之间切换时可能会出现问题。 Python虚拟环境可以帮助您解…

八股总结(五)java基础、集合、并发、JVM

文章目录 接口、类与继承java中创建对象有哪几种方式? 和equal区别是什么?hashCode()为什么重写equals方法必须重写hashcode方法?String为什么设计成不可变的?String,StringBuffer,StringBuilder的区别是什么&#xf…

2023年改版第七版PMBOK后的PMP到底考什么?出题依据是什么?

2023年改版第七版PMBOK后的PMP到底考什么?出题依据是什么? 自从PMBOK(Project Management Body of Knowledge)第一版于1987年发布以来,它已成为项目管理领域的标准参考。PMBOK指南是Project Management Institute&…

Python画图设置坐标轴数字的千位分隔符

目录 导入必要的库创建图形并设置坐标轴设置坐标轴的千位分隔符完整代码效果图 当使用Python进行绘图时,可以使用 Matplotlib库来设置坐标轴上的数字的千位分隔符。下面是一个完整的教程,其中包含代码示例。 导入必要的库 在开始编写代码之前&#xff…

Java学习平台系统的设计与实现

背景 本次设计任务是要设计一个学习平台,通过这个系统能够满足学习信息的管理及学生和教师的学习管理功能。系统的主要功能包括首页,个人中心,学生管理,教师管理,课程信息管理,类型管理,作业信…

使用sqoop从Hive导出数据到MySQL

1、启动hadoop:start-all.sh。 2、启动mysql:support-files/mysql.server start。 3、启动hive:hive。 4、在hive中创建表。 (学生信息:学号xh,姓名xm)xsxx: create table bigda…

streamlit魔法使用

正常在学习一个新框架之前, 肯定要先调研下这个框架究竟能做些什么事吧? 但对于 streamlit 来说,请你相信我,这是一个你可以无脑去学习的框架,我之所以这么说,是因为我相信终有一天,你一定能用…

11. Mysql执行原理之索引合并详解

MySQL性能调优 1. Intersection合并1.1 情况一:等值匹配1.2 情况二:主键列可以是范围匹配 2. Union合并2.1 情况一:等值匹配2.2 情况二:主键列可以是范围匹配2.3 情况三:使用Intersection索引合并的搜索条件 3. Sort-U…

云厂商纷纷降价开启新一轮价格大战,行业竞争加剧未来何从?

5月16日晚间,腾讯云和移动云两大云服务商相继宣布对旗下多款核心产品进行降价。其中,腾讯云降价幅度最高达40%,移动云部分产品直降60%。 而就在20天前4月26日阿里云2023合作伙伴大会上,阿里巴巴CEO张勇率先宣布启动“史上最大规模…

服务(第二十五篇)redis的优化和持久化

持久化的功能:Redis是内存数据库,数据都是存储在内存中,为了避免服务器断电等原因导致Redis进程异常退出后数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘;当下…

win7虚拟机无法安装VMwaretools的处理办法(亲测有效!)

最近在学习中用到要安装win7系统,于是我在虚拟机里装了win7系统,但是却发现无法安装VMware tools,最后经多方查证,以下方法可解决! 这里提示需要将原始win7升级到win7 SP1版本,可在控制面版——系统和安全…

ChatGPT应用场景巡航之会议纪要

今天我们拿昨天(2023年5月17日)腾讯发布2023年一季报会议来举例。 首先刚开篇Pony(马化腾)说的一段话来看下知否AI问答多场景中的会议纪要表现如何: 马化腾:谢谢你,温迪。晚上好。感谢您加入我…

macOS Monterey 12.6.6 (21G646) 正式版发布,ISO、IPSW、PKG 下载

macOS Monterey 12.6.6 (21G646) 正式版发布,ISO、IPSW、PKG 下载 本站下载的 macOS 软件包,既可以拖拽到 Applications(应用程序)下直接安装,也可以制作启动 U 盘安装,或者在虚拟机中启动安装。另外也支持…

【QT 自研上位机 与 STM32F4xx下位机联调>>>can通信测试-基础样例-联合文章】

【QT 自研上位机 与 STM32F103下位机联调>>>通信测试-基础样例-联合文章】 1、概述2、实验环境3、联合文章(1)对于上位机,可以参照如下例子(2)对于下位机,可以参照如下例子 4、QT上位机部分第一步…

PCD235A101 3BHE032025R0101功能框图如何在 PLC 中工作?

​ PCD235A101 3BHE032025R0101功能框图如何在 PLC 中工作? ​ 表示功能块和逻辑门的图形编程语言称为功能块图 创建 PLC 时,逻辑门及其在集成逻辑电路中的应用已广为人知。使用专门的绘图应用程序,连接线用于连接功能块编程中的各种符号。…

国内版的ChatGPT模型分享

1、百度的【文心一言】注册地址:点我 这里我很早之前就申请了,所以当前时可以正常使用的,还没有体验的小伙伴,可以现在申请 虽然与ChatGPT还是有一些差距的,但是作为办公助手还是很OK的!! 而且有…

谷歌升级Find My Device服务,苹果Find My产品市场火爆

谷歌效仿苹果和 Tile 的定位追踪解决方案,在 I / O 2023 开发者大会上宣布升级 Find My Device 平台。 谷歌的 Sameer Samat 宣布,Find My Device 平台在“未来几个月内”支持追踪耳机、平板电脑和其他产品类别。更为重要的是,Find My Devi…