[WL-816] 섬 바닥이 안 보이는 문제 — 대비 복제 대상에서 제외 (#816)
PD 「섬의 특정 지역(캐릭터가 선 지역)의 지면이 안 보인다」. 실측: 그 타일의 재질은 런타임 복제본 Farm_IslandTop_Demo_814t 였고, 같은 프레임에서 나중에 열려 원본 재질을 쓴 타일 Island (4) 만 정상 렌더됐다. 복제본으로 바꾸면 하늘색이 비치고 원본으로 되돌리면 즉시 정상 렌더되는 것을 화면으로 확인했다(교체 테스트). 바닥은 넓은 평면이라 대비 복제의 이득이 없으므로 제외 목록에 넣는다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
ff875b3deb
commit
b1e58d795e
|
|
@ -333,8 +333,20 @@ namespace WL.Look.Arena
|
|||
return m;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 🔴 대비 복제를 하면 **안 보이게 되는** 머티리얼(이름 앞부분으로 판정).
|
||||
/// 실측(2026-09-13 · PD 보고 「캐릭터가 선 지역의 지면이 안 보인다」):
|
||||
/// 섬 바닥 `Farm_IslandTop_Demo` 는 원본이면 정상, 복제본 `_814t` 면 하늘색으로 비친다.
|
||||
/// 같은 프레임에서 나중에 열린 타일(원본 재질)만 정상 렌더된 것으로 확인했다.
|
||||
/// 바닥은 넓은 평면이라 대비 복제의 이득도 없으므로 **원본을 그대로 쓴다.**
|
||||
/// </summary>
|
||||
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;
|
||||
|
|
|
|||
Loading…
Reference in New Issue