目标

在URP渲染管线下,输出带有透明背景的切图或者视频。默认情况下背景是不带透明通道的。可通过以下方式实现透明背景输出。(基于Unity 2021.3.1f1c1版本)

操作步骤

  1. 将Camera的Background Type设置为Solid Color,并让Background颜色Alpha通道设设置为0。
  2. 通过Frame Debugger,排查,渲染时通过ColorGradingLut将输出格式从RGBA32位转换为了B10G10R11。这是因为摄像头开启了HDR,unity使用32位存储HDR信息,丢弃了Alpha通道。
  3. 并闭Camera的HDR功能或者保留Alpha通道,使用A16R16G16B16作为输出格式 。这个功能开关现在Unity编辑器已没有地方设置,在打包时通过脚本完成。
    #if UNITY_EDITOR//在Framebuffer中保留Alpha通道PlayerSettings.preserveFramebufferAlpha = true;
    #endif

    另一种方式是关闭HDR,还是使用原有格式。但对于表现效果会有限制。建议还是第一种方式 。

  4. 继续通过Frame Debugger排查,在第一个后处理时 StopNaNs时,FrameBuffer的格式已为R内容已带有Alpha通道。
  5. 同时在StopNaNs Shader中会将Alpha通道重置为1,修改下shader代码如下:
  6. 在Bloom后处理后,Alpha通道又变为1。是因为unity boom后处理是针对屏幕空间整体进行发光处理,在EncodeHDR时,透明通道改为了1。关闭Bloom后处理特效或修改后处理shader。类似的其他后处理按同样方式排查。
            half4 EncodeHDR(half3 color){#if _USE_RGBMhalf4 outColor = EncodeRGBM(color);#elsehalf4 outColor = half4(color, 1.0);#endif#if UNITY_COLORSPACE_GAMMAreturn half4(sqrt(outColor.xyz), outColor.w); // linear to γ#elsereturn outColor;#endif}
  7. 最后开启URP后处理后,会统一执行UberPostProcess的效果,在UberPost.shader中,将Alpha通道设置为1。修改UberPost.shader,取颜色的Alpha通道。
  8. 保存,重新运行即可输出带有透明通道的贴图。

Unity URP 输出透明背景相关推荐

  1. python抠透明图_python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图

    因为最近在做深度学习抠图,正好要用到蒙版进行抠图,所以我将抠图代码进行了封装注释,可以直接使用.可能走了弯路,若有高见请一定提出! 主要代码 import cv2 from PIL import Im ...

  2. keyshot导出html,【答疑】keyshot6怎么导出png?如何用keyshot输出透明背景png图片啊? - 视频教程线上学...

    keyshot6材质粘贴快捷键是什么?keyshot6材质粘贴快捷键是哪个? 2019-04-28 浏览量:297 提问者:酒飘人间 回答: Keyshot最常用的几个快捷键: Keyshot镜头缩放 ...

  3. python和pil实现抠图_python利用蒙版抠图(使用PIL.Image和cv2)输出透明背景图

    因为最近在做深度学习抠图,正好要用到蒙版进行抠图,所以我将抠图代码进行了封装注释,可以直接使用.可能走了弯路,若有高见请一定提出! 主要代码 import cv2 from PIL import Im ...

  4. java 验证码透明背景_Java中的证书透明度验证

    java 验证码透明背景 因此,我有一个幼稚的想法,即除了证书有效性检查(在Java中)之外,将证书透明性验证作为每个请求的一部分也很容易. 牺牲了整个周末的一半时间,我可以证明这并不是一件小事. 但 ...

  5. php 网页 透明背景图片,php 处理透明背景的图片时的问题

    PHP图象处理之透明背景的gif和png图片的一些问题 1,直接读取有透明背景的PNG格式文件,然后直接输出,背景变成了黑色,gif则没有这种情况. 解决方法:使用 imagesavealpha ($ ...

  6. gif透明背景动画_常用的设计文件格式——jpg、png、gif、psd、ai、cdr、tiff

    我们使用电脑的过程中经常会遇到各种各样的格式,比如办公文件的几种常用格式,一些电子书籍的常用格式,设计过程中也会遇到一些常用的格式~ 上面的都是以前糖糖上学或工作中做的笔记,以及自己对这些格式的理解和 ...

  7. Unity URP入门实战

    导读 本文讲述 如何从应用层面使用URP 如何在代码层面为URP增加更多的渲染特性 如果拓展URP的后处理效果 URP管线特性 光源数量: 直线光外加4个其他光源 内置管线的多Pass Forward ...

  8. 照片透明背景抠图怎么做?试试这几种抠图方法

    将照片的背景抠掉并替换为透明背景可以帮助我们在设计.制作海报.名片.广告等时更方便地处理图片,使得图片更加美观和专业.例如,如果你想在一个海报或者广告中加入一个人物或者物品的图片,但是这个图片的背景并 ...

  9. vs2019添加图片html,VS2019窗体美化 -界面透明背景图片

    VS2019窗体美化 -界面透明背景图片 VS2019窗体美化 -界面透明,背景图片 扩展-管理扩展下-在线: Color Theme Editor for Visual Studio 2019 设置 ...

最新文章

  1. ITextSharp使用说明
  2. 回馈粉丝,包邮送一台全新iPad
  3. Task On The Board CodeForces - 1367D(思维)
  4. Node的异步与java的异步_node.js和异步编程回文
  5. java电影票选座_jQuery实现电影票选座效果手机端代码
  6. Socket一次Recv接受的字节有限制么?
  7. leetcode - 467. 环绕字符串中唯一的子字符串
  8. MacOS中运行第一个PySide6实例
  9. 《高阶Perl》——3.8 对象方法里的缓存
  10. python日历下拉框_selenium+Python(Js处理日历控件)
  11. php编网页版计算器,php编程实现简单的网页版计算器功能
  12. php 支付宝退款40004,接入支付宝支付 错误码4000,排查方法——开发记录
  13. 虚拟机linux删除文件后未释放空间,【Linux命令】删除大文件后磁盘空间未释放问题...
  14. 【HDOJ】1814 Peaceful Commission
  15. windows下rainbond 安装unable to find image locally docker errot response from daemon
  16. 黑白琴键 java_黑白琴键上的爱阅读答案
  17. 接着外挂教程 VB 从零开始编外挂
  18. 明明200M的宽带,为什么网速还是很慢?一招教你解除限制
  19. Android 蓝牙 A2dp 编码SBC、AAC、Aptx、LDAC、LHDC aduio音频概述(1)
  20. 使用Tomcat插件实现WEB项目热部署

热门文章

  1. 惠普服务器系统管理 密码,惠普服务器 DL380 Gen9 server2012R2 登录密码找回全过程...
  2. IPV6 UDP socket报错:网络不可达
  3. java chrome 控制台_[Java教程]Chrome 控制台指南
  4. Java扑克牌小游戏
  5. 由Python生成采购清单BOM
  6. 马上七夕了程序员如何给爱人一个浪漫表白?
  7. 子不语启动招股:业绩开始下滑,存在破发风险,由华丙如夫妇控股
  8. 为一台计算机配置Web服务器,DNS服务器与DHCP服务器
  9. 三只松鼠利润在下降?店宝宝:零食电商怎么做才能突破现有瓶颈?
  10. Unity 与 微信小程序(游戏)交互