KO 3: il personaggio appare staccato dal terreno con il cutaway attivo #280

Open
opened 2026-08-08 08:26:39 +02:00 by panda · 0 comments
Collaborator

Dentro il cratere, con il cutaway attivo, il personaggio appare staccato dal terreno — "vola". Osservato a (7514,4267), cutMode True.

Non è chiuso dalla regione preservata di #279: quella garantisce che la cella sia disegnata, non che il piede dello sprite coincida con la superficie interpolata.

Ipotesi da misurare, non da dedurre

  1. Lo sprite è posato sulla DisplayZ della cella (Mobile.GroundZ = world.DisplayZAt), mentre la mesh interpola fra i vertici del rombo: su un pendio il punto del piede può cadere sopra o sotto la superficie effettivamente disegnata.
  2. DisplayZAt fuori dalla finestra corrente ricade sulla GroundZAt grezza: attraversando quel confine la quota dello sprite salta di quanto vale lo smoothing.
  3. Lo smoothing (TerrainDisplayHeight) su una scogliera può valere diverse unità: lì lo scarto è massimo.

Come misurarlo

Sonda che, per la cella del giocatore, stampi nell'overlay admin: SurfaceZ autoritativa, DisplayZ della cella, e la Z interpolata della mesh nel punto esatto del piede. Il colpevole è la coppia che diverge.

Definition of Done

  • Riprodotto a (7514,4267) con la sonda, e la causa nominata (quale delle tre, o un'altra).
  • Il piede dello sprite coincide con la superficie disegnata su pendio, su scogliera e attraversando il bordo finestra — dimostrato con screenshot.
  • Nessuna regressione sull'ordinamento painter degli sprite.
Dentro il cratere, con il cutaway attivo, il personaggio appare **staccato dal terreno** — "vola". Osservato a `(7514,4267)`, `cutMode True`. Non è chiuso dalla regione preservata di #279: quella garantisce che la **cella** sia disegnata, non che il piede dello sprite coincida con la superficie interpolata. ## Ipotesi da misurare, non da dedurre 1. Lo sprite è posato sulla `DisplayZ` **della cella** (`Mobile.GroundZ = world.DisplayZAt`), mentre la mesh **interpola** fra i vertici del rombo: su un pendio il punto del piede può cadere sopra o sotto la superficie effettivamente disegnata. 2. `DisplayZAt` fuori dalla finestra corrente ricade sulla `GroundZAt` grezza: attraversando quel confine la quota dello sprite salta di quanto vale lo smoothing. 3. Lo smoothing (`TerrainDisplayHeight`) su una scogliera può valere diverse unità: lì lo scarto è massimo. ## Come misurarlo Sonda che, per la cella del giocatore, stampi nell'overlay admin: `SurfaceZ` autoritativa, `DisplayZ` della cella, e la Z **interpolata della mesh** nel punto esatto del piede. Il colpevole è la coppia che diverge. ## Definition of Done - [ ] Riprodotto a `(7514,4267)` con la sonda, e la causa **nominata** (quale delle tre, o un'altra). - [ ] Il piede dello sprite coincide con la superficie disegnata su pendio, su scogliera e attraversando il bordo finestra — dimostrato con screenshot. - [ ] Nessuna regressione sull'ordinamento painter degli sprite.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
marco/IsoMmo#280
No description provided.