element3ds.com
引擎渲染作品 使用Amplify Shader Editor优化特效Shader(转自CloudLiu)
发布于
2020-8-6
6471
4

您需要 登录 才可以下载或查看,没有账号?注册

x
ASE相对于Shader Forge生成的代码更加干净, 用于制作特效的再合适不过,以下是使用ASE优化一个SF制作特效的经过:
## 分析美术用SF制作的Shader
懒得装SF, 直接分析代码可知这个溶解效果大致有以下部分组成:
  • 使用Grab的扭曲
  • 4个Step指令 + 3个lerp指令组成的溶解
  • 时间变量控制的UV动画
  • 2张贴图 + N个uniform变量
  • 顶点色


沟通去掉部分功能
由于这个特效核心需求是实现刀光的溶解消失,因此可去掉一部分功能
833133-20190227202830508-842569126.gif
  • 使用Grab的扭曲 (太快看不清楚)
  • 4个Step指令 + 3个lerp指令组成的溶解 (需要精简)
  • 时间变量控制的UV动画 (可以用动画组件做UV动画)
  • 2张贴图 + N个uniform变量 (酌情精简)
  • 顶点色 (有A通道,不需要)

在ASE中重新创建Shader
1 Sahder Forge会生成很多实际不使用的代码,先要手动清理掉这部分代码
2 清理后的代码可读性依然很差,花时间在ASE重建如下:
1.jpg

优化节点
ASE可视化Shader编程的最大优点就是能实时看到当前节点的运算结果,下面开始优化:
  • 首先使用新旧练个shader调成一样,用作优化是做对比,保证优化完后效果基本一致


  2.首先是4个step,这样互换AB,结果其实就是反向,使用OneMinus代替
3.继续, 乘法的结果总是黑色的,这些节点都浪费了

另一组Lerp的结果也一样是浪费的↓


修复bug, 改用合适的混合模式
最后效果跟原来美术做的一样, 但性能提升极大!







参与人数 4 元素币 +31 活跃度 +65
特效开拓者

使用道具 举报 登录

回复 <
cyy7713  发表于 2021-8-13 15:53:03  
2#
牛皮!!!学到了
回复 收起回复
使用道具
神佛之上  发表于 2022-11-22 23:37:04  
3#
给力!元素有你更精彩
回复 收起回复
使用道具

快来发表你宝贵的意见吧!

段公子 实名

通过了实名认证的内容创造者

特效设计师

主题
41
精华
16
超神
0
扩散
0
微金
0
智慧
1
余额
0
在线时间
1664 小时

魔影剑 元素金币 碧之轨迹 长枪 元素之铠 骑士之枪 皇权 火元素 【昊天碎片】 友情药水 智能药水 绿色药水 紫色药水 微库VIP 扩散者 振金项链 【绝】钢铁无限手套

快速回复 返回顶部 返回列表