Unity - 材质和着色器


在本章中,我们将简要了解材质和着色器。为了更好地理解,我们将创建一个新的3D 项目而不是当前的 2D 项目。这将帮助我们看到各种变化。

创建新项目后,转到“层次结构”并右键单击,然后转到“ 3D 对象”→“立方体”。这将在场景中间创建一个新的立方体。您可以通过在场景视图中按住右键并拖动鼠标来环视立方体。您还可以使用滚轮进行放大和缩小。

现在,单击立方体,查看其属性。

3D 立方体创建

最底部的属性似乎有一个默认材质和一个标准着色器。

什么是材料?

在 Unity(以及许多 3D 建模方面)中,材质是一个文件,其中包含有关使用该材质的对象的照明信息。请注意,灰色球体如何表示材质,其中一些光线从顶部射入。

现在,不要与这个名字混淆;材质与质量、碰撞甚至一般物理无关。材质用于定义光照如何影响具有该材质的对象。

让我们尝试创建我们自己的材料。右键单击资源区域,转到创建 → 材质并为其命名,例如“我的材质”。

创建材质

这些属性与我们迄今为止研究过的任何属性都不一样。这是因为这些属性是在着色器中编程的,而不是在材质中。

材质首先是让你的物体可见的东西。事实上,即使在 2D 中,我们也使用不需要照明的特殊材质。当然,Unity 会为我们生成并将其应用于所有内容,因此我们甚至没有注意到它的存在。

什么是着色器?

着色器是一个定义如何在屏幕上绘制每个像素的程序。着色器根本不是用 C# 甚至 OOPS 语言编程的。它们使用一种名为 GLSL 的类 C语言进行编程,该语言可以直接向 GPU 发出指令以进行快速处理。