diff --git a/Assets/WL/Combat/Stage/Barrier/StageBarrierVisual.cs b/Assets/WL/Combat/Stage/Barrier/StageBarrierVisual.cs index ccfacc48c..3b501d3ca 100644 --- a/Assets/WL/Combat/Stage/Barrier/StageBarrierVisual.cs +++ b/Assets/WL/Combat/Stage/Barrier/StageBarrierVisual.cs @@ -146,6 +146,22 @@ namespace WL.Combat.Stage s_phaseLen = Mathf.Max(0.01f, cfg != null ? cfg.fadeSeconds : 0.6f); } + /// + /// 2026-09-15 Lead 실측 — 던전에서 섬으로 나온 뒤 `[WL815c] StageBarrierVisual`(HideAndDontSave · 씬 무관)의 울타리·바위가 + /// 섬 물 위에 그대로 남아 PD 화면의 「허공에 뜬 울타리」였다(Hide 는 페이드라 Tick 이 끊기면 영영 안 사라진다). + /// 섬 진입 시 연출 없이 즉시 풀에 반납한다. 슬롯이 없으면 무동작(비용 0). + /// + public static int HideImmediate() + { + int n = s_live.Count; + s_showing = false; + if (n == 0 && s_t <= 0f) return 0; + ApplyPhase(0f); + ReturnAll(); + s_t = 0f; + return n; + } + /// 연출 진행. StageBarrier.Tick 이 부른다. internal static void Tick(WLStageBarrierSettings cfg) { diff --git a/Assets/WL/Island/WLIslandFlowV2.cs b/Assets/WL/Island/WLIslandFlowV2.cs index 6126ae15d..1a1068ecd 100644 --- a/Assets/WL/Island/WLIslandFlowV2.cs +++ b/Assets/WL/Island/WLIslandFlowV2.cs @@ -381,7 +381,8 @@ namespace WL.Island { var p = all[i]; if (p == null) continue; - if (scene.IsValid() && p.gameObject.scene != scene) continue; + // 2026-09-15 Lead 실측 — FI 가 Instantiate 한 `Purchaser(Clone)` 은 섬 씬이 아니라 **활성 씬(InGame)** 에 생긴다 → 활성 씬도 허용 + if (scene.IsValid() && p.gameObject.scene != scene && p.gameObject.scene != SceneManager.GetActiveScene()) continue; if (p.GetComponentInParent() != null) continue; // 우리 발판은 건드리지 않는다 var rends = p.GetComponentsInChildren(true); diff --git a/Assets/WL/Island/WLIslandGateFlow.cs b/Assets/WL/Island/WLIslandGateFlow.cs index 975d5d739..a7cdac5cf 100644 --- a/Assets/WL/Island/WLIslandGateFlow.cs +++ b/Assets/WL/Island/WLIslandGateFlow.cs @@ -90,6 +90,10 @@ namespace WL.Island bool haveFarm = HideFarms(cfg, scene, out farmCenter); HideIslandFences(cfg, scene, null); + // 2026-09-15 Lead 실측(광선·전수 조회) — PD 화면의 「허공에 뜬 울타리·바위」 = 전투 스테이지 「보이는 장벽」(WL815c · HideAndDontSave)이 + // 던전 → 섬 전환 뒤에도 남은 것. 섬 진입마다 즉시 풀에 반납한다(슬롯 없으면 비용 0). + int barrier = WL.Combat.Stage.StageBarrierVisual.HideImmediate(); + if (barrier > 0) WLIslandBridge.Log(cfg, "전투 장벽 그림 " + barrier + "개 즉시 정리(섬 진입)"); WLIslandTileFenceStrip.Apply(cfg, scene); // 2026-09-15 Lead 실측 — 타일 메시에 구워진 난간 제거 HookFenceGuard(cfg, scene); // 2026-09-15 — 그리기 직전마다 fence 렌더러 차단 + 정체 기록 // 2026-09-15 PD 「게임 시작 시 섬에 울타리가 여전히 남아 있다」 — 시작 직후 FI 타일 활성화가 렌더러를 다시 켜므로 @@ -540,6 +544,7 @@ namespace WL.Island yield return new WaitForSeconds(wait); if (cfg == null || cfg.hideIslandFences == 0 || !scene.IsValid() || !scene.isLoaded) yield break; HideIslandFences(cfg, scene, null); + WL.Combat.Stage.StageBarrierVisual.HideImmediate(); // 늦게 페이드 중이던 전투 장벽 그림까지(슬롯 없으면 비용 0) WLIslandTileFenceStrip.Apply(cfg, scene); // 확장·재구성으로 타일 메시가 바뀌면 다시 잘라낸다(멱등) if (cfg.hideFarms != 0) { Vector3 _c; HideFarms(cfg, scene, out _c); } // 늦게 생긴 밭의 울타리·소품도 } diff --git a/Assets/WL/Look/Farm/Materials/Farm_Grass_Demo3.mat b/Assets/WL/Look/Farm/Materials/Farm_Grass_Demo3.mat index e68a11b0d..cfd9020a8 100644 --- a/Assets/WL/Look/Farm/Materials/Farm_Grass_Demo3.mat +++ b/Assets/WL/Look/Farm/Materials/Farm_Grass_Demo3.mat @@ -98,8 +98,8 @@ Material: - _ClearCoatSmoothness: 0 - _Cloud_Change: 0.005 - _Cloud_Cover: 0.5 - - _Cloud_Density: 0.01 - - _Cloud_Strength: 1 + - _Cloud_Density: 0.06 + - _Cloud_Strength: 0.7 - _Cull: 2 - _Cutoff: 0.5 - _DetailAlbedoMapScale: 1 @@ -138,7 +138,7 @@ Material: - _Color: {r: 1, g: 1, b: 1, a: 1} - _DiffuseColor: {r: 0.77647066, g: 0.95294124, b: 0.59607846, a: 0} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - - _ShadowDiffuseColor: {r: 0.2509804, g: 0.3254902, b: 0.23529413, a: 0} + - _ShadowDiffuseColor: {r: 0.77647066, g: 0.95294124, b: 0.59607846, a: 0} - _SpecColor: {r: 0.19999996, g: 0.19999996, b: 0.19999996, a: 1} - _WindMovement: {r: 6, g: 0, b: 0, a: 0} m_BuildTextureStacks: [] diff --git a/Assets/WL/Look/Farm/Materials/Farm_IslandTop_Demo3.mat b/Assets/WL/Look/Farm/Materials/Farm_IslandTop_Demo3.mat index 90cd85410..32755852a 100644 --- a/Assets/WL/Look/Farm/Materials/Farm_IslandTop_Demo3.mat +++ b/Assets/WL/Look/Farm/Materials/Farm_IslandTop_Demo3.mat @@ -29,11 +29,11 @@ Material: serializedVersion: 3 m_TexEnvs: - _BaseMap: - m_Texture: {fileID: 2800000, guid: 6fd28da5d8014083aed0633dfd21c3a5, type: 3} + m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _ShadowBaseMap: - m_Texture: {fileID: 2800000, guid: 6fd28da5d8014083aed0633dfd21c3a5, type: 3} + m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - unity_Lightmaps: @@ -57,8 +57,8 @@ Material: - _CastShadows: 1 - _Cloud_Change: 0.005 - _Cloud_Cover: 0.5 - - _Cloud_Density: 0.01 - - _Cloud_Strength: 1 + - _Cloud_Density: 0.06 + - _Cloud_Strength: 0.7 - _Cull: 2 - _DepthEdgeStrength: 0.5 - _DepthThreshold: 0.01 diff --git a/Assets/WL/Look/Farm/Resources/WL/WLIslandLookSettings.asset b/Assets/WL/Look/Farm/Resources/WL/WLIslandLookSettings.asset index bc806261d..65fc41118 100644 --- a/Assets/WL/Look/Farm/Resources/WL/WLIslandLookSettings.asset +++ b/Assets/WL/Look/Farm/Resources/WL/WLIslandLookSettings.asset @@ -85,23 +85,23 @@ MonoBehaviour: mesh: {fileID: -4413095505993930501, guid: 1f298817fdd2a184480e8af5b21278bc, type: 3} material: {fileID: 2100000, guid: 3b82f6a1cd074e2f9a15d8e73c40b592, type: 2} probability: 100 - scale: 0.35 + scale: 0.15 normalOffset: 0.04 - density: 2.5 + density: 4 - enabled_: 1 label: "\uAF43" mesh: {fileID: -6327915695457451627, guid: dab2c84bf0b5ced4aaf0cffc4c491d55, type: 3} material: {fileID: 2100000, guid: d50a40cb47ec86444b898d9121bbe0f7, type: 2} probability: 1 - scale: 0.35 + scale: 0.15 normalOffset: 0.04 - density: 2.5 + density: 4 - enabled_: 1 label: "\uC790\uAC08" mesh: {fileID: 2928966540353291585, guid: 7f1f11ac2c783374b876f8dc2bb7c7db, type: 3} material: {fileID: 2100000, guid: 77d84437c100f274aad603219110357d, type: 2} probability: 1 - scale: 0.7 + scale: 0.35 normalOffset: 0.1 density: 0.05 positionVariance: 0.5