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


    阿赵的Unity可视化Shader工具ASE介绍目录

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

    一、ASE的Shader创建

    在这里插入图片描述

      这里先选择Surface类型的Shader,然后输入Shader的名字。
    在这里插入图片描述

      创建后,会自动打开ASE的节点编辑器。如果不小心关掉了,可以找到Shader或者材质球,点击Open in Shader Editor按钮,就能重新打开节点编辑器。
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

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

    二、Shader的输入和输出

      为了测试刚刚创建的Shader,所以需要一个模型来显示,我这里使用了ASE自带的一个模型。然后新建一个材质球,使用刚刚创建的那个Shader,并且把材质球赋予给模型。
    在这里插入图片描述

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

      这时候,可以看到场景里面的模型变成了我们指定的白色了。
    在这里插入图片描述

      如果把颜色节点的类型改成Property,再保存
    在这里插入图片描述

      会发现在材质球上面多了一个可以编辑的颜色。
    在这里插入图片描述

      修改这个颜色,模型的颜色也跟着变化了。
    在这里插入图片描述

      这里修改节点类型为Property,就是把这个变量变成公共变量,可以由外部编辑。
      选择输出节点,然后在左边的属性栏拉到最下面,会看到有一个材质属性列表,里面就有所有已经变成公共变量的属性了。
    在这里插入图片描述

      下面换一下节点,做出其他效果。先删除了之前的mainColor颜色节点,然后创建两个贴图节点(快捷键是按着键盘的t,然后鼠标左键点击),一个是漫反射贴图,叫做mainTex,另一个是法线贴图,叫做normalTex。
    在这里插入图片描述

      选择其中normalTex节点,然后在属性栏里面勾选Unpack Normal Map。
    在这里插入图片描述

      接下来把mainTex节点连接到输出节点的Albedo节点,把normalTex节点连接到输出节点的Normal节点。保存shader。
    在这里插入图片描述

      可以看到现在材质球上面多了2个可以编辑的贴图。我这里找了一张岩石的漫反射贴图和法线贴图,分别赋予给两个贴图。
    在这里插入图片描述

      现在看模型的效果:
    在这里插入图片描述

      模型上已经有了岩石的纹理,还有法线的凹凸效果了。
      再来看看输出节点的属性栏。这个时候最下面的材质属性,就变成了mainTex和normalTex了。
    在这里插入图片描述

    三、总结

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

  • 相关阅读:
    Axios post请求出现500错误
    STM8的C语言编程(3)+――+GPIO输出
    [从零开始学习FPGA编程-50]:视野篇 - 芯片是如何被制造出来的?芯片制造的十三大步骤。
    UE4 Unlua源码解析12 - Lua与UE4的混合GC
    Andorid源码编译需要掌握的shell语法(三)
    【MySQL调优(二)】性能监控分析 - Show Profile
    MyBatis-Plus多数据源dynamic-datasource解决多数据源Redis Key 重复问题
    【图像去噪】基于PM模型实现图像降噪附matlab代码
    springboot actuator 常用接口
    map&set的封装
  • 原文地址:https://blog.csdn.net/liweizhao/article/details/133658921