材质无法在Android上渲染

时间:2019-09-30 20:19:34

标签: android unity3d rendering

在Unity3D中,我想使用六个四边形创建一个多维数据集。每个四边形应具有不同的材质。

当我手动创建多维数据集并手动将材质关联到四边形时,当我在编辑器中运行,使用Unity Remote 5或在设备上构建项目时,一切都可以正常工作。

但是当我以编程方式创建多维数据集时,材质不会显示在android设备或编辑器中。它是蓝色或白色(我没有指定任何材料颜色)。但是根据检查人员,生成的四边形已分配了正确的材料。

用于创建多维数据集并分配材质的代码在Start()方法中。当我创建一个新的空白项目并以编程方式仅使用一个材质创建一个四边形时,它也可以正常工作。

这是我用来创建四边形的代码:


Quaternion parentRotation = parent.localRotation;
parent.localRotation = Quaternion.Euler(0, 0, 0);

var quad = GameObject.CreatePrimitive(PrimitiveType.Quad);
quad.GetComponent<Transform>().position = GetQuadPosition(parent, game.GameSize, x, y, parent.position.z);
quad.GetComponent<Transform>().localRotation = Quaternion.Euler(0, 0, 0);
quad.GetComponent<Transform>().localScale = GetQuadSize(parent, game.GameSize, x, y);
quad.GetComponent<Transform>().SetParent(parent);

MaterialType materialType = cubeTransform.materialType;
Material material = cubeMaterials.Single(q => q.materialType.Equals(materialType)).material;
quad.GetComponent<MeshRenderer>().material = material;

parent.localRotation = parentRotation;

为解释一些代码,多维数据集是一个空的游戏对象,它由六个空的游戏对象组成,这些对象具有应设置的旋转和位置,并且将四边形添加到每一侧(一侧上有更多四边形立方体)。

代码未完善。.

0 个答案:

没有答案