编者按:
本文转载于公众号:
作者:
如需转载请与原公众号或原作者联系。
前言
这是一篇最近研究成果的内容沉淀。
我听闻很多朋友不喜欢看微博,所以我在微博发的很多测试的图片啊,视频啊,应该都没看到。而最近测试的内容又确实挺精彩的,所以归纳总结成文,方便大家查阅回顾。最近学了一下,这个叫内容沉淀。
文中演示内容都是以 Redshift 2.623 postFX 特别版 渲染器为例讲解的,不过别的主流渲染器(arnold vray 等)都是有类似功能的,大家完全可以举一反三。arnold 需要使用非常新的版本才有,算是个最近的新功能。在 MtoA3.1.1 Arnold Core 5.2.1.0 版本使用过程中是有的。
大纲
1)RoundCorners 技术基本介绍
2)产生好看高光的原理
3)RoundCorners 技术的局限性
4)RoundCorners 对置换的响应
5)RoundCorners 实际应用(配合扫描材质)
6)视频教程(某种程度上的)与拓展阅读
1)RoundCorners技术基本介绍
round corners 技术我最早了解是在 mental ray 时代,也就是 2010 之前的样子。也就是说这项技术本身非常老。但是却鲜少出现在各种渲染教程中,以至于普及率相当低。但是我最近的测试结果显示的是,这项技术其实在很多时候都可能会非常有用武之地,是严重被低估的一项技术。
他的主要功能分两块儿:
1,让原来硬的边缘产生圆滑的倒角效果
图1
图2
2.使相交的两个物体衔接处产生自然的生长过度。
图3
具体操作方式是创建一个 RoundCorners 节点,将输出连接到 rsMaterial 的 bump input 上,即可产生边缘倒角效果。Radius 值控制倒角的大小。
如果不勾选 Consider Same Object Only,则表示所有赋有该材质的物体都会产生倒角效果,不同物体之间也会形成融合的倒角效果,即图 3 的效果。 如果勾选 Consider Same Object Only,则表示不同物体之间不会产生倒角效果,即图 2 效果。
因为 round corners 会占据 bump 的输入,如果这个材质本身还有一层 bump 的话,则需要用的凹凸混合技术。创建一个 bump blender 节点,对过程 bump 进行混合,勾选 additive mode,可以获得完美的叠加效果。
2)产生好看高光的原理
学模型的时候大家都知道模型需要倒角,不能留着硬边。可能你们听到的解释是,现实生活中的物体不可能这么尖锐,总有一些圆滑的弧度,区别只是这个弧度的大小。
这个说法本身当然是对的,但并不是从渲染的角度观察问题得出的结论。其实以渲染的观点来看,倒角的意义也极大。如下图,展示的是一个没有倒角的方盒子的反射区域,深色的斜线标注出了大致的反射区域了。
而绿色的区域我用大字标明了,是反射盲区,意思说当你的灯光在这个“反射盲区”之中时,你在模型上是无法观察到高光的,这个时候你的模型质感看起来会非常像 lambert!这是我们非常不希望看到的现象。
而如果你对模型做了倒角,那么这个反射盲区就不会存在,所有在 “原反射盲区” 内的灯光,都会在倒角上形成一道细长漂亮的高光。这样就能很好地表现出你原来制作的材质质感。(并且你会发现,倒角的反射区域会非常大,很容易形成高光,大家多留意周围都很容易观察到这个现象)1
倒角与否的区别,这两张图的对比再次完美体现。大家注意下面的图,高光出现的区域,基本都在倒角的区域。
这一节主要说明了,形成好看高光的原理和诀窍。 解决的具体方法是对模型进行倒角,或者更廉价方便的方法就是文中介绍的 RoundCorners 技术。
3)RoundCorners 技术的局限性
RoundCorners 产生的倒角效果是由 bump 生成的,亦既是靠改变模型表面法线方向来实现效果,但是不改变模型本身结构,于是当观察的角度转到某些情况,让倒角的区域变成模型的轮廓的时候,就会观察出不正常的视觉效果。
大家可以想一想,RoundCorners 的倒角,相当于把这些硬的切角 向里缩了一圈,这是视觉效果上的变化;然而真正的模型其实是没有发生变化的,于是二者的冲突就形成了不正确的视觉效果。
可能有人已经想到可以尝试用 RoundCorners 节点做置换来尝试解决这个问题。我在视频里也尝试过,很遗憾的是,arnold 和 redshift 渲染器都是不可以的。
目前来看这个问题暂时没法解决。但我们不会因噎废食,这个技术是有很大的便利性的。需要明确的是,我们使用 RoundCorners 主要是形成非常细小的倒角,在倒角很小的时候,是很难观察到这一节描述的问题的。我们可以把这个技术运用在渲染中的中景和远景中。
非常非常近的特写还是使用模型倒角的方式来达到超级高精度。或者需要的倒角弧度相对比较大的时候,也是需要在模型上直接制作的。
4)RoundCorners 对置换的响应
因为影视渲染中使用置换的情形非常多,如果测试了半天,发现这个技术对置换不起作用,那么对于影视渲染来说也是鸡肋。我也进行了置换的相关测试,效果令人满意。
下面三张图的渲染,使用的是两个面片,其中一个使用了一张黑白棋盘格做置换,另外一张赋予了水面材质。并且使用 RoundCorners 节点控制水面与墙壁的张力,形成弯曲的弧度。
最终的结果大家可以看到,是成功的,RoundCorners 对置换效果的反应很良好。
三张图中,RoundCorners 节点的 radius 值分别为 0 、 0.02 、 0.1
可以看出,0 和 0.02 在接触面高光上,产生了本质的区别。和前文讲解的内容完全一致。
0.1 的效果实际上是错的,可以看到水面产生的弧度额明显过大,不过这样更加容易出现高光效果。
radius = 0
radius = 0.02
radius = 0.1
模型截图
5)RoundCorners 实际应用(配合扫描材质)
最后是配合扫描材质的应用,这里发的效果就比较接近项目中实际生产时的应用。大家可以感受下 RoundCorners 到底能做到什么质量的效果。这里还有一个视频。
6)视频教程(maybe?)与拓展阅读
很多人还是很想亲眼看到这个置换的效果是怎么出来的。 我都知道,所以录了个视频,大概按照本文的内容逻辑讲解了一遍,并且最后的部分演示了本人最近使用的渲染流程,全程 IPR,大量使用置换代替模型, frame buffer 代替合成软件,在这里完成 lut 的选择、亮度和颜色的调整,添加 bloom glare 等效果。
因为也不是那种详细的教程,前面讲的知识点还比较简单,大部分人都能看懂,后面就慢慢展示我自己平常玩的一些东西了,看不懂实属正常,不要有压力,刷 666 表示你来过就好。
应该没几个人会在微信上把长达 50 分钟的教程看完吧?这里发一些这个视频的 b 站链接,欢迎在电脑上享受学习的乐趣。