Height贴图的意义

因为normal、bump和displacement三种贴图中,normal和bump都是使用假的方式对材质进行处理,只有displacement才是真的会置换模型表面。所以我的潜意识里,总觉得displacement是一种特别消耗性能的、算不上是一种材质的贴图,因为它是直接参与模型表面的改变的。

而在使用Substance Pianter或者Substance Designer中,是没有Bump贴图和Displacement贴图的,只有Height贴图和Normal贴图。我就一直认为作为一个纹理制作软件,那么这个Height一定是说的Bump。

前两篇对官方教程做的材质流程分析中我还说不加Height会对表面影响很大,那一定如果在使用离线渲染器的时候,把Normal和Bump一起用上吧。

今天我又重温了一下Bump、Normal等贴图的区别,发现Normal其实是对Bump贴图的一种优化和升级。为什么要用一种低级的贴图去制作高级的贴图呢?

反应过来觉得不对,特意上网搜索了一些信息,才知道Height贴图指的其实就是Displacement贴图,也就是置换贴图。

Height的叫法应该是在游戏中比较常见,我对游戏不太了解,所以一直误会了。

而且在使用Substance Painter中导出贴图的时候,官方的Redshift预设中就包含了Height通道,也就是说其实使用Substance制作的贴图,其实都是要使用置换贴图来参与材质的表现的。

而把Height理解为置换贴图后,Substance的材质制作流程其实就能说得通了。使用一种真实模型的置换,来实现材质表面的变化。再通过这种实实在在的模型置换,提取信息制作其他贴图。这就有点像我们是先制作了一个高模,然后用高模的信息去制作法线等信息。

OpenGL和IRay的区别和选取

Designer中内置的两款渲染引擎中,OpenGL是属于实时渲染,而IRay是属于离线渲染。之前说过,离线渲染其实是不需要环境吸收AO贴图来参与材质表现的,但是我们制作的时候其实通常会把AO贴图也制作出来,所以即便我们预览材质时候是用的IRay引擎,我觉得还是留着AO贴图参与材质表现比较好。它可以让Base Color贴图多出一些明暗变化的细节,这种本应该是为灯光照明提供的信息,其实可以在离线渲染中直接当作是一种材质Base Color层明暗变化的信息,对比来说是确实可以让材质看上去更加真实的。

那么以做视频的角度来看,在预览材质时候应该是使用游戏中应用的实时渲染还是应该使用我们经常使用的离线渲染引擎呢?

对于我来说,我还是会使用OpenGL这种实时预览方式,因为要比离线渲染引擎快的多,所做即所见。

但是在Designer中预览的时候,使用IRay预览和OpenGL预览效果差距很明显。其实是因为我们需要设置一下IRay引擎才可以。

IRay中渲染效果跟OpenGL渲染效果差很多怎么办?

首先,在3D View视窗中,上面一排场景、灯光、摄像机、材质等设置,其实是会根据你所选取的渲染引擎不同而变化的。

以前面几篇笔记中说的官方教程为例,作者在OpenGL引擎下,将置换强度,也就是Height强度,提高到了10.而当我们直接切换到Iray引擎下,其实默认置换强度是0的,所以直观效果就是材质变平了。这就需要我们手动更改一下。

在OpenGL中调整Height强度,是在3D View视窗中找到Material中的Edit调节,当我们切换到IRay引擎中时候,同样的,还是在Material中的Edit去调节,只不过这时候调节的其实就是IRay引擎下的着色器设置了。

首先要做的,是同样将Height调节到0,但是还要做一个调节,就是将Specular Level由默认的0.5改为0,这样Iray中渲染效果才和OpenGL中差不多。

但是要记得,我们现在做的这个设置调整,其实是调整的渲染器设置,是跟材质没有关系的,也就是说不影响材质贴图输出的。而输出的贴图在应用到渲染器中时候,同样需要我们进行相应的调节。

(完)

Leave a Reply