Aller au contenu principal

Session 132ter — Calibration UV murs/portes/lifts (1 m = 128 px)

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).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *