第一部分:纯理论的浅析(专属常用提炼的术语,可以有效当作回看理解哈)

1、 3D 三维(three dimension ):客观世界中静止的物体都是三维的,在计算机图形学中常在一定的坐标系中用(x,y,z)坐标系列表示物体。
2、 3D modeling 3D建模 :用三维坐标来描述物体的形状,在各种计算机图形应用领域中有不同的三维建模方法,用不同的算法来描述这些领域中的物体和对象。
3、 3D transformation 3D变换 :在三维空间中把物体的三维坐标从一个位置变换至另一位置,或者从一个坐标系变换至另一坐标系。这是一种对物体的三维坐标(x,y,z)进行数据操作的一种形式。
4、 alpha :在颜色红、绿、蓝(R、G、B)之后添加的第4个颜色值,用于提供对象颜色的透明度。当它的值为0.0时,就意味着完全透明,为1.0时表示不透明。
5、 环境光 (Ambient light) :场景中的光线,它并非来自特定的点源和方向。外围光说明所有曲面都很平坦,而且位于所有的边上。
6、 反走样(Anti-aliasing) :用于平滑直线、曲线和多边形边的渲染方法。这种技巧将均衡紧邻直线的像素颜色。对于直线上的像素以及紧邻直线的那些像素,它具有柔和的过渡的可视效果,这样,就提供了更平滑的外观。
7、 纵横比(Aspect ratio) :窗口宽度与高度的比率。特别是用窗口的宽度(以像素为单位)除以像素的高度(以像素为单位)。
8、 贝塞尔(Bezier)曲线 :一条曲线,它的形状是由曲线的控制点定义的,而不是由一组型值点定义的,曲线的性质由伯恩斯坦(Bernstein)基函数决定。
9、 样条(Spline) :通用术语,用于描述由曲线的控制点创建的曲线。在曲线的形状上具有拉伸效果。当沿着曲线的长度在各个点上加一点压力时,将与易弯曲材料的反作用力相似。
10、 B样条曲线 :一种自由曲线,它的形状是由曲线的控制点和节点矢量定义的,曲线的性质由B样条基函数决定。
11、 模型(Model) :在Unity中,模型是指由顶点、多边形和材质组成的3D物体。
12、 渲染管线 (Rendering Pipeline) :渲染管线是指将场景中的3D模型转换为最终图像的过程。用法:Unity的渲染管线包括传统的渲染管线(Forward Rendering)、延迟渲染管线(Deferred Rendering)和通用渲染管线(Universal Render Pipeline)。
13、 着色器 (Shader) :着色器是一段描述光照和材质表现的程序代码。用法:Unity使用Shader来控制物体的渲染效果,包括顶点着色器(Vertex Shader)和片段着色器(Fragment Shader)。开发者可以自定义着色器,实现特定的渲染效果。
14、 材质 (Material) :材质是物体表面的属性和外观的定义。用法:Unity的材质定义了物体的渲染特性,包括颜色、纹理、透明度等。开发者可以在材质中设置着色器、纹理和其他属性,以实现所需的外观效果。
15、 纹理 (Texture) :纹理是应用在物体表面的图像或图案。用法:Unity的纹理可以用于模型的颜色、法线、光照、透明度等。纹理可以从图像文件加载,也可以通过代码生成。
16、 阴影 (Shadow) :阴影是由光线被物体遮挡而在其他表面上产生的暗影。用法:Unity支持实时阴影投射和接收。可以通过设置光源、材质和渲染设置来控制阴影的生成和呈现。
17、 抗锯齿 (Anti-aliasing) :抗锯齿是一种技术,用于减少图像边缘的锯齿状走样效果。用法:Unity提供了多种抗锯齿技术,如 多重采样抗锯齿(MSAA)、快速近似抗锯齿(FXAA)和子像素抗锯齿(SMAA) 。开发者可以在渲染设置中选择合适的抗锯齿方式。
18、 光源(Light source) :在Unity中,光源是指场景中的点光源、聚光灯、平行光源、区域光源等。光源用于照亮场景中的物体,使其更具视觉效果。
19、 光照(Lighting) :在Unity中,光照是指模拟光源对模型表面的照射效果,以及模型表面反射、折射和阴影的效果。Unity的照明系统可以自动计算光照效果,也可以通过设置光照贴图来实现。
20、 图像后处理(Post-processing) :在Unity中,图像后处理是对渲染后的图像进行额外的处理,例如增强对比度、锐化图像等等。Unity的后处理堆栈(Post-Processing Stack)提供了多种后处理效果,可以轻松地将其添加到游戏中。
21、 渲染路径(Rendering path) :在Unity中,渲染路径是指将场景渲染成图像的方式。Unity提供了多种渲染路径,包括前向渲染(Forward Rendering)、延迟渲染(Deferred Rendering)和轻量级渲染管线(Lightweight Rendering Pipeline)等等。
22、 剔除 (Culling ):剔除是一种根据相机视锥体裁剪不可见物体的技术。用法:Unity使用剔除来排除不可见的物体,提高渲染性能。常见的剔除技术包括视锥剔除(Frustum Culling)和面剔除(Face Culling)。
23、 光照贴图 (Lightmap) :光照贴图是一种预计算的纹理,用于模拟静态光照效果。用法:Unity的光照贴图功能可以将场景中的静态光照信息预计算并存储为纹理,以提高渲染效率和真实感。
24、 着色器图书馆 (Shader Library) :着色器图书馆是一组可重复使用的着色器代码和效果合集。用法:Unity的着色器图书馆包含了许多预定义的着色器,开发者可以在项目中使用这些着色器或创建自己的着色器来实现特定的渲染效果。
25、 环境光遮蔽 (Ambient Occlusion) :环境光遮蔽是一种用于模拟光线无法到达的遮蔽区域的技术。用法:在渲染过程中,环境光遮蔽可以增强场景的真实感和深度感。Unity提供了实时环境光遮蔽技术,开发者可以应用于场景中以模拟遮蔽效果。
26、 法线贴图 (Normal Map) :法线贴图是一种纹理,用于模拟物体表面的细节凹凸效果。用法:通过在法线贴图中存储每个像素的法线信息,可以在渲染时模拟出物体表面的凹凸效果,增强细节感。
27、 前向渲染和延迟渲染 :是两种不同的3D图形渲染技术,它们在渲染过程中的工作流程和性能表现都有所不同。
(1) 前向渲染 是一种传统的渲染技术,它的工作流程是在每个像素上依次进行光线跟踪,计算出每个像素受到的所有光源的影响,再进行纹理映射、着色等处理,最终生成图像。这种方法适合渲染场景中物体数量较少的情况,但当场景中物体数量增多时,计算量会增加,导致渲染效率下降。
(2) 延迟渲染 则采用了不同的渲染方式,它将场景中的所有几何体都先渲染到一张名为“G缓冲区”的纹理中,包括法线、深度、颜色等信息,然后再根据光照、材质等信息计算像素的最终颜色,最终生成图像。这种方法可以在较低的计算成本下渲染大量物体,因此在现代游戏和应用程序中得到了广泛应用。总之,前向渲染适用于场景中物体数量较少的情况,而延迟渲染则适用于物体数量较多的情况,能够提供更高的渲染效率和性能。
28、 粒子系统 (Particle System) :粒子系统是用于模拟和渲染大量小颗粒对象的技术。用法:Unity的粒子系统可以创建和控制大量的粒子,如火焰、烟雾、爆炸等效果。通过调整参数和纹理,可以实现各种不同的粒子效果。
29、 LOD (Level of Detail) :多细节层次,是最常用的游戏优化技术。通过精度不同建模,在镜头离该物体近的时候使用精度高的建模展示细节,在镜头离得远的时候放上精度较低的建模来加快整体场景的渲染速度。即根据摄像机与物体距离,Unity会自动切换模型,从而达到性能优化的目的。优缺点: 高效率优化GPU,但是因为同一套模型需要准备多个(高中低)模型,所以内存占用会增多,相当于用内存换取减轻GPU性能负担,提高GPU效率,从而达到一个高效率的渲染效果。
30、 颜色空间(Color Space) :是指在计算机图形和图像处理中用来表示和处理颜色的一种数学模型和编码方式。不同的颜色空间对应不同的颜色表示方式,常见的颜色空间包括RGB(Red Green Blue)、CMYK(Cyan Magenta Yellow Black)、HSV(Hue Saturation Value)等。 在计算机图形中,最常用的颜色空间是RGB颜色空间,它是基于红色(R)、绿色(G)、蓝色(B)三个颜色通道的组合来表示颜色。在RGB颜色空间中,每个颜色通道的取值范围通常是0到255,表示颜色的亮度或强度。通过组合不同的颜色通道值,可以表示出各种颜色。在Unity中,颜色空间(Color Space)指的是项目或场景中用来表示和处理颜色的设置。 Unity支持两种主要的颜色空间:线性(Linear)和伽马(Gamma) 。
(1) 线性颜色空间(Linear Color Space) :在线性颜色空间中,颜色值是经过线性化处理的,更符合现实世界中光线的物理行为。线性颜色空间用于实现更真实、更准确的光照和颜色处理。在线性颜色空间中,图像和材质的纹理贴图应该以线性的方式进行采样和处理。
(2) 伽马颜色空间(Gamma Color Space) :在伽马颜色空间中,颜色值是通过伽马校正处理的,这种处理方式在过去是为了适应老式显示器的显示特性而设计的。伽马颜色空间在较早版本的Unity中是默认的颜色空间设置。在伽马颜色空间中,图像和材质的纹理贴图已经经过伽马矫正,可以直接在渲染管线中使用。
31、 渲染目标 (Render Target) :渲染目标是指渲染结果输出的图像缓冲区。用法:在Unity中,可以将渲染结果输出到自定义的渲染目标上,而不仅仅是默认的屏幕。这样可以实现离屏渲染和后期处理等高级效果。
32、 GPU (Graphics Processing Unit) :GPU是用于处理图形和图像计算的硬件设备。用法:Unity利用GPU来执行渲染和计算任务,以提供实时的图形渲染和高性能的计算能力。
33、 帧率 (Frame Rate) :帧率是指在一秒钟内绘制的图像帧数。用法:在游戏开发中,帧率对于流畅的游戏体验至关重要。开发者可以通过优化和控制渲染负载来提高游戏的帧率。
34、 Mipmap(MIP映射) :是一种用于优化纹理渲染性能和减少纹理锯齿的技术。它通过在纹理中生成一系列缩小的版本,从而在不同距离和细节级别上使用不同的纹理。Mipmap的原理是将原始纹理图像生成一系列缩小版本的图像,每个缩小的版本都是原始图像的一半大小。这些缩小版本被存储为多级别纹理贴图,从最高级别(原始图像大小)到最低级别(最小分辨率)。当渲染距离远离纹理时,使用较低级别的纹理,当渲染距离接近纹理时,使用较高级别的纹理。Mipmap的作用有以下几个方面:
(1) 抗锯齿 :Mipmap技术可以减少纹理渲染时的锯齿状边缘效果,提供更平滑的外观。当使用较低级别的纹理时,像素的多个采样点会被合并为一个像素,从而减少锯齿状边缘的出现。
(2) 细节衰减 :随着距离的增加,物体的细节逐渐变得不明显。Mipmap技术通过使用较低级别的纹理来模拟远处物体的细节衰减效果,提高渲染性能。
(3) 提高性能 :由于Mipmap技术可以根据渲染距离选择合适级别的纹理,因此可以减少不必要的纹理采样和存储开销,从而提高渲染性能。
35、 Unity Shader 变体处理流程 主要包括以下几个步骤:
(1) Shader 编写 :在 Unity 中,首先需要编写 Shader 代码,使用着色器语言(如 HLSL 或 CG)来定义顶点着色器和片元着色器的逻辑。Shader 代码中可能包含一些可变因素,如材质属性、贴图、光照等。
(2) Shader 导入 :将编写好的 Shader 代码导入到 Unity 项目中。在导入过程中,Unity 会根据 Shader 代码的特征生成 Shader 变体,并将它们保存在 GPU 上以供后续使用。
(3) Shader 变体生成 :在导入 Shader 代码时,Unity 会根据预定义的宏、贴图、渲染路径等因素,生成多个 Shader 变体。Shader 变体是根据不同的特征组合而生成的不同版本的 Shader。
(4) 变体合并 :为了优化性能和内存占用,Unity 会尝试将相似的 Shader 变体进行合并。这样可以减少运行时的 Shader 变体数量,提高渲染效率和内存使用效率。
(5) Shader 变体选择 :在运行时,根据当前渲染状态和设备的能力,Unity 会选择最适合的 Shader 变体进行渲染。这个选择过程称为变体选择。Unity 会根据当前的渲染路径、平台、设备类型、图形 API 等因素来选择最佳的 Shader 变体。
(6) Shader 编译 :一旦选择了合适的 Shader 变体,Unity 将会将该 Shader 变体编译为可在 GPU 上执行的代码。这个过程称为 Shader 编译。编译后的 Shader 代码将被发送给 GPU,用于实际的渲染过程。
36、Unity Shader 常见的 相关名词术语 :
(1) Properties :定义材质面板中需要编辑的属性(如颜色、纹理等),用于修改材质的外观和属性。
(2) SubShader :定义不同平台或渲染管线下的渲染方式,通常包括顶点着色器、片段着色器、裁剪和剔除等操作。
(3) Pass :定义一个渲染过程,包括深度测试、混合模式、渲染队列等设置,通常会与 SubShader 配合使用。
(4) CGPROGRAM :开始 ShaderLab 代码块,表示此部分代码是 Cg/HLSL 代码,用于编写着色器程序。 ENDCG :结束 CGPROGRAM 代码块。
(5) CGINCLUDE、ENDCGINCLUDE :用于引用外部代码,可以减少重复代码量和提高代码可维护性。
(6) uniform :定义全局变量,可以在不同的着色器中共享。
(7) float、int、bool、sampler2D 等:定义变量类型,包括浮点数、整数、布尔值、纹理等。float4、float3、float2、fixed4 等:定义向量或颜色类型,可以包含多个浮点数或整数。
(8) saturate() :用于限制值在0到1之间的函数。可以用于限制颜色值在合法的范围内,以便于渲染和显示。
(9) UNITY_MATRIX_MVP、UNITY_MATRIX_MV、UNITY_MATRIX_P 等:内置变量,表示变换矩阵(模型视图投影矩阵、模型视图矩阵、投影矩阵等)。
(10) _Time、_SinTime、_CosTime 等:内置变量,表示时间和时间函数,可以用于制作动态效果。
(11) UNITY_LIGHTMODEL_AMBIENT、_LightColor0、_LightPosition0 等:内置变量,表示光照和光源信息,可以用于实现各种光照效果。
(12) sampler2D、tex2D()、tex2Dlod()、tex2Dproj() 等:用于纹理采样和采样函数,可以获取纹理图像上指定位置的颜色值。
(13) lerp()、saturate()、step()、smoothstep() 等:用于插值和计算函数,可以控制颜色或值的过渡和变化。
(14) clip()、discard 等:用于丢弃像素或片段,可以根据某些条件剔除不需要渲染的内容。
(15) struct :用于定义一个结构体。结构体可以用于组织和存储多个变量,使得代码更加清晰易读。
(16) Vertex Shader :处理输入几何信息的程序。它的输入是一个几何体(通常是三角形)的顶点,输出是变换后的位置和其他属性,例如法线和纹理坐标。Vertex Shader可以用于进行基本的形状变换和颜色计算。
(17) Fragment Shader :处理像素的程序。它的输入是一个像素,输出是该像素的最终颜色值。Fragment Shader通常用于计算光照和阴影、纹理采样和调色等操作 …...
之前小编有一篇 专门汇总式介绍Unity Shader ,主要介绍Unity Shader定义以及基础的用法(乐此推荐): https://developer.unity.cn/projects/5fbcef81edbc2a1283e10d02

