Mentre ora la posizione sullo schermo è conosciuta, dobbiamo decidere quanto grande dovrebbe essere l'oggetto in base alla distanza. Questo in realtà non è così difficile - la scala è direttamente proporzionale alla distanza dal lettore, in modo da utilizzare il nostro esempio, a livello di schermo da giocatore, vogliamo scala 1:1 dell'oggetto, e una scala molto più piccola se ulteriori di distanza. Come oggetti risalgono dallo schermo (l'area dietro di esso), l'oggetto cresce in dimensioni (come oggetti in movimento più vicino al tuo occhio). Una volta che l'oggetto è in o passa dietro il giocatore (la posizione di 'z' è <= 0), oppure l'oggetto diventa troppo piccolo, lo nascondiamo e ignoriamo tale oggetto. così...
| scala = zDistanzaDalloSchermo / OggettoZ
Così la scala del cerchio nel nostro esempio sarebbe:
| scala = 50 / 200
| scala = 0.25
Assumendo una larghezza dell'oggetto e un'altezza di 10 pixel, il nuovo formato sarebbe 2,5 di 2,5 (pixel). E 'più piccolo, perché è più lontano, ma esattamente 1:01 una volta che raggiunge il livello dello schermo. ;)
Tutto questo non tiene conto della rotazione. Se solo si spostasse (mosso lato a lato) sull'asse 'x', o si sposta in avanti o indietro, allora tutto va bene. MA, quando si ACCENDE, le coordinate di tutti gli oggetti devono essere rotati ...