编者按:

本文转载于公众号:戴老师的 CG 日常     

作者:戴巍

如需转载请与原公众号或原作者联系。



前言:

最近做了点扫描材质的渲染测试,朋友圈微博发了一下,但是几百字不够我写的,扩充了很多内容整理成文,感觉还是不够写。所以就宽泛聊聊,不花太多篇幅解释概念了,看懂此文需要一定技术水准,做好心理准备。

介绍:

扫描材质这几年也非常火,可能很多朋友用过 megascanes 的一些扫描素材,看到官网的宣传 demo 感觉太帅了,而等到自己亲自动手测试却发现完全出不来效果。就好像你在网上买东西,卖家秀和买家秀的区别一样。

看过官方 demo 大家应该知道,扫描素材本身的素质应该是过硬的,上限够高,但是自己用的时候却并不能发挥出来。原因是什么呢?素材本身是一样的,那问题肯定出在后面的操作上,我大概梳理出这几个方面,优先级从下往上依次递增:

  1. HDRi 素材的使用
  2. LUT 文件的使用
  3. postFX 的使用
  4. 置换设置
1)HDRi 素材的使用

扫描素材一般都是地砖石头什么的,整体接近一个平面,有一些相对较小的起伏结构。如果你想渲染的过程中将这个结构表现得足够明晰,那么建议使用非常硬的光源。比如说大晴天太阳很亮的这种环境就很能突显材质效果。用类似阴天或者整体偏平的 HDRi 就只能展示扫描材质的 albedo 通道了,是我们要尽量避免的情况。

下面的两张对比,是使用的同样的素材。一张是用相对平的光照出来的结果,一张是用主光强烈的光照出来的结果。可以看出来主光强烈明显更容易展示结构和细节。另外推荐一个 artstation 页面

https://www.artstation.com/artwork/l2gLY

作者也是把这套图用 vray 和 octane 分别渲了一次,展示了两个渲染器的效果对比。


一般这种灯光环境可以用平行光+一个没有主光源的 HDRi 来实现,或者有一张包含主光源动态范围足够的 HDRi 实现。因为前一种方式做起来比较麻烦,需要统一平行光和HDRi 方向等问题,我不想在这篇文章里展开说。这里主要说第二种比较懒得方式,就是只用一张HDRi进行照明。

前面说了,扫描材质比较好的展示灯光是用大晴天的,那么太阳到底够不够亮就决定了效果好不好。以前我个人经常喜欢使用 substance 自带的那一套 HDRi 素材做照明,因为做资产的过程中用得非常多,非常熟悉而且亲切。这套 HDRi 算是优秀,但还是不够好,像一些大晴天的环境,太阳亮度还是不够高。

最近经常在群里听 ILM 大佬讲 CG 学到好多,他说他们都从

https://hdrihaven.com/

弄hdr图来用, 我下来一些试用了下确实是我用过的质量最高的 HDR 了,动态范围非常广,尺寸还很大。最关键的是,居然还免费。

这个 HDRi 照明的问题,可以在这个网站上下一些动态范围非常高的HDRi图片来解决。解决方法很简单,但是背后包含的思想很重要。大家不理解的话可以留言交流。

顺便推个群,就是我们讨论这个问题的群,以在 ILM 工作的E大佬为核心的群:695748232

2)LUT 文件的使用

选择合适的 LUT 非常重要,sRGB 出图跟相机拍的 RAW 格式一个意思,不加工的话,更像是打包的信息文件 还不能算作图片。因为跟人眼观察世界的感受差异巨大,哪怕模型材质灯光做得多好,依然会充斥着 CG 感。

很多人会有一种感觉,就是 octane 和 corona 这两个渲染器十分优秀,渲染出来的作品非常真实。除了渲染器本身素质过硬之外,很大一部分原因是用这两个渲染器的渲染艺术家非常倾向于用风格化 LUT,因为这两个渲染器就自带了很多风格化 LUT,随便手点几下就加上去了。 很多你看到的这两个渲染器的优秀作品,视效那么优秀,就是非常得益于 lut 本身的使用。

部分有显著 LUT 效果的作品分享:

来自艺术家 Mariusz Becker 的作品,主要使用 octane 渲染器

https://www.artstation.com/mariuszbecker



来自艺术家 liu xiaoyang,使用渲染器 corona

https://www.artstation.com/cgxiaoy



corona 渲染器的 LUTS 效果预览
https://www.artstation.com/artwork/VPJ9Z

再分享一点干渲出来的对比一下:
来自于艺术家 Luca Veronese,使用渲染器 vray
https://www.artstation.com/artwork/qlPbL



通过以上对比,大家应该已经感受到 LUT 这个东西的魔力了。

那么怎么用好 LUT?

