Notifications
Article

ALLEGORITHMIC . PBR GUIDE PART-2 CN
Published 3 months ago
79
0
ALLEGORITHMIC . PBR GUIDE PART-2 CN
Original Post : https://www.leegoonz.com/single-post/2016/05/18/ALLEGORITHMIC-PBR-GUIDE-PART2-CN
光和材质
制作PBR texture的实用教程
基于物理的渲染(PBR)比起一个已经定了的基准来说,更有很多的方法论。虽然有很多特定的原则和guide-line,但是没有完美的标准。所有有很多其它的执行方法。这些差异一般会在使用的贴图类型中发现。甚至虽然重命名贴图的名字方法也不一样,但是基本使用方法还是一样的。
本教程如figure 01所示,给大家展示最常用的两个工作流程,metal/roughness和specular/glossiness。以Substance Designer, Substance Painter, Bitmap2Material 3构成的Substance toolset,对于制作PBR贴图支持以上两种方法。为了Metal/roughness和specular/glossiness这两种工作流程,Substance PBR shader使用GGX BRDF,remapping roughness/glossiness的时候,不运用任何值。但是,如果需要任意的remapping的时候,可以通过Substance material简单执行。还有custom shader因为在Substancetoolset里面都是支持的,不管在怎么样的自定义pipeline下,都是可以运用Substance的。
虽然这两种工作流程有各自的优缺点,但是谁好谁坏也是区分不出来的。最重要的还是你要理解PBR背后的核心要素。Worflow其实就是帮组你准确制作PBR贴图的概念和指引。各自的工作流程虽然是用同样的资料,但是是用不同的方法来运用资料的。
在volume1的'The Comprehensive PBR Guide'里面,我们是从技术和理论的侧面来定义PBR的。在第二个volume里面,我们对于制作PBR贴图讨论实用的方法,立足于volume1里面确立的基础,提供guide-line。我们讲PBR会从美术的立场开始。然后我们以metal/roughness为原则和指导方针,来讨论。然后我们会解释和specular/glossinss有什么差别。还有对于制作PBR贴图的时候,理解这整个指导方针最好的方法就是读完这两个工作流程。
PBR是什么?
基于物理渲染的(PBR)是一种更细腻的表现光和表面作用反应的的shading&rendering技法。它又称为基于物理的rendering(PBR),或者基于物理的shading(PBS)根据pipeline讨论部分的不同,PBS就是一般shading的概念,PBR主要集中于rendering和Lighting。但两种方式都描绘得是标记基于物理的正确的观点的过程。
PBR的优点是什么?
关于PBR的优点,我们可以从以下美学部分(artistic)和效率两方面来考虑。
1. 因为制作方法和运算法则是基于物理准确的运算,所以不用考虑specularity之类的表面特性,可以简单的计算出更写实的asset 。
2. asset在所有照明环境里面都能精确地看到。
3. 给各位美术提供一贯的工作流程。(即使是不同的美术,也用同样的工作流程工作)
对美术有意义的
我们美术有必要把描绘表面特性的贴图想得不一样。有根据规则和guide line德尔新的贴图类型。
贴图是作为材质和光反应的的近似值的第二选项。电脑硬件和渲染的发展,使我们能够更加详细地模拟光的物理法则。
在PBR里面,shader在我们制作基于物理法则的贴图的同时,很重的物理 lifting是通过能量守恒和BRDF来控制的。因为任意推算材质值的事情,不通过PBR也是可以的,所以我们美术可以把精力集中在贴图制作。虽然,按照guide-line正确地制作贴图是很重要的,但并不是就意味着不考虑我们美术的直观性了。事实上,给角色赋予材质这件事本身就是一个艺术的侧面。不要一味地抓着物理不放。即使我们在基于物理学的基础环境里面工作,并不就代表我们无法用优秀的美术风格来进行了。举个例子,Disney基于物理的反射模型是立足于原则(principled)来设计的。意思就是比起严谨的物理模型来说,设计更符合与美术。虽然现在我们知道要活动原理和guide line,但是也不能成为它们的奴隶。
Metal/Roughness Workflow
metal/roughness工作流程可以定义在PBR shader里面,向取样器供给通道的设置。Metal/roughness里面比较特别的贴图如figure02中所示,是base color, metallic,roughness。这几个在下面都会说。
PBRshader,或者如figure03所示,为了ambient occlusion, normal还有parallax mapping,运用possibleheight。这些贴图的类型在所有工作流程中(roughness/metal, specular/glossiness)都是共通的,在'Maps common to both workflows'里面会讲。
在Metal/roughness工作流程中,金属的反射值是在控制电介质的反射值和BRDF的平面角度里面的反射一样,在base color map里面控制的。金属贴图用在特殊的金属(被埋藏或者腐蚀的…?)的遮罩和base color贴图中的非导体数据。电介质F0值因为是shader直接控制的,不能手动操作。如果shader在metal map找到黑色部分的话,在base color贴图相应部分,自动会识别电介质(非金属),如figure04中所示,使用4%的反射率。
第一,4%的值几乎可以适用于所有的电介质材质。电介质F0,金属反射率,albedocolor的亮度范围等所有的这些值,都是根据实际测定的数据里面类推出来的。这点非常重要。我们讨论过在volume1里面,表面光反射的地方的光的强度,不可能比反射之前光的强度要强,这是能量守恒定律。Substance在用的时候,shader能专门控制能量守恒。在Metal/roughness里面也不可能违背能量守恒。
在metallic里面黑色的部分(==base color里面红色的部分),是在低反射率的状态下渲染的。
利用Height图和Ambient Occlusion,能表现高低和阴影。
电介质(Dielectric) F0
执行有些metal/roughness的时候,如同在Substance Toolset和 Unreal Engine 4里面能看到的一样,有specular control。这个选项就能让艺术家可以改变电介质F0的值。在Substance里面,这个output被叫作'specularLevel',根据PBR的metal/roughness texture sampler来供给。如Figure 05中所示,具有0.0 – 0.08的范围。
如果你需要手动设置电介质F0的值的话,如figure 06所示,用Substance Designer的Substance graph的'specularLevel' output。我们对于电介质的F0,我们再specular/glossiness里面会深入讲解。
Base Color (RGB – sRGB)
Base color贴图如figure 07所示,是可以有两种类型的数据(电介质的反射色,金属里面的反射率值)的RGB贴图。表现电介质的颜色,表现反射的波长,在volume1里面控制。在Metallic map里面,相关部分如果用metal标记的话,反射率的值是存在的。
生成(Guidelines)
base color贴图从色调来看,可能看起来很平常。即比传统的diffuse贴图拥有更低的对比度。因为各位不想颜色太亮或者太暗。物体其实比我们想象中的颜色更亮。我们把这样的范围视觉化的过程就是把最暗的物质当做石炭,把最亮的部分当做眼睛。举个例子,石炭虽然非常暗,但不是0.0的black。我们选择的颜色值,得在亮的范围里面选择。我一般参考的是非导体的反射色。如Figure 08所示,dirt value可能在correct brightness值范围的最低。关于暗的值,我们不应该设置在30-59以下。暗的值,比30 sRGB宽大,比50 sRGB严格。关于亮的值的话,不应使用240 sRGB以上的值。

