我曾经使用统一的标准 3D 项目更改 BaseMap
纹理,如下所示:
[SerializeField] private Texture texture;
void Start()
{
this.GetComponent<Renderer>().material.mainTexture = texture;
}
但是,相同的代码似乎无法使用通用 RP 模板
。当我检查着色器属性时,它显示 BaseMap
属性已过时,如下图所示:
但是当我在运行时将纹理拖放到 BaseMap
时,它会起作用。我想这意味着它应该工作。 (下图):
我现在的主要问题是,如何从Universal RP Template
中的脚本更改BaseMap
纹理?
除了 BaseMap
之外,还有其他属性我应该调用并更改它们的纹理吗,因为它写在着色器上 BaseMap
是“ObsoletProperties”?
最佳答案
更新,这应该可以解决问题:
[SerializeField] private Texture texture;
void Start()
{
GetComponent<Renderer>().material.SetTexture("_BaseMap", texture);
}
关于c# - 如何从脚本更改着色器的 "BaseMap"属性? - 通用RP模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57866803/