unity3d 如何在Unity 4中使用网格拓扑线

nqwrtyyt  于 2023-01-05  发布在  其他
关注(0)|答案(2)|浏览(296)

我想在3D Unity中画线格。我发现我可以在Unity 4中用网格拓扑画线。
但是我找不到如何使用MeshTopology.Lines的例子。如何在Unity 3d中绘制线?

a7qyws3x

a7qyws3x1#

Vector3[] verts = new Vector3[]{Vector3.up, Vector3.right, Vector3.down, Vector3.left};
int[] indicesForLineStrip = new int[]{0,1,2,3,0};
//int[] indicesForLines = new int[]{0,1,1,2,2,3,3,0};
Mesh mesh = new Mesh();
mesh.vertices = verts;
mesh.SetIndicies(indicesForLineStrip, MeshTopology.LineStrip, 0);
//mesh.SetIndicies(indicesForLines, MeshTopology.Lines, 0);
mesh.RecalculateNormals();
mesh.RecalculateBounds();
cotxawn7

cotxawn72#

另一个建议-初始化一个网格,三角形,顶点,等等等等。对我来说,工作是然后做以下事情(其中meshMaterials是一个材料数组,材料0 -〉子网格0,和材料1 -〉子网格1):

mesh.subMeshCount = 2; 
    GetComponent<MeshRenderer>().materials = meshMaterials; 
    mesh.SetIndices(triangles, MeshTopology.Lines, 1);

有用的讨论How to Render/Draw mesh lines OVER texture at runtime/play mode

相关问题