maya技术交流,材质的瓶颈。

复制帖子链接

发贴时间:2014-02-07 20:30 

来自版块:共享教程

人气3850 评论15 点赞0
教程语言:
下载方式:


交流的前提是建立在追求真实感的材质基础上的。

我看到很多练习渲染的人,喜欢做一些复杂的模型或者场景。然后会花大量的时间去处理贴图。而主要精力会放在颜色贴图和凹凸贴图上。偶尔还会多加一张高对比的高光贴图。

这种做法其实是从游戏那边流传过来的三张贴图的做法。

但是你知道,游戏行业讲究的是高效,没有渲染代价,而真实与否是放在其次考虑的。

50c0034f78f0f7364bcc6e5a0855b319eac413db.jpg
aa99269759ee3d6d74f5a59041166d224e4adeda.jpg
fa4d3901213fb80e10fc438c34d12f2eb83894e4.jpg
4bf5f8198618367a20bb5d862c738bd4b21ce5e4.jpg
f4170f2442a7d9331e9ac628af4bd11372f001db.jpg
1e79e71190ef76c6de52d8709f16fdfaae516709.jpg
304b76094b36acaf4a60b5a77ed98d1000e99c09.jpg


发一些比较明显的靠颜色贴图撑腰的图。基本上都是早些年很厉害的图了。但是这种制作方法放到今天来说的话,显然不够看了。


往往这样的方法做出来的图吧,真实感几乎全部来源于你颜色贴图的选择,以及灯光的使用。灯光这次我们不讨论吧。就说材质。光靠颜色贴图撑起来的画面,离真实总是有很远的距离。就算效果好,也往往是因为场景做得复杂,让人看得眼花缭乱。


你要知道,这种做法就相当于把真实的贴图贴在模型上面,再通过灯光渲染出来。得到的最终效果跟你处理的颜色贴图很接近。基本上你的颜色贴图是啥样,最后渲染出来的图就是啥样的。你想如果你把照片往模型上面贴,在打点光渲染出来。得到的结果,肯定是跟照片差不多,很真,但这真里面又带点假。


一开始你可能不知道这点假是假在哪儿。我大概可以跟你说明,就缺在反射上面。
这里说的反射是reflection,而当听到我说反射的时候,很多人脑子里出现的概念其实是
specular。


这是两个不一样的东西,良好地区分这两样东西,是你开始懂材质的第一步。


现在停留在使用software渲染器的人估计已经很少了。而在mental ray里使用blinn材质的我相信应该还有很多。


有一个说法是blinn材质是个万能材质,什么都能做,所以深受大家喜爱。心里想着,管是做什么东西,用blinn肯定没有错。一张color一张bump,一张specular就可以出效果。


而这张specular贴在哪个通道里?有的人是贴在specular color上,有人是贴在specular roll off上面。可能还有许多人并不知道specular roll off是控制菲尼尔反射的。这是题外话。反正不管你贴在哪儿,blinn材质在默认情况下是无法得到真实反射的,它只能得到高光。这里的高光,其实是指对于灯光的反射。


也就是说,blinn可以很方便地得到这样的一个材质:具有反射能力,但是只能反射灯光,却不能反射周围的物体和环境。你想象一下,在你的物体边上紧靠着一个很明亮颜色很纯的物体。明明你现在在做一个很高反射的材质,比如说金属,但是却只能反射头上的灯光,却不能反射身边很亮很鲜艳的物体,岂不是很滑稽。

这也是为什么很多人总是会问,金属材质该怎么做?玻璃材质该怎么做?


你发现没,这两个材质都是高反射材质。就连懂得很少的新人都能够看出来,如果用不调整的blinn材质直接去做金属和玻璃,得到的效果很不对。因为缺少的是真反射,缺少的是reflection!就是缺少了这个东西,才导致材质看起来很不对。


对于很明显的效果,大家都能观察出来。但是如果是反射相对模糊一些或者弱一些的材质,比如说塑料,橡胶。因为反射弱了或者模糊了。你用blinn去做的话,一眼看上去也像,但并不是那么像,只不过这种不像还没有让你抓狂去问别人这材质到底该怎么做。最后就得过且过了。


甚至反射极其模糊,比如说石头,有点湿润的土壤,下过雨半干不干的路面。往往大家做这种东西结果就是挺真实,不过是由于照片贴上去的真实,真实里却少了一点味道,离照片级的真实还是有差距。

回复
a57b8db1cb1349548aeafc3f544e9258d0094a1d.jpg


说这些都是为了强调reflection的重要性。


