三门语言把材质、特效、贴图写成源码;18 个插件补齐引擎缺的那部分。共同的做法只有一条:源码是唯一的编辑面,引擎资产是构建产物。
用 DreamShaderLang 写虚幻材质。保存即编译成 UMaterial、材质函数、材质层与层混合,默认在内存中生成——不落 .uasset,内容浏览器里干干净净,Cook 时自动实体化。
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把 Niagara 特效写成文本。.dfs / .dfe / .dfm 编译成标准 NiagaraSystem,而任意现有的 NiagaraSystem 也能反编译回源码——往返字节级一致,所以它能接管你已有的特效资产,而不是只能从零开始。
往返后逐字节比对一致 — 资产不是单向产物
基于 ComfyUI + Vue 的 PBR / NPR 贴图生成工作流。从一张参考图产出成套通道贴图,直接接进上面两条链路——材质引用它,特效也引用它。
18 个开源插件 · 编辑器 · 影视化 · Gameplay · 音频
把指针移到墙面上,越靠前的插件星标越高。
$ git clone --depth 1 --branch v1.8.0 https://github.com/TypeDreamMoon/DreamShader.git Plugins/DreamShader大部分插件不是预编译版本。 它们以源码分发 —— 放进 Plugins/ 后由引擎在下次构建时自己编译,C++ 工程记得先重新生成工程文件。目前 25 个仓库里只有 8 个提供打包好的构建产物,只有这些能下完直接用。