/ 3d

Three - Camara II

Continuando con el tema de las cámaras, como dije anteriormente Three maneja varios tipos de cámara, 2 básicas o las más comunes (Perspective y Orthographic) y otras 2 que son una combinación de estas.

Si eres del mundo de 3D sabrás que estas cámaras se le conoce como Proyección paralela (Orthographic) y Proyección cónica (Perspective) pero también hay derivados como en la orthographic que esta se puede dividir en 2 ramas generales (ortogonal y Oblicua) pero bueno eso son temas para la gente que está metida más en estas áreas porque estos temas no solo se ven en el mundo de 3D sino también para el mundo del cine como también en la fotografía.

Cuando declaramos a nivel código el tipo de cámara debemos poner unas propiedades para su uso en la escena, en ambas cámaras varia algunas propiedades como también comparten algunas, en el siguiente código vemos como se declara estas propiedades.
[crayon theme=”monokai” toolbar=”false” lang=”js”]
var camara;

//Perspective
camara = new THREE.PerspectiveCamera(45, 640/480, 1, 1000);

//Orthographic
camara = new THREE.OrthographicCamera(0, 10, 10, 10, 1, 1000);
[/crayon]

La cámara Perspective recibe 4 parámetros mientras que en la Orthographic recibe 6 parámetros y los únicos parámetros que tienen en común son el NEAR y FAR que son los últimos parámetros, si vamos a un IDE como Unity y modificamos estos parámetros vemos que la zona Blanca (donde muestra el tipo de proyección y su área) va ir cambiando y esto es para determinar el mínimo y máximo de la distancia a renderizar. Así que si cualquier objeto que no esté dentro de esta área no será renderizado.

En la cámara Perspective el primer parámetro es el ángulo de proyección o campo de visión mejor conocido como FOV (Field Of View) que se mide en grados y el segundo es el aspecto de radio (los que saben de diseño gráfico o video entenderán estos puntos) y para no complicarse mucho solo debemos dividir el ancho y altura de la escena, pero cuando lleguemos a un nivel más profesional podemos ir manejando los radios de esta manera.

  • 1:1
  • 5:4
  • 4:3
  • 3:2
  • 16:9
  • 3:1

En la cámara Orthographic los primeros parámetros son las coordenadas (Left, Right, Top, Bottom) donde empezara la zona de proyección y nuevamente vamos al IDE de Unity y veremos que si ponemos un near y far pequeño veremos como si fuese un cuadrado en lugar de un cono o pirámide en el otro tipo de cámara.

Hasta aquí todo de maravilla, vamos entendiendo un poco más de cómo funcionan las cámaras, pero como dije en el artículo anterior y en este en Three hay tipos de cámaras, pero para no alargarnos mucho actualmente Three maneja estos tipos de cámara.

  • Camera
  • CubeCamera
  • OrthographicCamera
  • PerspetiveCamera
  • StereoCamera

Ya conocemos 2, ahora explicare un poco las otras, la primera que es Camera, en si no es una cámara es una clase u objeto padre de las 2 básicas, es decir, la Perspective y la Orthographic son derivados de ellas, esto es que Three no da acceso a esta clase para así nosotros desarrollar nuestros tipos de cámaras, como por ejemplo el CubeCamera es una combinación de 6 cámaras de tipo Perspective que hace a nuestra escena como un cubo, es decir, imaginemos que tenemos una escena en forma de cubo o si en nuestra escena donde la zona la delimitemos en forma de cubo (aunque sea en nuestra cabeza) y queremos poner una cámara en cada lado, entonces si el cubo tiene 6 caras debemos poner 6 cámaras en cada cara o zona para ver al objeto 3D en diferentes ángulos, así para no gastar código en crear estas 6 cámaras esta la CubeCamera.

La otra cámara que es StereoCamera son 2 cámaras de tipo Perspetive lo cual se usan para crear el efecto 3D Anaglyph o Parallax Barrier, si te preguntas que tipo de efectos son estos, imagina que vas a ver una película de Pixar, como sabemos será en 3D pero ahora si le agregamos los efectos de 3D de los cines (cuando nos dan esos lentes), se ve genial, para lograr estos tipos de efectos se tiene este tipo de cámara, si estas interesado puedes leer los siguientes artículos aquí y aquí.

ilich

Programador Mexicano con 14 años de experiencia, ha incursionado en diferentes áreas ampliando su experiencia. Aprendí programación por que quería hacer mi propio video juego aun que he toca

Read More