网易首页 > 网易号 > 正文 申请入驻

【厚积薄发】关于纹理勾选sRGB的疑惑

0
分享至

这是第254篇UWA技术知识分享的推送。今天我们继续为大家精选了若干和开发、优化相关的问题,建议阅读时间10分钟,认真读完必有收获。

UWA 问答社区:answer.uwa4d.com

UWA QQ群2:793972859(原群已满员)

本期目录:

  • 关于纹理勾选sRGB的疑惑
  • 开启光照导致面片数增加
  • UGUI的Image修改材质属性疑问

  • UniWebView界面如何显示到Unity界面之后
  • Timeline的Internal_CreatePlayable开销很大

Rendering

Q:在UWA上搜到一个问答:https://answer.uwa4d.com/question/5bd1724fae74300ab0497bed,结论是:

linear space + gamma texture,勾sRGB

linear space + no gamma texture,不勾sRGB

好像Gamma Space下面这个sRGB勾不勾没有影响?

Player Setting里面的color space设置标识导入的图片是在Gamma Space中还是Linear Space中创建的,文档里面没有说清楚,希望大佬可以解释下。

根据这里的讨论:https://forum.unity.com/threads/confusion-about-gamma-vs-linear.496053,如果勾了sRGB之后Unity是做了gamma反矫正,即tex2D出来的value应该是pow(origin_color_value, 2.2),这里假设gamma值是2.2,那么在frag中,R通道的值应该就是反矫正过的,那么在heatmap的u的中间值应该是0.5左右,也就是上面那个讨论帖里面第一个headmap所示,但实际上却是第二个heatmap所示。

里面说是因为用color值做data而不是color的原因,这个解释太困惑了,因为不管做data还是做color,他们都是数字,数字的比较是不会出错的。

A1:Gamma Space下面这个sRGB 勾不勾确实没有影响。

在Linear Space下,如果勾了sRGB 之后,Unity是做了Remove Gamma Correction。那么图中值为0.5灰度,即u=0.5的那一列的灰度,经过Remove Gamma Correction,得到的值是0.25,如下图所示:

X轴代表光照强度,Y轴代表灰度值

蓝色线的Y值代表人眼的灰度值,视觉灰度值;红色线代表物理空间的实际灰度值,与光照强度成正比。

Photo渐变图中u=0.5的那一列的灰度值为0.5,是视觉灰度值,经过Remove Gamma Correction之后,得到实际灰度值0.25。在Fragment Shader中参与计算。所以显示的是第二张heat map。

感谢June@UWA问答社区提供了回答

A2:可以参考这篇文章:https://developer.nvidia.com/gpugems/gpugems3/part-iv-image-effects/chapter-24-importance-being-linear

说下我的理解:一般情况下,我们看到的图片是在“显示器空间”,在显示器中看到的图片颜色是正常的,是因为这个图片本身是经过GammaCorrection的,就是原始的数值经过1/2.2次幂操作,对于这样的图片,我们可以理解为是非线性的。在Unity选择了Linear空间后,对于这样的非线性的图片,需要将其勾选sRGB才能正确地渲染。图片勾选sRGB后,在内存中的格式会变成ETC2_EAC_RGBA8_SRGB的格式(假设图片选择ETC2 8bits的压缩格式),如下图:

不勾选sRGB,是ETC2_RGB8_UNORM格式,如下图:

对于这种_SRGB后缀的格式,GPU在进行纹理采样的时候,会自动将其移除GamaCorrection,即将数值做2.2次幂操作,但是不会对原始数据做修改。在Gamma空间中,不论勾选还是不勾选sRGB,格式都是ETC2_RGB8_UNORM。

说回题主的问题:在Gamma空间中,渲染出的结果是均等的4种颜色,因为在Gamma空间中,是不会做移除GammaCorrection操作的,这说明,这个“非线性图片”在u=0.5的时候(u是纹理uv坐标),纹理中的data value=0.5,当变成了Linear空间后,data没有发生变化,还是在u=0.5的时候data=0.5,勾选了sRGB后,在进行纹理采样的时候,GPU将值做了2.2次幂操作,就变成了0.25左右,因此当u<=0.5的时候,color.r<=0.25,根据Shader计算color.r<0.25时都是红色,即u<=0.5时,都是红色,于是就有一半颜色都是红色了。

感谢Xuan@UWA问答社区提供了回答,欢迎大家转至社区交流:

https://answer.uwa4d.com/question/5c666db32b3589332f1a4a35

Rendering

