← Alle Pakete

OKLab Color Inspector Pro

Wahrnehmungsbasierte Farbe für Unity, basierend auf Bjorn Ottossons OKLab-Farbraum. Keine trüben Mittelpunkte, keine Farbtonverschiebung beim Abdunkeln, gleichmäßige Helligkeitsstufen. Die gleiche Farbwissenschaft hinter CSS Color Level 4 und Figma.

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

Schnellstart

Ein Using-Statement, null Setup. Funktioniert in jeder Render-Pipeline.

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

Warum OKLab statt HSV/HSL?

Standard-Farbräume lügen über die wahrnehmungsbasierte Gleichmäßigkeit. OKLab nicht.

ProblemHSV/HSLOKLab
Abdunkeln von Blau verschiebt nach LilaYesNo
Gelb und Blau bei gleichem L wirken gleich hellYesNo
Interpolation Rot→Grün erzeugt trübes BraunYesNo
50% Helligkeit variiert stark je nach FarbtonYesNo

Kern-API - OKLabColor

Statische Klasse. Alle Methoden sind reine Funktionen ohne Seiteneffekte.

Farbraum-Konvertierung

MethodeBeschreibung
RGBToOKLab(Color)RGB in OKLab (L, a, b) konvertieren
OKLabToRGB(L, a, b)OKLab in RGB konvertieren
OKLabToRGBSafe(L, a, b)Konvertierung mit Gamut-Clamping (bleibt in sRGB)

Interpolation

MethodeBeschreibung
LerpOKLab(Color a, Color b, float t)Wahrnehmungsbasiert gleichmäßige Interpolation
LerpLinearRGB(Color a, Color b, float t)Linear-Light-RGB-Interpolation

Anpassungen

MethodeBeschreibung
AdjustLightness(Color, float delta)Helligkeit ändern, Farbton erhalten
AdjustChroma(Color, float delta)Sättigung ändern, Farbton und Helligkeit erhalten
GetLightness(Color)OKLab-Helligkeit abrufen (0-1)
GetChroma(Color)OKLab-Chroma abrufen
GetHue(Color)Farbtonwinkel abrufen (0-360)

Barrierefreiheit

MethodeBeschreibung
WcagContrastRatio(Color fg, Color bg)WCAG 2.1-Luminanz-Kontrastverhältnis
WcagRelativeLuminance(Color)Relative Luminanz nach WCAG-Spezifikation
BestTextColor(Color bg)Gibt Schwarz oder Weiß für beste Lesbarkeit zurück
PerceptualDelta(Color a, Color b)Wahrnehmungsabstand (Delta E in OKLab)
EnsureMinDelta(Color, Color, float)Binärsuche zur Erzwingung minimaler Trennung

Paletten-API - OKLabPalette

Erstellen Sie Harmonien, Rampen und komplette UI-Themes aus einer einzigen Akzentfarbe.

Harmonie-Generierung

ModusFarbenBeschreibung
Complementary2Gegenüber auf dem Farbkreis (180 Grad)
Triadic3Drei gleichmäßig verteilte Farbtöne (120 Grad Abstand)
Analogous3Benachbarte Farbtöne (30 Grad Abstand)
Split-Complementary3Komplement in zwei geteilt (150 und 210 Grad)
Tetradic4Zwei Komplementärpaare (90 Grad Abstand)

Rampen-Generierung

MethodeBeschreibung
GenerateRamp(Color a, Color b, steps, BlendConstraint)Farbmischung mit Einschränkung (Free, ConstantHue, ConstantChroma, ConstantLightness)
GenerateLightnessRamp(Color, steps)Dunkel-zu-Hell-Rampe bei konstantem Farbton und Chroma
HueRotate(Color, float degrees)Farbton bei konstanter Helligkeit und Chroma rotieren

Editor-Werkzeuge

Color Inspector

Window > DAWG Tools > OKLab Color Inspector
Nebeneinander-Vergleich von Gamma-RGB vs Linear-RGB vs OKLab-Lerp. Interaktiver Schnitt mit Klick/Ziehen. Lock-Lightness- und Lock-Chroma-Modi. Gamut-Clipping-Indikatoren, WCAG-Kontrastanzeige, wahrnehmungsbasierte Delta-Metriken.

Palette Builder

Window > DAWG Tools > OKLab Palette Builder
OKLCH-Regler mit Hex-Eingabe und Gamut-Warnungen. Build-Tab (manuell), Generate-Tab (harmony/ramp/UI theme), Ship tab (WCAG validation matrix, distance warnings). Export to .hex, .gpl, C# snippet, or ScriptableObject.

Ein-Klick-UI-Theme-Generierung

Geben Sie eine einzige Akzentfarbe ein und erhalten Sie ein komplettes 10-Farben-UI-Theme mit Hintergründen, Oberflächen, Text, Rahmen und Akzentvarianten. Generiert automatisch sowohl helle als auch dunkle Varianten. WCAG-Auto-Fix passt Farben per Binärsuche an AA-Kontrastanforderungen an.

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. Keine externen Abhängigkeiten. Works with Built-in, URP, and HDRP render pipelines.