Unity可视化Shader工具ASE介绍——1、ASE的介绍、安装和简单使用

2024-03-15 00:40

本文主要是介绍Unity可视化Shader工具ASE介绍——1、ASE的介绍、安装和简单使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

  大家好,我是阿赵,接下来我打算介绍一下Unity引擎的一个好用的可视化Shader编辑插件。这个插件叫做Amplify Shader Editor,下面都会简称为ASE。这一篇主要是讲一下这个插件的获取、安装,和一些简单的界面用法介绍。之后有机会,再深入的介绍其他的用法。

一、ASE的获取

  ASE插件是一个收费的插件,可以在Unity的Asset Store上面获取。
在这里插入图片描述

二、插件导入

  购买了ASE之后,把它导入到项目,会弹出欢迎页面,里面有版本更新说明、资源例子和说明手册等的信息。
在这里插入图片描述
在这里插入图片描述

  然后会在项目里面多了一个AmplifyShaderEditor的文件夹,里面有一个Examples例子文件夹,和一个Plugins插件文件夹,还有几个说明文档。

三、自带例子

  如果你只是想使用 ASE,那么Examples文件夹其实是可以删掉的。不过我觉得这个例子文件夹里面有很多好东西,可以教会我们很多效果的做法。
在这里插入图片描述

  这些看着是Unity图标的文件,并不是Unity的场景文件,而是Package包,所以双击它们,可以把内容导入到当前项目。
在这里插入图片描述

  比如我这里全部导入完,会发现多了几个文件夹。Assets文件夹之前就有,但里面会多了一些资源。可以看出,ASE可以应用于多种管线的Shader编写,比如HDRP或者URP都可以。
在这里插入图片描述

  这些例子里面会附带一些美术资源,比如这种场景环境的模型
在这里插入图片描述

  还有一些用于展示效果的模型
在这里插入图片描述

  然后里面有非常多的例子,每个例子里面都有场景文件,可以打开来看,然后里面还有Shader和材质球。
在这里插入图片描述
在这里插入图片描述

四、编辑器界面介绍

  这里我随便选择了一个例子,选择里面的材质球,会发现在Inspector面板上面的材质球属性,多了一些按钮。点击一下Open in Shader Editor按钮,就可以打开ASE的节点编辑器。
在这里插入图片描述
在这里插入图片描述

  这一篇文章先来介绍一下这个节点编辑器的各个部分,之后还会另外写文章深入介绍各种功能。

1、属性栏

  在最左边,有一个属性栏。根据我们选择不同的节点,这个属性栏会相应的显示该节点的属性。比如我选择一个输出节点,那么这里就显示了输出节点的属性和选项。
在这里插入图片描述

  然后我选择了一个UV节点,那么相应的这里会变成UV节点的内容。
在这里插入图片描述

2、保存按钮

  在编辑过任何东西之后,会发现左上角的Shader名称后面多了个星号,这是代表当前的Shader还没有保存,如果想保存,可以点击保存按钮。
在这里插入图片描述

3、Shader代码查看

  ASE编辑完节点之后,最终还是会生成一个Shader文件的,所以可以通过点击这个按钮来查看Shader代码。
在这里插入图片描述

  我觉得这是ASE的一个非常好的功能。它生成的代码比较的整齐,可阅读性比较高。而且一些功能比较复杂的节点,有时候我们忘记了具体的代码写法,可以通过ASE生成代码,来查看实现的源码。
在这里插入图片描述

4、节点编辑区

  中间区域是ASE的节点编辑区域,我们主要就是在这个区域来创建节点,连接节点,然后得到我们想要的效果。
在这里插入图片描述

  这里有一个比较厉害的地方,大部分节点的右边都有个小三角,点击可以展开,展开后,可以在节点界面就预览到了节点连接之后的效果。这对于查错时是非常好用的,因为如果手写Shader,发现效果不对的时候,没有办法很直观的知道问题出现在哪里。但在ASE,我们可以直观检查每一个节点当前的效果,很容易知道是哪一步开始出现问题。
