当前位置: 首页 > news >正文

Unity | AmplifyShaderEditor插件基础(第二集:模版说明)

目录

一、前言

二、核心模版和URP模版

1.区别介绍

2.自己的模版

三、输出节点

1.界面

2.打开OutPut

 3.ShderType

4.ShaderName 

5.Shader大块内容

6.修改内容

四、预告


一、前言

内容全部基于以下链接基础以上讲的。

Unity | Shader基础知识(什么是shader)_unity shader-CSDN博客


上节课我们简单介绍了一下ASE,这节课讲一下ASE的模版。

为什么要讲模版呢?

如果你会手写shader,你可以不用ASE。

如果你不会手写shader,那你目前只能用模版写。

总结:只要你没学会手写shader,那你就不是自由的,都不能随心所欲的去制作,即使你用了ase,所以还是希望大家重视功底。 

有点像AI画图,即使你再擅长和AI交流,只要你不会画画,你就很难得到一个和你心目中一模一样的画。

二、核心模版和URP模版

1.区别介绍

插件是把所有模版写一起的,所以在新建aseShader时,如果建立出来以后是玫红色,就说明这个模版不支持当前管线。

因为群里对URP管线喊得比较多,所以这部分内容均以URP管线为基础制作。

在URP管线中,表面着色器是不支持的,所以,你建表面着色器就会出现玫红色。(如图1、2所示)

图1 表面着色器
图2 表面着色器

他们互相都有支持和不支持的,所以,自己试吧,也没背下来的必要,用着用着就知道了,所以up这里也不总结了。

如果你学的是核心管线,那大部分教程都会大量使用表面着色器的,因为确实好用。

2.自己的模版

如果你会自己手写,就可以自创。

三、输出节点

在介绍什么是shader的时候,我们讲过,shader是一直在运行的,我们只是抽出来了一部分去改它。

不同的模版意思:人家写好的模版,给了你不同的权限,允许你改不同的地方。

1.界面

你随便创建一个aseShader打开,就可以看见下面的界面。(如图3所示)

图3 随便一个aseShader
2.打开OutPut

左上角有一个OutPutNode(如图4.1所示),内容不一样不要紧,只要标题一致就可以了。

图4.1 outputNode

如果没有,点击左上角的方块(如图4.2所示)就有了。

图4.2 打开OutPut

outPut所在的这个窗口的作用,和unity的inspector很像,专门调不同组件参数的。(如图5所示)

图5 inspector窗口
3.ShderType

为什么说随便建一个呢?因为里面能改。(如图6所示)

图6 ShderType
4.ShaderName 

如果你仔细看,你会发现,名字里面也能改,但这个改名字是改的shader的名字,外面文件的名字不会改,所以建议二者统一,否则后面容易找不到 。(如图7所示)

图7 名字
5.Shader大块内容

然后我们把OutPut的小三角都收起来。(如图8所示)

图8 Shader大块

这部分的具体解释,在下方链接

SubShader和Pass:

Unity | Shader基础知识(第二集:shader语言的格式)_unity shader语言-CSDN博客 

MaterialProperties:

就是在写Shader时候的properties

Unity | Shader基础知识(第六集:语法<如何加入外部颜色资源>)_unity怎么添加颜色-CSDN博客

看到这里,不知道你能不能感受到, 其实就是写好的模版,让你通过连线调节一下,你能控制的是中间的公式和过程,而不是最底层。

我知道你们着急知道每一条是干什么的,但心急吃不了大胖子,你先别管。

6.修改内容

小三角部分修改的output是总设置,就和unity中的总设置一样,能设置一些东西,但并不是写程序。

同样,我们output中小三角中的也总设置,写材质细节的部分是需要连线的。

那线连在哪呢?

在写好的模版中,它给了你一些能变动的东西。(如图9所示)

图9 输出信息

这里面的每一条都是你可以修改的东西,根据你想要的样子去连线修改。每一个模版可以变动的地方不太一样,你们自己可以换换看。 

四、预告

下一集我们会讲一个简单的案例,来自己制作属于自己的第一个材质。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • VSCode 都有哪些值得推荐的插件
  • RxJava在Android中的应用
  • dataX从orcal数据库抽取数据插入gbase 8a数据库 与 OceanBase数据库
  • MySQL-MVCC举例说明
  • 单库平滑迁移至分库分表架构方案
  • 数字营销中的人工智能 --- 完整指南 (By Hubspot)
  • 从0开始搭建vue + flask 旅游景点数据分析系统(九):旅游景点管理之增删改查
  • @Async 异步注解使用
  • 基于YOLOv10深度学习的草莓成熟度检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】目标检测、人工智能
  • C# VideoCapture 多路视频播放
  • uniapp粘贴板地址识别 address-parse插件的使用
  • 20240810在荣品RK3588S-AHD开发板的预置Android13下挂载exFAT的256GB的TF卡
  • 十二、OpenCVSharp 中的图像匹配与模板匹配
  • buildroot是啥,用来干什么?怎么用
  • ImportError: DLL load failed: 找不到指定的程序的解决方案
  • [case10]使用RSQL实现端到端的动态查询
  • angular组件开发
  • AWS实战 - 利用IAM对S3做访问控制
  • bootstrap创建登录注册页面
  • Docker入门(二) - Dockerfile
  • JavaScript服务器推送技术之 WebSocket
  • JS进阶 - JS 、JS-Web-API与DOM、BOM
  • leetcode98. Validate Binary Search Tree
  • Linux链接文件
  • orm2 中文文档 3.1 模型属性
  • underscore源码剖析之整体架构
  • v-if和v-for连用出现的问题
  • 开放才能进步!Angular和Wijmo一起走过的日子
  • 聊聊redis的数据结构的应用
  • 问题之ssh中Host key verification failed的解决
  • 新版博客前端前瞻
  • - 转 Ext2.0 form使用实例
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • 正则表达式-基础知识Review
  • $(function(){})与(function($){....})(jQuery)的区别
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (Ruby)Ubuntu12.04安装Rails环境
  • (STM32笔记)九、RCC时钟树与时钟 第一部分
  • (ZT)北大教授朱青生给学生的一封信:大学,更是一个科学的保证
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (回溯) LeetCode 78. 子集
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (四)Linux Shell编程——输入输出重定向
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (转)3D模板阴影原理
  • (转)setTimeout 和 setInterval 的区别
  • .net FrameWork简介,数组,枚举
  • .Net Redis的秒杀Dome和异步执行
  • .NET 通过系统影子账户实现权限维持
  • .Net 应用中使用dot trace进行性能诊断
  • .net6Api后台+uniapp导出Excel
  • :not(:first-child)和:not(:last-child)的用法
  • ?php echo ?,?php echo Hello world!;?