← 모든 패키지

OKLab Color Inspector Pro

Bjorn Ottosson의 OKLab 색 공간 기반 Unity용 지각적 색상. 탁한 중간점 없음, 어둡게 해도 색상 편이 없음, 균일한 밝기 단계. CSS Color Level 4와 Figma 뒤에 있는 동일한 색 과학.

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

빠른 시작

using 문 하나, 제로 설정. 모든 렌더 파이프라인에서 작동.

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

왜 HSV/HSL 대신 OKLab인가?

표준 색 공간은 지각적 균일성에 대해 거짓말합니다. OKLab은 그렇지 않습니다.

문제HSV/HSLOKLab
파란색을 어둡게 하면 보라색으로 편이YesNo
같은 L에서 노란색과 파란색이 동일하게 밝아 보임YesNo
빨강에서 초록으로 보간하면 탁한 갈색 생성YesNo
50% 밝기가 색상에 따라 크게 변동YesNo

핵심 API - OKLabColor

정적 클래스. 모든 메서드는 부작용 없는 순수 함수.

색 공간 변환

메서드설명
RGBToOKLab(Color)RGB를 OKLab (L, a, b)으로 변환
OKLabToRGB(L, a, b)OKLab을 RGB로 변환
OKLabToRGBSafe(L, a, b)가뭇 클램핑으로 변환(sRGB 유지)

보간

메서드설명
LerpOKLab(Color a, Color b, float t)지각적으로 균일한 보간
LerpLinearRGB(Color a, Color b, float t)리니어 라이트 RGB 보간

조정

메서드설명
AdjustLightness(Color, float delta)명도 변경, 색상 보존
AdjustChroma(Color, float delta)채도 변경, 색상과 명도 보존
GetLightness(Color)OKLab 명도 가져오기 (0-1)
GetChroma(Color)OKLab 채도 가져오기
GetHue(Color)색상 각도 가져오기 (0-360)

접근성

메서드설명
WcagContrastRatio(Color fg, Color bg)WCAG 2.1 휘도 대비율
WcagRelativeLuminance(Color)WCAG 사양에 따른 상대 휘도
BestTextColor(Color bg)최적의 가독성을 위해 검정 또는 흰색 반환
PerceptualDelta(Color a, Color b)지각적 거리(OKLab에서의 delta E)
EnsureMinDelta(Color, Color, float)최소 분리를 보장하는 이진 검색

팔레트 API - OKLabPalette

단일 강조색에서 하모니, 램프, 전체 UI 테마를 구축.

하모니 생성

모드색상 수설명
Complementary2색상 환의 반대편 (180도)
Triadic3균등 간격의 3색상 (120도 간격)
Analogous3인접 색상 (30도 간격)
Split-Complementary3보색을 둘로 분할 (150도와 210도)
Tetradic42개의 보색 쌍 (90도 간격)

램프 생성

메서드설명
GenerateRamp(Color a, Color b, steps, BlendConstraint)제약 조건이 있는 색상 블렌딩(Free, ConstantHue, ConstantChroma, ConstantLightness)
GenerateLightnessRamp(Color, steps)일정한 색상과 채도에서의 어두운→밝은 램프
HueRotate(Color, float degrees)일정한 명도와 채도에서 색상 회전

에디터 도구

Color Inspector

Window > DAWG Tools > OKLab Color Inspector
Gamma RGB vs Linear RGB vs OKLab lerp의 나란히 비교. 클릭/드래그로 인터랙티브 슬라이스. Lock Lightness와 Lock Chroma 모드. 가뭇 클리핑 표시기, WCAG 대비 표시, 지각적 델타 메트릭.

Palette Builder

Window > DAWG Tools > OKLab Palette Builder
hex 입력과 가뭇 경고가 포함된 OKLCH 슬라이더. Build 탭(수동), Generate 탭 (harmony/ramp/UI theme), Ship tab (WCAG validation matrix, distance warnings). Export to .hex, .gpl, C# snippet, or ScriptableObject.

원클릭 UI 테마 생성

단일 강조색을 입력하면 배경, 표면, 텍스트, 테두리, 강조 변형이 포함된 완전한 10색 UI 테마를 얻을 수 있습니다. 라이트와 다크 변형 모두 자동 생성. WCAG 자동 수정이 이진 검색으로 AA 대비 요구사항을 충족하도록 색상을 조정.

설치

// 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. 외부 의존성 없음. Works with Built-in, URP, and HDRP render pipelines.