Retour de test session 88
✅ Vitesse joueur, hauteur, FOV : OK
❌ Arme trop vers le centre, devrait etre plus en bas-droite
❌ Arme trop petite, devrait etre plus imposante
❌ « Trous » visibles dans l’arme — certains triangles s’affichent dans le mauvais ordre
Analyse du probleme des trous
Dans fixWeaponMaterials() on avait :
mat.getAdditionalRenderState().setDepthTest(false);
C’est ce qui causait les « trous ». Sans depth test, les triangles sont dessines
dans l’ordre du buffer, sans tenir compte de la profondeur. Resultat :
les triangles du dos de l’arme peuvent etre dessines par-dessus ceux de
devant, creant des faces visibles qui devraient etre cachees.
De plus, FaceCullMode.Off (herite de VectObjConverter) dessine les deux
cotes de chaque polygone, ce qui aggrave le probleme.
Fix
WeaponViewAppState.java :
| Parametre | Avant | Apres | Effet |
|---|---|---|---|
WEAPON_OFFSET.x |
0.35 | 0.45 | Plus a droite |
WEAPON_OFFSET.y |
-0.32 | -0.45 | Plus en bas |
WEAPON_OFFSET.z |
-0.5 | -0.55 | Un peu plus loin (compense la taille) |
TARGET_WEAPON_SIZE |
0.5 | 0.7 | Arme plus imposante |
setDepthTest |
false | true | Triangles se trient entre eux |
FaceCullMode |
Off (herite) | Back | Cache les faces arriere |
| Bucket | Transparent | Translucent | Rendu apres la scene, triage par distance |
L’arme est a z=-0.55 (tres pres de la camera) donc depth test=true ne risque
pas de la faire obscurcir par les murs en pratique.
Fichier modifie
src/main/java/com/ab3d2/weapon/WeaponViewAppState.java
Test attendu
- L’arme apparait plus a droite et plus bas
- L’arme est visiblement plus grande (bien presente a l’ecran)
- Plus de « trous » dans l’arme : les faces sont ordonnees correctement
- Possible : certaines faces exterieures peuvent ne plus etre visibles si les
normales des polygones vectobj sont inversees. Dans ce cas, on passera a
FaceCullMode.Offet on cherchera une autre solution pour les trous.
Si ca pose probleme
- Toujours des trous : revenir a
FaceCullMode.Offet chercher cote
ordre des triangles dans le .j3o (reordonner a la generation ?) - Faces manquantes sur certaines armes : c’est que leur orientation de
normale est inversee. Repasser aFaceCullMode.Off.