需求
护盾实现溶解效果。需要修改shader参数值。
解决方案
去网上找了份带溶解效果的护盾shader,也找到了shader中对应的参数值,接下来就是用代码控制这个参数。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210512163036939.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210512163353204.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5MTYyODI2,size_16,color_FFFFFF,t_70)
首先我们去shader代码中找到对应的参数变量名。通过搜索关键字发现检视面板中的"Start Point"实际对应的是shader中名字为_StartPoint的float类型变量。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210512163442822.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210512163453136.png)
接下来就好办了,获取到shader然后直接修改即可。
代码
GetComponent<MeshRenderer>().materials[0].SetFloat("_StartPoint", 0.8f);
注意要set对应的变量类型。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210512164003628.png)
最终效果
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210512163859202.png)