虚幻引擎材质语言

DreamShaderLang

用 .dsm / .dsf / .dsh 源文件描述材质,DreamShader 插件在编辑器里解析它们,生成标准的 UMaterial、UMaterialFunction 与 Material Layer 资产。源文件是唯一的编辑面,资产是构建产物,随时可以丢掉重建。

  • DreamShader1.5.0
  • VSCode1.5.3
  • UE5.3 – 5.8
  • LicenseMIT
M_Minimal.dsmDreamShaderLang
Shader(Name="DreamMaterials/M_Minimal"){    Properties = {        vec3 Tint = vec3(1.0, 0.2, 0.2);    }    Settings = {        Domain = "UI";        ShadingModel = "Unlit";    }    Outputs = {        vec3 Color;        Base.EmissiveColor = Color;    }    Graph = {        Color = Tint;    }}

生成 /Game/DreamMaterials/M_Minimal

工作流

从源文件到材质资产

资产声明负责 Unreal 产物,Graph 负责节点连接,Function / GraphFunction 负责可复用的 Custom 节点逻辑。保存即编译,生成过程是幂等的。

  1. Source

    .dsm / .dsf / .dsh 描述材质、函数资产、共享 helper 和 Package 依赖。import 会在解析前把整个闭包内联成一份文本。

  2. Compile

    插件解析声明与 Graph,建立 MaterialExpression、Custom 节点和函数资产,并把诊断映射回你实际写的那一行。

  3. Asset

    生成 UMaterial、UMaterialFunction、Material Layer 与 Layer Blend。默认 backend 下材质只存在于内存里。