第二部分:实战应用

内置渲染管线(Build-in Render Pipeline)是Unity的默认渲染管线 :Unity的内置渲染管线是通用的渲染管线。涵盖的渲染路径:前向渲染(Forward:低保真度)和延迟着色(Deferred:具有大光照和阴影保真度)。
Shader内置管线常见的可视化编辑器 :
一、基础类应用的内容
主要介绍Shader基础使用,包括shader的框架+shader的写法,属于入门必备内容实践哈。
二、后处理特效类应用的内容
在BP管线中后处理插件包添加,小编特别推荐一款后处理插件链接 Beautify 3 - Advanced Post Processing : https://assetstore.unity.com/packages/vfx/shaders/fullscreen-camera-effects/beautify-3-advanced-post-processing-233073
另外在2018.1及以上版本,可以直接在Package Manager,找到并选择"Post Processing"包,点击右侧的“Install”按钮进行安装。
1、 Bloom(泛光) 是Unity内置渲染管线中的一种后处理效果, 用于模拟光线散射和眩光效果,使图像中明亮的区域产生辐射和扩散效果。 即Bloom通过提取图像中亮度较高的区域,并将其扩散到周围区域,以模拟真实世界中的光线散射效果。Bloom效果可以使图像中的明亮部分看起来更加明亮、柔和和温暖。
2、 Ambient Occlusion(环境遮蔽) 是计算机图形学中常用的一种渲染技术,用于模拟光线在物体间的遮挡和散射效果。它考虑了光线在周围环境中的传播,以产生更加真实的阴影效果。即环境遮蔽是一种渲染技术, 用于在物体表面上根据物体周围环境的遮挡程度计算阴影效果。 它模拟了光线在物体间的散射和遮挡,产生了一种阻挡光线的效果,使得物体的凹凸细节更加明显和逼真。
3、 Anti-aliasing(抗锯齿) 抗锯齿是一种图形渲染技术,用于减少图像中直线、对比较陡峭的曲线、模型表面和物体边缘等处的锯齿状边缘,使其看起来更加平滑和真实。 它通过对图像进行平滑处理和颜色混合,减少锯齿状边缘的明显性,提高图像的视觉质量。 抗锯齿技术可以在多个渲染阶段应用,包括渲染管线的不同阶段和后处理阶段。以下是一些常见的抗锯齿应用方法:
(1) 多采样抗锯齿 (Multisample Anti-aliasing,MSAA):MSAA是一种硬件支持的抗锯齿技术,通过在渲染过程中对图像进行多次采样,并对采样结果进行平均,以减少锯齿状边缘的出现。它可以在渲染管线中的几何着色器和像素着色器阶段应用。
(2) 屏幕空间抗锯齿( Screen Space Anti-aliasing,SSAA):SSAA是一种后处理抗锯齿技术,通过对屏幕上的像素进行采样和平滑处理,减少锯齿状边缘的出现。它可以在后处理阶段应用,并可通过调整采样数和平滑算法来控制抗锯齿效果的质量。
(3) 快速近似抗锯齿 (Fast Approximate Anti-aliasing,FXAA):FXAA是一种基于后处理的抗锯齿技术,通过分析图像中的边缘信息并应用特定的平滑过滤算法,来减少锯齿状边缘的出现。它可以在后处理阶段应用,并且相对较快速和低成本。
4、 Auto Exposure(自动曝光) 是一种 用于动态调整场景亮度和对比度的渲染技术 。它通过根据场景中的亮度范围来自动调整相机的曝光值,以确保场景中的细节在亮度范围内得到合适的展示。 Auto Exposure对于不同的光照情况可能需要调整。如果场景中的光照条件发生变化,可以尝试调整光源强度、方向或其他光照参数,以确保Auto Exposure效果良好。
5、 Chromatic Aberration(色差) 是一种光学现象,在图像或光学系统中出现。 它表现为不同颜色的光在透镜或光学系统中通过时会发生折射的位置不同,导致不同颜色的边缘出现偏移或模糊的效果。 在图形渲染中,Chromatic Aberration可以用作一种特效效果,用于增加图像的真实感或视觉艺术效果。
6、 Color Grading(色彩分级) 是一种在图像或视频处理中对颜色进行调整和处理的技术。 它通过调整图像的色调、饱和度、对比度和色彩平衡等参数,以达到特定的视觉效果和艺术风格。 Color Grading在游戏开发和电影制作等领域中广泛应用,用于增强图像的表现力、创造特定的视觉风格和情绪氛围。
7、 Deferred Fog(延迟雾效) 是一种在基于延迟渲染的渲染管线中实现的雾效技术。 它使用延迟渲染的缓冲区数据和深度信息来计算场景中的雾效,并将其应用于最终的图像渲染中 。常用于以模拟雾气的散射和遮挡效果。
8、 Depth of Field(景深效果) :是一种模拟相机焦距调整效果的技术, 在图像或视频中使得某个焦点处的物体清晰,而其他距离焦点较远或较近的物体模糊 。它基于物体与相机之间的距离和相机的焦距设置,模拟了光线在相机镜头前后的聚焦和散焦效果。
9、 Grain(噪点效果) :是一种在图像或视频中添加噪点纹理的效果,用于模拟老旧电影或照片的质感,或者为图像增加一种独特的风格和氛围。 它通过添加随机的噪点和颗粒感,改变图像的纹理和细节,以达到特定的视觉效果 。常用于模拟老旧电影或照片的外观。它可以通过调整参数和选择合适的噪点纹理来实现不同的风格和效果,例如细腻的颗粒感、粗糙的噪点纹理等。
10、 Lens Distortion(镜头畸变) 是一种模拟相机镜头失真效果的图像处理技术。它模拟了实际相机镜头在捕捉图像时引入的畸变效果, 包括桶形畸变(Barrel Distortion)和枕形畸变(Pincushion Distortion ),例如它可以模拟桶形畸变和枕形畸变,以及其他类型的失真效果,使得图像看起来更真实、更具艺术风格。
11、 Motion Blur(动态模糊) :是一种 模拟快速运动物体模糊效果的技术 ,用于在图像或视频中模拟物体在快速运动过程中的轨迹模糊效果。它通过在每一帧渲染过程中考虑物体的移动,并在渲染结果中添加适当的模糊效果,以模拟出真实世界中快速运动物体的视觉效果。它常用于模拟快速移动的物体、增强动画的流畅度,或者用于创造特定的艺术风格。
12、 Screen Space Reflections(屏幕空间反射) :是一种基于屏幕空间的反射渲染技术,用于模拟物体表面周围的环境反射效果。 它通过分析屏幕上的像素信息,计算出物体表面周围的反射信息,并将其应用于最终的渲染图像中 。这种技术可以增加场景的真实感和细节,使物体表面反射出周围环境的景象。用于增加图像的真实感和环境交互性,模拟物体表面反射周围环境的效果。
13、 Vignette(晕影效果) 是一种图像处理技术, 用于在图像的边缘或角落创建暗化或加深的效果。 它可以为图像增加一种焦点效果,使中心区域更突出,并营造出一种老旧照片或电影的感觉。它常用于创建艺术照片、电影效果、增强情感表达等。
14、其他自定义常用的模糊和全屏特效记录。
三、常见项应用的内容 (具体Case还可以等后续篇章更新噢)
1、 WaterDropEffect(水滴效果) 是一种模拟水滴在表面落下和扩散的图像效果。它通过在图像上创建和动态调整水滴的形状、颜色和扩散效果,以模拟出真实水滴的外观和行为。实现的基础思路:
(1) 水滴形状生成 :使用图像处理技术或着色器来生成水滴的形状。这可以通过创建特定的纹理、使用几何图形或者基于数学算法来实现,水滴形状通常具有凸起和凹陷的特点,以模拟出水滴在表面上的几何形状。主要利用Photoshop、GIMP、TexturePacker等函数,来创建具有水滴形状的纹理图像。
(2) 水滴效果渲染 :使用着色器或图像处理技术将水滴形状应用于目标图像中。这可以通过将水滴形状与目标图像进行叠加或混合来实现。并且设置水滴的颜色和透明度可以根据需求进行调整,以使其看起来更加真实。利用Texture2D、Blend函数,将水滴纹理与目标图像进行叠加,实现水滴效果的渲染。
(3) 水滴扩散效果 :模拟水滴在表面扩散的效果。这可以通过调整水滴形状的大小、位置和透明度来实现。通常会在水滴下落时增加扩散效果,使水滴在表面上产生涟漪或扩散效果。
(4) 动态更新 :在每一帧的渲染过程中,根据需要更新水滴的位置、形状和效果。这可以根据时间、物理效果或用户交互来控制水滴的行为。利用Time.deltaTime函数,来实现水滴位置、形状和效果的动态更新。
2、 UI实现不同形状裁剪 ,如实现形成圆形角、块状等展示。实现的基础思路:基于不同形状的裁剪实现可以使用Shader来实现,基本原理是 使用裁剪形状的纹理(通常是包含形状信息的Alpha通道纹理)与UI元素的纹理进行混合,根据裁剪形状的像素值来决定显示与隐藏 。即关键步骤:
(1)在Unity中创建一个新的Shader。在Shader中定义裁剪形状纹理作为输入属性。
(2)在顶点着色器中,将UI元素的顶点转换为剪裁空间坐标。
(3)在片段着色器中,采样UI元素纹理和裁剪形状纹理。
(4)将UI元素的颜色与裁剪形状纹理进行混合,根据裁剪形状纹理的像素值来决定显示与隐藏。
相关实战练习工程已直接上传在Github上,感兴趣的小伙伴可以下载一起学习哈。
Logo

分享前沿Unity技术干货和开发经验,精彩的Unity活动和社区相关信息

更多推荐