在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;

最佳答案

粉红色表示“我身上没有材料”

这可能是您的问题所在:

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.


有一种使用公共变量的简便方法,但似乎您可以即时生成所有内容。所以我已经放弃了。

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

关于c# - 统一运行时的粉红色纹理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50222918/

10-09 04:57