首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在第二位置更换材料?

如何在第二位置更换材料?
EN

Stack Overflow用户
提问于 2019-07-06 19:03:19
回答 1查看 74关注 0票数 2

我想要更改位置2的材料,当我在代码中更改材料时,它会在0位置而不是在位置1上被更改。

我不知道我怎么能在1岗位上更换材料..。这是改变位置材料的代码。

代码语言:javascript
复制
 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图片上的材料,我在代码中定义的材料。

非常感谢社会人士:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-06 23:37:33

它在索引0而不是索引1上发生变化,因为您使用的是rend.material而不是rend.materials。

代码语言:javascript
复制
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来提高效率。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56916898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档