Unity中纹理启用SRGB的坑

__先说结论,在shader中不使用SRGB与Linear的转换函数的前提下,如果该纹理是Albedo、Emissive、Ramp或者其它颜色贴图,建议勾上SRGB,如果是Normal、Mask、Metallic等数据纹理,不需要勾SRGB。

__在PS中,导出的纹理默认是SRGB,这个可以在首选项中看到。

__开启SRGB,没有使用SRGB与Linear的转换函数。

__关闭SRGB,没有使用SRGB与Linear的转换函数。

__开启SRGB,使用SRGB与Linear的转换函数。

____关闭SRGB,使用SRGB与Linear的转换函数。

__很明显,只有第1个和第4个是正确的(看脸! )。

__这两种情况该怎么选择呢,一般情况下是勾上SRGB,不用在Shader中使用转换函数,因为勾上SRGB后纹理会做预处理,相当于在Shader中使用了转换函数,这样做可以优化游戏性能(省了shader中转换函数的操作消耗)。其他情况本人小白还没有遇到过,应该在自定义管线那部分可能会涉及到吧。

__最后,在一般情况下,如果在shader使用了转换函数,只需要使用SRGBToLinear,不需要在输出的时候使用LinearToSRGB,因为在Unity中最后输出的一步是DrawDynamic。

__这个步骤跑了一个pass

来看一下这个pass做了什么。

使用了LinearToSRGB转换函数,也就是说,unity在最后做了统一的处理,这样就不用每个pass中使用转换函数了,减少操作开销(少写代码 )。

Unity中纹理启用SRGB的坑相关推荐

  1. Unity 中渲染顺序的理解以及一些坑点 以及2.5D游戏中的渲染排序解决方案

    1.ZTest & ZWrite ZTest:深度测试,开启后测试结果决定片元是否被舍弃,可配置  ZWrite:深度写入,开启后决定片元的深度值是否写入深度缓冲,可配置 ZTest可设置的测 ...

  2. [专栏精选]Unity中编码Encoding脱坑指南

    本文节选自洪流学堂公众号技术专栏<大话Unity2018>,未经允许不可转载. 洪流学堂公众号回复专栏,查看更多专栏文章. 洪流学堂,让你快人几步.你好,我是郑洪智. 大智:"昨 ...

  3. 【100个 Unity踩坑小知识点】 | Unity中Text文本框 和 InputField文本输入框 内容换行问题

    Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 . 包括游戏开发.美术.建筑.汽车设计.影视在内的所有创作者,借助 Unity 将创意 ...

  4. unity 2020 怎么写shader使其接受光照?_如何在Unity中造一个PBR Shader轮子

    之前有业界大佬建议我去了解下Unity的PBR.说来惭愧,我查找了下资料才发现自己在这方面的知识居然是一片空白.经过几周的学习与尝试我对这一块算是有了初步的了解,于是写了这篇文章,一方面对自己学到的东 ...

  5. 在Unity中制作高质量的光照效果(上)

    原创: Unity Unity官方平台 本篇专家指南将介绍在Unity中制作高质量光照效果的多种高级方法,其中使用了2D和立方体贴图的光线遮罩,并且利用了Unity高清渲染管线HDRP中的高级着色器. ...

  6. Unity 之 纹理类型导入设置和压缩格式介绍

    Unity 之 纹理类型导入设置和压缩格式介绍 一,纹理相关 1.1 导入设置 1.2 支持格式 二,纹理类型 2.1 纹理类型说明 2.2 纹理尺寸大小 三,所有支持的纹理压缩格式 一,纹理相关 1 ...

  7. 在Unity中为即时战略游戏实现战争迷雾(上)

    本文将由游戏开发工程师Ariel Coppes分享在Unity中为即时战略游戏实现战争迷雾效果. 过去三年中,我一直在Ironhide Game Studio开发移动即时战略游戏<钢铁战队> ...

  8. 【Unity Shader】Unity中阴影映射标准制作流程

    前半部分的基于图片的实时阴影技术是百人计划的前半部分总结,后面的Unity中的实现过程是<入门精要>中的实现. 1 基于图片的实时阴影技术 这里的"基于图片"指阴影生成 ...

  9. 【Unity Shader】Unity中利用GrabPass实现玻璃效果

    <入门精要>中模拟玻璃是用了Unity里的一个特殊的Pass来实现的,这个Pass就是GrabPass,比起上一篇博客实现镜子的方法,这个方法我认为相对复杂,因此在实现之前需要对GrabP ...

最新文章

  1. CentOS7图形界面与命令行界面切换
  2. 何恺明团队新作!深度学习网络架构新视角:通过相关图表达理解神经网络
  3. Java自带的性能监测工具之jinfo
  4. 工业用微型计算机(28)-dos和bios功能调用(2)-int 21h
  5. 成都python数据分析师职业技能_数据分析师需要什么技能,数据分析行业都有什么职业?...
  6. Mybatis(4)入门案例中设计模式分析
  7. 怎么查看页面跳转过程_fastcapture注册码怎么获取?FastStone注册码分享
  8. 安卓手机与电脑无线传输文件(利用ftp服务)
  9. 统计单词个数 状态机方法
  10. ABP vnext 未通过Token访问接口时显示HTML,调整为跳转403和提示
  11. mysql客户端介绍
  12. 求解sinx的n次方积分
  13. jconsole远程连接的使用
  14. python线性回归预测波士顿房价_预测波士顿的房价|简单的线性回归入门
  15. 第16课:迁移学习的模型训练
  16. 呕心沥血之飞冰(icejs)项目使用vue组件 -- vuera
  17. 微信小程序设置页面全局背景色
  18. teamlab什么意思_去看炸火的teamLab大型个展前 你应该知道的事
  19. 搭建清晰的前端技术体系
  20. Hydra 使用方法

热门文章

  1. 编程英语:常见代码错误 error 语句学习(12)
  2. 如何下载在线视频:流行视频FLV下载
  3. js bind 传参、_Node.js 在微医的应用场景及实践
  4. 基于arduino的火焰报警蜂鸣器播放音乐(外部中断)实验
  5. 2013.11学习日记
  6. 计算机二进制存储单位,计算机中的存储单位你清楚吗
  7. Python 使用乐动体育的 backoff 更优雅的实现轮询
  8. C语言计算身体质量质数BMI,Python需如何计算身体质量指数BMI从而来判断体型
  9. skimage 学习第二天:ski官网示例程序总结(1)
  10. php 增加空行,php 替换空行 不匹配空行