base color从电介质物质的立场来看,包含被反射的光的数据,因此,我们主张它缺少像ao一样的光的信息。如果用shader有的ambient occlusion通道不能充分的表现细节的时候,可以放入细微的occlusion,有这种特例。在贴图里面,表现金属的反射率的值,得用实际生活中测定的值。这些值有70-100%的specular,在sRGB里面,是180-255。在Substance PBR Utilities章节,我们为了共同的材质,会对预设F0值进行讨论。而且,Sébastien Lagarde提供的meta/roughness chart也是很不错的资料。
http://seblagarde.wordpress.com/2014/04/14/dontnodphysically- based-rendering-chart-for-unreal-engine-4/
1.颜色表现非金属材质的albedo和金属材质的反射率值。
2. Base color除了micro-occlusion等例外,不应该有光的信息。
3.暗的值不应该低于30 sRGB(允许范围) - 50 sRGB(strict range)
4.亮的值不应该比240 sRGB高。
5.纯粹金属的反射率,有70-100%的specular值,这和180-255 sRGB一样。

虽然大家会读到下面的Metallic章节,会包含base color,或者金属反射率值。万一要把污渍或者氧化添加到base color的话,不能把它当做纯粹的金属来看待,金属反射率范围得更低。添加污渍或者氧化(腐蚀之类),在metallic map里面另外说明。为了不再把这些部分当做金属看待,得降低metallic的值。
Metallic (Grayscale - Linear)
Metallic贴图主要用于定义哪部分是纯粹的金属部分。Metallic贴图是灰色调的。这就是告诉shader怎样解释base color的数据的类似遮罩一样的功能。Metallic贴图的数据不包含现实世界的数据。这个仅告知base color的哪个部分是用reflected color(dielectric)来解释的,哪部分是现实金属反射率值的。Metallic贴图里面,0.0(black – 0 sRGB)是非基金属部分,1.0(white – 255 sRGB)是纯粹的金属部分。区别纯粹金属和非金属的话,Metallic贴图是二进法,(black,white =非金属,金属)。实际上,shader看到金属贴图,白色的时候,base color map的相关部分适用于figure 11里面出现的金属的反射率值。
生成Guidelines(Creation Guidelines)
金属材质进行texturing的时候,是变成金属的反射率值70-100%的specular范围和有些金属是被腐蚀的,有这样两个比较重要的层面。这两个我们会在本章节都讲到。
纯粹的金属(Raw Metal)
金属贴图的话,0,1即金属还是非金属。主要是用在定义如果不是纯粹的金属的话,是污染的金属。纯粹的金属范围定义在235 – 255 sRGB.属于这个范围的金属部分和在figure 12里面所示的,需要70-100%的反射率,180-255的sRGB范围。换句话说,这些值就是以实际测定的值为基准。
被腐蚀或者非导体(Corroded or dielectric layer)
表面风化的时候,金属生锈或者其它环境,得用污物或者脏的图层来补充。被氧化的金属是非导体,举个例子,得看做是被腐蚀的金属。涂漆的时候,metal也是一样的。举个例子,paingting的时候,如果金属哪一部分被划,或者掉下来的话,那部分还是纯粹的金属材质(metallic map里面是白色)。还有,涂的部分看做是非导体图层(metallic map里面是黑色)。这个在figure 13里面能确认。
Metallic map是金属和非金属状态的混合,在贴图里面可以表现为gray value。如果metallic map比235 sRGB具有更低的值的话,各位有必要降低base color的纯粹金属部分的反射率值。举个例子,在figure 14里面,试想dirt layer模糊地遮住了部分纯粹金属的部分。Dirt是非导体,万一各位把metallic map完全让它是白色的话,base color的dirt的部分也是,和纯粹的金属有一样的反射率。可以通过降低有dirt的相关部分的Metallic map值来做出非导体和金属的适合的反射率值。
Dirt layer的透明度可以成为告诉大家base color的反射率值要降低多少的指标。这边难或者就是没有快速的规则。大家要做的事情就是把高反射率值降低为低反射率值。但是,这个变化的程度本身又是多种多样的。
Substance toolset通过支持多重通道,能轻松地调节weathering效果,工作和效果是怎样给通道传播的。Substance Designer和Substance Painter根据Substance effect,大家能直接调节调节通道的Substance effect介质变量。
举个例子,在Substance Designer里面,为了能让Material Color Blend node,dirt效果在多个通道能一同适用而使用。Material Color Blend节点里面,金属的dirt layer效果,如figure 15一样,可以通过调节metallic value slider来控制。
1.黑色(0.0)是非金属,白色(1.0)是金属。有针对氧化或者dirt的变化的gray scale值。
2.如果金属贴图比235 sRGB的值更低的话,base color的反射率值也要降低点
Roughness (Grayscale – Linear)
Roughness贴图如figure 16所示,指的是引起光的散射的表面的不规则性。如volume1中一样,被反射的方向根据表面的粗糙程度的不同,也不一样。虽然光的方向改变了,但是光的强度是不变的。表面更粗糙的话,会具有更大更暗的highlight。细腻的表面的话,即使相同量的光被反射了,specular反射会更明显的维持。
在这个贴图里面,黑色(0.0)是细腻的表面,白色(1.0)是粗糙的表面。因为由Roughness贴图来决定表面的性质,所以是最具有创意的贴图。从本质来看,大家就可以说表面的状态相关的事了。这个环境是什么?这是仔细做的还是无意的?是否曝光在风雨中?表面的状态和环境,还有大家想制作的整体的asset和关于世界的设计为止都是有关系的。Roughness来说没有对错。艺术家具有完美的控制权。和Roughness一起开始制作的时候法线贴图是很好的。法线贴图常常要在roughness map里面出现,具有重要的表面信息。
Guidelines生成(Creation Guidelines)
1. 要有创意,要说的是关于表面的visual story.
分辨率和纹理密度(Resolution and Texel Density)
关于使用metal/roughness工作流程的副作用是,如figure 17所示,会生成白色的边。我们虽然对metallic workflow进行了讨论,这问题在specular/glossiness里面也出现了。
但是,这个因为特效是反的,所以几乎看不见。即,在figure 18所示,边缘比起白色来说,黑色更明显。这个现象如figure 19所示,因为贴图interpolation现象,在电介质里面,变成金属的部分会很明确得生成。
在Metal/roughness里面,金属部分的base color比非金属的diffuse color拥有更亮的颜色,所以有了白色的轮廓。在Specular/glossiness里面因为纯粹的金属没有diffuse颜色的,所以和非金属interpolation的过程中,生成了黑色的轮廓。贴图的分辨率和纹理密度和边缘的人工构造(变白或者变黑的现象)有着直接的关系。如果大家用刷子在刚分离的边缘制作金属和非金属的interpolation区域的话,低分辨率会把边缘处理得很细腻,结果的话,边缘的问题会更严重。这个低分辨率问题可能是根据UV发生的。UV没有适合纹理密度得分辨率的话,会有这种现象发生。为UV提供好的纹理密度的就如figure20所示,是能使边缘变得最小的方法。Figure 20里面两种贴图分辨率都是2048.但是,右侧照片展示的是具有低纹理密度的惨不忍睹的UV展开。

