From b1e58d795e6d3418c073822f5d1f728985ad3f04 Mon Sep 17 00:00:00 2001 From: swrring Date: Sun, 13 Sep 2026 15:19:29 +0900 Subject: [PATCH] =?UTF-8?q?[WL-816]=20=EC=84=AC=20=EB=B0=94=EB=8B=A5?= =?UTF-8?q?=EC=9D=B4=20=EC=95=88=20=EB=B3=B4=EC=9D=B4=EB=8A=94=20=EB=AC=B8?= =?UTF-8?q?=EC=A0=9C=20=E2=80=94=20=EB=8C=80=EB=B9=84=20=EB=B3=B5=EC=A0=9C?= =?UTF-8?q?=20=EB=8C=80=EC=83=81=EC=97=90=EC=84=9C=20=EC=A0=9C=EC=99=B8=20?= =?UTF-8?q?(#816)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit PD 「섬의 특정 지역(캐릭터가 선 지역)의 지면이 안 보인다」. 실측: 그 타일의 재질은 런타임 복제본 Farm_IslandTop_Demo_814t 였고, 같은 프레임에서 나중에 열려 원본 재질을 쓴 타일 Island (4) 만 정상 렌더됐다. 복제본으로 바꾸면 하늘색이 비치고 원본으로 되돌리면 즉시 정상 렌더되는 것을 화면으로 확인했다(교체 테스트). 바닥은 넓은 평면이라 대비 복제의 이득이 없으므로 제외 목록에 넣는다. Co-Authored-By: Claude Opus 5 --- Assets/WL/Look/Arena/WLReferenceLook.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Assets/WL/Look/Arena/WLReferenceLook.cs b/Assets/WL/Look/Arena/WLReferenceLook.cs index e78d33b7e..db7597f2a 100644 --- a/Assets/WL/Look/Arena/WLReferenceLook.cs +++ b/Assets/WL/Look/Arena/WLReferenceLook.cs @@ -333,8 +333,20 @@ namespace WL.Look.Arena return m; } + /// + /// 🔴 대비 복제를 하면 **안 보이게 되는** 머티리얼(이름 앞부분으로 판정). + /// 실측(2026-09-13 · PD 보고 「캐릭터가 선 지역의 지면이 안 보인다」): + /// 섬 바닥 `Farm_IslandTop_Demo` 는 원본이면 정상, 복제본 `_814t` 면 하늘색으로 비친다. + /// 같은 프레임에서 나중에 열린 타일(원본 재질)만 정상 렌더된 것으로 확인했다. + /// 바닥은 넓은 평면이라 대비 복제의 이득도 없으므로 **원본을 그대로 쓴다.** + /// + static readonly string[] ContrastSkipPrefixes = { "Farm_IslandTop" }; + static Material CloneForContrast(Material src, Opt o, bool isChar) { + for (int i = 0; i < ContrastSkipPrefixes.Length; i++) + if (src != null && src.name.StartsWith(ContrastSkipPrefixes[i])) return src; // WL-816: 복제하면 안 보인다 — 원본 유지 + Material c; // 캐릭터/배경이 같은 머티리얼을 공유하는 경우가 없어 키 하나로 충분하다 if (s_clones.TryGetValue(src, out c) && c != null) return c;