Question by
NextBaws · Feb 17, 2016 at 10:24 AM ·
vertexsubmeshvertexcolor
Vertex coloring multiple submeshes different colors
Im trying to improve my games draw calls by using the same material on each submesh and changing its vertex colours instead of making a new material for each colour.
Here is a modified script that is nearly there. However as you can see there is still red where the tracks vertices are in both submeshs.
What can I do to fix this?
using UnityEngine;
using System.Collections;
[ExecuteInEditMode]
public class updateVerts : MonoBehaviour {
public Color[] newColors;
void Update () {
Mesh mesh = GetComponent<MeshFilter> ().sharedMesh;
Color[] colors = new Color[mesh.vertices.Length];
for(int i = 0; i < mesh.subMeshCount; i++) {
int[] t = mesh.GetTriangles(i);
for (int j = 0; j < t.Length; j++) {
colors[t[j]] = newColors[i];
}
}
mesh.colors = colors;
}
}
track.png
(164.5 kB)
Comment
Am I on the wrong track with setting the vertex colours? The only other thing I can think of is to create a colour atlas and place the uvs onto the desired colour. Would that even work?!
profilerdrawcalls.jpg
(269.3 kB)
Your answer

Follow this Question
Related Questions
moving vertex along normals by code 0 Answers
Polybrush in play mode . HOW TO? 0 Answers
Extract submesh from fbx 0 Answers
Vertexing with Blender into Unit 0 Answers