Unity | Shader(着色器)和material(材质)的关系

一、前言

在上一篇文章中

【精选】Unity | Shader基础知识(什么是shader)_unity shader_菌菌巧乐兹的博客-CSDN博客

我们讲了什么是shader,今天我们讲一下shder和material的关系

二、在unity中shader的本质

unity中,shader就是一串代码,如下图shader(就是一个平平无奇的shader)

但是,这个shader可以被打开,点击open

打开后如下,这里不用了解太多,你就知道,这是一篇代码

所以,从最本质上,shader就是一大堆的代码

三、shader代码的作用

这些代码的主要作用,就是从公式的角度上,先写出来,颜色的工作流程,在什么情况下,显示什么,有什么可以调节的方式,有什么可以调节的地方等等。

(咱们不要纠结它是怎么写的,这个可以具体去学shader语法)

但是,这些只是理论

例如:我写“我在一块白布上,先照红色的光,再照绿色的光,你就会看见一个黄色的布”

这只是我写在这的,没有人真的拿光去照,所以你也看不见“黄色的布”

四、material(材质)来了

材质其实就是一个小的调色盘(试验品),它把shader写的这些代码上,按流程一个一个的操作出来,让他显示出来。

这是一个平平无奇的Material

黄色的框里面,是让你选,你打算在这个实验体上,用哪个shader(脚本流程)来实验它的效果。

下面这个绿框,就是,你放上了你的shader,确定好了你的调节比例(就是上面有些可以调节的数据)。之后,这个调色盘(实验体),会变成什么样。

五、material(材质)的使用

我们在unity当中,随便建一个在scene场景中能看见的物体(透明物体也属于能看见的,因为可以调的能看见嘛),只有能看见的物体需要上色,你都看不见,你也没必要上色。

我在这里建了一个Cube。

这些物体都会有能放材质球的地方,换句话说,这些物体,都可以用你想要的样子上色。

例:

六、materials(多材质)的使用

我们看见,有些时候这里可以放好多个材质球

理解了上面的,材质球就像调色盘,后面就好理解了。

有些模型是希望你在不同部位上不同颜色的,所以,有些模型支持你放好多,有些不支持。

如果我们染色的物体,支持你在不同的部位,使用不同的materials(染不同的颜色),那么这里就是有用的。

便于理解的例子(模型支持):

如果你不支持,比如我刚建的cube就只支持一个materials,那么你无论加几个,也就一个颜色。

便于理解的例子(模型不支持):

七、从0开始学习写unity的shader

Unity | Shader基础知识(第一集:unity中最简单的shader)-CSDN博客

猜你喜欢

转载自blog.csdn.net/weixin_49427945/article/details/134304543