Guidelines生成(Creation Guidelines)
1. 纹理密度和分辨率对在metal/roughness里面出现的白色边缘起影响。为了使这种现象降得最低,需要确定UV是否具有合适的密度和正确的分辨率。
Specular
所有电介质的F0典型的都在metal/roughness里面设定为0.04(linear) 4%反射率。如之前说提到的,有一些工具给大家提供这样的再设置的specular channel。在Substance里面把它叫作specularLevel channel.电介质F0在贴图生成的Guideline的立场来看的话,更复杂,在普通的metal/roughness里面,因为是以0.04值来的,所以我在我们进行specular/glossiness前,暂且把Guideline放下了。
Metal/Roughness 优缺点(Pros and Cons of the Metal/Roughness Worflow)
优点
1.制作简单,对于输入不正确的电介质的F0而导致的错误很小。
2. metallic和 roughness贴图都是 grayscale贴图,所以贴图的内存运用很小。(不是rgb,而是仅用一个通道的贴图)
缺点
1.对于贴图生成,不能调节关于电介质的F0。但是,几乎所有工具都有能调节基本的4%值的specular control。
2. Edge artifacts(材质interpolation的部分发生的边缘白色现象)在低分辨率很明显。

Specular/Glossiness Workflow
像metal/roughness一样,specular/glossiness是通过给PBR shader以sampler提供贴图(textures)的设置来定义的。Specular/glossiness里面特殊的贴图就是如figure 21所示,diffuse, specular , glossiness。虽然specular/glossiness用像diffuse和 specular一样更加熟悉的名字,但是区分这些题图的传统用法是很重要的。Substance虽然也用diffuse这个用语,在有些工具里面也用albedo这个词, PBR shader而且又运用ambient occlusion。在两个工作流程里面都用的贴图我们会在下一章节看的。
在这个工作流程理面,把金属和非金属材质的F0反射率值保持到specular贴图。在Specular/glossiness里面大家具有两个RGB贴图。一个是diffuse color(albedo),另一个是反射率值(specular)。在Specular map里面,大家能控制贴图本身内的电介质F0值。
在Metal/roughness里面看的一样,Substance的PBR SHADER使用能量守恒。这给specularmap提供电介质的F0的控制,意思就是对结果不正确的值会变得脆弱,在specular/glossiness里面变得更加重要。举个例子,白色(1.0)diffuse和白色(1.0)specular值,从比开始reflect/refract值开始的时候接受的光的量,要更大,能破坏能量守恒。这就是制作贴图的时候,大家对于贴图数据,看不到基础的实际结果的意思。
大家应该也看到了,贴图出现的数据和metal/roughness一样。因为我们遵循的是一样的guide-line。不同就在怎么制作贴图。虽然数据是保存到其它的贴图的,但是是遵循一样的原理原则的。就之前所说,电介质的F0,金属折射率,albedo color的亮度范围之类的所有值都是从实际测定的数据中由来的。我们看到的各自的贴图类型,都是基于实际测定的guide-line。在这里就不反复讲metal/roughness里面出现过的信息了。但是要集中在差别和哪里有差别。