在这里插入图片描述

5、辅助工具

  节点编辑区域的右上角有一排辅助按钮,我是比较少用到的,包括了分享链接、截图、居中节点之类的功能
在这里插入图片描述

6、节点查找

  在整个编辑器的最右边,有一个可查找列表,里面列出了ASE自带的所有可用的节点。
在这里插入图片描述

  这个列表,在节点编辑区域鼠标右键点击,也可以出现的。
在这里插入图片描述

四、我对ASE的一些看法

  ASE是一个强大并且高级的可视化Shader编辑器,它的某些功能,甚至比UE的材质编辑器还要好用。
  不过我很少拿ASE编辑完Shader就直接使用在项目里面。原因是ASE毕竟是通过固有的模板去生成Shader代码,所以最终得到的Shader代码会比直接手写的冗余和复杂一些。我一般的做法是,先用ASE快速的把效果连接出来,然后查看生成的代码,再对代码进行一些优化,然后就可以使用了。
  ASE的优点除了出效果快,还内置有很多效果不错的节点可以使用,比如之前介绍过的视差偏移之类的节点。很多算法,实际上我是记不住的,但只要在ASE里面找到了相应的节点,生成代码之后,我就能用了。所以很多时候,我会把ASE当做是一个工具书一样的去查询。
  不过,ASE并不会让不会编写Shader的人变得会编写Shader,因为它只是加快了编写过程,还有记录了很多常用的算法。同样一个效果,如果连接的方式不一样,最终的性能也是不一样的。我见过有些纯美术的同事,对着网上一些例子也连出了大概相似的效果,但实际生成的Shader是完全没法用的,甚至出现了问题,他们也不知道问题出在哪里,更没有办法解决。
  所以,它只是一个好用的工具,但在不懂手写Shader的前提下,最好还是别用。

这篇关于Unity可视化Shader工具ASE介绍——1、ASE的介绍、安装和简单使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/810259

相关文章

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解

《使用Python批量将.ncm格式的音频文件转换为.mp3格式的实战详解》本文详细介绍了如何使用Python通过ncmdump工具批量将.ncm音频转换为.mp3的步骤,包括安装、配置ffmpeg环... 目录1. 前言2. 安装 ncmdump3. 实现 .ncm 转 .mp34. 执行过程5. 执行结

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

C#使用Spire.Doc for .NET实现HTML转Word的高效方案

《C#使用Spire.Docfor.NET实现HTML转Word的高效方案》在Web开发中,HTML内容的生成与处理是高频需求,然而,当用户需要将HTML页面或动态生成的HTML字符串转换为Wor... 目录引言一、html转Word的典型场景与挑战二、用 Spire.Doc 实现 HTML 转 Word1

Java中的抽象类与abstract 关键字使用详解

《Java中的抽象类与abstract关键字使用详解》:本文主要介绍Java中的抽象类与abstract关键字使用详解,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、抽象类的概念二、使用 abstract2.1 修饰类 => 抽象类2.2 修饰方法 => 抽象方法,没有

MyBatis ParameterHandler的具体使用

《MyBatisParameterHandler的具体使用》本文主要介绍了MyBatisParameterHandler的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、概述二、源码1 关键属性2.setParameters3.TypeHandler1.TypeHa

Spring 中的切面与事务结合使用完整示例

《Spring中的切面与事务结合使用完整示例》本文给大家介绍Spring中的切面与事务结合使用完整示例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录 一、前置知识:Spring AOP 与 事务的关系 事务本质上就是一个“切面”二、核心组件三、完

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

sky-take-out项目中Redis的使用示例详解

《sky-take-out项目中Redis的使用示例详解》SpringCache是Spring的缓存抽象层,通过注解简化缓存管理,支持Redis等提供者,适用于方法结果缓存、更新和删除操作,但无法实现... 目录Spring Cache主要特性核心注解1.@Cacheable2.@CachePut3.@Ca