← Tous les packages

OKLab Color Inspector Pro

Couleur perceptuelle pour Unity, basée sur l'espace colorimétrique OKLab de Bjorn Ottosson. Pas de points intermédiaires boueux, pas de dérive de teinte à l'assombrissement, pas uniformes de luminosité. La même science des couleurs derrière CSS Color Level 4 et Figma.

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

Démarrage rapide

Une instruction using, zéro configuration. Fonctionne dans tout pipeline de rendu.

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);

Pourquoi OKLab plutôt que HSV/HSL ?

Les espaces colorimétriques standard mentent sur l'uniformité perceptuelle. OKLab non.

ProblèmeHSV/HSLOKLab
Assombrir le bleu dérive vers le violetYesNo
Jaune et bleu au même L semblent également lumineuxYesNo
L'interpolation rouge vers vert produit un brun boueuxYesNo
50% de luminosité varie fortement selon la teinteYesNo

API Principale - OKLabColor

Classe statique. Toutes les méthodes sont des fonctions pures sans effets de bord.

Conversion d'espace colorimétrique

MéthodeDescription
RGBToOKLab(Color)Convertir RGB en OKLab (L, a, b)
OKLabToRGB(L, a, b)Convertir OKLab en RGB
OKLabToRGBSafe(L, a, b)Convertir avec clamping de gamut (reste en sRGB)

Interpolation

MéthodeDescription
LerpOKLab(Color a, Color b, float t)Interpolation perceptuellement uniforme
LerpLinearRGB(Color a, Color b, float t)Interpolation RGB en lumière linéaire

Ajustements

MéthodeDescription
AdjustLightness(Color, float delta)Changer la luminosité, préserver la teinte
AdjustChroma(Color, float delta)Changer la saturation, préserver teinte et luminosité
GetLightness(Color)Obtenir la luminosité OKLab (0-1)
GetChroma(Color)Obtenir le chroma OKLab
GetHue(Color)Obtenir l'angle de teinte (0-360)

Accessibilité

MéthodeDescription
WcagContrastRatio(Color fg, Color bg)Ratio de contraste de luminance WCAG 2.1
WcagRelativeLuminance(Color)Luminance relative par spécification WCAG
BestTextColor(Color bg)Retourne noir ou blanc pour une meilleure lisibilité
PerceptualDelta(Color a, Color b)Distance perceptuelle (delta E en OKLab)
EnsureMinDelta(Color, Color, float)Recherche binaire pour imposer une séparation minimale

API Palette - OKLabPalette

Construisez des harmonies, des rampes et des thèmes UI complets à partir d'une seule couleur d'accent.

Génération d'harmonies

ModeCouleursDescription
Complementary2Opposé sur la roue de teinte (180 degrés)
Triadic3Trois teintes également espacées (120 degrés)
Analogous3Teintes adjacentes (30 degrés)
Split-Complementary3Complémentaire divisé en deux (150 et 210 degrés)
Tetradic4Deux paires complémentaires (90 degrés)

Génération de rampes

MéthodeDescription
GenerateRamp(Color a, Color b, steps, BlendConstraint)Mélange entre couleurs avec contrainte (Free, ConstantHue, ConstantChroma, ConstantLightness)
GenerateLightnessRamp(Color, steps)Rampe sombre à clair à teinte et chroma constants
HueRotate(Color, float degrees)Rotation de la teinte à luminosité et chroma constants

Outils éditeur

Color Inspector

Window > DAWG Tools > OKLab Color Inspector
Comparaison côte à côte de Gamma RGB vs Linear RGB vs OKLab lerp. Tranche interactive clic/glisser. Modes Lock Lightness et Lock Chroma. Indicateurs de clipping de gamut, affichage de contraste WCAG, métriques de delta perceptuel.

Palette Builder

Window > DAWG Tools > OKLab Palette Builder
Curseurs OKLCH avec entrée hex et avertissements de gamut. Onglet Build (manuel), onglet Generate (harmony/ramp/UI theme), Ship tab (WCAG validation matrix, distance warnings). Export to .hex, .gpl, C# snippet, or ScriptableObject.

Génération de thème UI en un clic

Entrez une seule couleur d'accent et obtenez un thème UI complet de 10 couleurs avec arrière-plans, surfaces, texte, bordures et variantes d'accent. Génère automatiquement les variantes claire et sombre. L'auto-fix WCAG ajuste les couleurs par recherche binaire pour respecter les exigences de contraste AA.

Installation

// 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. Aucune dépendance externe. Works with Built-in, URP, and HDRP render pipelines.