《Unity着色器圣经》1.0.4 | 切线
目录索引 译文 根据Unity官方文档给出的定义: 切线是单位长度的矢量,它顺着网格表面沿水平 (U) 纹理方向。 意思是切线与每个几何面 UV 的 U 坐标轴方向一致。 Fig. 1.0.4a. 通常情况下我们无...
《Unity着色器圣经》9.0.2 | 准备Shader Graph环境
目录索引 译文 有两种往项目中添加 Shader Graph 的方式: 在创建项目时选择 URP 或 HDRP 模板 在 Unity 包管理器(路径:Window / Package Manager)中安装 Shader Graph 包 如果我们用 URP ...
《Unity着色器圣经》8.0.4 | 阴影实现
目录索引 译文 现在我们已经理解了坐标空间的变换流程,我们可以回到先前创建的 USB_shadow_map 着色器中创建一个名为 NDCToUV 的函数。该函数表示从NDC空间变换到UV空间的过程,并将在顶点...
《Unity着色器圣经》3.3.1 | Cg/HLSL变量与连接向量
目录索引 译文 继续回顾我们的 USB_simple_color 着色器,不难发现着色器中有一个 sampler2D 类型的变量和一个四维向量,用于定义 _ MainTex 纹理: sampler2D _MainTex; float4 _MainTex_S...
《Unity着色器圣经》3.3.4 | ShaderLab回退
目录索引 译文 我们曾多次提到过,当我们的子着色器报错或无法与目标硬件兼容时,回退(Fallback)允许我们为材质分配一个兜底的着色器。 其语法如下所示: Fallback 'shaderPath' “着色器路径...
《Unity着色器圣经》3.2.8 | Cg/HLSL编程
目录索引 译文 在我们的着色器中,可以找到至少三个编译指令(pragma)。这些都是处理器指令,包含在 Cg 或 HLSL 中,其作用是帮助我们的着色器识别和编译某些函数,如果没有这些指令这些函数就...
《Unity着色器圣经》4.1.8. | Lerp function.
目录索引 译文 顾名思义,该函数通常用于颜色转换,它允许在两个值之间进行线性插值,例如,我们可以通过lerp,使一个角色的皮肤渐变到另一个皮肤。 其语法如下: float lerp (float a, float b...
《Unity着色器圣经》4.0.2 | 我们的第一个Cg/HLSL着色器
目录索引 译文 我们将继续使用我们在本章开头创建的“USB_simple_color”着色器。正如我们已经知道的,我们的默认着色器有一个名为_MainTex的纹理,该纹理在属性中进行了配置(这里的配置是指,...
《Unity着色器圣经》3.2.5 | ShaderLab Pass
目录索引 译文 着色器的第三个重要部分被称为 Pass。 在一个着色器中可以有多个 pass,但 Unity 在用户新建着色器时,在默认情况下只会在子着色器语义块中预设一个 pass。 回头看看我们在章节初...
《Unity着色器圣经》12.0.1 | Configuring Ray Tracing in HDRP.
目录索引 译文 我们将使用Unity Hub 3.0.0-beta.6版本的默认模板开始本节。这样的模板看起来是这样的。 (Fig. 12.0.1a) 如本章开头所述,使用高清RP实现本效果是必要的。为了确保我们安装了高清...