Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Problema con la cámara y la resolución

Iniciado por muxacalma, Marzo 20, 2018, 06:13:52 PM

Tema anterior - Siguiente tema
Hola a todos,
 
un socio y yo estamos empezando un nuevo proyecto 2D y nos hemos encontrado con un primer problema. Tenemos un mapa de 12800 px y necesitamos una cámara de 1242x2208 px, para que se muestre, aproximadamente, una sexta parte del mapa. Hemos cambiado los valores W y H del Normalized View Port Rect de la Main Camera a los valores deseados, pero no sabemos qué "Field of View" poner para que se respete el tamaño que necesitamos.
 
Cualquier sugerencia será bienvenida.
 
Gracias!

Y por qué usan FOV? ya que FOV funciona solo para perspectiva, no se si con 2D quieren proyección ortonormal o no(?).

Marzo 20, 2018, 11:12:24 PM #2 Ultima modificación: Marzo 20, 2018, 11:13:04 PM por Nenxix
Por código en la cámara tal vez os funcione
 

void Start() {
        // resolución en pantalla completa
        Screen.SetResolution (1242, 2208 , true);
}

 
 

Cita de: lightbug date=1521583784Y por qué usan FOV? ya que FOV funciona solo para perspectiva, no se si con 2D quieren proyección ortonormal o no(?).
   


Sinceramente, ni idea jajajaja. Es lo que vimos en las opciones de la cámara, pero luego con el tema del zoom de la cámara es un desastre y se nos descuadra. Nos gustaría tener todas las medidas perfectamente calculadas. Help!

el fov es para el angulo de apertura de la camara, no vas a poder cuadrar eso con la perspectiva xq unity ajusta el ancho segun el dispositivo... la mejor opcion es ortogonal, o usa pixel-perfect: https://blogs.unity3d.com/es/2015/06/19/pixel-perfect-2d/
 
pero tienes q hacerte a la idea de q hoy en dia las resoluciones varian mucho y no hay manera de ajustar un cuadrado a todas las pantallas y q se siga viendo cuadrado...

Cita de: muxacalma date=1521628413Sinceramente, ni idea jajajaja. Es lo que vimos en las opciones de la cámara, pero luego con el tema del zoom de la cámara es un desastre y se nos descuadra. Nos gustaría tener todas las medidas perfectamente calculadas. Help!
   


y pero no se dieron cuenta que tocando el Fov no cambiaba nada? a que llamás zoom? al size?
 
el concepto de Zoom, position.z y/o FOV no existen en 2D, 2D en Unity es ortogonal (proyección), la razón por la que tampoco te digo perspectiva es porque supongo que usas sprites, y los sprites responden raro si ponés uno cerca del otro (hablando de z) y los visualizas en los bordes de la camara (donde mayor angulo existe), por eso supongo 2D en Unity = sprites + ortonormal, si querés profundidad podés mezclar ortonormal (la camara del gameplay), con una o dos camaras más en perspectiva (background y foreground, con objetos cuidadosamente colocados, generalmente bien separados) para tener un parallax "verdadero" (y no el fake que se da en todo tutorial de youtube). Y si querés 2D quizás moderno quizás pasarte a "full 3D de costado con físicas 2D o 3D" es una posibilidad, que incluso tiene varias ventajas (hablando de lo visual).
 
Volviendo, lo que tenés que configurar es proyeccion = ortonormal y size = (unidades en vertical) / 2 , este size debería ser de x unidades, correspondientes a la mitad del alto -->  2208 px / 2 = 1104 px, ya que size entiende de unidades y no de pixels acá es donde la cosa influye, de cuanto es el ppu de tus sprites (ya que acá tenés que pasar de unidades a pixels), cuantos pxs representan una unidad? si tenés 64 px de ppu entonces tu size deberá ser de aprox. 17.25 unidades , si fuera de 128px deberá ser de 8.625 unidades ... y así .

Cita de: lightbug date=1521646976lo que tenés que configurar es proyeccion = ortonormal y size = (unidades en vertical) / 2 , este size debería ser de x unidades, correspondientes a la mitad del alto -->  2208 px / 2 = 1104 px, ya que size entiende de unidades y no de pixels acá es donde la cosa influye, de cuanto es el ppu de tus sprites (ya que acá tenés que pasar de unidades a pixels), cuantos pxs representan una unidad? si tenés 64 px de ppu entonces tu size deberá ser de aprox. 17.25 unidades , si fuera de 128px deberá ser de 8.625 unidades ... y así ...
   


es lo que dice @lightbug si es 2D deveria ser "ortho"
 
 

Genial! Probaremos todas estas cosas! Muchas gracias, simplemente leyendo vuestras respuestas nos damos cuenta de todo lo que nos queda por aprender. Partido a partido!
 
Un saludo, os daremos feedback del resultado.
 
Gracias!

Cita de: lightbug date=1521646976y pero no se dieron cuenta que tocando el Fov no cambiaba nada? a que llamás zoom? al size?
   
   
      el concepto de Zoom, position.z y/o FOV no existen en 2D, 2D en Unity es ortogonal (proyección), la razón por la que tampoco te digo perspectiva es porque supongo que usas sprites, y los sprites responden raro si ponés uno cerca del otro (hablando de z) y los visualizas en los bordes de la camara (donde mayor angulo existe), por eso supongo 2D en Unity = sprites + ortonormal, si querés profundidad podés mezclar ortonormal (la camara del gameplay), con una o dos camaras más en perspectiva (background y foreground, con objetos cuidadosamente colocados, generalmente bien separados) para tener un parallax "verdadero" (y no el fake que se da en todo tutorial de youtube). Y si querés 2D quizás moderno quizás pasarte a "full 3D de costado con físicas 2D o 3D" es una posibilidad, que incluso tiene varias ventajas (hablando de lo visual).
   
   
      Volviendo, lo que tenés que configurar es proyeccion = ortonormal y size = (unidades en vertical) / 2 , este size debería ser de x unidades, correspondientes a la mitad del alto -->  2208 px / 2 = 1104 px, ya que size entiende de unidades y no de pixels acá es donde la cosa influye, de cuanto es el ppu de tus sprites (ya que acá tenés que pasar de unidades a pixels), cuantos pxs representan una unidad? si tenés 64 px de ppu entonces tu size deberá ser de aprox. 17.25 unidades , si fuera de 128px deberá ser de 8.625 unidades ... y así .
   


Hola! La clave era lo de PPU, que no sabíamos qué poner en el size.
 
 
 
Gracias a todos por las ganas de ayudar! 
 
 
 
Un saludo y suerte en los proyectos.
 
 
 
 

Etiquetas: