天天看點

Unity Shader 變體multi_compile/shader_feature

優缺點

優點:

可以将多個功能內建到一個shader内。

缺點:

變體數量過多會導緻記載時間過長與記憶體占用增加。

變體類型

  1. multi_compile: 無論如何都會編譯的變體(根據開關使用)。
  2. 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