在运行的桃红色纹理团结的

时间:2018-05-07 21:47:47

标签: c# android unity3d

在android上运行时创建网格过滤器时,模型变得粉红色,在Unity编辑器中工作正常 我附上了这样的材料

MeshRenderer renderer = gameObject.AddComponent<MeshRenderer>();
MeshFilter filter = gameObject.AddComponent<MeshFilter>();
Texture white = new Texture();

filter.GetComponent<MeshFilter>().transform.localScale = new 
Vector3(0.0009f, 0.0009f, 0.0009f);
filter.GetComponent<MeshRenderer>().material.color = Color.white;

1 个答案:

答案 0 :(得分:1)

粉红色意味着&#34;我没有任何关于我的材料&#34;

继承人可能就是你的问题所在:

filter.GetComponent<MeshRenderer>().material.color = Color.white;

这会在网格渲染器上设置材质的颜色

您需要先为网格渲染器提供材质。试试这个:

MeshRenderer renderer = gameObject.AddComponent<MeshRenderer>();
MeshFilter filter = gameObject.AddComponent<MeshFilter>();
Material = mathew;     //---This is our material, mathew.

mathew = new Material(Shader.Find("Standard"));  //--- first we construct mathew
mathew.color = color.white;  //--- then we give mathew some color

filter.GetComponent<MeshFilter>().transform.localScale = new 
Vector3(0.0009f, 0.0009f, 0.0009f);
filter.GetComponent<MeshRenderer>().material = mathew; //finally we attach mathew to his new friend, MeshRenderer.

有一种更简单的方法可以使用公共变量来实现,但似乎您可以动态生成所有内容。所以我已经离开了。

让我知道这是否有效。祝你好运!