我有一个着色器,其中包含其他cg / hlsl脚本的一些#include。 如果我将该着色器放入AssetBundle中,我应该如何处理cg / hlsl脚本?
是否不再需要它们,因为它们是在AssetBundle构建过程中被编译到着色器中的? Unity版本是5.6.6f2
还是我也必须将cg / hlsl脚本放入AssetBundle中? 如果是这种情况,如何在运行时加载它们,以便着色器找到它们?
有人建议我内联它们,但如果可能的话,我想避免这样做。
答案 0 :(得分:0)
着色器没有被编译到资产束中,它们像其他任何脚本一样受到威胁,因此无法被编译到束中。
在项目设置>图形>内置着色器设置下,有一个部分“始终包含的着色器”。如果在其中添加着色器,它们将包含在您的构建中。因此,只要您的Assetbundle在编译捆绑软件时都引用了着色器,实例化对象后,使用正确的着色器就不会出现问题。
根本不需要内联着色器。