Aller au contenu principal

Session 89 — Arme en main : position, taille, ordre des triangles

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

  1. L’arme apparait plus a droite et plus bas
  2. L’arme est visiblement plus grande (bien presente a l’ecran)
  3. Plus de « trous » dans l’arme : les faces sont ordonnees correctement
  4. Possible : certaines faces exterieures peuvent ne plus etre visibles si les
    normales des polygones vectobj sont inversees. Dans ce cas, on passera a
    FaceCullMode.Off et on cherchera une autre solution pour les trous.

Si ca pose probleme

  • Toujours des trous : revenir a FaceCullMode.Off et 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 a FaceCullMode.Off.

Laisser un commentaire

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