现在可以明确一下概念了。在cg里,specular这个属性基本可以理解为,物体反射灯光得到的高光。这里的灯光,特质软件里自带的灯光。有些人做产品渲染,要自己手动做反光板,就是用一块面片,给一个强度很高的surface shader。以此来当灯光用,出来的效果和模拟真实的面光源效果差不多。但是在cg里面,这样手动做出来的灯光就不叫灯光,渲染出来的高光,也不要specular,而叫reflection。

也就是说,对于灯光的反射叫specular,对于除灯光以外的物体的反射都是reflection。

这么说来,或许有人要问,为什么这个specular要特殊一点。因为这个specular,如果真要说是反射,其实是抬举它了。在cg行业初期,计算光线追踪是很奢侈的,像反射这种效果基本没法做。但是灯光的反射在很多物体上都是特别明显的,又不能没有,所以就有一些近似的blinn和phone算法出现。这些材质上面的高光,并不是通过光线追踪的算法去计算出来的,而是通过灯光的位置,和物体的位置以及摄像机的位置模拟出来的近似效果。

这种算法的优势是极其快,都可以在软件里面实时预览。但是随之而来的问题就是假。要知道,在三维软件里面的基本灯光,是没有体积的。而印在物体上的高光却可以是一个圆形,还可以通过材质上的参数变大变小。并且你没法改变高光的形状,永远都是圆形。


所以在后来的渲染器里。像mental ray和vray,你找不到specular这个参数,反射只有reflection。

而且在vray里,最基础的灯光就是面光源,和现实生活一样,是有体积的光源。这个光源照在材质上面,再也不是一坨圆形了。而是跟你的光源大小形状一致。可以说是对现实生活很精确的模拟了。

说句题外话。在vray渲染器里,大家基本上手就用面光源,并且面光源默认就开了二次衰减。mental ray其实都有这些功能,只不过不是默认的。导致很多人觉得mental ray 的效果没有vray真实。这两款渲染器在真实性上,其实是差不了很多的。mental ray是稍微差一点,但还没到一般人一下子就能区分出来的那么明显的差距。


二次衰减是啥?跟线性衰减是一回事么?

线性衰减是一次衰减啊。线性衰减是光强=k(1/距离),二次衰减或者说平方衰减= k(1/距离的平方)。现实生活中光强是平方衰减的。

http://filmicgames.com/archives/547


http://filmicgames.com/archives/557


这里贴两片当年对我影响非常大的文章。


两篇文章分别说的是,每个物体都有反射,每个物体的反射都是菲涅尔反射。


这也是以后指导我做材质的基础。有了这些思路以后,世间的材质在本质上瞬间就一样了,却别就在于一些参数的量上有些不同。


6cae304e251f95ca4a0186edcb177f3e6609521d.jpg
f757d7ca7bcb0a46d70b9c626963f6246a60afe0.jpg
07a79245d688d43f352585a97f1ed21b0ff43b05.jpg
b4ee20a4462309f78f98b949700e0cf3d6cad61e.jpg

f1df02087bf40ad160ced4b8552c11dfa8eccee3.jpg


这些是反射上面处理得很好的图。我发的是一些比较明显的图。基本上现如今做的好的作品,没有谁的反射处理得不好的。但也同样是因为这些图处理得方方面面都太好,导致很多人注意不到反射是怎么处理的。


第一张图很多人临摹过。仔细看门上墙上的高光,都是方形的,跟窗子一样的形状。这就是靠真实反射计算出来的高光。包括地上的那一块儿高光,已经看不太清楚什么形状了,是由于材质本身的反射比较模糊,但可以明确,依然是通过窗子的真实反射得到的结果。


你可以用这一套图对比一下上面那套图。就能发现,反射是多么的重要。


尤其是这最后一张地面上污渍的效果。很多人会说是用层材质做的。要我说,很有可能是一张贴图插在reflection glossness通道里得到的结果。


对于反射来说,反射模糊glossiness是非常重要的参数。


比如说同样颜色的塑料和橡胶,区别就在于塑料的反射清晰一些,橡胶的反射更模糊一些。就只有glossiness这一个参数有区别。


而陶瓷,也是有高光陶瓷和亚光陶瓷的区别,完全就只在这一个参数上。

很多时候,一些看起来像是lambert的材质,也都是有反射的,只不过反射很模糊。也就是glossiness这个值开得比较小。那样算出来的高光几乎很难察觉,但却属于关键细节,没有的话,就少了那么点味道。


b1492e738bd4b31c771687e085d6277f9f2ff8ec.jpg

放一下春节顺手做的小练习。可以说,我的场景里,没有不反射的东西,并且所有的反射都是菲涅尔反射。










复制以下链接分享到 QQ群 QQ空间 贴吧 或其他CG网站上,每进来一个人你将获得: 2微豆
B Color Smilies

全部评论15


客服
快速回复 返回顶部 返回列表