Diffuse (RGB - sRGB)
像metal/roughness一样,diffuse map是包含albedo color的。但是,不包含反射率值。
生成Guidelines(Creation Guidelines)
Diffuse贴图仅仅只是albedo color。仅仅指纯粹金属部分是黑色(0.0)。因为金属如同figure 22所示,没有颜色。被氧化的部分的金属不再当做纯粹的金属,可以有颜色。什么物质或者纯粹的金属上面能添加电介质的图层,制作其它效果。
关于Diffuse贴图的Guidelines和base color贴图一样。但是差别是如果是纯粹的金属的话,0.0(黑色)的值是允许的,不受对于暗的程度的范围的Guidelines的控制。

1.颜色意思就是非金属材质的albedo,黑色(0.0)是纯粹的金属。
2. Base Color除去和micro-occlusion一样的特例外,不包含光的信息。
3.暗的值不能比30 sRGB – 50 sRGB低。纯粹的金属除外。
4.亮的值,不比240 sRGB高。
Specular (RGB- sRGB)
Specular贴图如figure23所示,定义金属的反射率值。制作这个RGB贴图的时候,允许电介质材质有不同的值。这和给电介质固定4%反射率和通过specularLevel channel才能修正的metal/roughness的不同点。在Metal/roughness里面操作的一样,F0值一定是从实际测定的值中由来的。电介质的F0可以是grayscale值,金属反射率可以是有些金属,根据吸收不同波长的不同,产生颜色。

