Arnold for C4D 08【材质(二)】Bump/Normal map/Subdivision/Displacement mapping

Bump mapping 凹凸贴图

  • 利用凹凸贴图可以模拟不完美表面,比如凹痕、划痕等。与置换贴图不同,凹凸贴图并不会改变几何体的结构,只是在视觉上进行模拟;
  • 有两种模式:bump2dbump3d,两者功能相似,区别在于使用的是2D贴图还是3D贴图;

接下来看一下具体操作:
1、新建一个Arnold着色器网络:创建→着色器→Arnold Shader Network,创建成功后会自动跳出着色器网络编辑器。


创建着色器网络

2、将材质赋予给球体和立方体。在这里,我们用躁波(noise)来控制表面凹凸。

在着色器网络中新建standard_surface节点(会自动连接到Arnold Beauty)→新建bump2d节点(选择Main>Geometry>normal),连接到standard_surface节点→新建noise节点(选择Bump map),连接到bump2d节点:
创建bump2d

p.s.新旧版本的Arnold节点连接逻辑有所不同,旧版中的节点连接顺序是:standard→noise→bump→Arnold Beauty;新版:noise→bump→standard_surface→Arnold Beauty。新版中材质节点连接逻辑大多都是standard_surface连接到Arnold Beauty,之后跟随其他节点,各节点参数也有所调整,这里不多展开说了,后面遇到再仔细讲解。各位童鞋自己打开软件看看就会很明白。多试,多练。

3、建立好所需个节点之后,可以根据需要再调节相关参数。

选中standard_surface节点,可以调节材质,颜色等,首先将材质调整为红色外观:
standard_surface节点属性

这里我们是要用躁波来呈现一种表面凹凸效果,从上图可以看出凹凸效果不明显,所以要再通过调节各项属性参数来实现。选中bump2d节点,调出其属性,将Bump height调节为5cm:
bump2d节点属性

然后再调节noise节点属性:
noise节点属性

属性调节好之后渲染结果如下:
渲染图像结果

4、除了用noise控制凹凸,也可以加载一张图片作为凹凸贴图(白色突起,黑色凹陷):

imag控制凹凸


Normal map 法线贴图

  • 普通灰度贴图只能在上下两个方向产生凹凸,而法线贴图基于RGB通道,凹凸方向更加随机;
  • 可以使用bump2d贴图直接加载法线贴图(替换image节点图片),不过最好还是使用normal_map节点;
normal_map法线贴图,方法与bump2d类似
  • 可以根据需要选择法线贴图的模式:
    法线贴图连接模式
  • 调节图片在法线贴图中的属性:
    选中image节点即可调出属性菜单
  • 法线贴图部分属性不同参数示例:


    Mipmap Bias
Multiply
Offset:均匀的变暗或减轻纹理或色彩
Offset U
Offset V
Wrap:控制图像在大表面的重复模式

“文件”模式是指,使用其本身的编码设置,这种模式只适用于OpenEXR文件(视觉效果行业使用的一种文件格式,适用于高动态范围图像。该胶片格式具有适合用于电影制作的颜色高保真度和动态范围。OpenEXR 由 Industrial Light and Magic 工业光魔开发,支持多种无损或有损压缩。OpenEXR 胶片可以包含任意数量的通道,并且该格式同时支持 16 位图像和 32 位图像);
这种模式能够有效的保存当贴图没有进行后期手动校正时,该如何包裹对象表面的信息;
在某些情况下,“文件”模式能够防止图像产生杂色。

File mode “文件”模式示例,分别使用不同模式出现的情况,第三个图像使用“文件”模式后,比较第二张图像,可以明显的看到中间小圆点消失了

ScaleU/V:等比例增加图像数量


Subdivision 细分贴图

这里用一个简单的立方体来做演示。

1、首先,将立方体C掉(细分曲面,快捷键C)。创建一个Utility着色器,将其赋予立方体。
创建→Arnold→Surface→utility

2、双击utility调出属性菜单栏,将着色模式(Shade mode)改为lambert,叠加模式(Color mode)改为polywire(这时可以在IPR Window中看到对象的边框了):
调整utility属性

