gpt4 book ai didi

c# - Unity3d - 将 Material 设置为无

转载 作者:行者123 更新时间:2023-11-30 23:25:09 26 4
gpt4 key购买 nike

我在 Canvas 上附加了一个 UI 图像。我有一个 OnClick 函数,可以在单击时更改图像的 Canvas Renderer Material 。

gameObject.GetComponent<CanvasRenderer>().SetMaterial(J_UI.UI.uiChosenSkillHolo,0);

我想要第二次单击以删除 Material ,以便在检查器中看到无( Material )。我试过了

gameObject.GetComponent<CanvasRenderer>().SetMaterial(null,0);

但是图像根本不可见,就好像没有着色器一样。

我还尝试将当前的无( Material )记录到 Awake 函数中的 Material 变量并使用它,但图像再次消失。

在这两种情况下打印 Material 名称都返回 Null。

那么 - 有没有什么方法可以处理这个名为“无”( Material )的神秘 Material ,它是检查器中的默认 Material ,只要 Material 合适并且您还没有分配一个 Material ?

谢谢。

最佳答案

更新:意识到我正在以错误的方式解决这个问题,所以我会发布一个答案,以防其他人遇到这个问题......

您需要直接在图像脚本中更改 Material ,而不是使用 Canvas 渲染器。所以应用它是

gameObject.GetComponent<Image>().material = yourMaterial;

并删除它

gameObject.GetComponent<Image>().material = null;

关于c# - Unity3d - 将 Material 设置为无,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37447063/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com