Aller au contenu principal

Session 60 — VectObj : respecter onOffMask frame 0

Probleme

Apres la session 59 (fix part list), les modeles affichaient trop de faces
superposees
. Analyse du passkey : 12 parts x 6 triangles = 72 triangles
pour un objet de 9 sommets seulement.

Diagnostic

Le passkey a numFrames=13 avec des onOffMask differents par frame :
– frame 0 : 0x001FE001 -> part 0 visible uniquement
– autres frames : differents bits -> autres parts

C’est une animation de rotation : chaque frame affiche une « pose » differente
(un wedge different visible). Les 12 parts sont donc 12 poses d’animation
d’une meme cle qui tourne, pas une decomposition multi-parts statique.

Correction

  • forceAllParts = true retire en session 59 -> re-active le masque
  • Utilisation du onOffMask de frame 0 (pose au repos, comme le jeu)
  • Detection automatique « frames SAME vs DIFFERENT » + affichage debug

Nouvel outil : VectObjQuickAnalyze

./gradlew analyzeVectObj dump pour chaque vectobj : header + masques
onOff des 6 premieres frames + verdict SAME/DIFF pour identifier rapidement
les objets animes vs statiques.

Resultat attendu

  • passkey : 1 seule part rendue (6 triangles) au lieu de 12 parts (72 triangles)
  • armes (blaster, rifle, etc.) : si frames SAME, geometrie complete toujours
  • Plus de faces superposees dans le rendu

Laisser un commentaire

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