包含此页的版本:
不含此页的版本:
注意。Unity 5 引入了标准着色器,它取代了它着色器在 GPU 上运行的程序。更多信息
请参阅术语表.
此着色器的一个注意事项是,基础纹理的 alpha 通道定义了透明区域和镜面反射贴图。
注意。Unity 5 引入了标准着色器,它取代了此着色器。
此着色器可以使meshUnity 的主要图形原语。网格体构成了 3D 世界的很大一部分。Unity 支持三角或四边形多边形网格。Nurbs、Nurms、Subdiv 曲面必须转换为多边形。更多信息
请参阅术语表通过读取主纹理的 alpha 通道来部分或完全透明的几何体。在 alpha 中,0(黑色)是完全透明的,而 255(白色)是完全不透明的。如果主纹理没有 alpha 通道,则对象将显示为完全不透明。
在游戏中使用透明对象可能很棘手,因为传统的图形编程问题可能会在游戏中出现排序问题。例如,如果您在同时查看两个窗口时看到奇怪的结果,则您遇到了使用透明度的经典问题。一般规则是要注意,在某些情况下,一个透明对象可能会以不寻常的方式绘制在另一个透明对象的前面,特别是当这些对象相交、相互包围或大小非常不同时。因此,如果需要,您应该使用透明对象,并且尽量不要让它们变得过多。您还应该让您的设计人员意识到可能会出现此类排序问题,并让他们准备更改一些设计以解决这些问题。
与漫反射着色器一样,它计算一个简单的(朗伯)照明模型。表面上的光照随着表面与光线之间的角度减小而减少。照明仅取决于角度,并且不会随着相机在场景中创建特定视点图像的组件。输出要么绘制到屏幕上,要么作为纹理捕获。更多信息
请参阅术语表移动或旋转。
法线贴图使用纹理模拟小表面细节,而不是花费更多多边形来实际雕刻细节。它实际上并没有改变对象的形状,而是使用一种称为法线贴图(Normal Map) 一种凹凸贴图纹理,可用于向模型添加表面细节,如凹凸、凹槽和划痕,这些细节可以捕捉光线,就好像它们由真实几何体表示一样。
请参阅术语表以达到这种效果。在法线贴图中,每个像素计算机图像中的最小单位。像素大小取决于您的屏幕分辨率。像素光照是在每个屏幕像素下计算的。更多信息
请参阅术语表的颜色值表示表面法线的角度。然后,通过使用此值而不是几何体中的值来计算照明。法线贴图在计算对象的光照时有效地覆盖网格体的几何体。
您可以导入在 Unity 外部创建的法线贴图,也可以导入常规灰度图像并将其从 Unity 中转换为法线贴图。(本页指的是一个已被标准着色器取代的旧着色器,但你可以详细了解如何在标准着色器中使用法线贴图)
法线贴图是法线贴图的切线空间类型。切线空间是“跟随模型几何体表面”的空间。在此空间中,Z 始终指向远离表面。切线空间法线贴图比其他“对象空间”类型的法线贴图贵一点,但有一些优点:
高光反射(Specular) 计算与漫反射(Diffuse) 相同的简单(朗伯)光照,以及与查看器相关的高光。这称为 Blinn-Phong 照明模型。它具有取决于表面角度、光线角度和视角的高光。高光实际上只是一种适合实时模拟光源模糊反射的方式。高光的模糊级别由检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
请参阅术语表.
此外,主纹理的 alpha 通道充当镜面反射贴图(有时称为“光泽贴图”),定义对象的哪些区域比其他区域反射性更强。alpha 的黑色区域将为零镜面反射,而白色区域将为全镜面反射。当你希望对象的不同区域反映不同级别的镜面反射时,这非常有用。例如,生锈的金属将使用低镜面反射,而抛光金属将使用高镜面反射。口红的镜面反射率比皮肤高,皮肤的镜面反射率比棉质衣服高。制作精良的镜面反射贴图可以在给玩家留下深刻印象方面产生巨大的影响。
通常,此着色器的渲染成本适中。有关更多详细信息,请查看着色器性能页面。
TransBumped镜面反射