Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出

  大家好,我是阿赵,这里继续介绍Unity可视化写Shader的ASE插件的用法。上一篇介绍了ASE的安装和编辑器界面分布,这一篇主要是通过一个简单的例子介绍shader的创建和输入输出。

一、ASE的Shader创建

Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出_第1张图片

  这里先选择Surface类型的Shader,然后输入Shader的名字。
Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出_第2张图片

  创建后,会自动打开ASE的节点编辑器。如果不小心关掉了,可以找到Shader或者材质球,点击Open in Shader Editor按钮,就能重新打开节点编辑器。
Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出_第3张图片
Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出_第4张图片

Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出_第5张图片

  这时候会看到,在节点编辑区域里面,只有一个和Shader名字一样的节点。这个是输出节点。

二、Shader的输入和输出

  为了测试刚刚创建的Shader,所以需要一个模型来显示,我这里使用了ASE自带的一个模型。然后新建一个材质球,使用刚刚创建的那个Shader,并且把材质球赋予给模型。
Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出_第6张图片

  这时候会看到,模型是一片漆黑。
  这里需要理解一个基本的概念。一个Shader,最终会输出什么内容,都是定义在输出节点上面的。这个输出节点对应的是Surface类型Shader,所以包含了Surface类型Shader的所有输出项。
  这里我简单的添加一个叫做mainColor的颜色节点(快捷键是按着键盘上的数字5 ,然后鼠标左键点击),然后把它拖到输出节点的Emission节点,并且点保存。
Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出_第7张图片

  这时候,可以看到场景里面的模型变成了我们指定的白色了。
Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出_第8张图片

  如果把颜色节点的类型改成Property,再保存
Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出_第9张图片

  会发现在材质球上面多了一个可以编辑的颜色。
Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出_第10张图片

  修改这个颜色,模型的颜色也跟着变化了。
Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出_第11张图片

  这里修改节点类型为Property,就是把这个变量变成公共变量,可以由外部编辑。
  选择输出节点,然后在左边的属性栏拉到最下面,会看到有一个材质属性列表,里面就有所有已经变成公共变量的属性了。
Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出_第12张图片

  下面换一下节点,做出其他效果。先删除了之前的mainColor颜色节点,然后创建两个贴图节点(快捷键是按着键盘的t,然后鼠标左键点击),一个是漫反射贴图,叫做mainTex,另一个是法线贴图,叫做normalTex。
Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出_第13张图片

  选择其中normalTex节点,然后在属性栏里面勾选Unpack Normal Map。
Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出_第14张图片

  接下来把mainTex节点连接到输出节点的Albedo节点,把normalTex节点连接到输出节点的Normal节点。保存shader。
Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出_第15张图片

  可以看到现在材质球上面多了2个可以编辑的贴图。我这里找了一张岩石的漫反射贴图和法线贴图,分别赋予给两个贴图。
Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出_第16张图片

  现在看模型的效果:
Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出_第17张图片

  模型上已经有了岩石的纹理,还有法线的凹凸效果了。
  再来看看输出节点的属性栏。这个时候最下面的材质属性,就变成了mainTex和normalTex了。
Unity可视化Shader工具ASE介绍——2、ASE的Shader创建和输入输出_第18张图片

三、总结

  从这一个很小的例子里面,我演示了ASE最简单的创建Shader,并且赋予Shader的颜色或者贴图属性的操作。从例子可以看出ASE的操作非常简单,出效果也非常的快。
  一个Shader,简单来说,分为了输入和输出2个部分。每一个Shader最少会有一个固定的输出节点。而输入部分,就是材质的属性了,根据自己的需要,可以定义颜色、数值、贴图等的参数作为输入。
  不过这个例子还是很简单,固定的使用了Surface类型的shader,然后也只是单纯的把输入节点连接到输出节点,中途没有经过任何的计算。以后再继续深入的介绍。

你可能感兴趣的:(Unity引擎Shader效果,unity,游戏引擎,ASE,Shader)