Unity3D Unity3D:顶点光照 (Vertex-Lit) 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 顶点光照 (Vertex-Lit) 注意:Unity 5 引入了标准着色器来取代此着色器。 顶点光照 (Vertex-Lit) 属性 注意:Unity 5 引入了标准着色器来取代此着色器。 此__顶点光照__着色器是最简单的着色器之一。照射在其上的所有光源在单个通道中渲染,并仅在顶点处计算。 因为此着色器为顶点光照,所以不会显示任何基于像素的渲染效果,例如光照剪影、法线贴图或阴影。此着色器对模型的细分也更加敏感。如果使用此着色器使点光源非常靠近立方体,则仅在角点处计算光照。像素光照着色器在创建漂亮的圆形高光时更加有效,与细分无关。如果这是您想要的效果,可以考虑使用像素光照着色器或增加对象的细分。 性能 通常,此着色器的渲染成本很低。有关更多详细信息,请查看着色器性能页面。 由3D建模学习工作室整理翻译,转载请注明出处! 上一篇:Unity3D:普通着色器系列 (mvrlink.com) 下一篇:Unity3D:漫射 (Diffuse) (mvrlink.
Unity3D Unity3D:普通着色器系列 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 普通着色器系列 注意:Unity 5 引入了标准着色器来取代这些着色器。 这些着色器是 Unity 中的基本着色器。它们不是专门的着色器,应该适用于大多数不透明对象。如果想让对象透明、发光等,这些着色器不适合。 顶点光照 (Vertex Lit) 需要的资源: * 一个__基础__纹理,无需 Alpha 通道 漫射 (Diffuse) 需要的资源: * 一个__基础__纹理,无需 Alpha 通道 镜面反射 (Specular) 需要的资源: * 一个__基础__纹理以及用于镜面贴图的 Alpha 通道 法线贴图 (Normal mapped) 需要的资源: * 一个__基础_
Unity3D Unity3D:内置着色器的用途和性能 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 内置着色器的用途和性能 Unity 中的着色器是通过__材质__来使用的,材质本质上结合了着色器代码与纹理等参数。此处提供了关于着色器/材质关系的深入说明。 当选择材质本身或选择一个使用材质的__游戏对象__时,材质属性将显示在 Inspector 中。材质检视面板 (Inspector) 如下所示: 每种材质在 Inspector 中看起来会有所不同,具体取决于其使用的具体着色器。着色器本身决定了可在 Inspector 中调整的属性类型。有关材质检视面板的详细说明,请参阅材质参考页面。请记住,着色器是通过材质实现的。因此,着色器定义将要在 Inspector 中显示的属性时,每种材质实际上包含来自滑动条、颜色和纹理的调整数据。在这方面要记住的最重要的一点是,可在多个材质中使用单个着色器,但单个材质不能使用多个着色器。 着色器名称 更改旧着色器的名称可能会影响其功能。这是因为在 Unity 5.0 之前,着色器的某些功能由其路径和名称决定。这仍然是旧版着色器的工作方式。
Unity3D Unity3D:Autodesk Interactive 着色器 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 Autodesk Interactive 着色器 Autodesk Interactive 着色器与 Autodesk® 3DsMax 和 Autodesk® Maya 中的 Interactive PBS 着色器类似,可供在 Unity 中使用。 当 Unity 导入从这些软件之一导出的 FBX 时,它会检查 FBX 是否包含具有 Interactive PBS 着色器的材质。如果包含,Unity 会将这些材质导入为 Autodesk Interactive 材质。Autodesk Interactive 材质属性与其原始 Interactive PBS 材质相同。它们也以类似的方式观察和响应光源。 在 Autodesk® Maya 或
Unity3D Unity3D:标准粒子着色器 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 标准粒子着色器 Unity 标准粒子着色器是可用于渲染各种粒子系统效果的内置着色器。这些着色器提供标准着色器不具备的各种粒子特有功能。 要使用粒子着色器,请执行以下操作: 1. 选择要将着色器应用到的材质。例如,可将火焰材质应用于火焰粒子系统效果。 2. 在材质 (Material) 的 Inspector 中,选择 Shader Particles。 3. 选择要使用的粒子着色器,例如 Standard Surface。 4. 在 Inspector 中启用和禁用各种粒子着色器属性。 属性 标准粒子着色器具有与标准着色器相同的属性集(或这些属性的子集,具体取决于着色器)。本页面将介绍标准着色器属性之外的其他属性和选项。如需了解标准着色器属性的信息,请参阅有关材质参数的文档。 Blending Options 所有标准粒子着色器都具有__混合选项 (Blending Options)__,允许以不同方式将粒子与周围的对象混合。 属性:功能:Rendering Mode标准粒
Unity3D Unity3D:自行创建 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 自行创建 标准着色器适用于各种用例。您可以通过下载着色器源代码,然后对其进行编辑,根据自己的需要对其进行自定义。 要下载标准着色器的源代码,请执行以下操作: 1. 访问 Unity 下载页面:http://unity3d.com/get-unity/download/archive 2. 找到您正在使用的 Unity 版本的相应行 3. 在该行中,找到您正在使用的平台的 Downloads 下拉菜单 4. 从该下拉菜单中选择 Built-in Shaders 由3D建模学习工作室整理翻译,转载请注明出处! 上一篇:Unity3D:材质图表 (mvrlink.com) 下一篇:Unity3D:标准粒子着色器 (mvrlink.com)
Unity3D Unity3D:材质图表 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 材质图表 使用以下图表作为实际设置的参考: 此外还有关于如何制作这些图表中的逼真材质的提示信息。本质上,此过程关系到选择工作流程(默认或金属性)并获取贴图或拾色器的相关值。例如,如果我们想制作闪亮的白色塑料,我们需要白色反照率 (Albedo)。由于不是金属,我们需要深色镜面反射 (Specular) 或非常低的金属性 (Metallic) 值,最后需要非常高的平滑度 (Smoothness)。 由3D建模学习工作室整理翻译,转载请注明出处! 上一篇:Unity3D:菲涅耳效应 (mvrlink.com) 下一篇:Unity3D:自行创建 (mvrlink.com)
Unity3D Unity3D:菲涅耳效应 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 菲涅耳效应 现实世界中物体的一个重要视觉提示与它们在掠射角下如何变得更具反射性有关(如下图所示)。这就是所谓的菲涅耳效应。 在此示例中有两点需要注意:首先,这些反射仅出现在球体的边缘周围(即当其表面处于掠射角时),其次,随着材质的光滑度上升,这些反射变得更加明显和清晰。 在标准着色器中,不能直接控制菲涅耳效应。实际上,它是通过材质的光滑度间接控制的。光滑的表面将呈现出更强的菲涅耳效应,而完全粗糙的表面将没有菲涅耳效应。 由3D建模学习工作室整理翻译,转载请注明出处! 上一篇:Unity3D:辅助贴图(细节贴图)和细节遮罩 (mvrlink.com) 下一篇:Unity3D:材质图表 (mvrlink.com)
Unity3D Unity3D:辅助贴图(细节贴图)和细节遮罩 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 辅助贴图(细节贴图)和细节遮罩 辅助贴图(或细节贴图)允许您在上面列出的主纹理上覆盖第二组纹理。您可以应用第二个反照率颜色贴图和第二个法线贴图。通常,与主要的反照率贴图和细节贴图相比,这些辅助贴图将映射到对象表面上重复多次且小得多的范围。 这样做的原因是允许材质在近距离观察时具有清晰的细节,同时在从更远处观察时具有正常的细节级别,而不必使用单个极高的纹理贴图来实现两个目标。 细节纹理的典型用途为: - 为角色的皮肤添加皮肤细节,如毛孔和毛发 - 在砖墙上添加微小的裂缝和地衣生长效果 - 为大型金属容器添加小划痕和磨损 如果使用单个法线贴图,请务必将其插入主通道。辅助法线贴图通道比主通道的成本更高,但具有完全相同的效果。 细节遮罩 细节遮罩纹理允许您在模型的某些区域禁止应用细节纹理。这意味着可在某些区域显示细节纹理,而在其他区域隐藏细节纹理。在上面的皮肤毛孔示例中,您可能希望创建遮罩,使毛孔不会显示在嘴唇和眉毛上。 由3D建模学习工作室整理翻译,转载请注明出处! 上一篇:Unity3D
Unity3D Unity3D:Emission 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 Emission 向材质添加发光可使材质在场景中显示为可见光源。材质发光属性用于控制材质表面发光的颜色和强度。 如果希望游戏对象的某个部位看起来从内部照亮(例如显示器的屏幕、高速制动的汽车的盘式制动器、控制面板上的发光按钮),发光很有用。使用发光材质的游戏对象即使在场景的暗区也会保持明亮。 使用 Emission 属性 可使用单个颜色和发光级别来定义基本发光材质。选中 Emission 复选框可使材质发光。此时将显示 Color 和 Global Illumination 属性。 属性 属性描述Color指定发光的颜色和强度。单击 Color 框可打开 HDR Color 拾色器。在此处可以更改光照的颜色和发光的强度 (Intensity)。要指定材质的哪些区域发光,可以向该属性分配一个发光贴图。如果您执行此操作,Unity 会使用贴图的全色值来控制发光颜色和亮度。还可以使用 HDR 拾色器对贴图着色和改变发光强度。Global Illumination指定此材质发出的光如何影响附近其
Unity3D Unity3D:遮挡贴图 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 遮挡贴图 遮挡贴图用于提供关于模型哪些区域应接受高或低间接光照的信息。间接光照来自环境光照和反射,因此模型的深度凹陷部分(例如裂缝或折叠位置)实际上不会接收到太多的间接光照。 遮挡纹理贴图通常由 3D 应用程序使用建模器或第三方软件直接从 3D 模型进行计算。 遮挡贴图是灰度图像,其中以白色表示应接受完全间接光照的区域,以黑色表示没有间接光照。有时,对于简单的表面而言,这就像灰度高度贴图一样简单。 在其他情况下,生成正确的遮挡纹理稍微复杂一些。例如,如果场景中的角色穿着罩袍,则罩袍的内边缘应设置为非常低的间接光照,或者完全没有光照。在这些情况下,遮挡贴图通常将由美术师制作,使用 3D 应用程序基于模型自动生成遮挡贴图。 由3D建模学习工作室整理翻译,转载请注明出处! 上一篇:Unity3D:高度贴图 (mvrlink.com) 下一篇:Unity3D:Emission (mvrlink.com)
Unity3D Unity3D:高度贴图 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 高度贴图 高度贴图(也称为视差贴图)是与法线贴图类似的概念,但是这种技术更复杂,因此性能成本也更高。高度贴图往往与法线贴图结合使用,通常情况下,当纹理贴图负责渲染表面的大型凸起时,高度贴图用于为表面提供额外的定义。 虽然法线贴图可修改纹理表面上的光照,但视差高度贴图更进一步并实际上可移动可见表面纹理的区域,从而实现一种表面级遮挡效果。这意味着,对于明显的凸起,它们的近侧(面向摄像机)将膨胀和扩大,而它们的远侧(背离摄像机)将减小并且看起来被遮挡。 这种效果尽管可以产生非常令人信服的 3D 几何体表示,但仍然受限于对象网格的平面多边形的表面。也就是说,虽然表面凸起看起来会突出和相互遮挡,但模型的“轮廓”绝不会被修改,因为最终效果将绘制到模型的表面上,不会修改实际的几何体。 高度贴图应为灰度图像,其中以白色区域表示纹理的高区域,以黑色表示低区域。以下是典型的反照率贴图和要匹配的高度贴图。 上图从左到右为: 1.分配了反照率贴图但未分配法线贴图和高度贴图的岩石墙壁材质。 2.分配了法线贴图。表面上
Unity3D Unity3D:法线贴图 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 法线贴图(凹凸贴图) 法线贴图 (Normal Map) 是一种凹凸贴图 (Bump Map)。它们是一种特殊的纹理,可让您将表面细节(如凹凸、凹槽和划痕)添加到模型,从而捕捉光线,就像由真实几何体表示一样。 例如,您可能希望显示一个表面,在表面上有凹槽和螺钉或铆钉,比如飞机机身。为实现此目的,一种方法是将这些细节建模为几何体,如下所示。 根据具体情况,将这些微小的细节建模为“真实”几何体通常并非一种好的思路。在右侧,您可以看到构成单个螺丝头的细节所需的多边形。在具有大量精细表面细节的大型模型上,这种方案需要绘制极大数量的多边形。为了避免这种情况,我们应使用法线贴图来表示精细的表面细节,而使用分辨率较低的多边形表面来表示模型的较大形状。 如果我们改用凹凸贴图来表示此细节,则表面几何体可以变得简单得多,并且细节将通过纹理呈现,用纹理来调节表面如何反射光。现代图形硬件可以非常快速地完成此过程。现在,金属表面可变为一个简单多边形平面,而螺钉、铆钉、凹槽和划痕将捕捉光线,并会因为纹理而显得有深度。
Unity3D Unity3D:平滑度 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 平滑度 平滑度的概念同时适用于镜面反射 (Specular) 工作流程和金属性 (Metallic) 工作流程,并且在两者中的工作方式非常相同。默认情况下,如果未分配 Metallic 或 Specular 纹理映射,则材质的平滑度由滑动条控制。此滑动条可用于控制表面上的“微表面细节”或平滑度。 上面同时显示了两种着色器模式,因为如果您选择使用 Metallic 或 Specular 参数的纹理贴图,则会从该贴图中获取平滑度值。本页面后面将对此进一步详细说明。 在 Unity 中,“微表面细节”不是直接可见的。它是光照计算中使用的概念。但是,您可以看到这个微表面细节的效果,它表示当光线从对象反弹时散射的光量。在光滑的表面上,所有光线都倾向于以可预测和一致的角度反弹。在极端的情况下,一个完美光滑表面的光反射就像镜子一样。较不光滑的表面会在较宽的角度范围内反光(当光照射到微表面的凸起时),因此反射具有较少的细节并以更倾向于漫射的方式在表面上扩散。 光滑的表面具有非常低的微表面细节,或者根本没有,因
Unity3D Unity3D:Metallic 模式-Metallic 参数 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 Metallic 模式:Metallic 参数 在金属性 (Metallic) 工作流程(与镜面反射 (Specular) 工作流程相反)中工作时,表面的反射率和光响应将由 Metallic 级别和 Smoothness 级别进行修改。 使用此工作流程时仍会生成镜面反射,但它们是自然产生的,具体取决于您为 Metallic 和 Smoothness 级别提供的设置,而不是进行显式定义。 Metallic 模式不仅适用于看起来具有金属性的材质!此模式之所以称为金属性 (Metallic) 模式,是因为您可以控制表面的金属性或非金属性。 Metallic 参数 材质的金属性 (Metallic) 参数决定了表面有多么“像金属”。当表面具有较高的金属性时,它会在更大程度上反射环境,并且反照率颜色将变得不那么明显。在最高金属性级别下,表面颜色完全由来自环境的反射驱动。当表面的金属性较低时,其反照率颜色会更清晰,并且所有表面反射均在表面颜色的基础之上可见,而不是遮挡住表面颜色。 默认情况下,
Unity3D Unity3D:Specular 模式-Specular 参数 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 Specular 模式:Specular 参数 Specular 参数 Specular 参数仅在使用 Specular setup 时可见,如上图的 Shader 字段中所示。镜面反射 (Specular) 效果本质上是场景中光源的直接反射,通常会在对象表面上显示为明亮的高光和反光(尽管镜面高光也可能是微妙或漫射的)。 Specular setup 和 Metallic setup 都会产生镜面高光,因此选择使用哪个选项更多取决于设置和您的艺术偏好。在 Specular setup 中,可直接控制镜面高光的亮度和色调,而在 Metallic setup 中,可控制其他参数,镜面高光的强度和颜色会作为其他参数设置的自然结果而出现。 在 Specular 模式下工作时,__Specular__ 参数中的 RGB 颜色将控制镜面反射率的强度和色调。这包括来自光源的光泽和来自环境的反射。Smoothness
Unity3D Unity3D:反照率颜色和透明度 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 反照率颜色和透明度 Albedo 参数控制着表面的基色。 为 Albedo 值指定单一颜色有时很有用,但为 Albedo 参数指定纹理贴图的做法更为常见。纹理贴图应表示对象表面的颜色。必须注意的是,反照率纹理不应包含任何光照,因为光照将根据看到对象的上下文添加到纹理中。 透明度 反照率颜色的 Alpha 值控制着材质的透明度级别。仅当材质的 Rendering Mode(渲染模式)设置为 Opaque 之外的 Transparent 模式之一时,此设置才有效。如上所述,选择正确的透明度模式非常重要,因为此模式可确定您是否仍然会看到处于全值状态的反射和镜面高光,或它们是否也会根据透明度值淡出。 使用为 Albedo 参数指定的纹理时,可通过确保反照率纹理图像具有 Alpha 通道来控制材质的透明度。Alpha 通道值映射到透明度级别,其中以白色表示完全不透明,黑色表示完全透明。这将使材质可具有透明度不同的区域。 由3D建模学习工作室整理翻译,转载请注明出处! 上一篇:Unity3D
Unity3D Unity3D:渲染模式 (Rendering Mode) 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 渲染模式 (Rendering Mode) 标准着色器中的第一个材质参数为 Rendering Mode。此参数允许您选择对象是否使用透明度,如果是,使用哪种类型的混合模式。 * Opaque - 此项为默认设置,适用于没有透明区域的普通固体对象。 * Cutout - 用于创建在不透明区域和透明区域之间具有硬边的透明效果。在这种模式下,没有半透明区域,纹理为 100% 不透明或不可见。使用透明度来创建材质的形状时(如树叶或者有孔洞和碎布条的布料),这非常有用。 * Transparent - 适用于渲染逼真的透明材质,如透明塑料或玻璃。在此模式下,材质本身将采用透明度值(基于纹理的 Alpha 通道和色调颜色的 Alpha),但与真实透明材质的情况一样,反射和光照高光将保持完全清晰可见。 * Fade - 允许透明度值完全淡出对象,包括对象可能具有的任何镜面高光或反射。如果要对淡入或淡出的对象进行动画化,此模式将非常有用。它不适合渲染逼真的透明材质,如透明塑料或玻璃,因为反射和高光也会淡
Unity3D Unity3D:材质参数 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 材质参数 标准着色器为您提供了一个材质参数列表。根据您选择在 Metallic 工作流程模式还是 Specular 工作流程模式下工作,这些参数会略有不同。两种模式下的大多数参数都相同,本页面涵盖了两种模式的所有参数。 这些参数可一起用于重现几乎任何真实世界表面的外观。 * 渲染模式 * 反照率颜色和透明度 * Specular 模式:Specular 参数 * Metallic 模式:Metallic 参数 * 平滑度 * 法线贴图(凹凸贴图) * 高度贴图(视差贴图) * 遮挡贴图 * 发光 * 细节遮罩和贴图 * 菲涅耳效应 由3D建模学习工作室整理翻译,转载请注明出处! 上一篇:Unity3D:Metallic 与 Specular 工作流程的比较 (mvrlink.com) 下一篇:Unity3D:渲染模式 (Rendering Mode) (mvrlink.
Unity3D Unity3D:Metallic 与 Specular 工作流程的比较 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生. Metallic 与 Specular 工作流程的比较 使用标准着色器创建材质时,可选择以下两个着色器之一:__Standard__ 或 Standard (Specular setup)。两者接受的数据不同,如下所述: Standard:着色器显示“Metallic”值,表示材质是否为金属性。在使用金属性材质的情况下,反照率颜色 (Albedo) 控制镜面反射的颜色,且大多数光线以镜面反射形式反射。非金属性材质具有与入射光颜色相同的镜面反射,并且在正面观察表面时几乎不会反射。 Standard (Specular setup):选择此着色器意味着使用传统方法。使用镜面反射颜色来控制材质中镜面反射的颜色和强度。此设置可使镜面反射具有与漫射不同的颜色。 使用上述任一种方法都能很好地表示最常见的材质类型,因此在大多数情况下,具体选择哪种方法是基于美术工作流程的个人喜好问题。以下示例显示了标准 (Standard) 和标准镜面反射 (Standard Specular) 工作流程中创建的橡胶塑料材
Unity3D Unity3D:内容和上下文 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生. 内容和上下文 在思考 Unity 中的光照时,将概念划分为所谓的内容(光照和渲染的对象)和上下文(即场景中会影响光照对象的光照)会很方便。 上下文 对象发生光照时,了解哪些光源会影响对象非常重要。场景中通常有直接光源:可能是放置在场景中的游戏对象光源。此外还有间接光源,例如反射和反射光。这些光源都会对对象的材质产生影响,从而产生摄像机在对象表面上看到的最终结果。 这种划分并非硬性和绝对的,通常可能被认为的“内容”也可能是另一个对象的光照上下文的一部分。 在这方面,一个很好的例子就是位于沙漠景观中的建筑物。该建筑物将从天空盒获取光照信息,也可能会从周围地面的反射光获取这些信息。 但是,可能有一个角色站在建筑物的外墙附近。对于该角色,建筑物是光照上下文的一部分:建筑物可能投射阴影,建筑物可能将反射光从墙壁投射到角色身上,或者角色可能有直接反射建筑物本身的反射部分。 默认光照上下文 在启动时,Unity 显示一个空场景。此场景已具有默认的光照上下文,此上下文附带有环境、基于天幕的反射和
Unity3D Unity3D:标准着色器 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生. 标准着色器 Unity 标准着色器是一个包含一整套功能的内置着色器。此着色器可用于渲染“真实世界”的对象,如石头、木头、玻璃、塑料和金属,并支持各种着色器类型和组合。只需在材质编辑器中使用或不使用各种纹理字段和参数即可启用或禁用此着色器的功能。 标准着色器还包含一种称为基于物理着色 (Physically Based Shading) 的高级光照模型。基于物理着色 (PBS) 以一种模仿现实的方式模拟材质和光照之间的相互作用。PBS 最近才在实时图形中成为可能。在光照和材质需要以直观而逼真的状态共存的情况下,这种光照模型的效果最佳。 我们基于物理着色背后的理念是创建一种用户友好的方法,在不同的光照条件下实现一致、合理的外观。它模拟了光在现实中的表现,而不使用可能有效或无效的多个临时模型。为此,它遵循物理学原理,包括能量守恒(意味着对象反射的光绝不会多于接受的光)、菲涅耳反射(所有表面在掠射角处具有更高的反射率)以及表面如何遮挡自身(所谓的几何术语)等等。 标准着色器在设计时就考虑了硬表面(也
Unity3D Unity3D:错误和加载着色器 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 错误和加载着色器 有时,Unity 无法使用常规着色器渲染对象。发生这种情况时,Unity 会使用特殊着色器渲染对象: * 默认错误着色器 * 加载着色器 * 流送虚拟纹理错误材料 Unity 使用的特殊着色器取决于 Unity 无法使用原始着色器的原因。 默认错误着色器 当对象的材质或着色器出现问题时,Unity 会使用默认错误着色器渲染对象;例如,如果未分配材质、着色器未编译或着色器不受支持。 Unity 在 Unity 编辑器和构建中使用默认错误着色器。 默认错误着色器为洋红色(亮粉色)。 使用 BatchRendererGroup API 时,Unity 不会显示默认的错误着色器。 加载着色器 Unity 使用加载着色器渲染对象,以指示 Unity 正在编译显示该对象所需的着色器变体。 启用异步着色器编译时,Unity 会在 Unity 编辑器中显示加载着色器,或者在启用着色器实时链接支持时在开发版本中显示加载着色器。 加载着色器为青色(
Unity3D Unity3D:计算着色器 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 计算着色器 计算着色器是在正常渲染管道之外的 GPU 上运行的着色器程序。 它们可用于大规模并行的GPGPU算法,或加速部分游戏渲染。为了有效地使用它们,通常需要对 GPU 架构和并行算法有深入的了解;以及DirectCompute,OpenGL Compute,CUDA或OpenCL的知识。 Unity 中的计算着色器与 DirectX 11 DirectCompute 技术紧密配合。计算着色器适用的平台: * Windows 和 Windows 应用商店,使用 DirectX 11 或 DirectX 12 图形 API 和 Shader Model 5.0 GPU * macOS 和 iOS,使用 Metal 图形 API
Unity3D Unity3D:在运行时替换着色器 推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 在运行时替换着色器 在内置渲染管线中,可以让摄像机在运行时更改用于渲染特定几何体的着色器。可以这样做以实现视觉效果,例如边缘检测。 应通过脚本使用函数 Camera.RenderWithShader 或 Camera.SetReplacementShader 来实现着色器替换。这两个函数均采用 shader 和 replacementTag。 工作方式如下:摄像机按正常方式渲染场景,对象仍使用自己的材质,但要更改最终使用的实际着色器: * 如果 replacementTag 为空,则使用指定的替换着色器来渲染场景中的所有对象。 * 如果 replacementTag 不为空,则对于将要渲染的每个对象: * 查询真实对象的着色器以获取标签值。 * 如果没有该标签,则不渲染对象。 * 在替换着色器中找到一个子着色器,并且该子着色器的一个给定标签具有找到的值。如果找不到此类子着色器,则不渲染对象。 * 现在,使用该子着色器来渲染对象。 因此,比如说,如果所有着色器都要有一个值为“Opa