我想在3D Unity中画线格。我发现我可以在Unity 4中用网格拓扑画线。但是我找不到如何使用MeshTopology.Lines的例子。如何在Unity 3d中绘制线?
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();
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
2条答案
按热度按时间a7qyws3x1#
cotxawn72#
另一个建议-初始化一个网格,三角形,顶点,等等等等。对我来说,工作是然后做以下事情(其中meshMaterials是一个材料数组,材料0 -〉子网格0,和材料1 -〉子网格1):
有用的讨论How to Render/Draw mesh lines OVER texture at runtime/play mode