From dd5a47bab2195f826a265109991a4bf7cf43c368 Mon Sep 17 00:00:00 2001 From: swrring Date: Tue, 15 Sep 2026 08:38:58 +0900 Subject: [PATCH] =?UTF-8?q?[WL-816q]=20=EA=B0=80=EC=8B=9C=20=EB=B2=94?= =?UTF-8?q?=EC=9C=84=20=E2=80=94=20=EC=B2=AB=20=EB=B0=B0=EC=B9=98=20?= =?UTF-8?q?=EB=95=8C=20=EC=B9=B4=EB=A9=94=EB=9D=BC=EA=B0=80=20=EC=97=86?= =?UTF-8?q?=EC=97=88=EC=9C=BC=EB=A9=B4=20=EC=83=9D=EA=B8=B4=20=EB=92=A4=20?= =?UTF-8?q?=EB=8B=A4=EC=8B=9C=20=EA=B3=A0=EB=A5=B4=EA=B2=8C=20(#816)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ViewMovedEnough 가 _viewOn=false 에서 곧장 false 를 돌려줘, 카메라가 씬보다 늦게 생기는 경우 가시 범위가 영영 안 켜지고 섬 전체에 인스턴스가 남았다(그림은 정상 · 최적화만 무효). 카메라가 생겼는데 아직 범위를 못 잡았으면 true 를 돌려 한 번 다시 고르게 한다. Co-Authored-By: Claude Opus 5 (1M context) --- Assets/WL/Look/Farm/WLIslandGrass.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Assets/WL/Look/Farm/WLIslandGrass.cs b/Assets/WL/Look/Farm/WLIslandGrass.cs index 4739a3af1..c45e51f0b 100644 --- a/Assets/WL/Look/Farm/WLIslandGrass.cs +++ b/Assets/WL/Look/Farm/WLIslandGrass.cs @@ -98,9 +98,10 @@ namespace WL.Look.Farm /// 카메라가 「다시 골라야 할 만큼」 움직였는지(위치 보폭 또는 회전 각). public bool ViewMovedEnough() { - if (cfg == null || cfg.viewCullEnabled == 0 || !_cacheValid || !_viewOn) return false; + if (cfg == null || cfg.viewCullEnabled == 0 || !_cacheValid) return false; var cam = PickCamera(); if (cam == null) return false; + if (!_viewOn) return true; // 처음 깔 때 카메라가 아직 없었다 → 이제 생겼으니 다시 고른다 if ((cam.transform.position - _viewBuiltPos).sqrMagnitude > Mathf.Max(0.05f, cfg.viewRebuildStep) * Mathf.Max(0.05f, cfg.viewRebuildStep)) return true; return Vector3.Angle(cam.transform.forward, _viewBuiltFwd) > Mathf.Max(0.1f, cfg.viewRebuildAngle);