Diferencia entre revisiones de «UNITY Cámara en perspectiva»

De MediaWiki
Ir a la navegación Ir a la búsqueda
Línea 71: Línea 71:
 
: Podemos observar:
 
: Podemos observar:
 
:* FOV tiene un valor de 60 grados.
 
:* FOV tiene un valor de 60 grados.
−
:* El plano near está situado a 0.3 unidades de la cámara y el plano far a 1.000 unidades de la cámara. Por lo tanto la cámara va a 'dibujar' los objetos situados entre 0.3 y 1000 (es el view frustrum)
+
:* El plano near está situado a 0.3 unidades de la cámara y el plano far a 1.000 unidades de la cámara. Por lo tanto la cámara va a 'dibujar' los objetos situados entre 0.3 y 1000 (es el view frustum)
 
:* La relación de aspecto va a ser 1 a 1 (valor del viewport).
 
:* La relación de aspecto va a ser 1 a 1 (valor del viewport).
  

Revisión del 01:49 30 mar 2018

Introducción

  • La cámara va a ser nuestros ojos. Van a mostrar la escena como si estuviéramos nosotros viendo con nuestros ojos los objetos 3D dibujados a nuestro alrededor.
  • En el desarrollo de videojuegos podemos hacer uso dos tipos de cámara diferentes:
  • Cámara ortográfica: Utilizada en los juegos 2D.
  • Cámara en perspectiva. Utilizada en los juegos 3D.
  • En este punto vamos a tratar sólo la cámara en perspectiva.



Cámara en perspectiva

  • Este tipo de cámara va a 'dibujar' los objetos en perspectiva, en función de la distancia, de tal forma que los objetos más cercanos se verán más grandes y los objetos más lejanos se verán más pequeños.


LIBGDX UD4 Camara 10.jpg
En este gráfico, la cámara estaría situada en en cuadrado más pequeño, mirando cara a los triángulos. Después explicaremos más en detalle.
Como vemos existen dos triángulo, el triángulo rojo está delante del verde, por lo tanto debe de verse mayor (los dos tienen el mismo tamaño).
Veamos el resultado:
LIBGDX UD4 Camara 12.jpg


  • Veamos un poco más en detalle los parámetros que conforman una cámara en perspectiva.

Parámetros de una cámara en perspectiva

LIBGDX UD4 Camara 11.jpg


En la imagen anterior el ojo representa a una cámara.
Como vemos, de él 'surgen' rayos formando un pirámide que se va abriendo hasta el infinito.
  • Cuando configuramos una cámara en perspectiva podemos determinar desde que punto y hasta que punto se visualizan los objetos.
Fuera de estas dos 'distancias' los objetos no se dibujarán.
Esos dos puntos en la figura que representa el área de visualización (como una pirámide aumentando de tamaño), forman dos planos que es lo que se conoce como el plano near (el situado en el punto más cercano) y el plano far (el situado en el punto más alejado)
El área de visualización (lo que va a dibujar la cámara) se conoce como view frustum.
Normalmente cuando definimos una cámara 3D indicamos un punto muy cercano (por ejemplo, 0.3) y un punto muy lejano (1000) aunque este último va a depender del tipo de juego. Recordar que estamos hablando de 'unidades' en el mundo 3D que son los cuadrados que se ven en el suelo.
¿ Por qué limitar el área de visualización ? Para ahorrar recursos. Ten en cuenta que un objeto 3D muy alejado no será apreciado por la vista, pero el ordenador seguirá dibujándolo aunque no lo veas.


  • Existe otro parámetro que es el Field of View => FOV
LIBGDX UD4 Camara 14.jpg
Este parámetro es un ángulo y representa el ángulo de visión de la cámara sobre la proyección de los objetos.
Viene a ser como la apertura del objetivo de una cámara. Cuanto más grande, más abarcamos.
El valor por defecto es de 60 grados, pero dependiendo del juego puede ser que nos interese aumentarlo, como en los juegos de primera persona.
Cabe señalar que al disminuir el ángulo conseguimos un 'efecto zoom' como se ve en la imagen anterior.
IMPORTANTE: En la cámara en perspectiva tiene que cumplirse que 0 < near < far.


  • Por último tenemos el viewport.
En una cámara 3D, el viewport va a establecer la relación de aspecto (la relación que existe entre el ancho y el alto de la pantalla). Hablaremos de esto en el siguiente punto.


  • En Unity3D podemos seleccionar la cámara en le ventana de jerarquía y podremos observar los valores de todos estos parámetros en la ventana inspector:
Unity3d camara 1.jpg
Podemos observar:
  • FOV tiene un valor de 60 grados.
  • El plano near está situado a 0.3 unidades de la cámara y el plano far a 1.000 unidades de la cámara. Por lo tanto la cámara va a 'dibujar' los objetos situados entre 0.3 y 1000 (es el view frustum)
  • La relación de aspecto va a ser 1 a 1 (valor del viewport).



  • Si seleccionamos la cámara en la ventana de jerarquía podemos ver en la ventana de escena el área de visualización de la cámara que viene representado por unas líneas blancas que surgen de ella formando una pirámide:
Unity3d camara 2.jpg









-- Ángel D. Fernández González -- (2018).