Version: 2019.3
LanguageEnglish
  • C#

Mesh.SetColors

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Switch to Manual
public void SetColors(Color32[] inColors);
public void SetColors(Color[] inColors);
public void SetColors(List<Color32> inColors);
public void SetColors(List<Color> inColors);
public void SetColors(NativeArray<T> inColors);

Parameters

inColorsPer-vertex colors.

Description

Set the per-vertex colors of the Mesh.

Unity internally stores Mesh data in the format matching the data you supply. For example, if you pass a Color32 array Unity will store each color in 4 bytes (low precision, 0..1 range); whereas if you pass a Color array, Unity stores each color in 16 bytes (full 32 bit float per color channel).

See Also: colors, colors32 properties.


public void SetColors(Color32[] inColors, int start, int length);
public void SetColors(Color[] inColors, int start, int length);
public void SetColors(List<Color32> inColors, int start, int length);
public void SetColors(List<Color> inColors, int start, int length);
public void SetColors(NativeArray<T> inColors, int start, int length);

Parameters

inColorsPer-vertex colors.
startIndex of the first element to take from the input array.
lengthNumber of elements to take from the input array.

Description

Sets the per-vertex colors of the Mesh, using a part of the input array.

This method behaves as if you called SetColors with an array that is a slice of the whole array, starting at start index and being of a given length. The resulting Mesh has length amount of vertices.