Commit Graph

67 Commits

Author SHA1 Message Date
깃 관리자 112eca1b72 [WL-816zg] 섬 물가 스커트(완만한 모래 경사) (#816)
PD 결정(2026-09-15 「물은 진행」): 데모 연못처럼 섬 가장자리가 완만한 모래 경사로 물에 잠기게.

- 신규 WLShoreSkirt.cs — 열린 타일(FI Island IsUnlocked · 한 변 IslandManager.IslandSize) 발자국의
  바깥 테두리 선분까지의 유클리드 거리장(부호: 안 −/밖 +)으로 격자(셀 0.5 m) 띠 메시 1장 생성.
  y = smoothstep(d / skirtWidth) 로 윗면(0 − skirtTopDrop 0.04) → skirtBottomY −1.8 ·
  안쪽 d < −0.3 은 만들지 않음 · 격자 원점을 타일 가장자리에 맞춰 틈 0 · 볼록 모서리는 자동으로 둥긂.
  정점색 = d 0~0.6 풀색(islandTopMaterial _DiffuseColor) → 모래색(softDirtColor) · 물 아래 ×0.85.
  멱등(발자국·값 서명) · 드로우콜 +1 · 삼각형 수 로그.
- 신규 Shaders/WLShoreSkirt.shader `WL/Shore Skirt` — URP 언릿 정점색 · 불투명 · 그림자 off ·
  DepthOnly/DepthNormals 패스 포함(물 셰이더가 깊이로 물가 띠를 만들므로 깊이 프리패스 모드에서도 보이게) ·
  SRP Batcher 호환 · target 2.0 · 텍스처 0.
- WLIslandLookSettings §0-c: shoreSkirtEnabled 1 · skirtWidth 3.0 · skirtBottomY −1.8 · skirtGrassBand 0.6 ·
  skirtSandBlend 0.6 · skirtCell 0.5 · skirtInnerKeep 0.3 · skirtTopDrop 0.04 · skirtTopMode 1(고정 skirtTopY 0) ·
  skirtUnderwaterMul 0.85 · skirtGrassFallback · skirtMaxGridNodes 400000 · shoreSkirtMaterial(선택).
  되돌리기 = shoreSkirtEnabled 0.
- WLIslandLook.Apply: SpawnSeabed 다음에 SpawnShoreSkirt · 재훑기·RequestGrassRebuild(확장) 같은 훅에서 재생성 · 로그 항목.
- 원본(FarmingIsland/3DPixelArtEnvironment/Script) 0줄 · ProjectSettings 0줄 · 유니티 미실행(컴파일은 Lead).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-09-16 00:01:24 +09:00
깃 관리자 3752b0484c [WL-816ze] 바다 바닥판(SpawnSeabed) — 데모 물 셰이더는 깊이로 색·거품을 정하는데 바닥이 없어 배경색이 비쳐 진파랑이던 것 → 물 아래 0.8 m 모래색 판 1장(삼각형 2 · 되돌리기 seabedEnabled 0) (#816)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 23:39:35 +09:00
깃 관리자 8c49c4ef16 [WL-816ze] 가장자리 무늬·그라데이션 — 풀 물 위 넘침 0(떠 있던 풀 제거) · 풀 0.1·밀도 5 · 구름 무늬 40 m(0.025)·강도 0.5 (#816)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 23:30:48 +09:00
깃 관리자 cd426eff9b [WL-816ze] 색감 데모 실측 정합 — 들판 0.62/0.82/0.485(렌더 156/207/122 = 데모) · 구름 강도 0.4 · 흙 데칼 sRGB 0.71/0.706/0.549(렌더 178/177/138 = 데모 모래) (#816)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 23:24:40 +09:00
깃 관리자 642e6c07e0 [WL-816w/816ze] 울타리 정체 = 전투 장벽 그림(WL815c) 잔존 → 섬 진입 시 즉시 정리(StageBarrierVisual.HideImmediate) · 확장 발판 활성 씬 허용 · 풀 비율(0.15·밀도 4·자갈 0.35) · 풀잎=땅색(형상 숨김) · 구름 그림자 섬 크기(0.06/0.7) · 타일 텍스처 제거 (#816)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 23:15:50 +09:00
깃 관리자 c88d0fa7e2 [WL-816w] 울타리 원천 차단 — IslandManager.islandMeshes 목록 항목을 난간 제거 복제본으로 교체(ConfigureIsland 가 확장·재구성마다 원본 메시를 다시 물려 되살아나던 것) · 신규 .cs meta 2건 (#816)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 21:07:33 +09:00
깃 관리자 6b3040366d Merge branch 'wl/systems/WL-816zf-soft-dirt' 2026-09-15 19:11:37 +09:00
깃 관리자 6d7ae4f916 [WL-816ze] 물·풀·바닥 = 데모 값 전사 (#816)
물 — 데모 Water.mat 전사본 Farm_Water_Demo3.mat (색·톤 0 변경).
  UV 밀도만 스케일비 보정: 우리 물 = Level01.unity Water scale 100 x 빌트인 Plane 10 m = 1000 m,
  데모 = Demo.unity:4651 Water_Plane scale 4.39/4.18 x 10 m = 43.9/41.8 m (양쪽 부모 scale 1).
  비 = sqrt((1000/43.9)*(1000/41.8)) = 23.3442.
  _DistortionTiling 1 -> 23.3442 (RawDistortion: DistortionTiling -> TilingAndOffset.Tiling)
  _FoamScale 50 -> 1167.212      (Foam: FoamScale -> GradientNoise.Scale)
  _FoamSpeed 0.01 -> 0.00042837  (Offset 는 Tiling 뒤가 아니라 앞이라 비로 나눠야 월드 속도가 같다)
  _DistortionSpeed 0.06 유지 — Tiling 이 나누므로 월드 속도 2.63 -> 2.57 m/s 로 자동 일치.
  URP-Balanced m_RequireDepthTexture/m_RequireOpaqueTexture 둘 다 1 = 깊이 거품 동작 (차단 없음).

풀 — 데모 Instanced_Grass.mat 전사본 Farm_Grass_Demo3.mat (값 0 변경).
  scatter[0].material Farm_Grass_Arena -> Farm_Grass_Demo3 · scale 0.7 -> 0.35 (Demo.unity:1287).
  816q 가 _ShadowDiffuseColor 를 0.25/0.33/0.24 -> 0.58/0.83/0.59 로 올려 음영이 사라졌던 것이 원복된다.
  꽃·자갈은 메시·머티리얼·확률·스케일·오프셋이 데모와 이미 동일 = 무변경. variance 0.5/0.2 도 동일.

바닥 — Farm_IslandTop_Demo3.mat (셰이더 유지 · 데모 Terrain.mat 값 전사).
  _Shades 7 · _Brightness 0.25 · _MinimumDarkness 0.2 는 이미 동일.
  _DiffuseColor -> _RedHighlight 0.7752982/0.9528302/0.5977661
  _ShadowDiffuseColor -> _RedShadow 0.2517783/0.3254902/0.23529412
  (데모 잔디 지면 = Red 채널. _GreenHighlight 0.84/0.83/0.65 는 모래·흙 채널이다 —
   _RedHighlight 가 Instanced_Grass._DiffuseColor 와 소수 4자리까지 일치하는 것이 근거.)
  _OUTLINESENABLED 1 -> 0 + m_ValidKeywords 에서 제거 (데모 Terrain.mat 에 외곽선 프로퍼티 없음).

스위치 — applyReferenceLook 1 -> 0 (814t 대비 보정 + WL/HullOutline inverted hull. 기존 필드라 신설 없음),
  islandOutlineEnabled 0 신설 (1 일 때만 타일 셰이더 외곽선을 런타임 복구 = 기본 경로 무동작).
  shoreFoamEnabled 0 유지. materialRemap 2행 to 도 같은 전사본으로 (islandTopMaterial 과 동일 유지).

되돌리기: waterTo -> 3979675f9f9bd5d4b9191aad8f2091e1 · islandTopMaterial/remap 2행 -> eba171966111423bbabd5fc93575b339
  · scatter[0] -> dc21f047088dee14f9b080798ebe8560 / scale 0.7 · applyReferenceLook 1.
원본 0줄: Assets/3DPixelArtEnvironment/** · Assets/FarmingIsland/** 무변경(복사본만).
유니티 사용 0회 (파일 읽기·쓰기 + git 만).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 19:06:52 +09:00
깃 관리자 78088e8559 [WL-816zf] 흙 자리 부드러운 데칼 (#816)
밭 구역(WLIslandGateFlow.ZoneBounds)을 덮는 평면 메시 1장 + 런타임 마스크
텍스처(모서리 라운드 + 셀 노이즈 경계 + 가장자리 페이드)로 흙을 그린다.
각진 1×1 흙 타일(Soil) 렌더러는 데칼과 배타로 숨긴다(showFarmSoil 무효화).
816za 풀 제외는 같은 마스크(WLSoftDirt.SignedDist)를 읽어, 풀 톱니가 데칼
가장자리 안쪽 softDirtGrassBite(0.3 m)까지 파고든다 — 경계 정의는 한 곳뿐.

- WLSoftDirt.cs 신규 — 메시·텍스처·머티리얼 전부 런타임 생성(에셋 0줄 · 드로우콜 +1)
- WLIslandLookSettings — §816zf 값 14개(softDirtEnabled 0 이면 100 % 복귀)
- WLIslandLook — 데칼을 풀보다 먼저 생성 · 재훑기/확장 훅에서 재생성 후 풀 재배치
- WLIslandGateFlow — 데칼 활성 시 Soil 렌더러 숨김 · 구역 바운즈를 꺼 둔 렌더러까지
  세도록 수정(재훑기 2회차부터 구역을 통째로 잃던 문제)

🔴 미확인 — 유니티 미실행(발주 조건). 컴파일·화면 확인은 Lead 담당.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 19:06:15 +09:00
깃 관리자 70a3eb380f [WL-816w] 울타리 진범 = FI 타일 메시에 구워진 난간 — 타일 메시 복제 후 윗면 위 삼각형 제거(WLIslandTileFenceStrip · stripBakedFences 1) · 섬 윤곽 풀 라운드 R 3 m·넘침 0.6 (PD 실측 지시 · #816)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 18:17:03 +09:00
깃 관리자 74a08191b6 [WL-816zd] 섬 윤곽 둥근 풀 배치 (#816)
땅(타일 메시)은 각진 그대로 두고, 풀 카펫의 **바깥 윤곽만** 둥글게 읽히도록
배치 넓이를 바꾼다. PD 원문 「땅은 각지게 만든 상태로, 풀을 라운딩 느낌이 나게
배치해서 만들어도 되잖아」.

- WLIslandGrass: 윗면 마스크 + edgeInset 네 방향 검사 대신, 섬 footprint 를
  반지름 R 로 **열고**(침식 후 팽창 = 볼록 모서리가 R 로 둥글어짐) 바깥으로
  overhang 만큼 팽창한 거리장으로 자른다. 침식·팽창 모두 결합적이라
  「(inset+R) 침식 → (R+overhang) 팽창」 거리장 두 장이면 끝난다.
  기준선이 edgeInset 이라 overhang = edgeInset 이면 바깥선이 지금과 같고
  (모서리만 둥글어짐), 그보다 크면 차이만큼 절벽 위로 넘친다.
- 거리 변환은 816j2 WLShoreFoam.Chamfer 를 그대로 쓴다(public 승격 · 정의 SOT 1곳).
- 넓힌 칸 범위가 이웃 타일과 겹치므로 OwnerTile(체비쇼프 최근접)로 칸 하나를
  한 타일만 만들게 해 중복 0.
- 길·밭·소품 제외와 816za 밭 라운드는 무변경. 인스턴싱 bounds 에 overhang 반영.
- SO: outlineRoundEnabled 1 · outlineRoundRadius 1.5 · outlineOverhang 0.3
  · outlineRoundCell 0.25 (0 이면 현행 배치 그대로 = 되돌리기 1값).
- FI 원본 0줄 · 씬 0줄.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 17:18:08 +09:00
깃 관리자 dd5757bc4b [WL-816za] 밭 자리 풀 경계 라운드 (#816)
밭(흙) 제외 사각형을 반듯한 사각형 대신 「모서리 반지름 + 경계 노이즈」로 판정해
풀이 흙 가장자리로 불규칙하게 파고들게 한다. 길·건물·소품 제외 규칙은 무변경.

- WLIslandLookSettings: farmEdgeRoundEnabled 1 / farmEdgeRadius 1.0 / farmEdgeNoise 0.4 / farmEdgeNoiseCell 0.5
- WLIslandGrass: 밭 rect 를 _farmRounds 로 분리 + InRoundedFarm(둥근 모서리 + 값 노이즈) 판정
- 라운드 모드에서 밭 안에 든 Soil 1x1 사각형은 빼서 깎아낸 모서리를 도로 메우지 않게 함
- farmEdgeRoundEnabled 0 이면 기존 동작 그대로

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 15:55:02 +09:00
깃 관리자 2799b311b6 [WL-816w] 울타리 숨김 = 섬 타일 전 하위·이름 포함 검색 + 시작 후 8회 재숨김 · 밭 체크무늬 off(soilCheckerContrast 0) (PD 2026-09-15 · #816)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 15:47:34 +09:00
깃 관리자 91fbe5ba9f [WL-816w] 이동 깜빡임 실측 · 섬 울타리 제거 · 밭 자리 흙 (#816)
① 깜빡임: PD 경로(InGame+Level01 Additive)에서 걸으며 프레임별 실측 — 재현 0
   (화면차 중앙값 2.61 · 중앙값×3 초과 0/119 · 렌더러 증감 0/89 · dt 16.7ms 일정).
   viewCull ON/OFF 대조도 1154~1155 · 튐 0 → 값 변경 없음.
② 울타리: IslandManager/Island (0)/Fence01·(1)·(2) = FI 섬 타일 장식(Farm 자식 아님).
   hideIslandFences 로 렌더러만 끈다(원본 0줄 · 확장 타일도 Co_ReHide 에서).
③ 밭 자리 흙: showFarmSoil 로 Soil 렌더러는 남기고(콜라이더는 계속 off)
   soilTargetColor 를 화면 실측으로 재수렴 (164,168,138) vs 데모 흙 (164,168,139).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 14:59:53 +09:00
깃 관리자 b3a4819226 [WL-816q] 가시 범위 풀 재선정 끔(viewCullEnabled 1→0) — PD 「이동 시 화면 깜빡임」 1차 조치 · 4타일 섬은 컬링 이득 0 (#816)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 14:40:13 +09:00
깃 관리자 75f1333583 [WL-816r] 풀 없는 지형(길·밭·흙띠) = 데모 흙 톤 (#816)
- 데모 실측: 흙 = 툰 단색(고유색 21 · 에지 1.11% · 질감/노이즈 0) · 화면색 #A4A88B vs 풀 #97C284
- 섬 윗면 텍스처 모래/흙 사분면 #CCCBB5/#807057 → #AEC4AC/#88A086 (초록 #A0E4A2 바이트 무변경)
- 같은 프레임 띠/초록 비 = 1.0740,0.8479,1.0487 (데모 1.0861,0.8660,1.0530 · 채널당 ≤5)
- 길 Farm_Road01_ToonTex _DiffuseColor #DDC89D → #ADC3AB · 그림자비 = 데모 흙 비(0.3596,0.2741,0.2051)
- 밭 soilTargetEnabled/soilTargetColor 신설 — 칸 구분·마름/젖음 밝기비 보존한 채 목표 흙색으로 이동
- 되돌리기 = SO 참조 1개(islandTopMaterial/remap → Arena2) + soilTargetEnabled 0

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 09:49:32 +09:00
깃 관리자 dd5a47bab2 [WL-816q] 가시 범위 — 첫 배치 때 카메라가 없었으면 생긴 뒤 다시 고르게 (#816)
ViewMovedEnough 가 _viewOn=false 에서 곧장 false 를 돌려줘, 카메라가 씬보다 늦게 생기는 경우
가시 범위가 영영 안 켜지고 섬 전체에 인스턴스가 남았다(그림은 정상 · 최적화만 무효).
카메라가 생겼는데 아직 범위를 못 잡았으면 true 를 돌려 한 번 다시 고르게 한다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 08:38:58 +09:00
깃 관리자 cdb324a57d [WL-816q] 풀 높이 0.35→0.7(띠 가장자리 톱니 폭) · 가시 범위를 바닥 사다리꼴로 교정 (#816)
- 톱니 윤곽 폭 = 풀 높이 × cot(태양고도). scale 스윕 실측(같은 카메라·같은 구름 위상):
  0.35 에지% 1.05 / 0.50 1.20 / 0.70 1.39 / 0.90 1.43 (데모 참고 1.22) · 인스턴스·삼각형·드로우콜 불변.
  0.70 = 데모의 띠 가장자리 밀도(≈4개/m)와 같은 폭 → 채택.
- 가시 범위: 절두체 평면을 그대로 밀면 위쪽 평면이 바닥과 15° 라 8 m 가 바닥에서 31 m 로 벌어졌다
  (실측 618 → 3,731 ㎡). **바닥 사다리꼴을 2 차원으로** 미는 방식으로 교정 → 여유 4 m 에서 643 → 1,151 ㎡.
  viewMargin 8→4 · viewRebuildStep 2.5→1.5 · viewMaxDistance 40 · viewRebuildAngle 3 신설.
- 팝 0 실측: 보폭 1.5 m 이동 후 [다시 고르기 전] vs [고른 뒤] 화면 차이 **0 픽셀**.
  0/2/4 s 좌표 지문 동일(75934715234309) = 생성·소멸·이동 0.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 08:31:20 +09:00
깃 관리자 7e0733307e [WL-816q] 범인 = 풀이 바닥보다 늘 어둡다 · 풀을 바닥과 같은 톤으로 맞춰 띠 복원 + 가시 범위 배치 (#816)
- 실측: 바닥만 렌더하면 띠세기LF 7.31 / 포기잡음HF 0.39 (매끈한 띠). 풀을 켜면 HF 4.22(10.8배)
  에지% 0.86 → 14.06(16.3배). 풀이 바닥 대비 0.943/0.900/0.882 배로 「항상 더 어두워」 띠를 덮었다.
- 수렴 실측: 풀 색 × (1.0737, 1.1189, 1.1365) 에서 보이는 풀 31.0% → 0.6%
  (구름 위상 3곳 전부 0.56~0.68%). 띠 안쪽에서 바닥과 같은 픽셀 = 데모와 같은 원리.
- _Cloud_Change 0.001→0.005 · _Cloud_Movement (0.2,0.2)→(1,1) = 데모 원값 복귀(풀·바닥 동일).
- 가시 범위 배치(816q §3): 월드 고정 격자는 그대로 두고 카메라 시야 사각형 + 여유 8 m 안만 남긴다.
  여유(8) > 재선정 보폭(2.5) 이라 늘고 주는 것은 화면 밖에서만 — 좌표는 불변(순간이동 0).
  되돌리기 = viewCullEnabled 0.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 08:13:25 +09:00
깃 관리자 433540dcb9 [WL-816o] 구름 경계 배치 끔(cloudEdgeEnabled 0 = 816n 균일 배치로 복귀) — PD 「풀이 순간이동하는 것처럼 보임 · 데모 느낌 아님」 (#816)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-15 07:45:24 +09:00
깃 관리자 b23489def9 [WL-816o] 섬 풀밭 = 구름 경계 기준 최적화 배치 (#816)
PD 「데모와 같은 비주얼 · 잔디를 많이 심지 않는 최적화 로직(구름 그림자 기준 배치)」

- WLCloudShadow.cs(신규) — 데모 Toon 셰이더의 구름 그림자를 CPU 에서 같은 식으로 재현.
  CloudShadows/ToonLighting/ToonRamp 서브그래프 + CloudNoise.hlsl(6 옥타브 FBM) +
  SimplexNoise3D.hlsl(Ashima snoise) 1:1 이식. 값은 전부 머티리얼에서 읽는다(C45).
  노이즈는 성긴 격자(1 m)에서만 계산하고 판정 격자(0.3 m)는 겹선형 보간 → 굽기 2.2 ms.
- WLIslandGrass.cs — 후보를 캐시하고, 띠 밖 후보를 잘라 낸다. 구름이 흐르면
  RefreshCloudEdges() 로 「고르기」만 다시 한다(타일·제외 사각형 재수집 없음).
- WLIslandLookSettings.cs — §2 값 9개(되돌리기 스위치 cloudEdgeEnabled=0 → 816n 상태).
- WLIslandLook.cs — 기존 확장 감시 코루틴에 주기 갱신 1줄 추가.

실측(4타일 · PD 구도 12 m/45°/fov 60): 인스턴스 1,155 → 382(33.1%) ·
삼각형 10,380 → 3,435(33.1%) · 드로우콜 +2 유지 · 띠 면적 16.8%(데모 실측 15.7%).
원본(3DPixelArtEnvironment · FarmingIsland · Script · Packages · ProjectSettings) 0줄.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 02:09:26 +09:00
깃 관리자 6ff9df92a9 [WL-816n] 섬 풀밭 = 데모 배치 규칙(밀도 2.5) + 구름 그림자 5배 감속 (#816)
- 실측: 데모 바닥의 「등고선 띠」 = 구름 그림자 (고유색 99→59 · 색경계% 0.13→0.02 · _Cloud_Strength=0 격리 렌더)
- 실측: 데모 풀 배치 = 균일 격자(TerrainInstancesBehaviour · Density 2.5 · PositionVariance 0.5) — 경계 마스크 아님
- 실측: 데모 풀/바닥 밝기비 0.933 · 보이는 풀의 88%가 경계대(면적 15.7%)에 몰림 = 5.6배 집중
- 적용: scatter 밀도 1.8→2.5 · Farm_IslandTop_Arena/Farm_Grass_Arena 신규(구름 _Cloud_Change 0.005→0.001 · _Cloud_Movement (1,1)→(0.2,0.2)) · 풀색 x0.93

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 01:36:47 +09:00
깃 관리자 7fc9c10619 [WL-816k] 섬 바다 = 얕은 물 그라데이션 · 둘레 흰 띠 제거 (#816)
PD 2026-09-15: ① 흰 거품띠가 안개 같다 ② 물이 섬을 통과하는 느낌.

데모(Critter) 물 셰이더는 우리 카메라/URP 에서 **돌긴 한다**(복사본 Farm_Water_Demo.mat ·
깨짐 0 · queue 3000 · URP-Balanced 깊이·불투명 텍스처 둘 다 on 실측). 다만
ⓐ 무늬가 UV 기반이라 섬 물 평면(1000 m)이 데모 평면(10 m)의 100배 → 무늬가 사라지고
ⓑ 색 6안을 돌려도 814t 톤(#5C96C2)에 못 닿는다(최선 #2EBCF3 · 거리 77.2 · 쨍한 원색)
ⓒ 물가Δ 가 음수(-0.02) = 섬에 반응하지 않는다.
→ 채택하지 않고 대안 ⓑ 로 갔다(증거용으로 복사본은 남긴다).

채택 = Farm_Water_WL_F.mat (= E 복사본 · ToonWaterU · 814t 톤 그대로)
  FoamColor (0.62,0.82,0.90) · FoamDistance 2.2 · FoamEdge 3
  816j2 가 꺼 둔 깊이 거품을 **흰 거품이 아니라 물색을 밝힌 색**으로 되살려
  섬과 만나는 선에 얕은 물이 생기게 했다 → 물가Δ 0.0736 → 0.1129,
  밝은(흰) 픽셀 0.00 % · R-B 0(중립) = 안개로 읽힐 흰 덩어리가 없다.
SO: waterTo = Farm_Water_WL_F · shoreFoamEnabled 0 (둘레 띠 끔).

게이트 PASS(resident · up_to_date · console error 0) · ProjectSettings/ Packages/ 0줄
걷기 6.00 m · grounded=True.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-15 01:01:59 +09:00
깃 관리자 2e941b31fd [WL-816j2] PD 화면에서 물 다시 맞춤 + 섬 둘레 흰 거품 띠 (#816)
PD 지적 3가지를 PD 구도(FOV 60 · 45° · 22 m · 1280×720)에서 다시 맞췄다.
① 분홍 얼룩 = 깊이 기반 Foam 이 과했다 → **끈다**(FoamColor = 물색).
   화면 실측 물가 거품 38.36 % → 2.08 %.
② 거품이 분홍 = 후처리가 밝은 곳을 분홍으로 민다 → 화면에서 R−B 를 재서
   중립으로(R−B +23 → −1). 띠는 URP Unlit 흰색.
③ 「금 간 유리」 = 보로노이 칸 2.5 m 가 판유리처럼 읽혔다 → 1.0 m 로 잘게 +
   LightColor 0.42/0.72/0.845 · FoamShadowColor 흰색. 잔무늬 대비 0.074 → 0.037.
   바다 평균색은 #5C96C2 → #5794C1 로 그대로(816h 톤 유지).

둘레 띠(PD 선택 ⓑ) = 새 `WLShoreFoam` 이 섬 윗면 footprint 의 거리장을 따라
메시 띠 1장을 만든다. 사방 전부 · 드로우콜 +1 · 삼각형 1,280(타일 4칸).
확장은 816e 훅(`RequestGrassRebuild`)에 얹어 새 가장자리도 자동.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 18:10:55 +09:00
깃 관리자 89540cab17 [WL-816j] 바닷물 무늬 간격 + 섬 가장자리 물보라 (#816)
무늬가 넓어 보이던 원인(실측) = 물 평면이 1000×1000 m 인데 UV 는 0~1 뿐이라
Size 7.83 로는 보로노이 무늬 1칸이 21.3 m (섬 타일 8 m · 캐릭터 1.19 m).
Size 66.67 로 올려 1칸 2.5 m. 흐름 0.8 m/s(실측 1.16). 무늬 줄 밝기만 낮춤.
물보라 = 셰이더에 이미 있는 깊이 기반 Foam 의 값만 조정(FoamDistance 6 ·
FoamEdge 1 · 거품알 0.75 m) — 새 시스템·새 렌더러 0.
색(WaterColor·DarkColor)·DeepDistance·Height·WaweSpeed 는 816h 채택값 그대로.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 17:26:48 +09:00
깃 관리자 9e9fc536a7 [WL-816h] 하늘 통일 + 섬 물을 WL 워터 셰이더로 (#816)
- 물 채택 = Farm_Water_WL_C (ToonWaterU · WaterColor(0.36,0.69,0.82) ·
  DarkColor(0.17,0.42,0.57) · Foam 2.2/28/0.4 · Height 0.09 · WaweSpeed 0.4).
  A/B/C 3단을 같은 카메라로 찍어 고름 — 쨍한 원색을 뺀 값.
- 하늘 격리 실측: 섬 == 던전(픽셀 동일) · 전투 맵은 글자 하나까지 원래대로.
- 성능(같은 카메라 60프레임 × 2회 교대): 전 0.855/0.889 → 후 0.901/0.886 ms/frame.
- 걷기 6.00 m · 확장 타일 5→4→5 · 물 MeshCollider 무변경.
- 되돌리기: waterMode=0 → FarmingIsland 물 100 % · enabled_=0 → 전체 off (둘 다 실측).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 16:12:54 +09:00
깃 관리자 b7d26d2bb7 [WL-816h] 하늘을 「활성 씬」에서 빌려 쓰고 나갈 때 돌려준다 + 섬 물을 WL 워터 셰이더로 (#816)
- WLSkyScope 신설 — RenderSettings 는 활성 씬(InGame) 소유라 섬이 쓴 하늘이
  전투 맵까지 남는다. 섬·던전에 들어갈 때만 빌리고 나가면 스냅샷 그대로 복원.
  스냅샷은 활성 씬마다 한 번만 뜬다(재획득 때 다시 뜨면 던전 씬의 WL_ReferenceLook
  이 이미 바꾼 값을 「원래 값」으로 잘못 기억한다 — 실측으로 발견).
  앰비언트는 WLReferenceLook 이 이미 걸려 있으면 건드리지 않는다(던전 무드 보존).
- 섬 바다(1000×1000 평면)를 ToonWaterU(WL_Water_Ocean 복사본)로 교체. 3단 A/B/C.
- Assets/FarmingIsland/** 0줄 · ProjectSettings 0줄 · 전역 URP/품질 0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 16:04:28 +09:00
깃 관리자 b1e58d795e [WL-816] 섬 바닥이 안 보이는 문제 — 대비 복제 대상에서 제외 (#816)
PD 「섬의 특정 지역(캐릭터가 선 지역)의 지면이 안 보인다」.

실측: 그 타일의 재질은 런타임 복제본 Farm_IslandTop_Demo_814t 였고,
같은 프레임에서 나중에 열려 원본 재질을 쓴 타일 Island (4) 만 정상
렌더됐다. 복제본으로 바꾸면 하늘색이 비치고 원본으로 되돌리면 즉시
정상 렌더되는 것을 화면으로 확인했다(교체 테스트).

바닥은 넓은 평면이라 대비 복제의 이득이 없으므로 제외 목록에 넣는다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 15:19:29 +09:00
깃 관리자 0b649230d8 [WL-816f] 바닥을 데모와 일치 — 잔디 단색 + 풀 대비↓ + 밀도 2.5→1.8 + 밭 칸 표시 톤↓ (#816)
PD 「내가 실행할 때는 전혀 풀밭이 아니야 · 바닥이 완전히 같은 느낌이 나도록」

■ ① PD 실행 경로 실측 = 훅은 실제로 돈다(버그 아님)
  InGame 활성 + Level01 Additive 재현: 머티리얼 1,575 렌더러 교체 · 풀 생성 ·
  ReferenceLook on · 콘솔 error 0. 「안 나온다」가 아니라 「데모와 전혀 다르게 보인다」였다.
  다만 이 경로에서만 생기는 실측 차이 2가지를 찾아 보고에 적었다
  (세이브 파일이 활성 씬 이름으로 갈린다 · RenderSettings 가 InGame 소유).

■ ② 바닥 3요소 (같은 화각·같은 거리 캡처로 판정)
  체크무늬 : 잔디 타일 텍스처는 단색(#A0E4A2) — 격자 0. 밭(Soil)의 칸 표시는
             게임 기능이라 남기고 **색만** 데모 톤으로(soilTint·soilCheckerContrast).
  바닥 색   : #AFEDAE → #A0E4A2 (화면색 평균 데모 #94BE81 ↔ 우리 #9AC37E)
  풀 색     : 새 복사본 Farm_Grass_Demo.mat (_DiffuseColor #A6E39F · _ShadowDiffuseColor #95CC8F)
             → 풀이 바닥과 같은 색으로 깔려 「카펫」이 사라진다(에지% 8.09 → 1.96 · 데모 1.79)
  밀도      : 2.5 → 1.8 (6.25 → 3.24 개/㎡)

  🔴 Assets/FarmingIsland/** 0줄 · Assets/Script/** 0줄 · 3DPixelArtEnvironment 0줄 ·
     ProjectSettings 0줄 · 전역 URP/품질 0. 되돌리기 = enabled_ = 0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 14:21:45 +09:00
깃 관리자 1921884672 [WL-816e] 실게임 섬(Level01)에 데모 룩 런타임 적용 + 타일 위에 데모 풀밭 인스턴싱 (#816)
- WLIslandLook: RuntimeInitializeOnLoadMethod + sceneLoaded 로 Level01 에 머티리얼·조명·ReferenceLook 을 얹는다(씬 파일 무변경)
- WLIslandGrass: 데모 InstancesBehaviour 를 상속해 섬 타일 윗면에 풀·꽃·자갈을 GPU 인스턴싱(콜라이더 0 · NavMesh 영향 0)
- 윗면/길 마스크는 에디터에서 구워 SO 에 저장(FI 메시 isReadable=0 · FarmingIsland 임포트 설정 무변경)
- 섬 타일 텍스처를 데모 지면색 실측값으로 재생성(체크무늬 두 초록 → 한 색)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 13:27:28 +09:00
깃 관리자 b2ff6fa8cc Merge branch 'wl/ui/WL-816b-weapon-costume' 2026-09-13 12:12:35 +09:00
깃 관리자 4ce3111516 [WL-816b] 무기·코스튬 팔레트 UV 도트화 (#816)
무기용 값 = 덩어리 16 · 팔레트 12칸 (캐릭터 40/16 은 과하다 — 무기는 화면이 1/10)
- 6칸은 육안 기각: 08 방패 문양이 뭉치고 05_Bow_004 노란 장식이 초록으로 돈다(dHue 30.3°→0.03°)
- 채도 복원을 min(평균색 채도, 복원값)으로 제한 — 금속이 갈색으로 뜨던 1차 육안 기각 원인 제거
- Hue 는 ±8° 하드 클램프 · 전역 채널 이득 0

인게임 Play 실측(포스트 포함 · 게임 크기): 서로다른색 11종 전부 25% 이하
 (Elven_Sword 82.6→7.7 · Wand 38.1→8.6 · Dagger2 65.6→15.0) · 고유색 최대 70(≤200)
캐릭터 기존 수치 악화 0 (167 · 5.64% → 167 · 5.64%) · 되돌리기 11/11 동일
코스튬 = 해당 없음(46종 전부 어른 Ai01 계열 · 스왑 대상은 110001 하나뿐 = 이미 도트화된 M05)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 12:09:54 +09:00
깃 관리자 5ab2cdee43 [WL-816a] 물 색도 데모 값으로 + 되돌리기 스위치가 ReferenceLook 까지 끈다 (#816)
- Farm_SimpleWater_Demo.mat (SimpleWater 복사본 · 깊은물/얕은물 색 = 데모 Water.mat 값)
- WLFarmLook.Start: enabled_=0 이면 WL_ReferenceLook 도 끄고 Restore → 원본 조명 100% 실측 확인
- AgentScripts: 물 교체 · Play 캡처 · 스위치 토글
2026-09-13 12:04:06 +09:00
깃 관리자 c01df1b45b [WL-816a] FarmingIsland 맵 배경을 데모 아트풍으로 통일 (#816)
- Assets/WL/Look/Farm/Scenes/WL_FarmLook.unity (Level01 복사본 · 원본 수정 0)
- 배경 머티리얼 5종을 Shader Graphs/Toon 복사본으로 교체 (Shades 7 · Brightness 0.25 · MinimumDarkness 0.2)
- 조명/앰비언트/스카이박스를 데모·아레나 값으로 통일 (ambient Skybox 0.212/0.227/0.259 · Dir 흰색 I=1 Soft · Default-Skybox)
- 텍스처 유지안 5종 + 단색안 38종 · WLFarmLookSettings(enabled_ 0 이면 원본 100%)
- 아레나와 같은 WLReferenceLookSettings 를 그대로 재사용하는 WL_ReferenceLook 오브젝트 추가
2026-09-13 12:04:06 +09:00
깃 관리자 27cc6544c1 [WL-816b] 무기 팔레트 UV 도트화 1차 — 굽기·배선·실측 (수치 합격 · 육안 기각) (#816)
- 무기 11종(Orb 제외 · 메시 0) 팔레트 UV 메시 + 32x32 팔레트 + M05_ToonP 사본 머티리얼
- WLCharacterPaletteSettings 에 무기 표 확장 편입(weaponEnabled_ 별도 스위치)
- WLWeaponFitter.Scan 에 팔레트 훅(크기 보정 스위치와 독립 · 멱등 · 누수 정리)
- 인게임 Play 실측: Elven_Sword 83.2%→6.1%, 11종 전부 25% 이하
- 🔴 육안 기각 — 금속(은/회색)이 갈색으로 뜬다(채도 복원 과다) · 6칸은 문양을 뭉갠다

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 12:02:40 +09:00
깃 관리자 6196706528 [WL-814x3] 앰비언트 중성화 + 캐릭터 색조 재보정 — 화면 dHue 24.7° -> 14.5° (#814)
전부 인게임 Play(포스트 포함·게임 크기) 기준 실측.

바꾼 것 (2개 값)
  · WLReferenceLookSettings.ambientColor  보라 (0.28,0.17,0.40) -> 중성 (0.229,0.229,0.229)
    밝기(휘도 0.229)와 Flat ambient(평탄함의 원천)는 그대로 유지
  · 캐릭터 팔레트 머티리얼 3종 _DiffuseColor = (0.993, 1.028, 0.874)  (휘도보존 역이득)

결과 (유채색 칸 면적가중)
  화면 dHue  24.7° -> 14.5° (최대 60.6 -> 36.9)
  흰 튜닉  -74.2° -> +10.5°   머리칼 -16.3° -> -4.6°   붉은 바지 -7.9° -> +4.3°
  벨트 +38.0° -> -3.7°        가죽 -31.1° -> -16.0°
  게임 크기 고유색 159 -> 129 (4.4 %)  · 서로 다른 색 4.4 %
  남는 것 = 피부 -36.9° / -30.9° (어두운 면)

원인 규명
  · 그림자 알베도(_ShadowDiffuseColor) = 영향 0.1° (5종 비교) — 레버가 아니다
  · 남은 피부 오차는 WL_ArenaMood 의 ShadowsMidtonesHighlights shadows (0.78,0.58,1.25) 가
    어두운 면의 초록을 42 % 깎고 파랑을 25 % 올리기 때문 — 814t 프로파일(PD 승인 룩) 소관

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 02:39:27 +09:00
깃 관리자 885f83fa03 [WL-814x2] 화면 색 실측(Play) + 캐릭터 전용 광원 색조 상쇄 (#814)
측정 지점을 알베도가 아니라 **Play 화면 픽셀**로 옮겨 다시 쟀다(편집 모드 렌더는 무의미).
아레나 근접(직교 0.95) · 캐릭터 격리 마스크 · 덩어리(팔레트 칸) 지도 기준.

원인(실측 · 추정 아님)
  ⓐ 소스 텍스처 = 무죄. *_WL.png 는 Suriyun 원본과 MD5 동일.
  ⓑ 그림자색(_ShadowDiffuseColor) = 영향 0.2° 미만 — 중성/따뜻/어둡게 4종 비교.
  ⓒ 포스트 그레이딩 Volume = 영향 0.1° 미만 — weight 0 으로 꺼도 색이 그대로.
  🔴 진범 = 무드의 **조명**(키라이트 (1,0.78,0.46)x1.45 + 보라 앰비언트).
     평면 색은 디테일이 없어 빛의 색조가 그대로 드러난다.
     mood 0.30 -> 0 이면 금발·흰옷이 돌아오지만 고유색 132 -> 906(평탄함이 깨진다).

이번 조치 = 캐릭터 전용 휘도보존 역이득 _DiffuseColor (0.994, 1.024, 0.894)
  씬·조명·814t 설정·ProjectSettings 는 하나도 안 건드린다.
  유채색 가중 dHue 25.1° -> 17.0° · 머리칼 -16.9° -> -7.0° · 흰 튜닉 -74.1° -> -10.4°
  붉은 바지 -7.7° -> +0.7° · 게임 크기 고유색 132 -> 121 (4.1 %)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 02:23:19 +09:00
깃 관리자 4af9356a1d [WL-814x] 분위기(색조) 0.55 -> 0.30 — 팔레트 UV 의 평면 색을 과하게 물들여서 (#814)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 02:02:17 +09:00
깃 관리자 d62c18c2a0 [WL-814x] 림라이트 끔 — 팔레트 UV 의 색 수를 되돌리기 때문 (#814)
814x 실측: 림을 켜면 캐릭터 영역 고유색이 52 -> 261 로 되돌아간다
(림이 표면마다 새 밝기를 만들어 「넓은 면 = 한 색」을 깬다).
PD 도 「흰색으로 빛이 반사된 느낌」을 지적했다. 두 이유가 같은 곳을 가리킨다.
rimStrength 값(0.6)은 남겨 두어 켜면 그대로 복귀한다.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 01:59:55 +09:00
깃 관리자 ada56c7688 [WL-814x] 팔레트 아틀라스 UV 로 캐릭터를 진짜 도트로 (덩어리 40 · 팔레트 16색) (#814)
메시 UV 를 「색 하나를 가리키는 좌표」로 새로 굽는다. 삼각형 안에서 UV 가 상수라
화면에서 아무리 축소돼도 그 덩어리는 항상 단색 — 평균 날 디테일이 애초에 없다.

실측(WL_ArenaProto · 직교 10 · 1080x1920 · 캐릭터 2,996 px · 814u/814v 와 같은 축)
  서로 다른 색 비율   89.3 % -> 1.7 %      (합격선 <= 25 %)
  캐릭터 영역 고유색  2,676  -> 52         (합격선 <= 60)
  덩어리당 색 단계    -      -> 평균 2.79  (14칸 중 13칸이 2~3 · 합격선 <= 4)
  눈 진한 점          10 px  -> 36 px      (눈 1개 7x5 px)
  색상(Hue) 오차      -      -> 몸통 2.4° 피부 3.7° 머리칼 3.5°
  삼각형 수 무변경 · 정점 2,520 -> 2,776 (+10 %)

원본 수정 0 — FBX/원본 png/프리팹/씬 전부 무변경. 메시는 복사본(.asset)에 UV 만 새로 굽고
런타임에 갈아끼운다. 되돌리기 = 새 SO 의 enabled_ = 0 이면 814s+814t 상태 100 %.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 01:53:53 +09:00
깃 관리자 2b1c8aeb20 [WL-814w] ComfyUI img2img 로 몸통 텍스처 도트풍 변환 후보 3종 (#814)
PD 「② 기존 텍스처를 이 화풍으로 변환으로 해보자」.
로컬 ComfyUI(127.0.0.1:8000) HTTP API 를 직접 호출 — MCP 불필요.
- 체크포인트 noobaiXLNAIXL_epsilonPred05Version(LoRA 학습 베이스 · PD 안내)
- LoRA ElinSpriteNoobLocon_byKonan 0.9
- img2img denoise 0.40 (0.30~0.50 비교 후 채택 · 0.50 은 배치가 틀어진다)
- 원본 알파 복원 + 팔레트 32/48/64 색 양자화
UV 무변경 확인: 갑옷/튜닉/바지/부츠가 전부 제자리에 찍힘(인게임 렌더 실측).
아직 머티리얼/프리팹에 꽂지 않음 — 후보 파일만.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 00:57:38 +09:00
깃 관리자 b2e95164be [WL-814t] 림라이트 세기 1.6 -> 0.6 (흰 반사 느낌 제거) (#814)
PD 「왜 흰색으로 빛이 반사된 느낌이 나는거지?」
원인 = 림라이트(rimStrength 1.6) 가 밝은 면에서 흰색으로 포화.
색은 금색(1, 0.82, 0.5)이지만 세기가 높아 흰색으로 탄다.
외곽선 두께는 PD 승인값(캐릭터 1 / 배경 2.5) 유지.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 00:40:04 +09:00
깃 관리자 cb0e17ee21 [WL-814v] 얼굴·머리 텍스처 도트풍 안 (#814)
- §1 실측: 부위별 텍셀→화면픽셀 밀도(앞면 삼각형 · 화면면적 가중) · 올리브 원인 규명
- 얼굴 face02_V1..V4 · 머리칼 Hair05_V1..V4 (원본 복사 → 제자리 가공 · UV/메시 무변경)
- 올리브 차단: HSV 의 V 만 조절(RGB 배율 금지 → 채널 포화 0) + 단별 Hue 를 기준색 ±cap 로 제한

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 00:31:06 +09:00
깃 관리자 dabbdcb821 Merge branch 'wl/gameplay/WL-814t-reference-look' 2026-09-13 00:03:39 +09:00
깃 관리자 db34b0171b [WL-814t] 외곽선 1px 상한(814u 면적 실측) + 표면색 연동 외곽선 + 면적 비교 캡처 (#814)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-13 00:00:15 +09:00
깃 관리자 9b8f7e968b [WL-814t] 레퍼런스 느낌(외곽선·대비·색조·림라이트) 옵션화 + 종합안 (#814)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 23:51:28 +09:00
깃 관리자 89cac6f6e5 [WL-814u] 도트 일러스트급 캐릭터 한계 실측 + 얼굴 텍스처 시제품 (#814)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 23:43:06 +09:00
깃 관리자 416228c815 [WL-814s] 캐릭터 텍스처 평탄화(②)까지 켠다 — mode 2 → 3 (#814)
PD 「남은 작업도 반영해봐」. 814s 실측상 화면 색 수 변화는 ±1 % 라 체감은 작지만
PD 판단용으로 전 단계를 켠 상태로 둔다. 되돌리기는 mode 값 한 칸.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 23:09:40 +09:00
깃 관리자 71e4e38c44 [WL-814s] 캐릭터를 배경과 같은 아트풍으로(셰이더·텍스처) + 되돌리기 스위치 (#814)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 23:01:53 +09:00
깃 관리자 0ff5ec088a [WL-814r-hotfix] 시범 전투장 캐릭터가 실제로 움직이도록 수정 + Event_Idle 에러 제거 (#814)
- ArenaWalker.body 가 비어 있어 스크립트가 자기 자신(빈 오브젝트)을 움직이고 있었다
  → body = PC_LH_M05 로 연결(PD 실측 보고 「캐릭터 움직임이 없어」의 직접 원인)
- body 가 비어 있던 탓에 Start() 의 Animator.fireEvents=false 도 캐릭터에 적용되지 않아
  'Event_Idle' has no receiver! 가 33건 발생 → 빈 수신자 ArenaAnimEventSink 를 붙여
  에디트/플레이 양쪽에서 차단(fireEvents 는 런타임 전용이라 에디트 모드를 못 막는다)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-12 22:20:14 +09:00