← Todos los paquetes

OKLab Color Inspector Pro

Color perceptual para Unity, basado en el espacio de color OKLab de Bjorn Ottosson. Sin puntos medios turbios, sin cambios de tono al oscurecer, pasos de brillo uniformes. La misma ciencia de color detrás de CSS Color Level 4 y Figma.

v1.2.0 Unity 2021.3+ No dependencies namespace: DawgTools.OKLab

Inicio rápido

Una instrucción using, cero configuración. Funciona en cualquier pipeline de renderizado.

using DawgTools.OKLab;
using UnityEngine;

// Perceptually uniform lerp (no muddy midpoints)
Color midpoint = OKLabColor.LerpOKLab(Color.red, Color.green, 0.5f);

// Darken without hue shift
Color darker = OKLabColor.AdjustLightness(myColor, -0.15f);

// WCAG contrast check
float ratio = OKLabColor.WcagContrastRatio(textColor, bgColor);
bool passesAA = ratio >= 4.5f;

// Auto-pick readable text color
Color text = OKLabColor.BestTextColor(backgroundColor);

// Generate palette from one accent color
Color[] harmony = OKLabPalette.GenerateHarmony(accent, HarmonyMode.Triadic);

Por qué OKLab en lugar de HSV/HSL?

Los espacios de color estándar mienten sobre la uniformidad perceptual. OKLab no.

ProblemaHSV/HSLOKLab
Oscurecer azul cambia a púrpuraYesNo
Amarillo y azul con el mismo L parecen igual de brillantesYesNo
Lerp de rojo a verde produce marrón turbioYesNo
50% de luminosidad varía mucho según el tonoYesNo

API Principal - OKLabColor

Clase estática. Todos los métodos son funciones puras sin efectos secundarios.

Conversión de espacio de color

MétodoDescripción
RGBToOKLab(Color)Convertir RGB a OKLab (L, a, b)
OKLabToRGB(L, a, b)Convertir OKLab a RGB
OKLabToRGBSafe(L, a, b)Convertir con restricción de gamut (permanece en sRGB)

Interpolación

MétodoDescripción
LerpOKLab(Color a, Color b, float t)Interpolación perceptualmente uniforme
LerpLinearRGB(Color a, Color b, float t)Interpolación RGB de luz lineal

Ajustes

MétodoDescripción
AdjustLightness(Color, float delta)Cambiar luminosidad, preservar tono
AdjustChroma(Color, float delta)Cambiar saturación, preservar tono y luminosidad
GetLightness(Color)Obtener luminosidad OKLab (0-1)
GetChroma(Color)Obtener croma OKLab
GetHue(Color)Obtener ángulo de tono (0-360)

Accesibilidad

MétodoDescripción
WcagContrastRatio(Color fg, Color bg)Razón de contraste de luminancia WCAG 2.1
WcagRelativeLuminance(Color)Luminancia relativa por spec WCAG
BestTextColor(Color bg)Retorna negro o blanco para mejor legibilidad
PerceptualDelta(Color a, Color b)Distancia perceptual (delta E en OKLab)
EnsureMinDelta(Color, Color, float)Búsqueda binaria para imponer separación mínima

API de Paleta - OKLabPalette

Construye armonías, rampas y temas UI completos desde un solo color de acento.

Generación de armonía

ModoColoresDescripción
Complementary2Opuesto en la rueda de tono (180 grados)
Triadic3Tres tonos igualmente espaciados (120 grados)
Analogous3Tonos adyacentes (30 grados)
Split-Complementary3Complementario dividido en dos (150 y 210 grados)
Tetradic4Dos pares complementarios (90 grados)

Generación de rampa

MétodoDescripción
GenerateRamp(Color a, Color b, steps, BlendConstraint)Mezclar entre colores con restricción (Free, ConstantHue, ConstantChroma, ConstantLightness)
GenerateLightnessRamp(Color, steps)Rampa oscuro a claro con tono y croma constantes
HueRotate(Color, float degrees)Rotar tono con luminosidad y croma constantes

Herramientas del editor

Color Inspector

Window > DAWG Tools > OKLab Color Inspector
Comparación lado a lado de Gamma RGB vs Linear RGB vs OKLab lerp. Corte interactivo con clic/arrastre. Modos Lock Lightness y Lock Chroma. Indicadores de clipping de gamut, visualización de contraste WCAG, métricas de delta perceptual.

Palette Builder

Window > DAWG Tools > OKLab Palette Builder
Controles OKLCH con entrada hex y avisos de gamut. Pestaña Build (manual), pestaña Generate (harmony/ramp/UI theme), Ship tab (WCAG validation matrix, distance warnings). Export to .hex, .gpl, C# snippet, or ScriptableObject.

Generación de tema UI con un clic

Ingresa un solo color de acento y obtén un tema UI completo de 10 colores con fondos, superficies, texto, bordes y variantes de acento. Genera automáticamente variantes claras y oscuras. El auto-fix WCAG ajusta los colores via búsqueda binaria para cumplir los requisitos de contraste AA.

Instalación

// Unity Package Manager > Add package from disk
// Navigate to package.json and select it

// Then import the demo scene:
// Package Manager > OKLab Color Inspector PRO > Samples > Import

Requires Unity 2021.3 LTS or newer. Sin dependencias externas. Works with Built-in, URP, and HDRP render pipelines.