我想要更改位置2的材料,当我在代码中更改材料时,它会在0位置而不是在位置1上被更改。
我不知道我怎么能在1岗位上更换材料..。这是改变位置材料的代码。
public Material[] materials;
public Renderer rend;
// Start is called before the first frame update
void Start()
{
rend= GetComponent<Renderer>();
}
// Update is called once per frame
void Update()
{
rend.material = materials[1];
}我想改变这个名字新材料2图片上的材料,我在代码中定义的材料。

非常感谢社会人士:)
发布于 2019-07-06 23:37:33
它在索引0而不是索引1上发生变化,因为您使用的是rend.material而不是rend.materials。
public class MaterialChanger : MonoBehaviour {
public Material[] Materials;
public MeshRenderer MeshRenderer;
void Start() {
MeshRenderer = gameObject.GetComponent<MeshRenderer>();
}
void Update() {
int requredMaterialIndex = 1; //this is just test value
MeshRenderer.materials[1] = Materials[requredMaterialIndex];
}我建议你总是使用Meshrenderer而不是Renderer来提高效率。
https://stackoverflow.com/questions/56916898
复制相似问题