影视和引擎当中的PBR材质和线性色彩空间

2023-12-01 03:38

本文主要是介绍影视和引擎当中的PBR材质和线性色彩空间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

pbr

Pbr材质应该都熟悉吧,就是如今游戏影视广泛应用的物理材质,pbr有很多种实现方式,而且不同的pbr有不同的特点。如今pbr总是和线性空间联系在一起,虽然两者并不是绝对依赖,但都是为了让渲染更加真实更加理性化的方式。

pbr在非固有色贴图上需要更明确定义贴图是是线性的,原因是一般固有色贴图需要人的感知,而且因为历史遗留问题,大多数固有色贴图都是需要人眼感知的,人眼感知就会产生gamma校正问题,技术就不细说了,因为很多技术博客都提到了,通俗点的说法就是人眼看到物体的颜色其实已经经过视觉和大脑的处理了,并不是物体以前的颜色了。

Untiy3d默认使用左侧gamma方式容易曝光,右侧是线性的,不容易曝光

 

线性空间下物体效果,最大的优势就是光照的自然,特别是在光影在物体表面的衰减上

下面是对比图

离线渲染下也是非线性空间下的物体容易过度曝光,或者灰蒙蒙的

 

 

所以固有色通常标记为srgb,表示这是人眼里看到的颜色,这样计算机就能将这类图片在内部转换成线性的,来让整个场景贴图计算更符合自然

而非srgb贴图,通常是可视化制作出来的(比如如今的substance painter之类),

实时渲染

Unity3d总的线性空间和图片srgb设置

Unity3d默认是gamma空间,这是因为线性空间需要支持OpenGL ES 3.0,部分手机和苹果机不支持

Unreal4当中的默认就是线性空间,这也是为什么很多ue4项目质感很不错的

贴图处理格式还是要制作者根据实际情况调整

离线渲染

(这里以maya2016 arnold4为例)

以前老版本设置比较繁琐,这也是为什么以前很多渲染项目中效果不如引擎中的,不仅需要自己改色彩空间,设置图片是否是线性还需要再连节点(因为以前版本arnold不能识别maya中的贴图信息)。但是2017以后arnold5已整合如maya默认即线性空间,只需要关系图片是raw还是srgb了。

 

可以看出线性空间和PRB都是必要的。

 

制作环节

这里要说下一般有颜色的贴图都是srgb的

法线贴图是线性的,但以前软件一般都能自动把法线贴图认对,很多制作人员可以手绘法线贴图,这是为什么呢,因为熟练...

还有以前使用的HDR环境贴图其实也是线性的,有人问那么mask贴图或者3s贴图等是线性的吗?答案就要看你的制作环境了,如果如今在pbr相关dcc软件中制作,那么这些贴图都是线性的,如果是以前的素材,那八成都是srgb的了,因为以前软件多为非线性空间,贴图效果都靠对着凑,所以如今在线性空间里都是可以算srgb的,虽然大多数贴图还是要重新凑。

 

一般制作人除非项目指定某种金属(或者高精度项目),其实并不需要关心哪种颜色代表的是金属度多少多少,粗糙度多少多少,因为我们只需要在相关软件里观察调整质感导出贴图,在其他软件里放上,或渲染或实时,整体效果是对的就可以了。现在相关贴图软件比如sp,sd之类直接就能在正确的线性空间下预览pbr材质的效果。

 

 

这篇关于影视和引擎当中的PBR材质和线性色彩空间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/439644

相关文章

线性因子模型 - 独立分量分析(ICA)篇

序言 线性因子模型是数据分析与机器学习中的一类重要模型,它们通过引入潜变量( latent variables \text{latent variables} latent variables)来更好地表征数据。其中,独立分量分析( ICA \text{ICA} ICA)作为线性因子模型的一种,以其独特的视角和广泛的应用领域而备受关注。 ICA \text{ICA} ICA旨在将观察到的复杂信号

速了解MySQL 数据库不同存储引擎

