Diferencia entre revisiones de «UNITY Cámara en perspectiva»
Ir a la navegación
Ir a la búsqueda
(Página creada con « <br> -- Ángel D. Fernández González -- (2018).») |
|||
| Línea 1: | Línea 1: | ||
| + | |||
| + | =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. | ||
| + | |||
| + | |||
| + | |||
| + | <br /> | ||
| + | =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. | ||
| + | |||
| + | |||
| + | [[Imagen:LIBGDX_UD4_Camara_10.jpg|500px|center]] | ||
| + | |||
| + | : 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: | ||
| + | |||
| + | [[Imagen:LIBGDX_UD4_Camara_12.jpg|500px|center]] | ||
| + | |||
| + | |||
| + | * 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== | ||
| + | |||
| + | [[Imagen:LIBGDX_UD4_Camara_11.jpg|600px|center]] | ||
| + | |||
| + | |||
| + | : En la imagen anterior el ojo representa a una cámara. | ||
| + | : Como vemos, de él 'surgen' rayos formando un cono 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 (un cono expandiéndose), 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 | ||
| + | [[Imagen:LIBGDX_UD4_Camara_14.jpg|400px|center]] | ||
| + | |||
| + | : 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. | ||
| + | |||
| + | : <u>IMPORTANTE:</u> 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: | ||
| + | |||
| + | [[Imagen:Unity3d_camara_1.jpg|600px|center]] | ||
| + | |||
| + | : 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 frustrum) | ||
| + | :* La relación de aspecto va a ser 1 a 1 (valor del viewport). | ||
Revisión del 01:36 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.
- 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:
- 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
- En la imagen anterior el ojo representa a una cámara.
- Como vemos, de él 'surgen' rayos formando un cono 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 (un cono expandiéndose), 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
- 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:
- 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 frustrum)
- La relación de aspecto va a ser 1 a 1 (valor del viewport).
-- Ángel D. Fernández González -- (2018).
