Unity 中 “动态改变图片材质Material却没有反应”的解决办法

问题的起因在于我用字体将一段字母转换为 Material 然后挂在Image上来作为随机生成的验证码:
就像这样
验证码图片
然而在我点Button重新生成(改变)这个Material试图改变图片时却没有反应
我当时就反应过来material这种东西不同于图片(Image)本身,是处于更低级的生成阶段,所以肯定需要rerender一下。
正如我所想,随便改一下图片的颜色就能使得图片变化 引起rerender 产生我想要的改变。
但这种方法肯定不是最优解,果然在摸索后我发现图片自带直接引起rerender的命令:

///Mark the material as dirty and needing rebuilt.
///Send a OnDirtyMaterialCallback notification if any elements are registered. See RegisterDirtyMaterialCallback
Image.SetMaterialDirty();

正如其注释所描述,easy。

猜你喜欢

转载自blog.csdn.net/weixin_42767868/article/details/122991493
今日推荐