Formation en technologie de lancer de rayons. Partie 2

Salutations, lecteur. Ceci est la deuxième partie de la série de traductions "Ray-Casting Tutorial For Game Development And Other Purposes". La deuxième partie est précédée de la première, qui peut également être visualisée .

Commençons! Nous allons continuer!

Limitations de la projection de rayons

La technologie de lancer de rayons est rapide car elle utilise certaines contraintes géométriques. Dans la plupart des cas, les murs sont toujours perpendiculaires au sol (notez que cela ne s'applique pas aux coins entre les murs eux-mêmes).

De là, nous obtenons une autre limitation: le point de vue ne peut pas tourner le long de l'axe Z. Pourquoi? Imaginez le contraire: la rotation est autorisée. Dans ce cas, les parois peuvent s'incliner et, par conséquent, l'avantage de dessiner des sections verticales de ces mêmes parois est perdu. La limitation de rotation est l'une des raisons pour lesquelles la projection de rayons ne peut pas être considérée comme entièrement 3D.

La technologie de lancer de rayons permet au joueur d'avancer / reculer et de tourner à droite / à gauche, mais pas de tourner autour de l'axe Z (ce type de rotation est appelé roulis (si l'axe Y est vertical, alors la rotation le long de celui-ci est le tangage et le long de l'axe X le lacet, - env. . per.)).

Étape 1: créer l'environnement

Afin de rendre le travail de lancer de rayons, nous allons créer une scène de labyrinthe basée sur les contraintes géométriques suivantes:

  •   

64x64x64 ( , , 2. , ). , , , ,  .

, ( - ), - . .

. , .  -  .

2.

,    , . :

  • , (FOV - Field Of View),

, . FOV, , . FOV 90° . , . 60°, ( - FOV). , 32 . , , . ( -, : 2.4  / 1.7 = 1.41 - . .).

,  -  , . , , FOV - . .

, X-, Y- . 3 POV (point of view) .

, - (1, 2), 45 , FOV , . ( 64x64 ).

POV, . - FOV - . - . .

, , . 320 200 - , ..  VG .

POV , , .

FOV .

:

, ( ): 320200 (160, 100). " ". - . .

( , , , , ).

FOV 60. 320 , 60° 320 , , 1 60 / 320 . - . .

FOV . , 320 / 2 = 160 : 90°, 60° / 2 = 30° 90° - 30° = 60° .    (277), . - . .

:

  • () = 320200

  • (160, 100)

  • = 277

  • = 60 / 320

(Nous désignerons parfois l'angle entre les rayons successifs comme l'angle entre les colonnes adjacentes. Plus tard, cet angle sera utilisé pour itérer dans la boucle d'une colonne à l'autre. La distance au plan de projection sera nécessaire pour la mise à l'échelle.)

Fin de la deuxième partie




All Articles