Q:Unity显示的面数,应该是这一帧上传到GPU的所有顶点数据所决定的,那为什么GPU不会对这部分做个缓存呢?因为开启光照时,面数增加,相当于多次上传了模型的顶点数据,这部分如果缓存下来,不是可以提升很大性能吗?如果GPU不能做这个缓存,是不是说GPU的缓存太小,没有这个空间,或者是GPU并不能确认哪些要缓存?如果是改引擎代码,可以针对项目去做缓存。

A:光照本身着色不会影响DrawCall和面数。实时阴影需要在渲染一张阴影用深度图,相当于换了个视角进行渲染,数据有别于当前相机。可以开FrameDebugger看一下整个渲染过程。

感谢StriteR@UWA问答社区提供了回答,欢迎大家转至社区交流:

https://answer.uwa4d.com/question/60c2d2ed608bed3338d787c1

UGUI

Q:UGUI的Image能通过设置MaterialPropertyBlock来修改材质属性吗?怎么设置?

A:UGUI用不了材质块,可以参考:

https://forum.unity.com/threads/big-problem-with-lacking-materialpropertyblock-for-ui-image.506941

感谢范世青@UWA问答社区提供了回答,欢迎大家转至社区交流:

https://answer.uwa4d.com/question/60bf3e41608bed3338d78795

UGUI

Q:有一个安卓端显示网页的插件UniWebView,默认会显示到Unity界面的上层,挡住Unity所有的显示。请问怎么让安卓的原生界面成为背景,让Unity的UI成为前景,Unity的背景本身也要透明。

A:要让UniWebView跑到Unity界面后面去,官方文档上说是不行的。

https://docs.uniwebview.com/guide/faq.html

关于Unity背景透明度保持,在Player Settings里面有个勾选项应该可以达到目的。

感谢Xuan@UWA问答社区提供了回答,欢迎大家转至社区交流:

https://answer.uwa4d.com/question/60c30afc608bed3338d787c2

Playable

Q:我们的特效是使用Timeline进行制作的,最近进行性能测试的时候发现,Internal_CreatePlayable方法的开销很大,但是只有一个轨道,所以很迷惑这个开销跟什么有关?

我在PC上加载了同样的一个对象,Internal_CreatePlayable需要18.55ms,然后我在PC上创建了Cube加了一个Timeline效果,Internal_CreatePlayable就需要4ms左右。

A:Timline首次CreatePlayable就是比较耗时,我这边一个简单的Timeline资源首次耗时500+ms。

不过可以通过把CreatePlayable的步骤放在场景加载时进行来避免游戏过程中的卡顿。加载Timeline资源后,调用PlayableDirector.RebuildGraph就会进行CreatePlayable,相当于Prewarm。此后,再调用Play(),就不会进行CreatePlayable。再调用RebuildGraph,由于有了缓存,也不会有高耗时。

下图为首次调用RebuildGraph的耗时。

下图为第二次调用RebuildGraph的耗时。

感谢Prin@UWA问答社区提供了回答,欢迎大家转至社区交流:

https://answer.uwa4d.com/question/609c8d3a6bb31032f97916a9

封面图来源于:URP Learn

一个用于学习Unity Universal Render Pipeline的项目。

https://lab.uwa4d.com/lab/6010aca80f247485d9c39878

今天的分享就到这里。当然,生有涯而知无涯。在漫漫的开发周期中,您看到的这些问题也许都只是冰山一角,我们早已在UWA问答网站上准备了更多的技术话题等你一起来探索和分享。欢迎热爱进步的你加入,也许你的方法恰能解别人的燃眉之急;而他山之“石”,也能攻你之“玉”。

官网:www.uwa4d.com

官方技术博客:blog.uwa4d.com

官方问答社区:answer.uwa4d.com

UWA学堂:edu.uwa4d.com

官方技术QQ群:793972859(原群已满员)


近期精彩回顾

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
婆婆遗嘱车房归小姑,话音刚落病倒,小姑说嫂子靠你,我拉黑全家

婆婆遗嘱车房归小姑,话音刚落病倒,小姑说嫂子靠你,我拉黑全家

晓艾故事汇
2026-06-24 16:31:07
茶叶是糖尿病的“帮凶”?医生警告:不想高血糖,最好少喝5种茶

茶叶是糖尿病的“帮凶”?医生警告:不想高血糖,最好少喝5种茶

今日养生之道
2026-06-26 09:59:50
日本队挑来挑去挑巴西!踢法国只有死路一条 韩国离淘汰又近一步

日本队挑来挑去挑巴西!踢法国只有死路一条 韩国离淘汰又近一步

刀锋体育
2026-06-26 10:08:24
2026白玉兰视后预测!杨紫杨幂孙俪陪跑,视后早已锁定

2026白玉兰视后预测!杨紫杨幂孙俪陪跑,视后早已锁定

乡野小珥
2026-06-26 06:46:51
王光美有多美?1940年在大学留影,那年19岁,家世显赫,气质不凡