快速了解MySQL 数据库不同存储引擎 MySQL 提供了多种存储引擎,每种存储引擎都有其特定的特性和适用场景。了解这些存储引擎的特性,有助于在设计数据库时做出合理的选择。以下是 MySQL 中几种常用存储引擎的详细介绍。 1. InnoDB 特点: 事务支持:InnoDB 是一个支持 ACID(原子性、一致性、隔离性、持久性)事务的存储引擎。行级锁:使用行级锁来提高并发性,减少锁竞争

✨机器学习笔记(二)—— 线性回归、代价函数、梯度下降

1️⃣线性回归(linear regression) f w , b ( x ) = w x + b f_{w,b}(x) = wx + b fw,b​(x)=wx+b 🎈A linear regression model predicting house prices: 如图是机器学习通过监督学习运用线性回归模型来预测房价的例子,当房屋大小为1250 f e e t 2 feet^

Smarty模板引擎工作机制(一)

深入浅出Smarty模板引擎工作机制,我们将对比使用smarty模板引擎和没使用smarty模板引擎的两种开发方式的区别,并动手开发一个自己的模板引擎,以便加深对smarty模板引擎工作机制的理解。 在没有使用Smarty模板引擎的情况下,我们都是将PHP程序和网页模板合在一起编辑的,好比下面的源代码: <?php$title="深处浅出之Smarty模板引擎工作机制";$content=

【高等代数笔记】线性空间(一到四)

3. 线性空间 令 K n : = { ( a 1 , a 2 , . . . , a n ) ∣ a i ∈ K , i = 1 , 2 , . . . , n } \textbf{K}^{n}:=\{(a_{1},a_{2},...,a_{n})|a_{i}\in\textbf{K},i=1,2,...,n\} Kn:={(a1​,a2​,...,an​)∣ai​∈K,i=1,2,...,n

MySQL技术内幕_innodb存储引擎

MySQL技术内幕_innodb存储引擎 INNODB innodb中如果表没有主键 表是否由 非空唯一键,有则该字段为主键没有,则自动创建一个6字节大小的指针 innodb存储引擎的所有数据都存储在表空间中,表空间由段,区,页(块)组成。 如果启用了 innodb_file_per_table, 则每张表内的数据可以单独放在一个表空间中即使启用了上面参数,共享表空间也会因为 系统事务信息

Matter.js:Web开发者的2D物理引擎

Matter.js:Web开发者的2D物理引擎 前言 在现代网页开发中,交互性和动态效果是提升用户体验的关键因素。 Matter.js,一个专为网页设计的2D物理引擎,为开发者提供了一种简单而强大的方式,来实现复杂的物理交互效果。 无论是模拟重力、碰撞还是复杂的物体运动,Matter.js 都能轻松应对。 本文将带你深入了解 Matter.js ,并提供实际的代码示例,让你一窥其强大功能

win7系统中C盘空间缩水的有效处理方法

一、深度剖析和完美解决   1、 休眠文件 hiberfil.sys :   该文件在C盘根目录为隐藏的系统文件,隐藏的这个hiberfil.sys文件大小正好和自己的物理内存是一致的,当你让电脑进入休眠状态时,Windows 7在关闭系统前将所有的内存内容写入Hiberfil.sys文件。   而后,当你重新打开电脑,操作系统使用Hiberfil.sys把所有信息放回内存,电脑

求空间直线与平面的交点

若直线不与平面平行,将存在交点。如下图所示,已知直线L过点m(m1,m2,m3),且方向向量为VL(v1,v2,v3),平面P过点n(n1,n2,n3),且法线方向向量为VP(vp1,vp2,vp3),求得直线与平面的交点O的坐标(x,y,z): 将直线方程写成参数方程形式,即有: x = m1+ v1 * t y = m2+ v2 * t

[Linux]:环境变量与进程地址空间

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:Linux学习 贝蒂的主页:Betty’s blog 1. 环境变量 1.1 概念 **环境变量(environment variables)**一般是指在操作系统中用来指定操作系统运行环境的一些参数,具有全局属性,可以被子继承继承下去。 如:我们在编写C/C++代码的时,在链接的时候,我们并不知