Unity之ASE子函数用法
创始人
2025-05-28 09:33:16
0

前言

当我们用ASE制作越来越多的效果后,我们会发现几个问题:
1.大量的效果都依赖一些通用的算法,比如:菲涅尔,溶解等
2.经常一个shader中存在多个一样的结构,比如:溶解,扰动等
3.每次写新的shader,还要重复连一些相同的功能,比如:溶解,扰动等

那么我们可不可以像编程一样,把shader进行一层函数的封装呢?以后什么时候需要就不用重复劳动了,直接拿来使用,答案是肯定的,ASE官方给我们提供了这样的功能:子函数
在这里插入图片描述

子函数

ASE的子函数,可以让我们把一些常用的,通用的节点,连好后制作成一个通用的函数模板,方便我们在其他ASE的shader中使用它。就像菲涅尔节点一样,其实他就是官方为我们写的一个子函数,,因为他的使用频率很高,连线有优点复杂,所以为了避免我们每次重复劳动,官方就帮我们实现了。ASE中还有一些常用的模板子函数,大家可以探索一下。
创建子函数
1.在Project面板下,右键,点击Create/Amplify Shader Function,创建子函数模板
2.子函数内部,已经有一个OutPut节点了,它对应的就是我们的模板节点的输出
3.我们可以新建Input节点,并指定Input的类型,比如Sample2D,Color,Float等
4.自定义连线,最后连到OutPut即可
示例如下:
在这里插入图片描述
我们简单的测试了一下Samplar2D,Color和Float类型的输入。
我们来看一下,如何使用这个新建Test子函数模板:
在这里插入图片描述

子函数-菲涅尔

我们知道,ASE系统自带了Fresnel,那么我们可以自己来实现一个Fresnel节点。来更好的说明一下子函数的用法。
先来看一下官方的Fresnel是如何使用的,见下图:
在这里插入图片描述
World Normal:世界/切线法线或半向量
View Dir:视角方向
Bias 定义菲涅尔方程的整体颜色叠加
Scale 定义 Fresnel 方程的 Scale 变量
Power 定义菲涅尔方程的幂变量。

我们使用Fresnel时,一般是这么使用的:
在这里插入图片描述
我们可以查到Fresnel的实现公式,如下是游戏中常用的简化版公式:

Fresnel = Max(1,Min(0,(Bias + Scale * Pow(1 - Dot(N,V)))))

如果我们想自己实现一个Fresnel ,根据上述公式就可以实现了,下面是菲涅尔内部节点连线:
在这里插入图片描述
接下来我们只需要把需要公开的参数更换成Input类型即可,(由于Word Normal和View Dir一般都不指定,所以我们就不给他公开了)。如下所示:
在这里插入图片描述
最后看一下,如何使用我们自己的Fresnel节点,和系统自带的做个对比,效果是一样的。
在这里插入图片描述

子函数-溶解

刚才我们说了子函数的实现原理和实现流程,下面我们来说几个实用的子函数示例,第一个要说的就是溶解了,因为大量的效果都用到了溶解。
我们直接上连线图:
在这里插入图片描述
下面是使用示例:
在这里插入图片描述
我们会发现之前复杂的溶解,现在只需要设置基本的参数就可以了。

子函数-扰动

子函数连线图:
在这里插入图片描述
使用示例:
在这里插入图片描述

最后

Unity技术开发干活 - 总目录

Unity精选 - 专栏目录
Unity之ASE入门到精通 - 专栏目录
UniRx入门到精通 - 专栏目录

相关内容

热门资讯

“国电南瑞”还稳吗? 国电南瑞... 国电南瑞除了2021年之外,历年的股价波动都比较小,近五年基本上都是在25左右波动,牛市也好熊市也罢...
TCL李东生回应光伏周期困境:... 新京报贝壳财经讯(记者陈维城)8月29日消息,TCL科技举行2026年投资者开放日暨TCL科技与TC...
贷款增量股份行第一,兴业银行中... 爱拼才会赢,这不仅是福建人的精神标签,也是兴业银行的真实写照。8月28日,兴业银行披露了2026年中...
三部门调拨1万件中央救灾物资支... 8月29日,国家防灾减灾救灾委员会办公室、应急管理部针对近期强降雨导致云南昆明市磨憨磨丁经济合作区洪...
平均年龄28岁、100组青年创... 当90后青年创业者带领公司上市后,很多人发现,青年创业者的身后,站着很多投资界的大佬……于是一些人就...
外卖、快递、跑滴滴,“铁人三项... 「实在不行就去跑外卖」,正在从一句玩笑话,变成越来越多人的退路。脱下长衫以为能靠体力逆袭,可真退进去...
2026年度总票房破280亿 8月29日,据灯塔专业版数据,截至8月29日,2026年度大盘票房(含预售)突破280亿,《飞驰人生...
河南丰盛机械:以技术创新筑牢粮... 近日,河南丰盛机械正式入驻新华信用平台,这一举措不仅是对企业合规经营与产品品质的第三方印证,也将一家...
泰康保险牵头成立一个“专项基金... 法律、公益护航,破解投保信息差。作者 |郑佳编辑丨马景行来源 | 野马财经如果问你:买保险,你最怕什...
水利部和中国气象局联合发布红色... 8月29日,水利部和中国气象局8月29日18时联合发布红色山洪灾害气象预警:预计,8月29日20时至...