生成Guidelines(Creation Guidelines)
Specular贴图因为包含了金属和非金属的F0值,所以我们把金属种类区分开来来看。
Raw Metal
F0值得以实际的数据为基础。就像我们在metallic贴图中处理的一样,如果有指的是纯粹的金属的反射率的氧化或者非金属的图层的话,得降低。Specular/glossiness的情况,污物和氧化如figure 24所示,把有diffuse贴图的纯粹的金属的diffuse color提高,降低specular map的反射率值。Figure 24是纯粹的金属中有异物图层的例子。Specular贴图的异物,包含电介质的合适的F0值。这种情况的话,我不是0.04就是用4%的值。


电介质(Dielectric)
电介质材质的F0值也是在specular map里面调整。大家能完美得调节整体的F0值。但是,用正确的数据比较重要。在volume1里面处理的一样,非金属(非导体,电介质)等是不通电的。被折射的光被散射或者吸收(偶尔再次回到表面),因此它们比金属反射更少量的光。一般的电介质,根据index of refraction(IOR)计算,在F0里面,拥有2-5%值。除去宝石之外,和figure 25一样,一般的电介质F0,具有0.02-0.05(linear)值。

如果大家对于特定的材质的IOR值没有找到的话,用4%的值(0.04 – plastic)也好。除去宝石原石之外,它们如图figure 21所示(原本错误,figure21和相关内容没有关系),具有0.05 – 0.17(linear)值。Shader在0.0 – 0.08的范围内mapping,出现空气的时候,一定是0.

