storytold/materialcraft
多媒体与设计用纯 Rust 编写的节点式程序化 PBR 材质设计器,支持桌面端与浏览器。
项目介绍
MaterialCraft 是一个用纯 Rust 从零实现的节点式程序化材质设计器。用户在节点图里组合噪声、图案、滤镜等节点,生成可平铺的 PBR 材质,并在 2D 画布和 3D 模型上实时查看效果。最终可把 base color、normal、roughness、metallic、height、AO 等贴图导出为 PNG、JPEG、TGA、TIFF、BMP、WEBP、EXR 或 HDR,支持 8、16、32 位。目标用户是材质与贴图艺术家、3D 通才和技术美术,适合希望用可复现的程序化流程代替照片贴图的场景。
同一套代码同时产出 macOS、Windows、Linux、FreeBSD 桌面版和 WebAssembly 浏览器版。每个菜单操作也都是命令,可通过 CLI、JSON 控制通道和 MCP server 调用,让 Claude 等外部代理像人一样操作节点图。材质还能以可移植的 .mcmat 包发送到配套的 TextureCraft 中继续绘制。
快速使用
需要 Rust 1.95 或更新版本。在克隆后的仓库目录中运行:
git clone https://github.com/storytold/materialcraft
cd materialcraft
cargo run --release -p materialcraft
桌面应用会打开砖墙示例。用 File ▸ New ▸ Graph... 从 PBR 模板或内置示例材质新建图,按空格打开节点搜索。
如果更想用命令行:
cargo run --release -p materialcraft-cli -- new wood wood.mcraft
cargo run --release -p materialcraft-cli -- render wood.mcraft wood.png --scene sphere --full --hq
cargo run --release -p materialcraft-cli -- export wood.mcraft textures --format png --depth 16
浏览器版在 apps/materialcraft-web 目录执行 trunk serve。各平台的预编译安装包可从 MaterialCraft 下载页或 GitHub 最新 release获取。要让 Claude Code 或其他代理驱动该工具,注册 MCP server:
claude mcp add materialcraft -- /path/to/materialcraft-cli mcp --read-root /work/materials --write-root /work/materials
控制协议细节见 docs/control-protocol.md。
使用约束
项目仍在积极开发中。README 状态一节(2026-11-02)估计约三分之二的材质艺术家日常工作流已能端到端跑通;其余节点库、带细分和灯光的 GPU 3D 视图、基于网格的节点以及多语言翻译尚未完成。首个签名发布也还在待办列表中,因此当前下载的构建产物应按开发版本看待。CLI 的 export 支持用 --set name=value 设置图输入,run 可生成给 TextureCraft 用的 .mcmat 包。
走完整流程需要从源码构建,依赖 Rust 工具链;Web 构建还需要 Trunk。许可证为 MIT 或 Apache-2.0 二选一,但 ArtCraft 名称、字标和 logo 属于商标,分支和修改版本必须移除。内置素材各自保留其开源许可证,详见 ATTRIBUTION.md。
HotRepo 点评
该仓库在 2026-11-03 的 HotRepo 新项目 Rust 榜上有记录,当时为 104 stars、32 forks,在一个记录小时内新增 2 stars 和 1 fork。这个样本很短,只能说明当天有人在关注它,不足以说明热度持续。更值得看的是项目本身的范围:一个纯 Rust 的净室实现节点材质编辑器,同时提供桌面和 WebAssembly 目标以及 MCP 接口,README 自述工作流完成度约 67%。评估时应把开发中的缺口与可构建的开源实现放在一起权衡。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。