Entrenamiento en tecnología de rayos. Parte 2

Saludos, lector. Esta es la segunda parte de la serie de traducción "Tutorial de lanzamiento de rayos para el desarrollo de juegos y otros fines". La segunda parte va precedida de la primera, que también se puede visualizar .

¡Empecemos! ¡Continuemos!

Limitaciones de lanzamiento de rayos

La tecnología de lanzamiento de rayos es rápida porque utiliza algunas restricciones geométricas. En la mayoría de los casos, las paredes son siempre perpendiculares al piso (tenga en cuenta que esto no se aplica a las esquinas entre las paredes).

De esto obtenemos otra limitación: el punto de vista no puede girar a lo largo del eje Z (que todos conocemos como el eje del aplicativo - aprox. Per.). ¿Por qué? Imagina lo contrario: la rotación está permitida. En este caso, las paredes pueden inclinarse y, en consecuencia, se pierde la ventaja de dibujar secciones verticales de estas mismas paredes. La limitación de rotación es una de las razones por las que la proyección de rayos no puede considerarse 3D total.

La tecnología de lanzamiento de rayos permite que el jugador se mueva hacia adelante / hacia atrás y gire a la derecha / izquierda, pero no gire alrededor del eje Z (este tipo de rotación se llama balanceo (si el eje Y es vertical, entonces la rotación a lo largo es cabeceo y a lo largo del eje X es guiñada, - aprox. . per.)).

Paso 1: creando el medio ambiente

Para renderizar el trabajo de fundición de rayos, crearemos una escena de laberinto basada en las siguientes restricciones geométricas:

  •   

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

(A veces nos referiremos al ángulo entre rayos sucesivos como el ángulo entre columnas adyacentes. Posteriormente, este ángulo se utilizará para iterar dentro del bucle de una columna a la siguiente. La distancia al plano de proyección será necesaria para escalar).

Fin de la segunda parte




All Articles