Noticias

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

Limitar el movimiento de la camara dependiendo del tamaño del mapa

Iniciado por biztor, Septiembre 18, 2015, 09:35:16 PM

Tema anterior - Siguiente tema
Buenas, tengo una duda, como solucionariais esto?Tengo un mapa en 2d, hasta ahora, hacia calculos de hasta donde se tenia que ir moviendo la camara, para que no se saliese del mapa,y aplicaba esos limites con el Math.clamp. Pero queria hacerlo mejor, en vez de estar mirando si se sale o no la camara si cambio el tamaño del mapa, calcular la posicion de la ultima loseta de la izquierda por ejemplo, y si es igual o es mayor que la posicion del limite izquierdo de la camara, anclarla ahi, asi da igual el tamaño del mapa, cada vez que el limite de la camara choque con la ultima parte del mapa, se para.Lo que nose es como hallar la posicion espacial de los limites de la camara, o si se puede. Alguna idea?

Puedes ponerle un rigidbody a la cámara, le activas las opciones de freeze rotation xyz freeze position Y, luego pones cubos sin mesh renderer para que colisione contra estos y no te deje mover más. Es un poco cutre pero es lo más fácil que te puedo decir jeje


Resulta que si miro el tamaño de camara, en este caso 4,5. Es la mitad del ancho de unidades que coje la pantalla. y al estar en 16:9, queda justo 16 unidades de ancho por 9 de alto, asi pude asignar el limite a la altura maxima(del mapa) menos ese 4,5 + 0,5 porque es la distancia desde el origen hasta el lado del sprite. y con la anchura lo mismo.  anchura maxima -( 8 + 0.5).  y siguiendo esa logica puedes sacar todos los lados.Pero bueno si alguien sabe si hay esa funcion, de hallar la posicion de los lados de la camara o algo asi, no estaria de mas. Gracias.


Etiquetas: