Unity 材质之_stander shader
Posted muyouking
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity 材质之_stander shader相关的知识,希望对你有一定的参考价值。
Unity自带的两个新的Shader, 分别是Standard以及Standard(Specular setup)
如果你没有为你的材质选择这两个Shader之一, 那么你的材质是不会有PBS效果的, 对比一下PBS.
第一幅图是使用了Unity4中的Bumped Specular, 第二幅图使用了Standard(Specular Setup), 值得一提的是为了展现最纯粹的光照效果我特意关掉了PBS的另一大特性, Reflection. 而如果开启了Reflection, 上面的截图差距应该更加明显才对, 相信各位这里也是一目了然.
PBS的具体原理是什么, 这个我没有太大的兴趣去研究, 有兴趣的同学可以自己搜索相关知识.
Standard以及Standard(Specular setup)两者的区别是, Standard使用了金属模拟的外观, 而Standard(Specular Setup)使用了镜面模拟的外观.
使用中, 对于任何不是金属的材质, 都应该选择Standard(Specular Setup).
看图, 左边是Standard, 右边是Standard(Specular Setup), 可以看出两者的差别是很明显的.
Unity官方的意思是, 用这两种Shader可以替代Unity4之前的大部分的Shader. 事实证明也的确如此.
这里先用Standard(Specular Setup)作为教程例子, 有兴趣的朋友可以自己研究Standard, 无非就是差了两个参数.
这里是Standard(Specular Setup)的参数设置界面. 这里不讲解Unity4当中很熟悉的概念. 比如Specular和NormalMap或者Tilling以及Offset这些.
RenderingMode---选择Shader的渲染形式, 四种可选:
`Opaque---不透明
`Cutout---透明但没有半透明
`Fade---整体透明
`Transparent---只有像素透明(意思就是相比起Fade来说, 材质上的高光等信息不会变得透明化).
Albedo---就是Diffuse漫射的意思, 但是这里的Alpha通道还会控制透明程度.
Emmision---这个很有意思, 你在Emmision中设置的像素以及他的强度会影响GI, 至于GI是什么, 待会再说. 而他是如何影响GI的, 你可以选择Realtime或者Baked, 这个我会放在第二章来讲.
Secondary Maps---这里可以赋予细节贴图.
UV Set---设置UV通道.
技巧: 你赋予上去的贴图, 按住ctrl点击缩略图可以打开贴图预览.
值得一提的是, 两个Standar材质是经过高度优化的, 你没有赋予贴图的部分在工程打包的时候是不会造成任何性能消耗的, 比如你没有为"Heightmap"赋予任何贴图, 那么你就无需担心这个Heightmap在Shader中有什么亢余.
以上是关于Unity 材质之_stander shader的主要内容,如果未能解决你的问题,请参考以下文章
Unity3D Shader编程之二 雪山飞狐篇:Unity的基本Shader框架写法&颜色光照与材质
Unity Shader 学习笔记Shader变体Shader属性定义技巧自定义材质面板