1. Specular图包含电介质的F0和纯粹的金属的反射率值。
2.电介质比金属反射的量要少。电介质的共同的值是2 – 5%,从sRGB的立场来看,是属于0.02 – 0.05范围的sRGB 40 – 75之间。
3.一般的宝石原石是0.04 – 0.17(linear)范围。
4.共同的液体是0.02 – 0.04(linear)范围。
5. 纯粹的金属的反射率值是70 – 100% specular,在sRGB里面是180 – 255 sRGB。
6.如果没有找到特定材质的IOR值的话,就用4%的值把(0.04 – plastic)

Glossiness (Grayscale – Linear)
Glossiness贴图在figure 26里面看到的一样,描写的是造成光的扩散的表面的不规则。在这个贴图里面,黑色(0.0)意味着粗糙表面,白色(1.0)意味着细腻的表面。和Metal/roughness的roughness贴图相反。具有我们在roughness章节处理的一样拥有艺术性的guide-line。
Guidelines生成(Creation Guidelines)
yproduct of using the metal/roughness workflow is
1.要有创意,要说的是关于表面的visual story.

分辨率和纹理密度(Resolution and Texel Density)

我们处理怎样edge artifacts(边缘变黑或者变白)在两个工作流程中能出现。我们在metal/roughness一节对这问题已经详细的处理过了。这在specular/glossiness里面也提过。纯粹的金属没有diffuse色,所以diffuse贴图包含黑色。还有黑色和非金属的diffuse色interpolation的时候,如figure 27所示,能看见这个黑色的边缘。

我再次说明下文件分辨率和纹理密度对这些edge artifacts很强烈,起直接的影响。举个例子,即使你用锋利的刷子表现棱角的接缝,低分辨率会把边缘处理的细腻,所以把edge artifact处理得更严重一点。这个低分辨率问题,相比于分辨率来说不大,在不能提供核实的texel密度的UVs里面也有发生。在UVs里面能提供好的texel密度的话,是如figure 28所示,解决这个问题很好的方法。

生成Guidelines(Creation Guidelines)
yproduct of using the metal/roughness workflow is
1. texel密度和分辨率对在specular/glossiness里面出来的黑色的边起影响。UVs按照分辨率提供核
率提供核实的密度。
Specular/Glossiness 优缺点
(Pros and Cons of the Specular/Glossiness Worflow)
优点
1. 不容易看到。
2. 图中导电体F0的值可以调节。
缺点
Specular 贴图中导电体F0值因为提供调节,所以写出的错误的值更脆弱。这是 shader 中无法准确处理的情况下,可以打破能量守恒定律。
1. 根据RGB贴图的追加,使用更多的纹理内存。
2. 虽然使用与传统的workflow相似的用语,要求其他的数据,会更加混乱。并且,这需要更加准确的物理基础导向。例如,准确的电导体F0值,纯金属的diffuse color是黑色,在shader中无法处理的情况下,遵守能量守恒定律。
Maps common to both workflows

