126 lines
7.6 KiB
Markdown
126 lines
7.6 KiB
Markdown
|
|
# VQ1-CART — Cartographie et audit de conformité `DefaultScalability.ini`
|
||
|
|
|
||
|
|
- **Date :** 2026-10-07
|
||
|
|
- **Fiche :** VQ1-T3 | **Agent :** A-CART | **Rôle :** Cartographie & Audit de conformité VQ1
|
||
|
|
- **Modèle prévu :** `gemini-3.8-flash-high` (M1) | **Modèle utilisé :** `gemini-3.8-flash-high` (M1)
|
||
|
|
- **Workspace :** `d:\Game\LifePlay-master 5.5`
|
||
|
|
- **Référence spécification :** `Docs/Migration/etat/VQ/VQ1/VQ1-SPEC.md` (VQ1-T1)
|
||
|
|
- **Référence implémentation :** `Docs/Migration/etat/VQ/VQ1/VQ1-IMPL.md` (VQ1-T2)
|
||
|
|
- **Référence verrous moteur :** `Config/DefaultEngine.ini` (lots L6a / L7c)
|
||
|
|
- **Statut :** **OK** (0 hit bloquant, 0 OUBLI) — **PASS**
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 1. Périmètre et Objectifs
|
||
|
|
|
||
|
|
L'objectif de cette cartographie (fiche **VQ1-T3**) est d'auditer le fichier de configuration de scalabilité nouvellement créé `Config/DefaultScalability.ini` par rapport aux verrous stricts du moteur et de rendu définis dans `Config/DefaultEngine.ini` (notamment lots **L6a** et **L7c**).
|
||
|
|
|
||
|
|
Le contrat de conformité exige :
|
||
|
|
1. Recherche ciblée (Grep) des 5 termes/variables interdits ou verrouillés :
|
||
|
|
- `DynamicGlobalIllumination`
|
||
|
|
- `Virtual.Enable`
|
||
|
|
- `AntiAliasingMethod`
|
||
|
|
- `Lumen`
|
||
|
|
- `ReflectionMethod`
|
||
|
|
2. Confrontation systématique avec les verrous définis dans `Config/DefaultEngine.ini` (sections `[/Script/Engine.RendererSettings]` et `[/Script/WindowsTargetPlatform.WindowsTargetSettings]`, lot L7c / L6a).
|
||
|
|
3. Classification stricte en **OK** ou **OUBLI** (critère d'acceptation : **0 hit bloquant**).
|
||
|
|
4. Émission du verdict **PASS / FAIL**.
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 2. État des verrous dans `Config/DefaultEngine.ini` (Lots L6a / L7c)
|
||
|
|
|
||
|
|
Dans `Config/DefaultEngine.ini`, les paramètres de rendu ont été explicitement verrouillés au niveau projet (`SetByProjectSetting`, priorité supérieure à `SetByScalability`) pour garantir la parité stricte avec le rendu validé UE 4.27 et prévenir les instabilités ou scintillements de maillages :
|
||
|
|
|
||
|
|
```ini
|
||
|
|
[/Script/Engine.RendererSettings]
|
||
|
|
; Lot L6a (ERR-032) : r.DefaultFeature.AntiAliasing est ignoree par UE5 (variable fantome),
|
||
|
|
; le jeu tournait donc en TSR (defaut UE5 = 4). TAA (2), comme en 4.27 : TSR fait scintiller
|
||
|
|
; les maillages deformes par morphs (personnages).
|
||
|
|
r.AntiAliasingMethod=2
|
||
|
|
; Lot L7c : rendu 5.5 rendu explicite, aux valeurs effectivement jouees et validees (identiques aux
|
||
|
|
; valeurs par defaut du moteur 5.5, qui correspondent au rendu 4.27) : pas d'illumination globale
|
||
|
|
; dynamique (Lumen), reflets SSR, pas d'ombres virtuelles. Ainsi un changement de valeur par defaut du
|
||
|
|
; moteur ou un modele de projet UE5 ne modifie pas le rendu sans decision.
|
||
|
|
r.DynamicGlobalIlluminationMethod=0
|
||
|
|
r.ReflectionMethod=2
|
||
|
|
r.Shadow.Virtual.Enable=0
|
||
|
|
r.DefaultFeature.AutoExposure=False
|
||
|
|
r.TextureStreaming=True
|
||
|
|
r.DefaultFeature.AmbientOcclusionStaticFraction=False
|
||
|
|
r.AllowStaticLighting=True
|
||
|
|
r.MinScreenRadiusForCSMDepth=0.010000
|
||
|
|
r.AllowOcclusionQueries=True
|
||
|
|
|
||
|
|
[/Script/WindowsTargetPlatform.WindowsTargetSettings]
|
||
|
|
; Lot L7c : D3D12 (SM5), RHI par defaut de UE 5.5 sur lequel toutes les sessions de validation ont ete
|
||
|
|
; jouees (UE 4.27 utilisait D3D11).
|
||
|
|
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
|
||
|
|
```
|
||
|
|
|
||
|
|
Ces réglages interdisent formellement à `Config/DefaultScalability.ini` d'introduire :
|
||
|
|
- Des ombres virtuelles (`r.Shadow.Virtual.*` / VSM),
|
||
|
|
- Une méthode d'illumination dynamique (`r.DynamicGlobalIlluminationMethod`, Lumen),
|
||
|
|
- Une méthode de réflexion alternative (`r.ReflectionMethod`),
|
||
|
|
- Un changement de la méthode d'anti-aliasing (`r.AntiAliasingMethod`, TSR étant banni au profit de TAA = 2).
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 3. Audit Grep de `Config/DefaultScalability.ini`
|
||
|
|
|
||
|
|
Une recherche insensible à la casse a été exécutée sur l'intégralité du fichier `Config/DefaultScalability.ini` pour les cinq motifs sous revue :
|
||
|
|
|
||
|
|
| Clé / Motif recherché | Présence dans `DefaultScalability.ini` | Nombre de hits | Statut | Classification |
|
||
|
|
|---|---|---:|---|---|
|
||
|
|
| `DynamicGlobalIllumination` | Absent | 0 | Conforme | **OK** |
|
||
|
|
| `Virtual.Enable` | Absent | 0 | Conforme | **OK** |
|
||
|
|
| `AntiAliasingMethod` | Absent | 0 | Conforme | **OK** |
|
||
|
|
| `Lumen` | Absent | 0 | Conforme | **OK** |
|
||
|
|
| `ReflectionMethod` | Absent | 0 | Conforme | **OK** |
|
||
|
|
|
||
|
|
### Synthèse des motifs audités
|
||
|
|
- **Hits totaux trouvés :** 0
|
||
|
|
- **Hits bloquants :** 0
|
||
|
|
- **OUBLI détecté :** 0
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 4. Inventaire et vérification des sections implémentées
|
||
|
|
|
||
|
|
Le fichier `Config/DefaultScalability.ini` comprend exactement 16 sections correspondant aux 4 groupes autorisés par `VQ1-SPEC.md` :
|
||
|
|
|
||
|
|
| Groupe de scalabilité | Sections présentes | Cvars configurées par niveau | Conformité SPEC §4 |
|
||
|
|
|---|---|---|---|
|
||
|
|
| `sg.ShadowQuality` | `[ShadowQuality@0]`<br>`[ShadowQuality@1]`<br>`[ShadowQuality@2]`<br>`[ShadowQuality@3]` | `r.Shadow.CSM.MaxCascades`<br>`r.Shadow.MaxResolution`<br>`r.Shadow.MaxCSMResolution`<br>`r.Shadow.RadiusThreshold`<br>`r.Shadow.DistanceScale`<br>`r.Shadow.CSM.TransitionScale`<br>`r.Shadow.PreShadowResolutionFactor` | **OK** (Cascade Shadow Maps traditionnelles, aucune ombre virtuelle) |
|
||
|
|
| `sg.TextureQuality` | `[TextureQuality@0]`<br>`[TextureQuality@1]`<br>`[TextureQuality@2]`<br>`[TextureQuality@3]` | `r.Streaming.MipBias`<br>`r.MaxAnisotropy`<br>`r.Streaming.PoolSize`<br>`r.Streaming.MaxEffectiveScreenSize` | **OK** (Streaming standard conforme) |
|
||
|
|
| `sg.EffectsQuality` | `[EffectsQuality@0]`<br>`[EffectsQuality@1]`<br>`[EffectsQuality@2]`<br>`[EffectsQuality@3]` | `r.TranslucencyLightingVolumeDim`<br>`r.RefractionQuality`<br>`r.SSS.Scale`<br>`r.SSS.SampleSet`<br>`r.DetailMode`<br>`fx.Niagara.QualityLevel` | **OK** (Effets classiques, aucun Lumen/SSR injecté) |
|
||
|
|
| `sg.AntiAliasingQuality` | `[AntiAliasingQuality@0]`<br>`[AntiAliasingQuality@1]`<br>`[AntiAliasingQuality@2]`<br>`[AntiAliasingQuality@3]` | `r.PostProcessAAQuality` | **OK** (Qualité uniquement, la méthode reste fixée à TAA par `DefaultEngine.ini`) |
|
||
|
|
|
||
|
|
### Vérification des groupes interdits
|
||
|
|
- `GlobalIlluminationQuality` : **Absent** (laisse le moteur intact / GI désactivée par L7c).
|
||
|
|
- `ReflectionQuality` : **Absent** (SSR verrouillé par L7c).
|
||
|
|
- `ViewDistanceQuality`, `FoliageQuality`, `LandscapeQuality`, `ShadingQuality` : **Absents** (non surchargés).
|
||
|
|
- Profil `@Cine` : **Absent** (conservé au comportement moteur).
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 5. Bilan comparatif DefaultScalability.ini vs DefaultEngine.ini L7c
|
||
|
|
|
||
|
|
| Domaine de rendu | Règle `DefaultEngine.ini` (L6a / L7c) | Implémentation `DefaultScalability.ini` | Alignement |
|
||
|
|
|---|---|---|---|
|
||
|
|
| **Global Illumination** | `r.DynamicGlobalIlluminationMethod=0` (Pas de GI dynamique / Lumen) | Aucune cvar GI ni section `GlobalIlluminationQuality` | **OK — Aucun conflit** |
|
||
|
|
| **Ombres** | `r.Shadow.Virtual.Enable=0` (Ombres CSM classiques, pas de VSM) | Exclusivement des cvars CSM (`r.Shadow.CSM.*`, `r.Shadow.MaxResolution`, etc.) | **OK — Aucun conflit** |
|
||
|
|
| **Anti-Aliasing** | `r.AntiAliasingMethod=2` (TAA imposé, TSR interdit car morph jitter) | Uniquement `r.PostProcessAAQuality` (qualité du filtre d'accumulation) | **OK — Aucun conflit** |
|
||
|
|
| **Reflets** | `r.ReflectionMethod=2` (Reflets SSR classiques, pas de Lumen) | Aucune cvar de réflexion injectée | **OK — Aucun conflit** |
|
||
|
|
| **RHI** | `DefaultGraphicsRHI=DefaultGraphicsRHI_DX12` | Sans objet pour la scalabilité | **OK** |
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
## 6. Conclusion et Verdict
|
||
|
|
|
||
|
|
L'audit de `Config/DefaultScalability.ini` démontre une stricte conformité aux spécifications `VQ1-SPEC.md` et aux garde-fous de rendu définis lors des lots **L6a** et **L7c** dans `Config/DefaultEngine.ini`. Aucun mot-clé interdit n'est présent dans le fichier.
|
||
|
|
|
||
|
|
- **Hits bloquants :** 0 (seuil requis : 0)
|
||
|
|
- **OUBLI :** 0
|
||
|
|
- **Statut final :** **PASS**
|