깃 관리자
|
3713a67c30
|
[WL-816zh] 풀잎 = 구름 그림자 경계 띠(부드러운 성장) (#816)
PD 2026-09-16 「경계 1.2 m 가 아니라 그림자(그라데이션)를 기준으로」.
- WLCloudShadowField: 구름 「높이」(강도를 걷어 낸 cover + 0.5·noise) 성긴 표본 격자 BakeLevels/LevelAt + 띠 가중치 BandWeight
= smoothstep(1 − |높이 − cover| / cloudBandWidth). 강도 0.5 재질에서 |c − cover| 로 재면 띠가 없어 강도를 걷어 낸 값으로 판정.
- WLIslandGrass: edgeOnly_ 후보를 들판 전체에 두고(band=0) 인스턴스 배율 × w. cloudBandRefreshSeconds 마다 목표 재계산,
현재값은 cloudBandLerp 로 따라감(자라고 줄어듦 · 팝핑 0). w < cloudBandMinScale 는 버퍼에서 압축. 물리 띠(grassEdgeBand) 안은 항상 1.
갱신 토글은 프레임 끝(WaitForEndOfFrame)에 — 드로우에 넘긴 버퍼를 렌더 전에 해제해 생기는 깜빡임 방지. 띠가 켜지면 816o 하드 컷은 무시.
- WLIslandLookSettings §1-816zh: cloudBandEnabled 1 · cloudBandWidth 0.12 · cloudBandRefreshSeconds 0.2 · cloudBandLerp 0.15 ·
cloudBandMinScale 0.02 · grassEdgeBand 1.2 → 0.6. 되돌리기 = cloudBandEnabled 0.
- Farm_Grass_Demo3.mat _ShadowDiffuseColor 0.62/0.82/0.485 → 0.55/0.75/0.47 (경계 실루엣 대비).
유니티 미실행(컴파일·검증은 Lead).
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-09-16 00:17:31 +09:00 |
깃 관리자
|
b23489def9
|
[WL-816o] 섬 풀밭 = 구름 경계 기준 최적화 배치 (#816)
PD 「데모와 같은 비주얼 · 잔디를 많이 심지 않는 최적화 로직(구름 그림자 기준 배치)」
- WLCloudShadow.cs(신규) — 데모 Toon 셰이더의 구름 그림자를 CPU 에서 같은 식으로 재현.
CloudShadows/ToonLighting/ToonRamp 서브그래프 + CloudNoise.hlsl(6 옥타브 FBM) +
SimplexNoise3D.hlsl(Ashima snoise) 1:1 이식. 값은 전부 머티리얼에서 읽는다(C45).
노이즈는 성긴 격자(1 m)에서만 계산하고 판정 격자(0.3 m)는 겹선형 보간 → 굽기 2.2 ms.
- WLIslandGrass.cs — 후보를 캐시하고, 띠 밖 후보를 잘라 낸다. 구름이 흐르면
RefreshCloudEdges() 로 「고르기」만 다시 한다(타일·제외 사각형 재수집 없음).
- WLIslandLookSettings.cs — §2 값 9개(되돌리기 스위치 cloudEdgeEnabled=0 → 816n 상태).
- WLIslandLook.cs — 기존 확장 감시 코루틴에 주기 갱신 1줄 추가.
실측(4타일 · PD 구도 12 m/45°/fov 60): 인스턴스 1,155 → 382(33.1%) ·
삼각형 10,380 → 3,435(33.1%) · 드로우콜 +2 유지 · 띠 면적 16.8%(데모 실측 15.7%).
원본(3DPixelArtEnvironment · FarmingIsland · Script · Packages · ProjectSettings) 0줄.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
2026-09-15 02:09:26 +09:00 |