Ambient Occlusion
ambient occlusion(AO)贴图是周围照明环境接近表面多少的定义。这仅仅对 diffuse contribution影响的同时,specular contribution 无法遮挡。与Unreal 4相同的引擎为了模拟部分的 reflection,拥有着screen space reflection配置。最好的组合是 与AO的 screen space reflection一起使用。
Substance PBR shader里的 ambient lighting(依据环境贴图生成的)是依据AO相乘的。 AO贴图是 PBR shader的 依据etxture sampler提供的。这是如29中显示的选择性通道。
AO无法进入texture贴图。本身的频道由shader供应。
制作Ambient Occlusion (Creating Ambient Occlusion)
Substance Designer中的AO是通过mash(网)?或者通过综合baking toolset的 nomal贴图开始变换。并且,像图30中一样,用height由AO替换 ambient occlusion的节点也存在。 Bitmap2Material是从源图像开始生成AO才可使用的。(figure 31)

高度Height
Height贴图经常是为了表现displacement的时候使用,在PBR里面,也用于添加分明的高度,法线贴图和bump mapping赋予更写实的parallax(视差)mapping上也使用。(figure 32)
Substance Designer使用relief mapping parallax运算。(也叫作Steep parallax mapping,把raytrace以heightfield射出,求出各自的交叉点,把最近的交叉点,以visible的heightfield来识别的法则)

Height根据PBE shader的texture sampler来供给,而且还有option channel。在SubstanceDesigner里面,效果如Figure 32所示,通过shader的relief parameter来调节。


Creating Height
和AO类似的,在Substance Designer里面,把integrated baking toolset通过网格,来导出高度。如figure 33中所示,还有在法线贴图里面导出height的normal to height节点。Bitmap2Material如figure 34所示,从素材照片开始,生成height。甚至你可以用Substance Designer的vector/bitmap painting tools来生成height data。但是,最好的放法是如figure 35所示,用Substance Painter在3d mesh上面直接仔细的画。
法线(Normal)
法线贴图用在模拟表面的细致的部分,在PBR里面也是用同样的词。
制作法线(Creating Normal)

法线贴图在Substance Designer里面,运用integrated baking toolset,从网格能得到。再加上如figure 36所示,有把height用法线制作的normal节点。Bitmap2Material如figure 37所示,能从素材照片生成法线。大家运用Substance Designer的vector/bitmap painting tools,能生成height data,通过normal节点,能把它们转化为法线。在Substance painter里面,涂上的height data也是,能导出法线贴图,大家能直接涂法线。

Substance PBR Utilities
本章节中,我们制作PBR纹理,看下帮助设置反射率值的几种Substanceutilities。Utilities分为材质,correction and values。这些节点们,是立足于本教程中的原理和概念而做的。
Materials
Bitmap2Material 3
B2M 3是给metal/roughness 或者 specular/glossiness,制作要使用的PBR贴图的独立的软件(Indie/Pro),或者Substance material的一部分(Pro的情况)。它给制作可以反复的贴图,albedo(使用它的light cancelation functions),法线,height贴图等,制作这些贴图也十分优秀。如Figure 38所示,对于制作材质的基本纹理是很好的Utilities。
PBR Base Material
这个节点是制作full base material时用的工具。Filters>PBR Utilities下面的SubstanceDesigner Library里面能看到。(figure 39)
对于metal/roughness 和 specular/glossiness都支持。对于纯粹的金属,提供共同的预设,对于非金属材质,可以设置电介质albedo。根据不同的工作流程,可以控制拥有grunge amount option的roughness和 glossiness。如果不这样的话,导入Substance Painter里面制作的base maps的可以选择添加自定义贴图Input。选择此方法的话,各位可以快速的生成和其它材质混合的material node。
PBR Substance Materials
Substnace Designer和 Substance Painter,和PBR calibrated materials一起提供。他们是以Substanceformat,compile的,手画和用照片生成的材质的程序纹理组合。作为Substance materials,他们拥有控制纹理的其它侧面的各种媒介变量的优点。他们最开始没有制作贴图的过程,提供和PBR contents工作的快速效率的方法。

在Substance Designer里面,Substances能在PBR Materials下面的Library里面发现。在Gametextures.com里面还有手工画的PBR材质的套装。大家的Gametextures.com PBR Substances可以通过你的Allegorithmic账号来下载。

