📜  Unity材质和着色器

📅  最后修改于: 2021-01-11 13:51:15             🧑  作者: Mango

Unity-材质和着色器

每个外观漂亮的游戏都包含不同的表面。像金属,塑料,全息图,外来人工制品等等。具体来说,基于物理的渲染。

Unity中的渲染使用明暗器,材质和纹理。他们三个有密切的关系。

用料

在Unity 3D中,“材质”是一个文件,其中包含有关使用该材质的对象的照明的信息。

一般而言,材料与碰撞,质量甚至物理无关。它仅用于定义照明如何影响该材质的对象。

统一而言,材质不过是可用于模型的着色器和纹理的容器。尽管所有材质球都有一些共同的功能,但是大多数“材质”的自定义取决于为其选择的材质球。

让我们创建新材料,首先,在Unity中创建一个新的3D项目。

然后右键单击“资产”,然后转到“创建”->“材料”,并命名为“我的材料”。

查看材料的属性。

到目前为止,我们还没有研究这些特性。这是因为这些是在着色器(而不是材质)中编程的属性。

材料是使我们的物体首先可见的原因。实际上,即使在2D模式下,我们也使用不需要照明的独特材料。

着色器

着色器是定义如何在屏幕上绘制每个像素的程序。根本不使用C#甚至根本不使用面向对象的编程语言来编程着色器。着色器使用称为GLSL的类C语言编程。该语言可以直接向GPU提供指令以进行快速处理。

Shader的脚本具有数学计算和算法,用于根据照明输入和材质配置来计算渲染的每个像素的颜色。

如果模型的纹理指定了在其表面上绘制的内容,则着色器将决定如何绘制模型。换句话说,我们可以说材料包含属性和纹理,并且着色器指示材料可以具有的属性和纹理。

贴图

纹理是可以应用于3D对象的平面图像。纹理使模型变得丰富多彩,有趣,而不是空白和无聊。

认为2D图像可以应用于3D模型似乎很奇怪,但是一旦熟悉它,这是一个非常简单直接的过程。让我们看一个简单的示例:考虑一个水瓶,如果您拿掉了水瓶的标签,您会发现它是一块扁平的纸。该标签就像一个纹理。标签打印后,然后将其包裹在3D瓶子上以提供更悦目的外观。

只是所有其他资产,向Unity添加纹理非常容易。要在Unity中创建纹理,只需为纹理创建一个文件夹即可。好名字就是Textures。然后下载项目中所需的任何纹理并将其拖动到刚创建的Textures文件夹中。而已。

要创建文件夹,请右键单击资产,然后转到创建->文件夹。将其重命名为“纹理”。现在下载任何纹理并将其拖动到该文件夹。