在Unity中使用Shader

荒凉一梦 提交于 2020-02-29 18:16:52

1、Material 和 Shader 的关系。一个材质包括一个Shader程序。在Shader中设置的属性能够通过Material可视化设置


2、内建Shader,5.0之后的版本号中大部分旧的Shader都集成在了Standard Shader中了,能够通过设置Standard Shader的属性达到不同的须要的渲染效果。

 

Albedo:反光率

Specular:镜面反射

Smoothness:镜面反射的光滑度

NormalMap:法线贴图

为什么叫法线贴图。我们知道法线(Normal)是垂直于一个面的直线。通过计算光线与这条法线的角度就能够知道与面的角度。进而能够计算出面应得到的颜色值。如果我们知道物体每一个面的法线就能实现对这个物体进行光照渲染。可是一堵墙或许仅仅有四个顶点,也就是仅仅有一个面,它终于的渲染效果将会非常单一。如果这堵墙上有很多其它的砖的凹凸痕迹。我们增样实现仅用四个顶点渲染出立体感非常强,细节层次感非常强的这堵墙呢。使使用方法线贴图。 在法线贴图技术中,我们就是通过把墙面的每一个像素的法线存储在一张纹理中,渲染的时候依据每一个像素的法线确定他们的阴暗程度,而这张法线贴图是能够用photoshop软件从一张墙的纹理生成相应的法线贴图的。到此,熟悉法线贴图的朋友会对以上内容非常熟悉的。

HeightMap:高度图

Occlusion:贴图吸收

加入一个贴图之后设置吸收的系数

Emission:自发光贴图和颜色

 

 

 

3、创建自己定义Shader程序

l 创建一个Material

l 创建自己定义的Shader程序

l 为Material指定Shader程序(依据Shader文件内定义的名称查找)

l 将Material指定给GameObject查看效果

 

 

 

 

4、Shader程序的语法和规则

http://blog.csdn.net/zh13544539220/article/details/46925009

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!