在Substance Painter里面,Substances可以在Shelf的 Material tab里面找到。那里还有Gametextures.com的材质套。Gametextures.com材质可以通过Allegorithmic账户下载,也可以保存到Material tab。

除了Substance Designer和 Substance Painter,Substance Database还拥有大量的计算好的PBR材质。


Reflectance Values
电介质 F0(Dielectric F0)

如figure 40所示,这个节点导出一般的电介质的F0值,大家可以选择预设值。它还有接收IOR和F0值的IOR input field。这是为了电介质材质设计的,可以跟specular/glossiness和metal/roughness的specularLevel channel一起用。
金属反射率(Metal Reflectance)
这个节点是对于一般的纯粹的金属导出反射率值用的,Filters>PBR的 Substance Designer Library里面能找到。如figure 41所示,可以选择多种金属预设值。
修改(Correction)
PBR Metal/Roughness 检查(PBR Metal/Roughness Validate)
这个节点是为了在metal/roughness里面使用而设计的。它是检验base color和 metal贴图的值是否正确有利的工具。Filters>PBR下面的Substance Designer Library里面能够找到。节点的话,按照heat贴图赤色->黄色->绿色的顺序放出,红色是不准确的值,草绿 /黄色是正确的值。在金属里面,把metallic贴图里面指定为金属的部分(比235 sRGB大的值)代入到basecolor里面,检查。Heat贴图标记的是F0可能是范围有点小了。在albedo里面,检查电介质的亮度值是否正确。
BR Safe Color
本节点如figure 43所示,能修正base color或者diffuse贴图的值。能确认电介质的亮度值是否正确。在PBR Utilities下面的Substance Designer's Libraryl里面能找到。
换(Conversion)
BaseColor_metallic_roughness_to_diffuse_specular_glossiness
这个节点是把metal/roughness的贴图转换成specular/glossiness贴图的转换软件。
(figure 44)这个在PBR Utilities下面的Substance Designer's Library里面能够找到。
附录 - chart(Appendix - Charts)
表面是金属吗?(Is the surface metal?)
可以帮助表面使之金属或非金属类别化。进行贴图开始时,首先我做出的表面,首先自问自己是否是金属。通过这个提问你可以对“我们在这个音量的处理、图45,46中处理贴图的标准”做出引导。
图45是metal/roughness工作流程,图46是specular/glossiness的流程。

反射率值( Reflectance Values)
图47展示了导体的F0范围。导体是反射比金属少的光。一般道题的反射值为2-5%,sRGB的观点中的值是 0.02-0.05(linear),sRGB40-75.图48中,导体F0和金属反射率值均可见。金属的specular范围70 –100%,sRGB的值是180 – 255。

准确与不准确的比较(Correct/Incorrect Comparisons)
图49中可以看到metal/roughness流程准确生成的贴图和不准确生成的贴图的使用事例。
此物质附着的涂漆的图层 albedo值非常低,此物质metallic贴图中表现为纯金属。并且,金属反射值为70 –100% specular范围设定的非常低无法反射。
图50的specluar/glossiness流程中准确生成的贴图和不准确生成的贴图使用事例。所有纯金属的diffuse贴图有着非常亮的值。这里需要形成黑色的。导体涂漆和次物质的图层的diffuse贴图的值非常暗。此物质图层的specular贴图中很亮有F0。与此物质F0的导体值不一致。(figure 50的下侧incorrect 图可能不对,不是base color应该是diffuse)


Allegorithmic develops the new generation of 3D texturing software: Substance Painter, Substance Designer and Bitmap2Material. With most AAA game studios using these tools, Substance has become the standard for creating next-generation PBR (Physically Based Rendering) assets.
For more information on Substance, please visit our website at www.allegorithmic.com
The comprehensive PBR Guide by Allegorithmic – vol. 2

LEEGOONZ
Technical art director and researcher. - Programmer
9
Comments