3、给立方体添加一个Arnold参数标签,看一下细分设置(Subdivision)。

  • 类型(Type):none/catclark/linear。

  • 迭代(Iteration):迭代定义了细分次数,前提是开启一种细分类型。细分类型为linear时,提高迭代值会增加多边形的数量但不会变圆滑,每细分一次,一个多边形就会变为四个多边形,但是模型的结构(外形)并没有改变;细分类型为catclark时,不仅会增加多边形的数量,还会使模型变平滑;

    不同细分类型迭代对比

  • 自适应度(Adaptive metric):用于定义对象的细分级别是否随着距离远近而变化(比如近景细分级别较高,远景细分级别较低)。有两种模式:edge_length/flatness。edge_length使用边的长度进行判断,flatness使用面的曲率进行判断,若设置为auto,当对象没有使用置换贴图时,使用flatness模式,反之使用edge_length,大部分情况下使用auto即可;

    Adaptive metric

  • 自适应度误差(Adaptive error):配合自适应度使用,提高自适应误差,可以看到当镜头拉远,球体的细分就会降低,因为远景对象是不需要呈现细节的。同样的若拉近镜头,球体的细分就会提高,这是一种很好的场景优化方式。如果将自适应误差将为0,那么细分级别就不会随着距离进行变化了;(同样道理的还有之前讲过的Mip-mapping);

  • 自适应空间(Adaptive space):有raster(栅格)和对象(object)两种模式,尽量使用栅格模式,当场景中有实例对象时切换为对象模式;

  • Dicing camera:可以定义控制自适应细分的摄像机,也就是说根据对象距离该摄像机的远近控制细分值。如果一个对象的细分级别在不断变化,自然会发生闪烁,该选项可以解决运动场景中因自适应细分产生的闪烁问题(新版中去掉了这一选项,智能优化为最佳效果);

  • 平滑UV(UV smoothing):用于定义当对象被细分时,UV如何固定——固定转角 Pin_conters/固定边缘Pin_borders/完全固定 linear/完全不固定 smooth;

    UV smoothing

  • 平滑切线(Smooth targents):当对象上有各向异性高光时,高光可能会产生锯齿,可以通过开启Smooth targets来解决这个问题;

    Smooth targets


Displacement mapping 置换贴图

置换贴图可以实现真实的置换细节,与凹凸贴图不同,凹凸只是视觉欺骗,而置换是真的会改变模型外形。
置换分两种类型——法线 normal/向量 vector,法线置换是传统的置换方式,会根据灰度贴图产生上下变形,而向量置换会在多个方向上产生变形

法线置换 Normal_displacement

还是用上一个立方体来做演示
1、创建一个Arnold标准曲面(Create→Arnold→Surface→standard_surface),打开阿诺德网格编辑器(Arnold Shader Network Editor);

2、新建一个normal_displacement节点,链接到Arnold Dispalcement端口,接下来定义一张置换贴图(创建image节点,手动连接到normal_displacement节点,选择Main>Displacement,或快捷键:先按下Alt+W,松开在按下T,选择Main>Displacement),调整scale参数为0.1,因为之前模型分段不足,所以调高Arnold参数标签细分属性中迭代值为6(选中Arnold标签调出属性):


用到的贴图
Displacement mapping演示,P.S.要获得置换细节,模型的分段一定要足够
  • Scale:控制着置换的强度(高度),正值向外,负值向内(尽量使用32位贴图以获得更好的置换结果);
  • 标量值为零(Scale zero value):定义了置换高度为0时的颜色值。默认0代表黑色不发生置换,白色往外置换;设置为0.5那么50%灰色不发生置换,黑色向内置换,白色向外置换;设置为1,那么白色不发生置换,黑色向内置换。

如果Arnold Displacement端口未显示,可单击红色按钮调出:
端口选择

3、如果想要保持外形不变的话,将细分类型改为linear。选择linear后会发现置换有点问题,可以通过调整边界填充(Bounds padding,选中Arnold标签→置换(Displacement)→边界填充(Bounds padding))来解决:

Bounds padding不同值对比

Bounds padding值可以扩展模型的边界框以囊括置换后的模型,可以将其理解为一个容器,变大才能盛下置换后的模型。谨慎提高该值,因为会增加渲染时间。如果要获得更多置换细节,可以继续提高细分值,不过也要谨慎。

4、接下来看一下Arnold参数标签置换栏的参数:
Dispalcement参数
  • 高度(height):与Scale配合使用,也控制着置换的高度;
  • 标量值为零(Scale zero value):尽量使用置换贴图的Scale zero value,不要修改这里的参数;
  • 自动凹凸(Auto bump):开启可以获得更多的置换细节,该参数会将置换贴图中较小的高频出现的图案应用到凹凸通道,这样就无需设置较高的细分值,也可以得到这些小的细节,建议尽量开启该选项,尤其是使用法线置换时。

向量置换 vector_displacement

与法线置换贴图不同,向量置换贴图可以在任意方向对模型进行置换。
ear-vector-displacement

1、继续使用上面的场景来做演示,隐藏立方体,新建一个平面,C掉,添加一个Arnold参数标签,提高细分值(Subdivision→类型 Type:catclark,迭代 Iterations:5)。

2、创建一个新的standard_surface着色器,添加一个向量置换节点(vector_displacement),将其链接至置换端口(同法线置换创建方式);给向量置换属性(不是置换属性)加载一张贴图(快捷键Alt+W→T,Main-vector_displacement);修改向量置换参数:
注:这个设置不是固定的,要与你生向量贴图时的设置一致

得到一个比较完美的渲染结果:
渲染结果参考

3、向量置换节点参数:

  • Scale:同法线置换;
  • 向量编码(Vector encoding):absolute模式针对16/32位图像,signed模式针对8位图像(这两种模式并无明显区别,可自行尝试);
  • 向量空间(Vector space):根据生成贴图时的设置,可以选择word/object/tangent三种向量空间;

    其他参数并不是很重要,不做过多讲解。

关于Utility更多详细讲解,请移步【插播001】Utility Shader

本次更新至此。
通了个宵。现在是北京时间凌晨5:49。
嗯。。。我知道距离上次时间有点久远,后续尽量不酱紫了(认真脸)。

多多赞一下可能会更有动力呢~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容