zoukankan      html  css  js  c++  java
  • unity自带材质球

    Unity5中重点推出了一套基于物理的着色(Physically Based Shading,PBS)的多功能Shader,叫做标准着色器(Standard Shader)。这套Shader的设计初衷是化繁为简。想用这样的一个多功能Shader,来代替之前多种多样的Shader各司其职,对于不同的材质效果,需要不同的Shader的局面。

    Unity 5中目前有两个标准着色器,一个名为Standard,我们称它为标准着色器的标准版,另一个名为Standard(Specular Setup),我们称它为标准着色器的高光版,它们共同组成了一个完整的PBS光照明模型,且非常易于使用。其实这两个Shader基本差不多,只是有细微的属性参数上的区别。标准版这边的_Metallic(金属性)、_MetallicGlossMap(金属光泽贴图),被高光版的_SpecColor(高光颜色)、_SpecGlossMap(高光颜色法线贴图)所代替。

    标准着色器主要是针对硬质表面(也就是建筑材质)而设计的,可以处理大多数现实世界的材质,例如石头、陶瓷、铜器、银器或橡胶等。同时,它也可以非常出色地处理一些非硬质表面的材质,例如皮肤、头发或布料等。

    上面一段理论摘自http://blog.csdn.net/poem_qianmo/article/details/49556461

    下面是我翻译的官方金属度流程的截图(我认为金属度流程的更通用,但是由于技术限制也会有一些效果无法用这种材质实现)

    可以看出光滑度(粗糙度)是存储在金属度的透明通道里的

    这也就是为什么没有放贴图的时候有个smooth滑块,但是放了贴图以后就没有这项了,因为这项需要被一个通道的图片控制

    下面我们来做个测试

    可以在ps里做一张如上图所示的tiff或者tga格式,(估计psd也行吧)

    注意可以新建一个通道,单独在上面绘制,不需要可见

    另外说下png不行,它的透明通道是自动的

    另外把红色通道做的和其他不一样也方便测试高光材质流程(这个可以自己调整材质测试)

    然后就能得到下面图的效果

    可以发现这两个参数还是非常重要的,严重影响了视觉效果

    一般性的如果需要在unity里有好的PBR效果,需要三张贴图(可以说是四张图 因为金属度和粗糙度合并了)

    颜色贴图

    金属度+粗糙度

    法线贴图

    如果需要更好的效果可以再增加height map ,occlusion map ,细节贴图等等

    需要注意到是occ贴图在unity中遇到光照会自动计算,能显著增加空间效果

    另外说下金属度和高光流程,其实两种是可以在一定程度上相互转化的,substance就可以搞定(可以看后面讲到)

    两种其实也没有强求用哪种,只是金属度的参数更加理性,其他的还是要看项目的艺术效果

    当然虽然两种材质在效果上有很大重合空间,也有不能达到的地方,举个例子,对于黑色几乎不反光的物体

    http://blog.csdn.net/shenmifangke

    金属度不能做到高光流程那么黑的效果(除非去掉环境球)

    下面是金属度和流程的区别,我加了自己的想法(需要更多内容可以关注或者加我qq)

    PBR图制作流程

    流程上有很多东西可以使用,我这里说的主要是substance designer软件

    因为unity直接支持它的材质,sbsar格式能直接在unity中使用,而且据说还有其他软件的支持性

    QuxelSubstanceMaya3dsMaxUEU3D5ce已经全线PBR向进化,Disney Principled BRDF就是一个很好的范例,Hyperion和最新的RenderMan都采用了这个技术。虚幻引擎4中的材质系统也是基于这个模型的简化版(Real Shading in UE4)。

    SP(substancepainter)、SD(substance designer)、Quxel(NDO、DDO、3DO以及MegaScan材质库,四个合起来叫做Quixel Suite套件)这些生产工具使得美术在工作时增加了效率,理清了思路,越来越趋向于及时反馈和所见即所得,而且与几大引擎接口互导也方便了许多,很大程度的减轻了纯美术方面的负担。

    下面是简单操作流程图

    具体的就不说了,自己可以搜教程有很多的,需要注意到是软件有两个

    substance designer是修改和创建材质的,如果需要直接刷贴图可以用substance painter 可以直接看到刷上去的效果

    他们之间可以互相导,主要还是看工作流程,下面这张就是工作关系

    substance designer可以导出可供unity使用的材质球

    substance painter可以画贴图到substance designer看效果并修改

    link贴图和模型

    这里记得双击项目才能关联带有多套uv的模型(原始模型不好看还有版权问题 所以打个码)

    这是处理后的效果,可以看出没打码的部分更加真实了

    http://blog.csdn.net/shenmifangke

    一般导出的时候可以直接将粗糙度贴图并入金属度的alpha通道里

    要导出材质的话可以之际publish如下

    也可以选中结果图片后在贴图窗口里直接导出图片

  • 相关阅读:
    zoj 2316 Matrix Multiplication 解题报告
    BestCoder7 1001 Little Pony and Permutation(hdu 4985) 解题报告
    codeforces 463C. Gargari and Bishops 解题报告
    codeforces 463B Caisa and Pylons 解题报告
    codeforces 463A Caisa and Sugar 解题报告
    CSS3新的字体尺寸单位rem
    CSS中文字体对照表
    引用外部CSS的link和import方式的分析与比较
    CSS样式表引用方式
    10个CSS简写/优化技巧
  • 原文地址:https://www.cnblogs.com/muyouking/p/6424718.html
Copyright © 2011-2022 走看看