Project_WL/AgentScripts/WL815c_PROBE.txt

85 lines
6.2 KiB
Plaintext
Raw Normal View History

WL-815c 스테이지 장벽 프로브 · 2026-09-11 00:51:58
앵커 = 기준서 §D-1 존1 (115.0, 0.4, -22.0) 반경 14 m
① 설정 에셋(C45 — 값은 전부 SO)
PASS 1-1 에셋 로드 — Resources/WL/WLStageBarrierSettings
PASS 1-2 막기 값 — leaveMargin 2 · grace 0.5 s · 쿨 1 s · inset 1.5 m · 샘플 4/20 m
PASS 1-3 몹 값 — 몹여유 3 · 유예 1 s · 쿨 2 s
PASS 1-4 카브 기본 off — carveNavMesh 0 · arc 4 m · 상한 32 · 두께 1.5 · 높이 3
PASS 1-5 스타일 — style=MagicRing · 입장 0.6 s · 클리어 0.6 s
PASS 1-6 ⓐ 링 프리팹 — Marker 3 Zone Loop · 실측 시각반경 1.1 m · 겹 2
PASS 1-7 ⓑ 프롭 프리팹 — Fence_01, Fence_01, Rock_Block_crk_m_01 · 간격 2.5 m · 상한 64
PASS 1-8 ⓒ 불꽃 프리팹 — Fire_Particles · 간격 3 m · 상한 48 · 파티클 총량 1200
② 임시 NavMesh 베이크(에디트 모드에서 실 워프 지점을 재기 위해)
PASS 2-1 NavMesh 베이크 — 정점 64 · 앵커 스냅 (115.00, 0.48, -22.00)
③ Set / Clear 왕복 (오브젝트 0 · 풀 반납)
PASS 3-1 초기 — Active=false · IsInside(어디든)=true → True
PASS 3-2 Set — Active=true · 중심 (115.0, 0.4, -22.0) 반경 14 · 그림 인스턴스 2 · Instantiate 누계 2
PASS 3-3 IsInside — 중심=안 · 13.9 m=안 · 14.1 m=밖 · 높이 무관(y+50 → True)
PASS 3-4a Clear 직후 = 페이드 중 — Active=false · 페이드 중 활성 2 · 진행도 1.00
PASS 3-4 페이드 끝 → 활성 0 · 풀 반납 — 활성 0 · 풀 2(= Instantiate 누계 2) · Destroy 0
PASS 3-5 재Set → 풀 재사용 — Instantiate 2 → 2(증가 0) · 활성 2
PASS 3-6 입장/클리어 연출 — 스케일 t=0 0.00 → t=.5 6.23 → t=1 12.45 (appear 0.6 s / fade 0.6 s)
PASS 3-7 반경 0 → Clear — Set(r=0) → Active=False
④ 되돌릴 지점 계산(순수 함수 · NearestInsidePoint)
(145.0, 0.4, -22.0) (중심 30.0 m) → (127.50, 0.40, -22.00) (중심 12.50 m · 방위 유지 Y)
(115.0, 0.4, -47.0) (중심 25.0 m) → (115.00, 0.40, -34.50) (중심 12.50 m · 방위 유지 Y)
(75.0, 3.4, 18.0) (중심 56.6 m) → (106.16, 3.40, -13.16) (중심 12.50 m · 방위 유지 Y)
(129.5, 0.4, -22.0) (중심 14.5 m) → (127.50, 0.40, -22.00) (중심 12.50 m · 방위 유지 Y)
PASS 4-1 안쪽 12.5 m · 방위 유지 — 4/4 · inset 1.5 m
PASS 4-2 정중앙 예외 — 중심 그대로 (115.00, 0.40, -22.00)(0 나누기 없음)
⑤ 실 워프(원본 Actor.Set_Warp · NavMesh 스냅)
PASS 5-1 스냅 지점 = 안쪽 · NavMesh 위 — 밖 35 m → (127.50, 0.48, -22.00) · 중심 12.50 m(< 14) · NavMesh 위 True
PASS 5-2 NavMesh 없으면 워프 안 함 — 먼 좌표(9000,0,9000) → false = 워프 포기(지형 뚫기 방지)
PASS 5-3 PC 실 워프 — 밖 30.0 m → 중심 12.50 m · PlayerWarps 1 · (145.0, 0.4, -22.0) → (127.5, 0.5, -22.0)
PASS 5-4 안에 있으면 무동작 — 중심에서 ForceCheck → 워프 안 함
PASS 5-5 몹 복귀 — 밖 28 m → 중심 12.50 m · MobWarps 1
PASS 5-6 유예 안에서는 안 되돌린다 — grace 999 s · 틱 ×2 → 워프 0 (OutsideSeen 0)
⑥ 스타일 전환 3회 (PD 가 값 하나로 바꾼다)
PASS 6-1 MagicRing — 활성 2 · 렌더러 8 · 머티리얼 1 · tri 0 · PS 8 · 빌드 1.4 ms · 링 스케일 12.45(반경 14 ÷ 실측 1.1)
PASS 6-2 Props — 활성 35 · 렌더러 35 · 머티리얼 2 · tri 4530 · PS 0 · 빌드 1.3 ms · 프롭 35개 · 실간격 2.51 m
PASS 6-3 Fire — 활성 29 · 렌더러 87 · 머티리얼 3 · tri 0 · PS 87 · 빌드 7.6 ms · 불꽃 29개 · 방출률 ×0.33 · 파티클 추정 1200(개당 125)
PASS 6-4 전환 누계 — StyleSwitches 3 · Instantiate 누계 66
PASS 6-5 None → 그림 0 — 활성 그림 0 · 판정은 그대로 Active=True
⑦ NavMesh 카브 on/off (옵션 · 기준서 §D-2 ②)
PASS 7-1 off(기본) → 카브 0 — carveNavMesh 0 → 오브젝트 0
PASS 7-2 on → 세그먼트 생성 — 둘레 88.0 m ÷ arc 4 m = 22(상한 32) · 오브젝트 22 · 생성 0.41 ms · Set 전체 2.32 ms
PASS 7-3 세그먼트 기하 — carving=true 22 · Box 22 · 상자 4.60 × 두께 1.50 m > 이웃 간격 3.98 m(이론 4.00 · 겹침 15 %) · 원 이탈 최대 0.0000 m
NavMesh 삼각형 32 → 32 (에디트 모드는 carve 가 즉시 반영되지 않을 수 있다 — 실 반영·재베이크 ms 는 Play 확인)
PASS 7-4 Clear → 카브 회수 — 오브젝트 0
⑧ GC (프레임당 할당 0)
PASS 8-1 반경 안 · 틱 ×200 — 할당 0 B (틱마다 0.0 B) · 계측 = Profiler.GetMonoUsedSizeLong
대조군(byte[65536] ×200 = 12.8 MB) 13926400 B · sink True
PASS 8-2 폴링 동작 — Scans 2 · Checks 0 → 1 (몹 1기 · 안쪽이라 워프 0)
PASS 8-3 몹 1기 · 틱 ×200 — 할당 0 B
⑨ C8 롤백 진리표
PASS 9-1 enabled=0 → Set 무동작 — Active=False · Instantiate 0 (오브젝트 0)
PASS 9-2 RuntimeDisabled=1 → Set 무동작 — Active=False · Instantiate 0
PASS 9-3 에셋 없음 → Set 무동작 — Active=False · FeatureEnabled=False
PASS 9-4 blockEnabled=0 → 판정 0 · 그림은 남는다 — Checks 0 · 그림 2
PASS 9-5 showVisual=0 → 그림 0 · 판정은 산다 — 그림 0 · Active=True
⑩ 성능 표 (반경 14 m · 스타일별)
| 스타일 | 인스턴스 | 렌더러 | 머티리얼 | 삼각형 | 파티클시스템 | 정상상태 파티클 | 빌드 ms |
|---|---|---|---|---|---|---|---|
| MagicRing | 2 | 8 | 1 | 0 | 8 | 8 | 0.9 |
| Props | 35 | 35 | 2 | 4530 | 0 | 0 | 1.2 |
| Fire | 29 | 87 | 3 | 0 | 87 | 1200 | 8.2 |
PASS 10-1 성능 표 — 위 표 참조(에디트 모드 측정 · 실 드로우콜은 캡처의 UnityStats)
반경별 프롭 개수(간격 2.5 m · 상한 64)
r 8 m(둘레 50.3 m) → 프롭 20 · 실간격 2.51 m · 카브 세그(on 일 때) 13
r 14 m(둘레 88.0 m) → 프롭 35 · 실간격 2.51 m · 카브 세그(on 일 때) 22
r 20 m(둘레 125.7 m) → 프롭 50 · 실간격 2.51 m · 카브 세그(on 일 때) 32
r 30 m(둘레 188.5 m) → 프롭 64 · 실간격 2.95 m · 카브 세그(on 일 때) 32
r 40 m(둘레 251.3 m) → 프롭 64 · 실간격 3.93 m · 카브 세그(on 일 때) 32
RESULT PASS · 43 PASS · 0 FAIL