最近在实现各种状态滤镜效果,在网络上找到一些大神实现好的shader材质效果,但是并不希望通过creator的编辑器这种可视化拖拽的方式设置自定义的.effect,像下面的图

上图就是把准备好的Mosaic.effect材质拖拽到指定的自定义材质参数里头可以让这个精灵产生材质效果,
但现在需求是希望通过代码方式去动态设置这个Mosaic的已有材质,而不通过可视化编辑器,例如
let obj = this.node.getChildByName(“objName”);
obj ?.getComponent(Sprite)?.setSharedMaterial(Material,0);
而这个Material就是材质参数,但是我发现这个材质是代码创建的材质,我要如何把已准备好的Mosaic转换成这个Material然后通过setSharedMaterial的参数设置进去呢?还是说我的方法方向错了,这个并不是这么做的?
目前我准备了一系列已经实现好的类似Mosaic.effect材质效果 都希望通过代码动态设置让对象作出各种材质效果的样子,所以一直探究到这一步被卡住,如果有人有做过类似的经验希望得到分享,谢谢
有个 effectAssets 对象 可以用loader加载
额,不知道是不是版本问题 我用的3.8 然后确实有一个effectAsset 但是注释解释那个是一个当前使用的 [[EffectAsset]] 资源 而且进一步查找这个还是个命名空间 查里边的api也没看到有load 只有一个loaded 是证明这个资源是否被加载成功 也挺奇怪 难道还有什么细节我忽略了么