Shader.Find(“”)可以获得指定名字的shader 名字必须得是全名如:Unlit/Texture;
但是shader必须被引用包含进发布工程,否则Find的shader即便是unity内置的shader,也有可能找不到
因为在导出工程时,Unity默认不会把工程里没有使用过的shader导出(unity不会分析代码里使用了哪个shader)
我采用是如下的方法

把shader放进Resource目录下,打进包体内也可以获得
这两种方式都不可以热更新
一般热更新的方式,把shader通过引用的方式做成Prefab,打成bundle
unity Shader.Find
最新推荐文章于 2024-11-19 03:21:54 发布
本文探讨如何在Unity中使用Shader.Find寻址Shader,强调资源目录放置、打包方式对Shader查找的影响,并介绍热更新时使用Prefab和bundle的方法。

5594

被折叠的 条评论
为什么被折叠?



