2019.1版本只有一个类VisionUtility。这个类只有一个静态方法:GetColorBlindSafePalette
这个静态方法是帮助用户去访问不同的视觉功能。
该静态方法的原型:
public static int GetColorBindSafePalette(Color[] palatte,float minimumLuminance,float maximumLuminance)
palatte:用调色板填充的颜色数组。
minimumLuminance:从0到1的最小允许感知亮度。对于深色背景,建议0.2或者更高。
maximumLuminance:从0到1的最大允许感知亮度。对于明亮的背景,建议0.8或者更低。
返回值:调色板中确定的颜色数量。
这个函数的功能是自定义一个针对各类视觉样式的调色板。
官网的教程:
using UnityEditor;
using UnityEngine;
using UnityEngine.Accessibility;
public class ColorSwatchExample : EditorWindow
{
// size of swatch background textures to generate
private const int k_SwatchTextureSize = 16;
// the maximum number of swatches for this example
private const int k_MaxPaletteSize = 10;
[MenuItem("Window/Color Swatch Example")]
private static void CreateWindow()
{
var window = GetWindow<ColorSwatchExample>();
window.position = new Rect(0f, 0f, 400f, 80f);
}
// the background textures to use for the swatches
private Texture2D[] m_SwatchBackgrounds = new Texture2D[k_MaxPaletteSize];
// the desired number of swatches
[SerializeField]
private int m_PaletteSize = 8;
// the range of desired luminance values
[SerializeField]
private Vector2 m_DesiredLuminance = new Vector2(0.2f, 0.9f);
// the colors obtained
[SerializeField]
private Color[] m_Palette;
// the number of unique colors in the palette before they repeat
[SerializeField]
private int m_NumUniqueColors;