#pragma multi_compile
- 支持定义多个关键字,其中第一个为默认项。
- 如果想省略第一个关键字,只定义第二个关键字,可以使用双下划线代替第一个关键字。
#pragma multi_compile __ FOO_ON
- 所有变体都会编译入最终版本
- 一般用来在代码中设置关键字
#pragma shader_feature
- 只编译那些被用到的Shader变体到最终版本中
- 一般用在Material中设置关键字
多行multi_compile定义
- 会生成所有组合的Shader变体
- 整个工程中可用的关键字数量为 256 - 60 = 194
内置的multi_compile
- multi_compile_fwdbase
- multi_compile_fwdadd
- multi_compile_fwdadd_fullshadows
- multi_compile_fog
https://docs.unity3d.com/Manual/SL-MultipleProgramVariants.html
网友评论