¿Qué son el "espacio mundial" y el "espacio ocular" en el desarrollo del juego?

16

Estoy leyendo un libro sobre conceptos 3D y OpenGL. El libro siempre habla sobre el espacio mundial , el espacio para los ojos , etc.

  • ¿Qué es exactamente un mundo dentro de la pantalla del monitor de la computadora?

  • ¿Qué es el espacio mundial?

  • ¿Qué es el espacio para los ojos? ¿Es sinónimo de proyección?

gamdevNoobie
fuente

Respuestas:

25

Antes de comprender qué es el mundo o el espacio ocular, ¿qué es un espacio?

En un sentido abstracto, un espacio geométrico (por ejemplo, el espacio euclidiano) es una extensión ilimitada donde los objetos tienden a existir. El espacio define las propiedades básicas que los objetos que viven en este espacio deben satisfacer. Por ejemplo, en la distancia espacial euclidiana se define como Sqrt( vector dot product with itself).

La mayoría de las personas tienden a mezclarse entre la definición de espacio y el sistema de coordenadas. Un espacio como espacio euclidiano define las propiedades pero no define el sistema de coordenadas, diría que "espacio ocular" se llama mejor "coordenadas oculares".

En gráficos de computadora, casi exclusivamente tratamos con el espacio euclidiano. Cuando define un Vértice de (X, Y, Z) en el espacio euclidiano, no significa nada para nosotros.

Una definición más tangible sería definirla en relación con algún sistema de coordenadas. Por ejemplo, un vértice (X, Y, Z) es relativo a las coordenadas oculares. Entonces, si Vértice = (0,2,3) relativo a las coordenadas del ojo. significa que este vértice es:

  • 0 en la dirección X desde la posición X del ojo.
  • 2 en la dirección Y desde la posición Y del ojo.
  • 3 en la dirección Z desde la posición Z del ojo.
  • Y la distancia del vértice desde el ojo es sqrt (0 ^ 2 + 2 ^ 2 + 3 ^ 2) = unidad sqrt (13).

Pero, ¿qué son las coordenadas oculares y cómo definimos un sistema de coordenadas?

Definimos un sistema de coordenadas al proporcionar tres vectores de base ortogonal (léase: longitud unitaria y perpendicular) que se asemeja a la orientación y una posición (traslación). ingrese la descripción de la imagen aquí

Entonces, si se definió la cámara en openGL (tenga en cuenta que esto es relativo a las coordenadas mundiales):

 - Position (0,3,10)
 - Up       (0,1,0)
 - Forward  (0,0,-1)
 - Right    (1,0,0)

Esto significa que el espectador se encuentra en (0,3,10) desde el mundo (0,0,0) y su derecha está alineada con el eje X del mundo, y su avance es inverso al mundo Z, y su arriba está alineado al mundo Y.

ingrese la descripción de la imagen aquí

Pero hablaste demasiado sobre las coordenadas oculares, ¿qué son las coordenadas mundiales?

Las coordenadas mundiales son solo un sistema de coordenadas padre fijo. Las coordenadas del ojo en sí mismas deben ser relativas a algo. Este es el sistema de coordenadas global al que todo se define en relación.

World Coordinate tiene una i = (1,0,0) fija en la dirección X, j = (0,1,0) en la dirección Y, k = (0,0,1) en la dirección Z. Estos son los vectores que definen el sistema de coordenadas cartesianas.

¡Pero eso no tiene sentido! ¿Cuáles son las coordenadas con las que se definen las coordenadas mundiales?

Diría que es relativo a sí mismo, en realidad ese sería el centro del universo (pero eso es demasiado simplista).

Pero en un sentido más práctico, diría que en Computer Graphics es conveniente definir el espacio mundial como el centro del universo (mundo del juego) para que podamos imaginar cómo las cosas pueden relacionarse entre sí.

concepto3d
fuente