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

相关文章

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

C++变换迭代器使用方法小结

《C++变换迭代器使用方法小结》本文主要介绍了C++变换迭代器使用方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录1、源码2、代码解析代码解析:transform_iterator1. transform_iterat

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

C++中std::distance使用方法示例

《C++中std::distance使用方法示例》std::distance是C++标准库中的一个函数,用于计算两个迭代器之间的距离,本文主要介绍了C++中std::distance使用方法示例,具... 目录语法使用方式解释示例输出:其他说明:总结std::distance&n编程bsp;是 C++ 标准

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Elasticsearch 在 Java 中的使用教程

《Elasticsearch在Java中的使用教程》Elasticsearch是一个分布式搜索和分析引擎,基于ApacheLucene构建,能够实现实时数据的存储、搜索、和分析,它广泛应用于全文... 目录1. Elasticsearch 简介2. 环境准备2.1 安装 Elasticsearch2.2 J