• 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,那么你无论加几个,也就一个颜色。

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

  • 相关阅读:
    ESP8266-Arduino编程实例-BMA250加速度传感器驱动
    【JavaWeb】ServletContext配置信息
    理解JVM
    网络第一颗
    D课堂 | DDoS、CC,网站被攻击怎么办?
    Apache网页优化
    为什么 BI 软件都搞不定关联分析
    C#面对对象(用Dictionary字典实现银行取钱系统)
    js实现pdf打印的功能
    2022百度之星初赛第三场--字符计数
  • 原文地址:https://blog.csdn.net/weixin_49427945/article/details/134304543