94 lines
5.5 KiB
Plaintext
94 lines
5.5 KiB
Plaintext
|
|
# WL-814j 프로브 2026-09-12 18:34:01 (edit mode · Play 0)
|
|||
|
|
playMode=True · colorSpace=Linear
|
|||
|
|
|
|||
|
|
── A. 전제 — SO · 셰이더 · 렌더러 피처
|
|||
|
|
PASS A1 SO — Resources/WL/WLPaletteSettings · enabled True · levels 6 · dither 0.6
|
|||
|
|
PASS A2 셰이더 — WL/Look/PaletteDither · isSupported True · passCount 1
|
|||
|
|
PASS A3 렌더러 에셋 — Assets/Settings/URP-Balanced-Renderer.asset
|
|||
|
|
피처 3개(순서대로):
|
|||
|
|
[0] SSAO [ScreenSpaceAmbientOcclusion] active=True
|
|||
|
|
[1] PixelOutlineSetup [PixelOutlineSetupFeature] active=False
|
|||
|
|
[2] WLPaletteDither [PaletteDitherFeature] active=False
|
|||
|
|
PASS A4 팔레트 피처 1건만 — WLPaletteDither 1개
|
|||
|
|
PASS A5 피처 찾기·켜기 — isActive=True
|
|||
|
|
PASS A6 머티리얼 생성 — WL/Look/PaletteDither
|
|||
|
|
|
|||
|
|
── B. 🔴 대상 카메라에서만 패스 삽입 (뷰·UI·프리뷰 0)
|
|||
|
|
PASS B1 대상 카메라 = 패스 1건 — PassesAdded 1 · 대상 '__WL814j_Target' · 이벤트 AfterRenderingPostProcessing
|
|||
|
|
PASS B2 다른 카메라 = 패스 0 — PassesAdded 0 · skip=대상 아님
|
|||
|
|
PASS B3 프리뷰 카메라 = 패스 0 — PassesAdded 0 · skip=cameraType Preview
|
|||
|
|
PASS B4 대상 없음 = 패스 0 — 리그조립 False · skip=대상 카메라 없음
|
|||
|
|
렌더러 피처 배열 순서 = SSAO → PixelOutlineSetup → WLPaletteDither
|
|||
|
|
팔레트 패스 이벤트 = AfterRenderingPostProcessing(600) · SO afterPostProcessing=True
|
|||
|
|
814c PixelOutlineSetup 이벤트 = AfterRenderingOpaques(300) — 빈 패스로 깊이·노멀·색 텍스처만 켠다.
|
|||
|
|
→ 외곽선 자체는 Critter Toon 머티리얼 안에서 **불투명 지오메트리와 함께** 그려지므로 항상 이 패스보다 앞이다 = 외곽선까지 양자화된다.
|
|||
|
|
PASS B5 팔레트가 외곽선보다 뒤 — 600 > 300
|
|||
|
|
|
|||
|
|
── C. 🔴 Bayer 디더 격자가 RT 픽셀과 1:1 (단색 화면 · 4×4 주기 실측)
|
|||
|
|
PASS C1 디더 0 → 단색 1종 — 고유 색 1종 · rgb(153,102,153)
|
|||
|
|
PASS C2 디더 4×4 → 색 2종 이상 — 고유 색 4종
|
|||
|
|
PASS C3 x 주기 4 정확 — p(x,y) != p(x+4,y) 인 픽셀 0개 / 31440
|
|||
|
|
PASS C4 y 주기 4 정확 — p(x,y) != p(x,y+4) 인 픽셀 0개 / 31860
|
|||
|
|
PASS C5 주기 2 아님(= 진짜 4×4) — x 15960 · y 16065 개 불일치
|
|||
|
|
PASS C6 8×8 x 주기 8 정확 — 불일치 0개
|
|||
|
|
PASS C7 8×8 y 주기 8 정확 — 불일치 0개
|
|||
|
|
PASS C8g 8×8 는 주기 4 아님 — 주기 4 불일치 2910개
|
|||
|
|
→ 디더 점 1개 = 저해상도 RT 1픽셀(135×240). 화면(1080×1920)에서는 Point 확대로 8×8 화면픽셀 블록이 된다.
|
|||
|
|
|
|||
|
|
── D. 채널 레벨별 색 수 (그라데이션 화면 · levels^3 상한 실측)
|
|||
|
|
|
|||
|
|
| levels | dither | 고유 색 수 | 상한 levels^3 |
|
|||
|
|
|---|---|---|---|
|
|||
|
|
| (패스 없음) | — | 1828 | — |
|
|||
|
|
| 4 | 0.6 | 9 | 64 |
|
|||
|
|
PASS D1 levels 4 상한 준수 — 9 ≤ 64
|
|||
|
|
| 6 | 0.6 | 13 | 216 |
|
|||
|
|
PASS D2 levels 6 상한 준수 — 13 ≤ 216
|
|||
|
|
| 8 | 0.6 | 22 | 512 |
|
|||
|
|
PASS D3 levels 8 상한 준수 — 22 ≤ 512
|
|||
|
|
PASS D4 색 수 감소 — 패스 없음 1828종 → levels 6 13종
|
|||
|
|
|
|||
|
|
── E. GC — 프레임당 할당 0
|
|||
|
|
PASS E PaletteDither.Tick ×200k — mono Δ0 B · profiler Δ0 B · gen0 244→244
|
|||
|
|
PASS E PaletteDither.Want ×200k — mono Δ0 B · profiler Δ0 B · gen0 246→246
|
|||
|
|
PASS E 피처 값 푸시(SO→머티리얼) ×200k — mono Δ0 B · profiler Δ0 B · gen0 248→248
|
|||
|
|
PASS E9 대조군 16 MB 감지 — Δ16781312 B = 계기 감도 확인
|
|||
|
|
|
|||
|
|
── F. C8 — SO off / 피처 off 면 저해상도 RT 가 원본과 픽셀 단위로 같다
|
|||
|
|
PASS F1 SO off → 패스 0 — PassesAdded 0 · skip=SO off
|
|||
|
|
PASS F2 SO off → 픽셀 동일 — 해시 -5621533481151061762 vs -5621533481151061762
|
|||
|
|
PASS F3 피처 off → AddRenderPasses 호출 0 — added 0 · skipped 0(URP 가 비활성 피처를 아예 안 부른다)
|
|||
|
|
PASS F4 피처 off → 픽셀 동일 — 해시 -5621533481151061762 vs -5621533481151061762
|
|||
|
|
PASS F5 대조군 — 켜면 달라진다 — 해시 1679459652402882898 != -5621533481151061762
|
|||
|
|
|
|||
|
|
── G. 도트 모드 전환 3회 왕복 — 예외 0 · 대상 카메라가 리그 게임 카메라로 따라온다
|
|||
|
|
PASS G1 Camera.main 존재 — Camera.main = Main Camera · 프로브가 넣은 것 = __WL814j_MainCamera
|
|||
|
|
PASS G2 인게임 판정 — InLobby=False
|
|||
|
|
|
|||
|
|
| 왕복 | 모드 | 리그조립 | 대상 카메라 | RT | 팔레트 on | 피처 active |
|
|||
|
|
|---|---|---|---|---|---|---|
|
|||
|
|
| 1 | 1 | O | PixelCamera | 135×240 | True | True |
|
|||
|
|
PASS G1a 도트 모드 → on — on=True 피처=True
|
|||
|
|
PASS G1b 대상 = 리그 게임 카메라 — PixelCamera
|
|||
|
|
| 1 | 0 | - | (없음) | — | False | False |
|
|||
|
|
PASS G1c 기본 모드 → off — on=False 피처=False
|
|||
|
|
| 2 | 1 | O | PixelCamera | 135×240 | True | True |
|
|||
|
|
PASS G2a 도트 모드 → on — on=True 피처=True
|
|||
|
|
PASS G2b 대상 = 리그 게임 카메라 — PixelCamera
|
|||
|
|
| 2 | 0 | - | (없음) | — | False | False |
|
|||
|
|
PASS G2c 기본 모드 → off — on=False 피처=False
|
|||
|
|
| 3 | 1 | O | PixelCamera | 135×240 | True | True |
|
|||
|
|
PASS G3a 도트 모드 → on — on=True 피처=True
|
|||
|
|
PASS G3b 대상 = 리그 게임 카메라 — PixelCamera
|
|||
|
|
| 3 | 0 | - | (없음) | — | False | False |
|
|||
|
|
PASS G3c 기본 모드 → off — on=False 피처=False
|
|||
|
|
PASS G9 예외 0 — 0건
|
|||
|
|
[Palette] on=False 피처활성=False 대상=(없음) · 모드 0 리그 False · levels 6 dither 0.6 (4x4) · 패스 추가 1 건너뜀 0 · on 3 off 3 허브이벤트 6
|
|||
|
|
PASS G10 로비 강등 → off — AppliedMode 0 · on False
|
|||
|
|
|
|||
|
|
── Z. 정리
|
|||
|
|
남은 카메라 8개 · 리그조립 False · 피처 active False
|
|||
|
|
AssetDatabase.SaveAssets 호출 0 · 씬 저장 0
|
|||
|
|
|
|||
|
|
RESULT PASS · 45/45 · FAIL 0
|