对Unity3D的PBR的初步研究

转:http://liweizhaolili.blog.163.com/blog/static/162307442017112105024743/

最近经常听到PBR(Physically Based Rendering)技术的讨论,我一开始其实比较抗拒的。毕竟对于画面和运行效率,我一直偏向于后者。不过最近玩了一些比较优秀的游戏作品,比如《镇魔曲》等,发现好的画面还是非常吸引人的,于是开始研究一下PBR技术的用法。

传统的贴图渲染技术,一般是使用3张贴图来表现模型的效果:漫反射贴图、法线贴图和高光贴图。物体能让肉眼看到的基本颜色,都是通过漫反射贴图来表现的,然后通过法线贴图让模型在细节上产生有凹凸的感觉。最后通过高光贴图控制模型不同部分的高光显示不一样,让人感觉到同一个模型上有不同的质感。由于光照模型产生高光的锐度不一样,还需要通过一个参数去调节高光的整体锐度。
由于传统的渲染技术是基于贴图的,所以使用同一张法线贴图和高光贴图的模型实际上产生高光的整体是一样的,只是通过法线贴图细节上的不一样,让不同部位的高光方向稍微不同,然后高光贴图等于是一张过滤图,让某些部位的高光显示强弱发生一点变化。
PBR的渲染使用了4张基本贴图:漫反射贴图、金属度(高光度)贴图、法线贴图和环境贴图。
漫反射贴图和法线贴图和传统贴图渲染使用的差别不大,区别是漫反射贴图最好把上面的光照信息(比如一些画上去或者烘焙的假光影)去掉,把这些光影的效果交给渲染本身来实现。
区别最大的是金属度贴图。金属度贴图的rgb通道代表了金属感的强弱,alpha通道代表了高光的锐度。和传统的高光贴图不一样,它使用了金属感和高光锐度两个概念,让物体的质感更丰富。高光贴图只是过滤的功能,但金属度贴图是一种物体表面的属性,你可以控制物体上面某一个部位的反光程度和高光产生的强度,让渲染的过程自动生成它该有的效果。
环境贴图,是控制物体受影响的基本环境,一般是纯黑色的,也就是完全受周围真实环境的影响。但你可以在某些部位的贴图上绘制一些固定的颜色,让贴图颜色和真实环境同时对模型产生影响。比如你要让某个部位一直发光,不受外部光线的影响,可以在环境贴图上控制。
下面做了一个例子:
我拿了一个漫威的冬兵(WinterSoldier)的模型,在完全没有贴图的情况下,他是这样的:
对Unity3D的PBR的初步研究 - 阿赵 - 穷到掉渣的超级奶爸阿赵

然后我给他赋予了漫反射贴图:
对Unity3D的PBR的初步研究 - 阿赵 - 穷到掉渣的超级奶爸阿赵


 按照传统的贴图渲染做法,我给他赋予了法线贴图和高光贴图,效果如下:
对Unity3D的PBR的初步研究 - 阿赵 - 穷到掉渣的超级奶爸阿赵

可以看得出,法线贴图和高光贴图让模型产生了质感,在手臂和腰带扣子上,产生了类似金属的质感。但也可以看出,模型计算的高光是整体的,也就是说虽然有不同的部位,但产生的高光是以整个角色一起算的,只是某些部位把高光隐藏了而已。

 接下来我把材质换成默认的Standard,默认会赋予了漫反射贴图和法线贴图
对Unity3D的PBR的初步研究 - 阿赵 - 穷到掉渣的超级奶爸阿赵

这时候的效果是这样的:
对Unity3D的PBR的初步研究 - 阿赵 - 穷到掉渣的超级奶爸阿赵

由于我现在没有设置金属度贴图,所以整个角色的金属度和高光度是一样的,看起来就像一个金属的雕像。

接下来我使用他原来的高光贴图做了一些修改,变成了金属度贴图,效果会变成这样:
对Unity3D的PBR的初步研究 - 阿赵 - 穷到掉渣的超级奶爸阿赵


 
现在整个角色的形象变得鲜明,不同部位的质感差别很明显,而且高光的感觉是单独的,手臂上面有单独的高光,衣服上的配饰的高光也是单独的,看起来比较细腻和丰富。
 
这时候4张贴图都已经使用了,由于冬兵的手臂虽然是金属,但颜色会比较白,如果金属度调得高了,会变黑。所以我在环境贴图里面对手臂部分稍微做了些调整。
对Unity3D的PBR的初步研究 - 阿赵 - 穷到掉渣的超级奶爸阿赵

这是一个比较简单粗暴的制作过程,我感觉制作高光贴图和制作金属感贴图最大的不一样,是pbr的质感是以部位来做的,你可以感觉整个部位划为一块那样做金属感贴图,也可以通过纹理细节来做一些部位的特殊效果,比如锈迹等。做法很多,效果很丰富,但需要慢慢的调节才能看到正确的效果,中间的难度比只是单纯做一张过滤用的高光贴图要难。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值