优缺点
优点:
可以将多个功能集成到一个shader内。
缺点:
变体数量过多会导致记载时间过长与内存占用增加。
变体类型
- multi_compile: 无论如何都会编译的变体(根据开关使用)。
- shader_feature: 通过材质的使用情况来决定是否编译的变体。
multi_compile
#multi_compile NAME 变体名字全部大写
#if NAME
xxx
#endif
Inspector开关
[Toggle]
Name 名字一样,大小写不限
NAME_ON shader中的变体名字,全部大写。因为用[Toggle]定义为开关,所以后面要加一个‘_ON’
[Toggle]Name("show name", int) = 0
#multi_compile NAME_ON
shader_feature
使用方法同multi_compile