- "Screen position out of view frustum" 의 진짜 원인을 실측으로 확정: 좌표가 화면 밖이라서가 아니라
**카메라 투영이 깨졌을 때**만 난다(near==far · 직교 size ≤ 0 · aspect ≤ 0). 꺼진 카메라는 무관.
→ 깨진 투영을 찾아 되살리는 감시(0.5초 주기 · SO 로 끔) 추가.
- 섬 카메라 실측값(각 45° · 거리 22 m · FOV 60 · 원근 · 고정 방향)을 SO 에 담아 던전에 적용.
RealCamera 의 (cameraHeight, DistanceAway, DistanceUp, rotateAround) 로 역산해 넣는다.
- 이동 방향 리드(#755) 배율을 SO 로 노출(기본 1 = 지금 그대로 · 0 이면 섬과 완전히 같은 고정 구도).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
무늬가 넓어 보이던 원인(실측) = 물 평면이 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>
- LoadMapMgr 파생 노드를 씬마다 새로 만들지 않고 DontDestroyOnLoad 하나로 상주시킨다.
씬 전환에서 파괴된 노드를 정적 Ins 가 계속 가리켜 Get_PortalPos 의 StartCoroutine 이
MissingReferenceException 을 내던 것을 없앤다(원본 LoadMapMgr.cs 0줄 · 파생 + private 필드 주입).
- 맵 프리팹이 없어 m_MapData 가 영원히 null 이라 Co_Get_PortalPos 가 끝나지 않던 것도 함께 해결 —
꺼진 오브젝트에 런타임 MapData 를 만들어 넣는다(MapData.Awake/Start 미실행 = RenderSettings 무변경).
- 던전 씬의 아레나 룩 카메라(직교 · MainCamera 태그)가 전투 화면을 차지하던 것을 끄고
전투 카메라(RealCamera)만 남긴다.
- WLDungeonCameraRig — 섬(FI Cinemachine) 실측 구도(각 45° · 거리 22 m · FOV 60 · 원근)를
던전 카메라에 그대로 적용한다. 값은 WLIslandSettings SO.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
816g 가 실측으로 지목: WLIslandSaveSettings.asset 의 m_Script 가 {fileID: 0}
이라 Resources.Load 가 null → 세이브가 여전히 Level01.dat / InGame.dat 로
갈리고 있었다(33afe0b8d 는 코드만 들어가고 설정이 안 붙은 상태였다).
원인: 유니티는 ScriptableObject 를 **클래스 이름과 같은 이름의 .cs 파일**
에서만 MonoScript 로 인식한다. 그 클래스가 WLIslandSave.cs 안에 있어
m_Script 를 바인딩할 수 없었다.
조치: WLIslandSaveSettings.cs 로 분리 + .asset 의 m_Script 를 새 GUID 로.
검증: ResolveSaveName("InGame") = "WL_Island" (런타임 실측) · 컴파일 오류 0.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
PD 추가 지시 2건.
① 「던전 열기는 한 번만 · 이후 같은 자리에 또 등장하면 안 된다」
던전 한 줄 = 발판 한 자리(`WLDungeonDef.platformUseFarm`·`platformPosition`).
값을 치르면 그 자리는 영영 비고 다음 발판은 표가 지정한 **다른 자리**에 선다.
해금 수는 PlayerPrefs 에 남겨 껐다 켜도 유지된다(실측: Play 재시작 후에도
던전 1 그대로 · 밭 자리 발판 없음 · 다음 발판만 (-2,0,-2) 가격 30).
FI `RefreshIsland` 의 가격표 재생성이 우리 발판을 되살리지 않는 것도 실측
(섬 확장 4→5칸 후 발판 수 1 유지 · 자리 그대로).
덤으로, 골드가 많을 때 가만히 서서 던전이 연달아 팔리던 것도 막았다.
② 던전 진입 멈춤
던전 씬에는 `MobControlMgrList` 가 0개다(실측: WL_Dungeon01·02·ArenaProto 전부 0).
섬과 같은 이유로 로딩 칸 0 이 안 찬다 → 던전 표의 씬 이름을 로딩 보정 대상에 포함.
③ §1 남은 몫 — 새로 연 타일이 `WL/HullOutline` 패스를 못 받아(슬롯 1 vs 2)
경계에서 테두리 유무가 갈렸다. 열린 직후 기존 타일의 머티리얼 배열을 그대로
물려준다(새 머티리얼 0개). 실측: 8칸 전부 재질 조합 1가지.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
PD 지시 3건 중 §2·§3.
- 초기 상태: 밭(Farm·Soil) 렌더러·콜라이더만 끄고(오브젝트는 살려 둔다 —
끄면 섬 확장 때 FI 가 꺼진 오브젝트에서 코루틴을 시작해 콘솔 에러가 난다),
던전 입구는 해금한 수만큼만 세운다. 처음에는 0개.
- 발판 = FI 가 섬 확장에 쓰는 **가격판 프리팹 그대로**(PD 정정: 새 모델 금지).
실측으로 프리팹 렌더 범위를 재서 밭 한가운데·바닥 바로 위로 맞춘다
(원본은 물 위 y≈-0.5 에 눕도록 돼 있어 섬 위에 그냥 놓으면 지면 아래로 들어간다).
- 지불도 FI `Purchaser` 그대로 — 보이지 않는 더미 `Island` 를 대상으로 물리고
그 `OnActivated`(public event)를 받아 던전 표의 한 행을 켠다. FI 코드·프리팹 0줄.
- 시작 골드 500 → 10. `IslandManager.Awake` 안에 이미 있던 1줄 훅(세이브 이름)
시점에서 `startingMoney` 를 바꾼다 = FI 새 줄 0.
- 던전 하나 = 발판 한 자리. 값을 치르면 그 자리는 영영 비고 다음 발판은 다른 자리.
- 던전 씬도 `MobControlMgrList` 가 0개라 로딩 칸 0 이 안 찬다 → 던전 표의
씬 이름을 로딩 보정 대상에 포함.
되돌리기: `WLIslandSettings.gateFlowEnabled = 0` 하나로 지금 상태 100 %.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- 물 채택 = 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>
- 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>
PD 「섬의 특정 지역(캐릭터가 선 지역)의 지면이 안 보인다」 → 「여전히 투명」
진짜 원인(실측): 전투용 카메라 기능 OccluderFade 가 카메라와 플레이어
사이를 가리는 물체를 ShadowsOnly 로 내려 숨긴다. 섬 타일은 8m 두께
블록이라 그 판정에 걸려, **플레이어가 선 타일만** 안 보였다.
Island (1) shadow=ShadowsOnly / 나머지 4개 shadow=Off ← 결정적 실측
물 렌더러를 꺼 보니 그 자리에 배경색이 비쳐 「바닥이 없다」를 확인했다.
앞선 추정(런타임 재질 복제 _814t)은 원인이 아니었다. 다만 그 수정도
타일 간 색차를 없애므로 그대로 둔다.
조치: OccluderFade 제외 목록에 island,bridge,dock 추가(데이터 1줄).
terrain/ground/water 등과 같은 성격이다.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
PD 「섬의 특정 지역(캐릭터가 선 지역)의 지면이 안 보인다」.
실측: 그 타일의 재질은 런타임 복제본 Farm_IslandTop_Demo_814t 였고,
같은 프레임에서 나중에 열려 원본 재질을 쓴 타일 Island (4) 만 정상
렌더됐다. 복제본으로 바꾸면 하늘색이 비치고 원본으로 되돌리면 즉시
정상 렌더되는 것을 화면으로 확인했다(교체 테스트).
바닥은 넓은 평면이라 대비 복제의 이득이 없으므로 제외 목록에 넣는다.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
PD 「title 씬에서 시작하면 로딩 90%에서 더이상 진행이 안된다」
→ 그래서 _MainMenu 로 우회했고, 그 탓에 우리 섬에 도달한 적이 없어
「풀밭이 전혀 안 바뀐다」로 이어졌다. 두 증상의 뿌리가 하나였다.
원인(PD 의 멈춘 화면에서 Lead 직접 실측):
list_loadingComplete = [False, True]
칸 1 = UI 준비(NewGameUI.cs:88) → True
칸 0 = 몬스터 프리팹 로드(MobControlMgrList.cs:28) → False
섬(Level01·맵 900)은 전투 맵이 아니라 MobControlMgrList 가 아예 없다
(실측 인스턴스 0) → 칸 0 이 영원히 False → 로딩창이 안 닫힌다.
씬·풀·게이트·룩·PC 는 전부 정상 생성돼 있었고 화면만 가려져 있었다.
조치: 섬 씬이 붙은 뒤 MobControlMgrList 가 없으면 칸 0 을 우리가 채운다.
전투 맵은 건드리지 않는다(그쪽은 원본이 채운다). 원본 파일 0줄 수정.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
PD 「세이브가 경로마다 갈리면 안돼. 그냥 기존 세이브를 초기화하고
단일 경로로 맞춰」.
원인(816f 실측): IslandManager.Awake 가 saveFileName 을 활성 씬 이름으로
잡아, 섬 단독 Play 는 Level01.dat · 게임 정식 경로(Additive)는 InGame.dat
로 갈렸다. 섬을 키워 놔도 다른 경로로 들어가면 초기 상태가 나왔다.
조치:
- IslandManager.cs:119 **1줄** 훅 → WLIslandSave.ResolveSaveName()
- 새 파일 WLIslandSave.cs + SO(WL_Island · enabled_=1)
- 기존 세이브 4개(InGame/Level01/Level02/WL_FarmLook.dat) 백업 후 삭제
→ Temp/claude/island_save_backup_143818
- enabled_=0 이면 원래 동작(씬 이름)으로 복귀
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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>
PD 보고: 'OnStep' on animation 'Run' has no receiver!
원인(실측): WLIslandPcRig 가 FI 플레이어의 컨트롤러를 우리 치비 비주얼의
Animator 에 복사해 같은 클립을 함께 돌린다(816d). FI 의 Run 클립이 쏘는
OnStep 의 수신자 PlayerController(FarmingIsland/Scripts/Core/PlayerController.cs:243)
는 부모에 있는데, 유니티는 애니메이션 이벤트를 Animator 와 같은 GameObject
에만 보낸다 → 비주얼 자식에서 수신자 없음.
부모 Animator 가 이미 같은 이벤트를 PlayerController 로 보내 발소리는 정상
재생된다. 비주얼 쪽은 중복이므로 수신자를 만들면 발소리가 두 번 난다
→ 비주얼 Animator 의 fireEvents 만 끈다. 기존 파일 0줄 수정(자가 부착).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- 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>
816d 가 만든 던전 씬. 없으면 던전 입장이 반드시 실패한다.
+ Assets/WL/Island/Scenes/WL_Dungeon01.unity
+ Assets/WL/Island/Scenes/WL_Dungeon02.unity
검증: 기존 27개 중 사라진 항목 0 · 총 29.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- NavMeshSurface.useGeometry = PhysicsColliders — RenderMeshes 기본값은 메시 Read/Write 를 요구해 콘솔 에러 100건(실측)
- 베이크 후 앵커 위 NavMesh 존재를 로그로 남긴다(WL_Dungeon01 실측: (0,0.07,0) 있음)
- 이름표·「들어가기」 버튼에 한글 TMP 폰트 지정(기본 폰트에는 한글 글리프가 없어 □ 로 나왔다)
- 던전 3 입구를 덤불 위치에서 (2.5,0,11) 로 이동(에디트 모드 레이캐스트 실측)
- 던전 입장 시 프롬프트 숨김
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- NavMeshSurface 기본값(collectObjects=All · useGeometry=RenderMeshes)을 그대로 쓴다(게이트 PASS)
- 섬 카메라 소유권 SO(islandCameraOwner 기본 1 = FI 카메라) · 떠날 때 되살림
- WL 전투 PC 는 Addressables 콜백으로 늦게 생긴다 → hidePcWatchSeconds 동안 감시해 숨김
- 프로브 전용 DebugSceneOverride(던전 복사본 씬 미등록 구간 검증용)
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
PD 「추가해도 돼」. FI 코드가 NameToLayer("Soil"/"Wool"/"Obstacle") 로 찾는데
우리 목록에 없어 -1 이 반환되어 Play 중 186건/프레임 에러가 났다(816a 실측).
+ 9 Wool · 10 Soil · 11 Island · 12 Obstacle (전부 빈 칸)
🔴 검증: 기존 Actor=3 · Map=6 · GrassFX=8 · Water=4 · UI=5 전부 무변경.
태그(Mob·AfterImage)도 무변경. 빈 칸만 채웠다.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
무기용 값 = 덩어리 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>
PD 「섬(Level01)과 아레나 씬을 "빌드 씬 목록"에 등록해도 돼」.
던전 왕복(섬 → 던전 → 섬)이 런타임 씬 전환을 쓰기 때문에 필요하다.
+ Assets/FarmingIsland/Scenes/Level01.unity
+ Assets/WL/Look/Arena/Scenes/WL_ArenaProto.unity
🔴 검증: 기존 25개 중 사라진 항목 0 · 새로 추가 2 · 총 27.
EditorSettings 는 에디터가 줄바꿈만 바꾼 것이라 원복(내용 diff 0).
던전 씬 2개(WL_Dungeon01/02)는 생성 후 별건으로 추가한다.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
PD 가 「우리 게임의 기본 시스템을 FarmingIsland 씬의 시스템을 그대로 활용하고
싶다」고 채택했으므로 기반 시스템이 되었다. 미추적 상태로는 병렬 worktree 에
폴더 자체가 없어 워커가 작업할 수 없다(816c 가 선결 과제로 지목).
- Assets/FarmingIsland/** (1,195 파일 174MB · 섬 확장·상인·인벤토리·농사·축산·낚시·섹터 이동)
- Assets/Plugins/{Demigiant(DOTween), SimpleInput, UI} — FarmingIsland 컴파일에 필요
🔴 FI 씬 5개의 빌드 목록 등록은 ProjectSettings 변경이라 PD 승인 후 별건으로 한다
(F-31 재발 방지 — 임포트가 ProjectSettings 를 덮어쓴 사고가 있었다).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
PD 「우리 게임의 기본 시스템을 Assets/FarmingIsland/Scenes 이 씬의 시스템을
그대로 활용하고 싶어」 — 섬에서 시작 → 돈으로 섬 확장 → 상인·던전 생성 →
던전 승리로 재화 → 농사/축산 → 다음 섹터 → 전 섹터 클리어가 목표.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
🔴 채택한 변경 없음. 두 후보를 인게임 Play 로 재고 «수치가 좋아져도 그림이 나빠져서» 기각했다.
① ShadowsMidtonesHighlights.shadows (0.78,0.58,1.25) → G 0.75/0.85/0.95 · B 1.10/1.00 · 거의 중성
보정 재탐색 후 화면 dHue 14.1° → 13.9~14.8° = **이득 0**.
배경은 바위·그림자의 보라 회색이 옅어져 PD 승인 룩이 무너진다(e_final_wide.png 오른쪽).
→ 3차에서 「이 값이 진범」이라 본 판단은 방향은 맞았으나, 고쳐도 캐릭터 색이 개선되지 않는다.
② 부위 그룹별 _DiffuseColor (Skin 0.88,1.10,0.80 / M05 1.04,0.972,1.04 / Hair 0.965,1.025,0.965)
유채 가중 dHue 17.0° → 10.7° · 머리 피부 -40.9° → +3.3° (수치는 합격선에 근접)
그러나 **피부·머리칼이 초록으로 뜬다**(e_final_close.png 가운데).
원인 = 목표색(피부 알베도 평균 (240,217,152) · Hue 43°)이 노란 크림이라
화면을 그 색상으로 끌면 살색이 아니라 황록으로 보인다 → **지표 자체가 피부에는 부적합**.
유지 = 3차 상태(중성 앰비언트 + 전역 _DiffuseColor (0.993,1.028,0.874)) — 세 안 중 육안 최선.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
측정 지점을 알베도가 아니라 **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>
814x 실측: 림을 켜면 캐릭터 영역 고유색이 52 -> 261 로 되돌아간다
(림이 표면마다 새 밝기를 만들어 「넓은 면 = 한 색」을 깬다).
PD 도 「흰색으로 빛이 반사된 느낌」을 지적했다. 두 이유가 같은 곳을 가리킨다.
rimStrength 값(0.6)은 남겨 두어 켜면 그대로 복귀한다.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
메시 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>