《Unity着色器圣经》1.0.6 | 顶点颜色
目录索引 译文 当我们从建模软件中导出一个模型时,软件会为模型指定一种颜色,以便光照或别的颜色作用于该模型。这种颜色被称为顶点颜色,默认情况下对应于白色,在 RGBA 通道中的值为 '1'。稍...
《Unity着色器圣经》11.0.1 | Implementing functions with Sphere Tracing.
目录索引 译文 为了正确使用该技术,有必要在着色器中定义至少两个函数。为此,我们必须考虑: 用于确定曲面类型的SDF函数。 另一个计算球体投影的函数。 在Unity中,我们将创建一个类型为“Unl...
《Unity着色器圣经》3.2.0 | SubShader剔除与深度测试
目录索引 译文 要想理解这两个概念,我们需要先了解什么是 Z 缓冲(深度缓冲)和深度测试的工作原理。 在正式开始之前,我们需要先了解的是:像素是有深度值的。这些值被存储在一个叫做深度缓...
《Unity着色器圣经》2.0.3 | 着色器的种类
目录索引 译文 要想开始我们的着色器(shader)学习之路,我们需要先在 Unity 中创建一个项目。如果你使用 Unity Hub 进行项目管理,那么我建议你使用较新的 Unity 版本(例如2019、2020、2021...
《Unity着色器圣经》4.1.9. | Min and Max function.
目录索引 译文 “min”是指两个向量或标量之间的最小值,而“max”则相反。我们将在不同的操作中经常使用这些函数,例如,我们可以在计算漫反射时用到max函数:用来返回“0”和法线与光方向之间...
《Unity着色器圣经》3.2.8 | Cg/HLSL编程
目录索引 译文 在我们的着色器中,可以找到至少三个编译指令(pragma)。这些都是处理器指令,包含在 Cg 或 HLSL 中,其作用是帮助我们的着色器识别和编译某些函数,如果没有这些指令这些函数就...
《Unity着色器圣经》3.1.8 | SubShader透明度遮罩
目录索引 译文 有些类型的混合易于掌控,例如用 Alpha 通道加上透明效果的“SrcAlpha OneMinusSrcAlpha 混合”,但还有一些类型的混合无法为着色器生成透明度。在这种情况下,就需要使用到“透...
《Unity着色器圣经》3.0.7 | 自定义材质属性绘制器
目录索引 译文 在 ShaderLab 中还有一种叫做“绘制器”的属性类型,这个基类允许我们在 Unity 检查器中创建自定义属性,从而方便用户在着色器中进行条件编程。 通常情况下,除非我们需要声明它...
《Unity着色器圣经》10.0.3 | UV coordinates and texture.
目录索引 译文 在上一节中,我们通过变量m_mainTex和m_texSize定义了纹理及其维度;然而,最终结果对应于Sierpinski三角形的图形表示。 考虑到我们目前正在编写的脚本,在本节中,我们将为效果...
《Unity着色器圣经》4.1.6. | Length function.
目录索引 译文 正如其标题所提到的,length函数是指表示两点之间距离的大小。这个功能在创建几何形状时很有用,例如,我们可以生成圆形或具有圆角的多边形。 其语法如下: float length (float ...





