简介
SandMod 系统中带有许多内置的 着色器(Shader),您可以在您的项目中直接使用这些内置的着色器以提高游戏开发效率。
使用方法
当前版本 SandMod 不支持直接编辑和查看 内置着色器(Built In Shaders),您可以在 项目窗口(Project)中新建 材质资产(Material Asset),并在该材质资产的 着色器(Shader) 属性中选择要使用的内置着色器。具体操作方法请参阅 材质资产 章节。
【Built_In_Shaders001.png】
在材质资产 着色器(Shader)属性中选择内置着色器的示例。
内置着色器分类
SandMod 将 内置着色器(Built In Shaders)分为以下类别:
Editor,内置编辑器功能相关着色器,比如编辑器内使用的 Gizmo 等。编辑游戏项目过程中无需关注该类别的着色器。
Engine,内置引擎功能相关着色器,包括特效、2D 渲染、3D 表面渲染以及天空盒等编辑游戏项目常用的着色器。
Posteffect,内置后期处理相关着色器,包括抗锯齿、全屏泛光、高斯模糊和色彩分级等后期处理相关的着色器。
常用内置着色器
SandMod 编辑器中提供的 内置着色器(Built In Shaders)中,以下 着色器(Shader)最为常用:
| 着色器命名 | 描述 |
| Engine/Default | 默认着色器是一个具有全面功能的内置着色器。它可用于渲染 3D 场景,并能渲染出真实世界的效果,如模拟出石头、木材、玻璃、塑料和金属等材质的视觉效果。 默认着色器还采用了一种称为基于物理着色的高级光照模型。基于物理的着色以模仿现实的方式模拟材质和光之间的相互作用。 |
| Engine/DefaultPBRTransparent | 与默认着色器相似,但是处理的 主纹理(Main Texture)如果带有透明通道,则此内置着色器渲染的效果会更真实。 |
| Engine/Default_Particle | 应用于 2D 渲染的着色器,通常用于渲染游戏场景中的 粒子特效(Particle Effect),其具有以下特性: · 仅单面渲染。 · 根据 RGB 值的乘积决定透明区域。 |
| Engine/LineRender | 应用于 2D 渲染的着色器,通常用于渲染游戏场景中的 线条特效(Line Effect)和 拖尾特效(Trail Effect),其具有以下特性: · 仅单面渲染。 · 根据 Alpha 值决定透明区域。 |
| Engine/Skybox | 应用于天空盒的立方体贴图着色器,基于 立方体贴图(Cube Map)渲染天空盒视图。详细信息和相关 材质属性(Property)请参阅 天空盒 章节。 |
| Engine/Skybox/Procedural | 应用于天空盒的程序化着色器,基于着色器上的属性来渲染天空盒。渲染天空盒视图。详细信息和相关 材质属性(Property)请参阅 天空盒 章节。 |
| Engine/Sprite | 应用于 2D 渲染的着色器,通常用于渲染游戏场景中的 Sprite(精灵),其具有以下特性: · 双面渲染。 · 根据 Alpha 值决定透明区域。 |
如何编辑
每个不同的 内置着色器(Built In Shaders)其 材质属性(Property)都会有所差异,因此每个内置着色器能编辑的内容都有所差异。其中 默认着色器(Engine/Default)为您提供最为完整的材质属性列表,您可以通过了解默认着色器的材质属性举一反三及其他着色器的材质属性及其编辑方法。
【Built_In_Shaders002.png】
默认着色器的材质属性列表。
👉 主纹理 (_MainTex),将 纹理(Texture)指定给 材质(Material)。
👉 叠加颜色 (_Color),设置叠加在主纹理上的颜色,通常用于调整材质外观颜色。
👉 使材质透明 ,设置材质的透明程度和内容的方法,以及根据透明度设置镂空。
👉 法线贴图 (_Normal),可将物体表面的凹凸、凹槽和划痕等细节模拟出来,从而捕捉光线,让物体更真实。
👉 自发光 (_Emissive),向材质添加发光,可使材质在场景中作为光源。
👉 金属度 (_Metallic),调整材质看起来更有金属质地的程度。
👉 平滑度 (_Smoothness),调整材质磨砂质感和镜面质感的程度。
👉 烘焙相关 (BAKED_RENDER),设置材质进行光照烘焙后是否接收动态定向光和阴影的影响。
