The asset provides scripting support so you can use your palettes and apply them in runtime from code.
Particularly, the CSPalette class can be instantiated as follows:
// Create a palette which uses a split complementary design based on red color as
primary:
CSPalette palette = ScriptableObject.CreateInstance<CSPalette>();
palette.ConfigurePalette(ColorScheme.SplitComplementary, Color.red, splitAmount: 0.6f);
// Build chromatic colors
palette.BuildHueColors();
// Output the palette hue colors
for (int k=0;k<palette.colorsCount;k++) {
Debug.Log(palette.colors[k]);
}
// Build palette colors (including shades)
palette.BuildPaletteColors();
for (int k=0;k<paletteColors.Length;k++) {
Debug.Log(palette.paletteColors[k]);
}
Other useful methods provided by the CSPalette class:
// Builds a LUT based on the current color palette
Texture2D ExportLUT()
// Builds a texture containing the color palette
Texture2D ExportTexture()
// Transforms a color based on a given LUT
Color ApplyLUT(Color, LUT)
// Returns the nearest color of the palette
Color GetNearestColor(Color, ColorMatchMode)
// Returns the nearest colors of the palette
Color[] GetNearestColors(Color[] originalColors)
// Returns the nearest colors of the texture colors based on the palette
Color[] GetNearestColors(Texture, ColorMatchMode, ...)
// Transforms the given texture based on the current palette
Texture2D GetNearestTexture(Texture, ColorMatchMode, ...)