unity Shader.Find

Shader.Find(“”)可以获得指定名字的shader 名字必须得是全名如:Unlit/Texture;
但是shader必须被引用包含进发布工程,否则Find的shader即便是unity内置的shader,也有可能找不到
因为在导出工程时,Unity默认不会把工程里没有使用过的shader导出(unity不会分析代码里使用了哪个shader)
我采用是如下的方法
在这里插入图片描述
把shader放进Resource目录下,打进包体内也可以获得
这两种方式都不可以热更新
一般热更新的方式,把shader通过引用的方式做成Prefab,打成bundle

猜你喜欢

转载自blog.csdn.net/u014481027/article/details/125389946