风格化 LUT 的使用水平,是靠使用者的经验所决定的。我觉得就是要多用作品尝试各种 LUT,了解不同 LUT 的特性,脑子里面才会形成概念,知道什么情况下用什么 LUT比较好。

另外,最好是有丰富的摄影练习,甚至是胶片摄影练习。本来很多 LUT 都是设计成模拟某一种传统胶片质感的,如果你自己亲手使用过这些胶片,自然就知道这些LUT会给画面带来什么改变,使用起来更加明确。并且如果对胶片更加熟悉的话,会有产生个人口味和倾向。这样你加 LUT 的时候就会挑选自己喜欢风格的 LUT,这种选择是包含了个人感情和回忆在里面的有温度的选择,跟你直接用滚轮一滑到底挨个试做出来的东西肯定不同。

而且摄影练习也是快速锻炼 LUT 使用的好方法。训练方法是使用数码相机拍摄多张包围曝光照片,合并成 HDR 图片,再在后期软件里面尝试各种 LUT 摸索出自己想要的效果。因为照片本身比渲染更加真实,这样能让人更准确知道一些 LUT 具体的视觉改变效果,并且拍摄照片要比你做三维场景来得快,所以用摄影+后期 来训练 LUT 使用比你用三维渲染来说,训练量会大很多。

以上,介绍了 LUT 使用的重要性,以及我对 LUT 使用训练的一些建议。

最后,传了一份 octane 软件自带 LUT 包,corona 的 LUT 和 octane 的 LUT 有很多重复的,就不单独传了。

https://trello.com/c/ClEJX9JQ/8-luts

3)postFX 的使用(lensEffects)

framebuffer 里的 postFX(有的叫lensEffects) 一般包括 bloom、glare、streak 效果。

bloom

glare

streak

渲染窗口直接起作用的 postFX 对于 lookdev 来说也很有用,可以更直观准确地理解那些过曝区域到底有多曝,是否属于合适的范围。

这个说法什么意思呢? 你想你画面里有一些很亮的区域,比如对太阳的反射,往往画面都是超过亮度1的,而由于显示器的显示能力,超过1的亮度已经达到显示亮度的极限,都只能发出1的亮度。那么最亮的那些区域效果就是白色一片,明明有的地方亮度是50,有的地方亮度是20,但是在你看来都是1,都是一样的。这样对质感的表现很不利。

当你开启 postFX 以后,在高亮区域,会产生 bloom、glare、streak 等效果,并且效果的强弱是根据这一片区域本身的亮度来的,50亮度和20亮度对比的话,50亮度区域产生的 bloom、glare、streak 都会更强更明显,这样就让材质表现看起来明晰很多。

并且这些效果也是真实世界中经常出现的视觉现象,会让画面真实感提升很多。

当然这个操作可以在合成做,但是效率没有直接在渲染窗口调试来得快。效率决定高度。

用的渲染器 framebuffer 没有 postFX 怎么办?(比如 arnold)跟 grant warwick 学过一招,拿手机直接拍显示器,拍下来的效果就是快速而廉价的 postFX。很骚的操作,你现在自己都可以找一张渲染图拍一下试试。

4)置换设置

用置换的话,不加 bump 和 normal 效果好像更好。可能是因为我们使用置换的时候,默认是勾选了 auto bump 这个选项的,这个功能会从置换图直接生成 bump,如果你再在材质球上添加另一个 bump,相当于做了两次,可能效果会过强。

像我们很多时候看的很多教程里,都是既使用置换也使用 bump 或 normal 的,大家都这么用,没有人想太多。我今天在这里对这个做法打一个问号,我现在很质疑这个做法。但我暂时还没测明白,还需要更多测试。

最后还对比了两组比较复杂的材质,使用的是 maya 创建的默认面片(10× 10 = 100 四边面),不同细分级别下的表现。细分级别分别是6、 8 、10。差异巨大。但是10以上几乎没有变化了,也就是说细分达到了图片承载信息的极限,再往上加也不会有更多信息在细分以后的模型上产生。

这组图1080p,点大图查看效果更佳。






多说一句细分10 什么概念。基础模型100面,1次细分400面,2次细分1600面,3次细分6400面,10次细分为 100×4的10次方 = 104857600 四边面。 一亿四百万面的样子。

当然实际使用过程中,很多渲染器会有动态细分功能,会根据物体离摄像机距离来改变具体细分的量,所以实际当中模型量没有这么这么大,但总的来说也是不低了。

说这个是为了让大家对于使用高质量的置换有个概念,当你的贴图尺寸超大,有成吨细节的时候,想要把这些细节表达清楚,你需要付出的代价到底是什么。

这也是做离线渲染有意思的地方,很奢侈。为了一些非常小的细节,我们可以把参数打得常人难以想象地高。为了完美的结果不计一切,这跟我自己的性格非常相符,也是离线渲染让我着魔的地方。

Categories: News

相关文章(Related Posts)