王光美有多美?1940年在大学留影,那年19岁,家世显赫,气质不凡

史之铭
2026-06-23 16:20:57
不配执法世界杯?美国女主裁连续犯错:被打出1.0分 FIFA应禁赛她

不配执法世界杯?美国女主裁连续犯错:被打出1.0分 FIFA应禁赛她

风过乡
2026-06-26 07:01:44
广州400警力凌晨收网,打掉7家养生馆,百名老人500万养老钱遭骗

广州400警力凌晨收网,打掉7家养生馆,百名老人500万养老钱遭骗

小鹿姐姐情感说
2026-06-25 18:57:45
两岸船只对峙后,多国发表联合声明,禁止改变现状,中方定调统一

两岸船只对峙后,多国发表联合声明,禁止改变现状,中方定调统一

深析古今
2026-06-26 13:14:16
50岁女工退休核定单实拍!缴29年10个月,每月领5335元,账目清晰

50岁女工退休核定单实拍!缴29年10个月,每月领5335元,账目清晰

花小猫的美食日常
2026-06-26 13:26:11
3-0和4-2过后,死亡半区锁定:梅西的路也太顺了

3-0和4-2过后,死亡半区锁定:梅西的路也太顺了

刘哥谈体育
2026-06-26 03:17:32
福建省委副书记、福州市委书记郭宁宁,深入田间地头采收粮食

福建省委副书记、福州市委书记郭宁宁,深入田间地头采收粮食

政知新媒体
2026-06-26 10:35:22
“冤不冤?”内蒙古,一女子还在哺乳期,就开始做上门按摩服务

“冤不冤?”内蒙古,一女子还在哺乳期,就开始做上门按摩服务

阿振观点
2026-06-01 20:09:42
不用担心失业了,40岁佛得角门神沃齐尼亚已获多家球队邀约,职业生涯迎来重大转机

不用担心失业了,40岁佛得角门神沃齐尼亚已获多家球队邀约,职业生涯迎来重大转机

红星新闻
2026-06-26 12:31:23
死都要认中国!西方人曾看傻眼,这才是华夏最高级的"算计"

死都要认中国!西方人曾看傻眼,这才是华夏最高级的"算计"

无情有思可
2026-06-24 00:44:25
四川16个被“除名”的县,名字很美却永远消失,听过一半算你厉害

四川16个被“除名”的县,名字很美却永远消失,听过一半算你厉害

小蜜情感说
2026-06-26 13:27:11
恭喜!亚足联第二支出线球队诞生!澳洲默契平局,再一次害惨韩国

恭喜!亚足联第二支出线球队诞生!澳洲默契平局,再一次害惨韩国

逗比演员说体育
2026-06-26 12:25:26
2026年浙江高考高分考生成绩一览!一起来看看你的高中有几人上榜

2026年浙江高考高分考生成绩一览!一起来看看你的高中有几人上榜

谁为锦年织彩衣
2026-06-26 07:05:08
程潇明星图片

程潇明星图片

GC的007
2026-06-18 06:31:23
大A又涨出股灾了...

大A又涨出股灾了...

思哲与创富
2026-06-26 11:34:48
韩国网友:韩国足协该改名叫中国足协韩国分部 我们是亚洲之鼠

韩国网友:韩国足协该改名叫中国足协韩国分部 我们是亚洲之鼠

念洲
2026-06-26 07:33:13
2026-06-26 14:40:49
侑虎科技UWA incentive-icons
侑虎科技UWA
游戏/VR性能优化平台
1590文章数 987关注度
往期回顾 全部

科技要闻

美国政府要求OpenAI分批发布GPT-5.6

头条要闻

美英法德"罕见"发声明给"台独"撑腰 环球:门儿都没有

头条要闻

美英法德"罕见"发声明给"台独"撑腰 环球:门儿都没有

体育要闻

奥尔莫:是时候为西班牙争夺第二颗星了

娱乐要闻

刘嘉玲想放弃梁朝伟,没有自理能力

财经要闻

悬在科技头上的达摩克利斯之剑

汽车要闻

老板们的新座驾!65万元起,尊界V800/V680开启预订

态度原创

房产
亲子
艺术
数码
军事航空

房产要闻

城市精英集体出手!科学城这一现象级热销红盘,凭何成为共识之选?

亲子要闻

“我不跟你玩了,我直接回家”笑死我了,太可爱啦

艺术要闻

470米!重庆“第一高楼”梦断?上架拍卖!

数码要闻

忍受了厨余垃圾这么多年,是时候该好好处理了!垃圾处理器该选谁?

军事要闻

伊朗:驶离指定航线船舶不享有安全保障

无障碍浏览 进入关怀版