Amplify Shader Editor基础操作笔记_03

S1_11_四种基本常用Shader

Unlit_Shader属性设置

Clip 裁剪节点/Break To Components 通道拆分输出

透明通道在0.5以上就显示,反之在0.5以下则不显示

快捷键_i  显示默认数值

AlphaTest 设置属性

AlphaBlend 属性设置

Add属性设置


S1_12_虚拟开关和变体/关键字/如何跟程序配合

Toggle_Switch_虚拟开关_两条线路都会参与计算

虚拟开关是一个算法的简写,它不是一个开关,而是它通过一个算法来让另外一条线路输出的值是一个0,然后不参与计算

虚拟开关的原理就是用一个Lerp加上一个数值,这个数值输出的不是1就是0

Static_Switch_静态开关_这是一个真正的开关(变体),只有一条线路会参与计算

Shader_Feather_静态开关默认是关闭,就是不打钩,只要游戏打包时,没对打钩,那么Shader变体计算就不会被打包进游戏

补充_Shader_Feather无法在游戏中实时动态切换,在打包进游戏前就需要设置好

Multi_Compile_无论是否打钩,多重编译的特点就是在游戏打包时,Shader多重编译计算都会被打包进入游戏,并且会自动变成两个Shader, 消耗会成倍的增长

补充_Multi_Compile是一个全局的关键字,可以在游戏中实时的切换,每一次游戏将其加载到内存当中,它会将你用到的所有分支都打包进去,这样也就是两个Shader都在场景运行的内存里面都可以去修改

Static_Switch > Keyword Enum 静态开关_枚举设置

Lerp的算法原理

Float节点也可以设置Enum枚举开关

Auto-Register 自动编译材质到面板


S1_13_优化/模板代码修改

01.正确的全局设置

02.数据精度_使用half

03.修改内置函数简化算法

04.减少算法达到类似的效果

05.不用复杂函数

06.只有1,4维数据可以暴露到属性面板

07.合理的单双面Shader

08.少计算光照模型

09.少用Alphablend

10.最好不用Alphatest Clip函数

11.变体

12.把部分计算放到Vertex_Shader

哪些计算可以放在顶点当中,哪些计算不能放在顶点当中

需要注意的是如果在顶点当中进行计算的话,色彩空间最好调整为线性空间

如果看到在Gamma空间计算效果也还可以就是也可以用,如果不行还是要放到片元里计算

ASE中唯一会用到Multi_Compile的部分 Vertex_Position > Relative

用IDE打开ASE下得Unlit模板

删除Unlit模板下这两个部分


S1_14_Panner流动/time节点/Customdata

UV纹理引用

ASE和粒子系统关联需要使用Vertex Shader节点

Vertex Color 大部分都是作为颜色和透明度来控制的

使用Custom Data必须在Renderer下开启自定义顶点数据流_Custom Vertex Streams


S1_15_Flash闪烁,SinCos优化

Scale And Offset 乘以一个数,再加上一个数

Shader函数

Auto Cast 自动接收 

如果你输入的是一个二维的数据,它的计算就会按照二维的数据取计算,不会按照四维的数据计算,1~4维都会有一个自动映射

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值