public LineRendererController getLineRendererControlelr(LineMeshType lineMeshType, Texture2D pointerTexture) { if (lrc == null) { lrc = LineRendererController.getLineRenderer(LINE_RENDERER_GO_NAME, supportedMeshLineTypes[lineMeshType], pointerTexture); } return(lrc); }
public static Mesh CreateLine(Vector3[] _vertices, LineMeshType _lineMeshType, Color _color) { bool isRing = (_lineMeshType == LineMeshType.Ring); MeshTopology topology = (_lineMeshType == LineMeshType.Lines) ? MeshTopology.Lines : MeshTopology.LineStrip; int vertNum = _vertices.Length; int[] incides = new int[isRing ? vertNum + 1 : vertNum]; Vector2[] uv = new Vector2[vertNum]; Color[] colors = new Color[vertNum]; Vector3[] normals = new Vector3[vertNum]; for (int ii = 0; ii < _vertices.Length; ++ii) { Vector3 normal = new Vector3(0.0f, 1.0f, 0.0f); if (ii < (_vertices.Length - 1)) { normal = _vertices[ii + 1] - _vertices[ii]; } incides[ii] = ii; uv[ii] = new Vector2(_vertices[ii].x + 0.5f, _vertices[ii].y + 0.5f); colors[ii] = _color; normals[ii] = normal; } if (isRing) { incides[vertNum] = 0; } Mesh mesh = new Mesh(); mesh.vertices = _vertices; mesh.uv = uv; mesh.colors = colors; mesh.normals = normals; mesh.RecalculateNormals(); mesh.RecalculateBounds(); mesh.SetIndices(incides, topology, 0); return(mesh); }
public LineRendererController getLineRendererControlelr(LineMeshType lineMeshType, Texture2D pointerTexture) { if (lrc == null) { lrc = LineRendererController.getLineRenderer (LINE_RENDERER_GO_NAME, supportedMeshLineTypes[lineMeshType], pointerTexture); } return lrc; }