Contexte
Apres validation de la centralisation WorldScale (session 132 + 132bis),
feedback utilisateur : les textures de murs ont 1/3 de repetition en trop,
et les portes/lifts ont quelques pixels de decalage et un mauvais centrage.
Directive utilisateur : pour les MURS, 1 m JME = 128 px de texture en U.
Changements
| Constante / endroit | Avant | Apres | Impact |
|---|---|---|---|
WorldScale.WALL_TEXEL_TO_XZ |
2.0f (1 texel = 2 X/Z) |
0.5f (1 texel = 0.5 X/Z) |
1 m JME = 128 texels U (au lieu de 32). Tile 128px se repete tous les 1 m JME en U. |
LevelSceneBuilder lifts sides |
un seul sideTileSize pour U et V |
sideTileUSize et sideTileVSize separes |
U = ~1 m JME (tile 128px), V = ~4 m JME (texel V = 1 Y unit, 1:1). Avant ca marchait par coincidence avec WALL_TEXEL_TO_XZ=2, maintenant il faut bien separer. |
Doc WorldScale |
« 128 texels X = 256 X/Z units » | « 128 texels U = 1 m JME (= 64 X/Z units), 128 texels V = 4 m JME » | Documentation explicite de l’aspect ratio U/V = 4 (densite horizontale 4x verticale). |
Aspect ratio U vs V (apres ce fix)
- U (horizontal) : 1 m JME = 128 texels (= 128 px/m horizontal)
- V (vertical) : 1 m JME = 32 texels (= 32 px/m vertical)
- Ratio U/V : 4 (les murs paraissent 4x plus dense en horizontal qu’en vertical)
C’est conforme a l’esthetique Amiga AB3D2 ou les textures sont serrees en U
(beaucoup de details horizontaux, ex. bandeaux, cables, evacuation) et plus
larges en V (plafond et sol uniforme).
Verification visuelle attendue
| Element | Avant (132bis) | Apres (132ter) |
|---|---|---|
| Mur de 4 m | 1 repetition tile (texture etiree) | 4 repetitions tile (densite ASM) |
| Porte 1 m large | 0.25 tile en U | 1 tile pleine en U |
| Cabine lift cote 2 m, haut 4 m | 0.5 tile U / 1 tile V (correct par coincidence) | 2 tiles U / 1 tile V (= bon ratio fix) |
Test
./gradlew compileJava
./gradlew buildScenes # rebuild les .j3o avec WALL_TEXEL_TO_XZ=0.5
./gradlew run
Observer dans le jeu :
1. Les textures de mur doivent se repeter ~1 fois par mètre en U
2. Les portes doivent avoir leur texture chevron centree, alignee aux murs adjacents
3. Les sides de cabine d’ascenseur doivent montrer 1 chevron complet en hauteur
(~4 m), independamment du nombre de chevrons en largeur (selon L2 du wall)
Si l’aspect U/V parait trop asymetrique (texture trop « applatie » verticalement),
revoir Y_SCALE ou ajouter une constante WALL_TEXEL_TO_Y symetrique a
WALL_TEXEL_TO_XZ. Pour l’instant on garde la convention doc README.md (V = 1:1).