Lessico IT › Programmazione › Origine mobile (floating origin)

Origine mobile (floating origin)

Programmazione Svenska → Aggiornato: 2026-10-26

Spostare l'intero mondo in modo che la camera resti sempre vicino allo zero del sistema di coordinate, perché i float perdono precisione con la distanza.

Un float a 32 bit offre circa sette cifre significative. Vicino all'origine significa frazioni di millimetro; a 50 chilometri, la distanza tra due valori rappresentabili adiacenti è di circa quattro millimetri. Da lì i vertici iniziano a tremolare, le animazioni a vibrare e lo z-fighting a fiorire — i giocatori di Kerbal Space Program lo chiamavano «il Kraken».

La soluzione è tenere fermo il giocatore e muovere il mondo: quando la camera supera una soglia, la sua posizione viene sottratta a ogni oggetto e l'origine viene azzerata. Anche la fisica deve spostarsi di conseguenza, e il server di un gioco in rete di solito richiede comunque un proprio riferimento a precisione maggiore. L'alternativa è usare coordinate a 64 bit ovunque; Unreal Engine 5 ha adottato questa strada con le «Large World Coordinates», anche se la GPU riceve comunque valori relativi alla camera.

← Torna al lessico