您需要 登录 才可以下载或查看,没有账号?注册
x
编辑:木木
最近发现了一个挺有意思的项目文章,而且实话实说,可能小编我比较笨,真的看了好久才明白点…我觉得还是挺值得分享一下的!这篇论文大概就是讲述作者的PBR测量实验,从制造设备到拍摄,再到校准结果图像等等,根据这一整体的过程,作者进行了总结并分析了从中学到了什么东西。可能有些人对PBR的概念还是比较模糊,PBR全称为:Physically Based Rendering基于物理的渲染过程,是一种着色和渲染技术。一个好的PBR作品,会把物质的颜色、粗糙度、高光属性等分别处理,使物质体现出最真实的感觉。3D通才—Martin Geupel
在正式和大家分享这篇论文之前,还是老样子,先来介绍一下作者。 这篇文章的作者叫做Martin Geupel,来自德国,是一位3D全才,同样也是一位具有工具发开能力的人才。 他的艺术生涯从2004开始,作者熟悉的第一个3D软件就是3ds Max,2009年进入视觉特效工作室Ground-Studios进行学习与项目制作,积累了很多宝贵的项目实操经验,经过多年的艺术积累,他在着色、灯光、渲染、合成和脚本领域都小有成就,有着自己独到的见解,目前是Ground Studios GmbH技术总监。 https ://www.artstation.com/martingeupel
PBR-从规则到测量
其实这一问题,有很多人在不断关注,恰好作者也是经过测试,详细、完整的阐述了此次内容,如果感兴趣的小伙伴一定要认真的多看几遍,可能一开始会有点难以理解,这是作者2022年7月26日发布的,因为论文内容是全英文的包含很多专业术语,我可能也有翻译不准的地方,请多多谅解哈~ 小编我先把原文链接放上! https://www.racoon-artworks.de/blog_PBRfromrulestomeasurements.php
前言 这篇文章是关于我的PBR测量实验,包括从制造设备到捕捉,再到校准图像以及我在此过程中学到的东西。我觉得这不是获得PBR纹理的权威指南,不保证这是绝对正确的方法,所以如果你发现任何错误、有改进的地方或不准确的地方,请告诉我。我发布此内容的部分原因之一就是为了更好地获得有关它的反馈。
一些困惑 几周前,我和一位同事正在讨论特定资产的木材纹理。它本身看起来不错,但对于我所理解的基本PBR规则来说有些太暗了。所以,我们调整了Basecolor,直到它超过了绝对最小Albedo极限,紧接着……它看起来就不太正确了。 我无法向同事解释为什么会这样。据我了解,最黑暗的天然材质之一是木炭,反照率为0.04或4%。所以鉴于此,有理由说没有其他天然材质比它更暗的了。线性sRGB中的0.04大约是sRGB 50 50 50(8位非线性,带伽马)——顺便说一下,这也是Adobe Substance工具中PBR验证器的限制。如果你在谷歌上搜索Albedo表,你会发现很多PBR材质表都准确地说明了这些Albedo值。事实上,如果你四处搜索并阅读一些PBR指南,你最终会找到Sébastien Lagarde在2011年发布的一篇基于物理着色模型的文章,他在文章中写道:
翻译: 木炭 0.04 新鲜沥青 0.04 磨损的沥青 0.12 [...] 地球上最黑的物质之一是木炭,最亮的是新鲜的雪。 上述物质的漫反射颜色应略小于提供的值,其中包括一些镜面反射。 这允许在sRGB中定义50-240的漫反射颜色范围。 在官方PBR指南的第二部分中也可以找到类似的段落:
翻译: 我们可以用最黑的物质是煤,最亮的物质是白雪来想象这个范围。 [...] 对于深色值,不应低于30-50 sRGB。暗值的范围在30 sRGB时可能更宽容,在50 sRGB时更严格。对于明亮的颜色,不应有任何高于240 sRGB的值。所以,如果上述内容是真的,那么我们的木材纹理应该至少sRGB 50或者更多,因为它不是煤减少一点就可以,但是对于煤炭来讲少一点,尽管在渲染器端有正确的颜色管理,可它看起来仍然是错误的?
制作“齿轮”设备 因此,由于PBR指南里没有我想要的答案,我也不知道哪些纹理可以相信,所以唯一合理的解决方案就是自己测量一些反照率。在接下来的几周里,我为自己制作了一个小型交叉偏振便携式环形灯装置,我可以用它来拍摄样品。前面的环可以旋转90°以制作交叉和非偏振图像。一切都由24V 65W移动电源供电。我不会详细介绍它是如何工作的以及你为什么需要它,(后续我打算再写一篇关于装置本身的文章)。长话短说:交叉偏振有效地消除来自光源的任何镜面反射,因此相机只能看到漫反射的内部反射,可以称之为BaseColor纹理。
拍摄图像 设备完成后,我需要一个参考来调整我的图像。我使用了Color Checker Passport 2,因为这可能是最常用的颜色图表类型。它的价格比较贵,但也确实真的很好用。
有了这个,下一步是创建一个配置文件,将相机颜色校正到参考。有不同的方法可以做到这一点,但经过相当多的实验后,我发现了3个不同的选项,其中只有一个是值得推荐的: 1.图表随附的Color Checker相机校准软件。非常慢,对输入非常挑剔。说实话,总体来说非常糟糕。而且没有任何设置。
2.下一个选项是Adobe的DNG配置文件编辑器。这个速度很快,最重要的是可以导出线性配置文件(稍后会详细介绍),但有一个主要缺陷:它太老旧了。Color Checker公式在2014年进行了修订,颜色略有变化。不幸的是,该软件是在此之前制作的,并且配置文件从未更新过。如果不关心颜色,只关心值,这仍然是一个有效且免费的选项。
3.第三个选项也是我现在使用的Lumariver Profile Designer。最小版本的价格约为30欧元,但支持线性配置文件、现代颜色检查色板,并具有用户可能需要或不需要的大量其他功能。无论哪种方式,它都非常适合这项任务。标准Raw处理配置文件的Tonecurve 那么这条曲线是怎么回事,为什么我们需要删除它?与CG中的所有内容一样,我们想要的是对线性输入进行数学运算。每个相机或RAW文件处理器都会在您的图像上添加色调映射曲线,以使它们更令人赏心悦目,就像对渲染所做的那样,使它们最终看起来更漂亮。然而,由于我们正在进行测量,我们需要线性图像,所以我们需要删除该色调映射曲线。
左:原始照片 右:处理后的线性图像在使用平坦线性轮廓处理图像后,我们可以将它们导出并在我们喜欢的应用程序中调整它们。就我而言,我使用Blackmagic Fusion。但为了做到这一点,我们需要知道这些色板代表什么。因此,经过一番搜索后,我找到了一个具有可信、更新和测试结果的来源:https ://babelcolor.com/colorchecker.htm但有一个问题……这些参考颜色值不是仅漫反射参考,还包含一些镜面反射部分。我尝试了不同的值并调整了图像的级别以匹配颜色检查器的黑白补丁参考值,但它们看起来都不合理,尤其是在渲染中。所以让我很疑惑的是,从Lightroom出来的黑色补丁已经很暗了。因此,任何对此的调整显然都会导致纹理褪色和朦胧,这就符合PBR指南,但仍然感觉很奇怪。然后,我尝试通过减去偏振和非偏振图表的照片来从参考值中去除镜面反射部分,这再次导致黑色的值非常暗。
一个幸运的发现 快放弃时,我再次尝试寻找极化参考值的来源,幸运的是找到了来自动视的一篇旧文章:《使命召唤:高级战争》的真实世界测量。文章链接如下: https://research.activision.com/publications/archives/real-world-measurements-for-call-of-dutyadvanced-warfare 整个PDF本身就是一个宝库,但真正令人高兴的是,他们捕捉纹理的方法与我的非常接近,有一个重要地方:他们使用“spectralon”(Spectralon具有高反射率,高稳定性,其反射率剖面具有极高的朗伯特性,它的反射率在400至1500nm及250至2500nm的波长范围内分别大于99%和95%。),一种反照率超过99%的材质,并且非常接近朗伯反射率。有了这个,他们就有了一个非常可靠的参考,他们所做的就是调整线性图像的曝光,以使光谱表面与纯白色相匹配。
这有一些重要的含义:除了相乘之外,他们不会以任何其他方式修改图像,颜色检查器的黑色补丁实际上非常暗。如果线性化完成正确,调整输入图像的过程非常容易,假设你有一个已知的参考,如spectralon。对我来说比较困难的是,spectralon非常昂贵,但我恰好发现PDF还包含一个spectralon的图像,就在颜色检查图表旁边。这正是我想要的。我可以使用该图像来校准我的图表。
色彩检查图表旁边的Spectralon参考
结果 有了这个参考和可靠的来源,我做了一些测试,结果看起来很有希望。 调整曝光后,我的色卡与他们的非常匹配,因此我愿意得出结论,这些测量值是值得信赖的。另外……效果看起来相当不错,毕竟这就是所有这一切的开始。 以下是纹理和生成的渲染的一些示例。左视图是完成的BaseColor纹理,中间是漫反射+反射(针对左侧的曝光进行了调整)。您已经可以在此处看到反射对颜色的贡献程度,但要注意,这是在使用垂直于表面的大光源对其进行爆光时,这基本上是最坏的情况。右视图是相机拍摄照片的方式,包括色调曲线和未调整曝光。这里的要点是你无法从照片中推断出BaseColor纹理。 所有的渲染都是使用ACE色彩管理制作的,包括Output_sRGB视图变换中的ACE色调映射曲线。这意味着所有图像都具有类似色调映射的S曲线,因此比经典的仅经过伽马校正的渲染更具对比度。我特别选择了具有中性照明和背景对象的HDRI来参考真实世界的对象(以及一些完整性检查)。 你可能已经注意到黑色塑料看起来很暗,但请记住,这是一个对比鲜明的S曲线。渲染中还有很多细节,基本上都是来自反射。还将它与背景中的黑色杯子进行比较。下面是一个示例,如果Basecolor为srgb 50会是什么样子。尽管有色调映射,但材质看起来很糟糕并且褪色。我想你可以想象没有S曲线会是什么样子。 你可能也已经注意到了另一件事。尽管有两极分化,一些木材看起来仍然有些光泽。我不确定什么时候会发生这种情况(一些测试是按顺序进行的),但由于这种木材是涂漆的,可能就是一个涂层。这意味着有两层反射,其中只有一层被正确消除。另一个问题是由于木材中的纤维而导致的各向异性扩散或散射。我不确定这如何影响结果。在这种情况下,另一个可能的原因是左右墙壁上的反射光到门的二次反射。所以这是需要牢记的,可能需要手动修复。 这是一个带有透明涂层的木材示例。只有第一层反射被取消,不太完美的是木材本身的反射仍然存在。
结论 对于最初的问题,这一切意味着什么?
是时候再看看Albedo表了。如果是木炭,图表显示它的反照率为4%。但这包括漫反射和镜面反射。金属度工作流程之所以存在,是因为假设绝大多数介电材质具有大致相同的镜面反射率(F0,垂直观察表面时的反射量),即4%。有区别,但不是那么多。回到Sébastien Lagarde的文章,他写道:
翻译:介电材料镜面反射颜色范围的良好规则是: 没有低于 0.02 的值 普通宝石 0.05-0.17 普通液体 0.02-0.04 当没有找到介电材料的参考值时,将值设置为 0.04(围绕塑料) 除宝石外,我们的任何介电材料将使用应在 0.02-0.05 [1] 范围内。 因此,即使在最坏的情况下,木炭只有2%的镜面反射率,这也意味着4%的反照率是镜面反射和漫反射的相等部分,然后转换为srgb 25的BaseColor值,远低于规定的限制PBR指南。但如果我们假设它更高,比如4%的镜面反射率,漫反射部分基本上为零,而我们看到的大部分是粗糙的反射,这种趋势更接近于我们在看木炭时的直觉感觉。 那么,这对任何其他材料意味着什么?假设大多数材料的反照率中有4%的镜面反射率部分,即sRGB 50已经存在。所以,像黑色塑料这样的东西应该有比这更暗的BaseColor,因为4%的最小反照率已经用于镜面反射部分,这似乎与测量结果相匹配。我对拍摄的材料和我在Substance和megascans上找到的材料进行了一些比较,并且BaseColor值惊人地接近。把Activision的文章加到这里,看来思路也不能完全错。 因此,要对此进行测试,请查看以下比较:
所有这些图像都没有色调映射,使其更容易看到。左图是关闭反射的材质,中图显示Basecolor和F0 4%反射,粗糙度为100%(金属度工作流程),右图是Basecolor提升4%但再次没有反射。我会说非常接近。当然存在一些差异,正如你对着色模型和偏差的模拟所期望的那样,但我认为它显示了这个想法。
也就是说,所有这些都引出了一个问题:为什么PBR验证器离我们这么远?如果黑暗物体的反照率主要是反射,为什么PBR指南另有说明?以及为什么Substance Source分发的材料不在他们自己的规格范围内。我对此没有答案,而且问题的解决方案似乎如此明显,这让我更难相信。尽管测量结果似乎是准确的,但我必须强调这不是科学层面的。我的测量和设备中有很多变量是我无法弥补的。从LED及其相对较差的CRI等级开始,到偏光片,再到拍摄时物体上的光分布,最后但并非最不重要的是途中发生的几层“参考值转换”。此外,图表相对于渐晕或光衰减的位置是这里的一个考虑因素,并且会稍微扭曲结果。这些都不是实验室级的反照率测量,因此这些示例主要用作调整你对BaseColor纹理应该是什么样子的直觉的来源。也就是说,我认为这些问题中的任何一个都不会从根本上改变结果和结论。另一个可能的论点是,上面提到的反照率表说明了在更广泛的波长范围内反射的能量量,而我们在渲染中仅使用可见范围。然而,这仍然会使那些反照率表和下限对我们来说实际上毫无用处,而被测量的那些是唯一值得信赖的(因为它在相同的可见波长范围内)
最后的总结 ■材质的BaseColor越深,反射对整体外观的影响就越大。这意味着,如果你没有得到完全正确的F0值或粗糙度,它看起来会出错。这就是为什么我同时拍摄交叉偏振图像和普通图像作为反射参考。■BaseColor纹理可能比你想象的更暗或对比度更高,并且通常比渲染材质最终看起来更饱和。反射将在顶部添加相当多的乳白色。■来自网络的BaseColor纹理可能正确,也可能不正确。它们可能包含镜面反射部分,或者色调映射曲线从未被移除,或者通常太亮或太暗。这也意味着如果你自己在Substance Designer中编辑材质,使用正确的镜头参考可能是一个好主意。■在我看来,在没有交叉偏振的情况下拍摄纹理并不是一个好主意,但如果材质足够亮,因此反射的贡献相对较小,你可能会侥幸成功。深色材质绝对需要交叉极化。■如果你出于节省渲染时间(例如非常粗糙和深色的布料)之类的原因不在材质中使用反射,则绝对需要补偿4%的镜面反射部分。
end 公众号地址:PBR反照率参考值是正确的么? |