【官方 Shader Graph 插件发布帖】

Shader Graph

背景

为了降低 Shader 编写的门槛以及拓展程序化生成的能力,鼓励美术/TA 直接在 Cocos Creator 而不是第三方 DCC 中生产材质,避免导入材质时的二次开发工作,我们提供了一个针对 Cocos Creator 的节点材质编辑器。

该插件依赖 Cocos Creator 3.8.2 版本,并基于自研的开源 Web UI 库中的 Graph 组件 进行开发。

为了促进开发者社区的合作和创新,我们以 MIT 协议开源该插件的全套源码,这意味着开发者可以自由使用、修改和分发这一工具。期待这一项目能激发社区更多的灵感和创造力,希望大家在完善这个工具的时候不要藏着掖着,多多给我们提 PR!


源码

GitHub:shader-graph


效果图

效果图

基本结构

整体结构


准备阶段

Cocos Creator 3.8.2 社区公测版传送门(https://forum.cocos.org/t/topic/154931)

  1. 下载 Cocos Creator 3.8.2 编辑器 与 shader-graph.zip 插件。
  2. 打开 Cocos Creator 3.8.2 编辑器,在主菜单中选择 扩展/扩展管理器 打开扩展面板。
  3. 点击 导入扩展文件 ,选择 shader-graph.zip 扩展文件,进行导入。、
  4. 需重启编辑器(目前 3.8.2 需重启编辑器(为了确保 .shadergraph 资源注册生效)

创建资源

  1. Assets 面板右键选择 创建/Shader Graph 菜单进行创建 .shadergraph 资源
    • Surface (表面着色器)
    • Unlit (无光照着色器)
  2. 双击资源,进入到编辑面板
  3. 创建后的资源

如何应用到项目中

  1. 新建或者选中一个 Material 资源。
  2. 到属性检查器面板中找到 Effect 属性,然后点击选择 .shadergraph 资源同名的 effect。

属性检查器选择effect

  1. 在把 Material 赋值给 3D 节点上即可。

面板内容介绍

初始面板:

初始面板

属性窗口

创建属性窗口

  1. 关闭窗口
  2. 创建属性入口

属性窗口可创建 8 种基础类型的属性节点分别是:

  • Float
  • Boolean
  • Vector2
  • Vector3
  • Vector4
  • Color
  • Texture2D
  • TextureCube

预览窗口

预览窗口

  1. 关闭窗口
  2. 切换灯光(如果是 Unlit 无效果)
  3. 强制刷新
    • 当遇到无法渲染或无法旋转模式可尝试刷新
  4. 按住鼠标左键滑动,可旋转模型
  5. 可切换内置或者自定义模型

创建节点菜单

创建节点菜单

  1. 关闭窗口
  2. 输入需要创建的节点名
  3. 回车可以直接创建节点(创建节点的初始位置是鼠标所指向的位置)

使用普通节点:

使用普通节点

使用属性节点:

使用属性节点


节点库

详细内容可查看 传送门


快捷键

  1. space - 打开创建节点菜单
  2. cmd+s/ctrl+s - 保存
  3. backspace/delete - 删除
  4. cmd+c/ctrl+c - 拷贝
  5. cmd+x/ctrl+x - 剪切
  6. cmd+v/ctrl+v - 粘贴
  7. cmd+d/ctrl+d - 复制
  8. cmd+z/ctrl+z - 撤销
  9. cmd+shift+z/ctrl+shift+z - 重做

命令行编译与发布

npm install - 初始化
npm run build - 编译
npm run pack - 打包成 zip 包
// 如果要查看具体报错信息,可以在命令行后面加 --log 例如:npm run pack --log

已知问题

  • 预览面板不支持动态预览。
  • 对 Texture2D 类型的节点进行设置是无效的。您需要添加一个 Texture2D 类型变量,将其连接到 texture2D 属性,最后在材质中设置效果。

开发团队

  • Devs: Knox、Youyou
  • Framework:VisualSJ
  • PM:AndyTian
  • UI/UX:派大星
  • Director:Jare
40赞

终于来了,美术苦编辑工具久矣

强强强,厉害的

好东西,我愿称之为龙年来临前最好的礼物

2赞

怎么不上架cocos store

纯开源项目

:call_me_hand::call_me_hand::call_me_hand::call_me_hand:

蓄力攻击模式开启

:drooling_face:

流弊++;

好~AB2AF2A0E73A5641E4CB4F53B723D520

牛逼普拉斯

666 :ox::ox::ox:

image

再试一次?我这边可以下载的

66666太强了