请选择 进入手机版 | 继续访问电脑版

查看: 1336|回复: 7

[技术] Unity内置着色器可视化编程工具Shader Graph

[复制链接]

957

主题

1633

帖子

2万

贡献

管理员

Rank: 9Rank: 9Rank: 9

积分
21070
QQ
发表于 2018-1-16 04:03:18 | 显示全部楼层 |阅读模式
我们昨天发布了Unity 2018.1 beta 版本发布的信息,并且介绍了在这个版本中加入的新特性、功能改进以及系统需求变化。其中为配合SRP而设计的着色器可视化编程工具Shader Graph,帮助开发者、美术人员等进行可视化的着色器构建。不必手工编写代码,只要在一个图形网络中创建并连接节点,就可以设计和调试着色器,并且每一步都可预览。


无论你是初学者还是专家,我们的新功能将会帮助你创造更漂亮的画面!让制作炫酷特效不再难。今天我们将Unity平台部技术总监杨栋为大家详细介绍Shader Graph。

Shader Graph功能演示
https://v.qq.com/x/page/j05346qozv4.html

Shader Graph介绍
Shader Graph着色器视图,可以让你轻松创建各种着色器效果:流动的岩浆,拥有伤感表情的土堆,美丽的湖泊,闪动的LED灯,以及你能想象到的更多的效果!


Shader Graph原生支持 Scriptable Render Pipeline (简称:SRP),拥有以下功能:
1、高清晰渲染管线HD Render Pipeline
2、轻量级渲染管线Lightweight Render Pipeline
3、通过扩展将任何你自己编写的自定义SRP着色器进行导出
1.png


什么是Shader Graph着色器视图 ?
你可以通过可视化的方式来创建Shader Graph以生成所需的着色器,无需再手动编写着色器代码,只需通过连接各种节点创建节点网络即可。以下是一些你可以做的事情:
1、通过程序化的方式改变物体表面形状
2、对UV进行变形和动画
3、使用常用的图形编辑操作对对象进行修改操作
4、根据物体所在的世界坐标,法线以及和摄像机之间的距离等信息来改变物体表面
5、将你认为重要的属性,暴露在材质编辑面板上方便编辑操作
6、通过生成subgraph(子视图)在不同Shader Graph之间分享节点网络
7、使用C#和HLSL创建自定义的Shader Graph

视图框架可以提供即时的Shader Graph修改反馈,这样即使是新用户也能创建自己的着色器了。

如何创建Shader Graph?
在Unity中,Shader Graph看起来就是一个普通的着色器。你可以通过Create菜单下的“Shader Graph”菜单来创建一个Shader Graph。这会在Project窗口中生成一个Shader Graph资源。双击这个资源或者点击 Open Graph按钮来打开Shader Graph编辑界面。
2.gif


3-1.gif


当你打开Shader Graph的时候,你看到的是一个 Master Node。你可以通过把其他节点连接到Master Node来创造你先要的效果。

如下图所示,你可以通过编辑默认的数值快速改变物体的表面属性。
4.gif


但是,更令人兴奋的功能在后面:添加纹理和其他复杂的交互操作。要生成一个新的界面,只要右键点击并选择“Create Node”。

5.gif


每一个内置的Shader Graph节点都有几个输入,我们为这些输入添加了默认的值,你可以随意改变它们。

6.gif


往视图网络中添加一个纹理或者其他资源非常简单,只需创建一个对应资源类型的节点并连接上即可!
7.gif


通过Shader Graph生成的着色器和Unity中的其他着色器没有任何区别。你可以右键点击着色器生成一个新的材质,并将其应用到你游戏中的任何游戏对象上。你可以用同一个着色器生成多个材质。
8-1.gif


你可以在材质上暴露着色器中的参数,这样就可以通过这些参数,调整基于同一个着色器的不同材质的各种属性。只要简单的操作就可以暴露着色器的参数,在Shader Graph中点击任何变量节点,然后选择“Convert to Property”, 这些属性就会显示在所有使用了此着色器的材质的检视窗口中。

9.gif


要查看对Shader Graph所做修改的产生的效果,点击“Save”按钮保存修改即可。

10.gif


怎样才能使用Shader Graph功能?
我们制作了一个使用了SRP的简单示例,它基于轻量级管线构建,并且还包括了着色器图形工具。你可以下载示例项目,并使用Unity 2018. 1 beta版打开,开始新功能探索!

示例下载地址
https://oc.unity3d.com/index.php/s/mWv6mGlHtCHfz7S

Unity 2018.1 beta下载地址
https://unity3d.com/cn/unity/beta

小结

我们的目标是在Unity 2018.1正式版中发布Shader Graph功能。所以希望开发者、艺术家们使用该功能,并且在Unity官方社区 (Unitychina.cn) 提供给我们使用反馈!

今天由Unity技术团队介绍Shader Graph功能就到这里,明晚20:00-21:00 Unity技术团队还会给大家带来2018年第一期的技术直播《利用ScriptableObject实现可配置AI系统》,请感兴趣的开发者记得参加!

8

主题

30

帖子

620

贡献

中级UU族—1级

Rank: 4

积分
620
发表于 2018-1-16 06:16:59 | 显示全部楼层
这个着色器跟shaderforge比有什么不同和优劣。

4

主题

11

帖子

405

贡献

初级UU族—3级

Rank: 3Rank: 3

积分
405
发表于 2018-1-16 06:15:10 | 显示全部楼层

这个很好很强大!不过能专门介绍下SRP是什么吗?ShaderGraph是否可以针对目前的渲染管线呢?还是必须是SRP?

4

主题

11

帖子

405

贡献

初级UU族—3级

Rank: 3Rank: 3

积分
405
发表于 2018-1-16 06:19:08 | 显示全部楼层
image.png
用2018.1beta版打开示例工程时提示这个,不管点哪个,进去后也无法正常使用,求解。

0

主题

1

帖子

15

贡献

初级UU族—1级

Rank: 1

积分
15
发表于 2018-1-16 06:29:56 | 显示全部楼层
Failed to initialize project : Hostname/IP doesn't match certificate's altnames: "Host: staging-packages.unity.com. is not in the cert's altnames: DNS:*.bintray.com, DNS:bintray.com". No packages loaded.

A re-import of the project may be required to fix the issue or a manual modification of

0

主题

1

帖子

35

贡献

初级UU族—1级

Rank: 1

积分
35
发表于 2018-1-19 07:28:43 | 显示全部楼层
是只有我一个人用不了吗,你们怎么装的这个文件

4

主题

11

帖子

405

贡献

初级UU族—3级

Rank: 3Rank: 3

积分
405
发表于 2018-1-22 03:38:38 | 显示全部楼层
yanglaoda 发表于 2018-1-19 07:28
是只有我一个人用不了吗,你们怎么装的这个文件

大家都用不了- -!

0

主题

6

帖子

75

贡献

初级UU族—2级

Rank: 2

积分
75
发表于 2018-1-26 02:22:24 | 显示全部楼层
我有两个问题
1. 2018什么时候出正式版
2. 能不能再快点
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表