Ahora que lo estáis probando, qué ocurre aquí?
Que tal vez no debería ocurrir.
Que se sale de los bordes de la pantalla.
Esto es algo que es muy típico.
Es muy típico.
Los bordes de la pantalla normalmente hay varias formas de definirlos, pero en este caso donde la cámara
claramente no se va a mover porque son top down, simplemente se va a quedar aquí.
Una forma muy sencilla es la de detectar cuál debe ser la X máxima y la X mínima que el jugador tiene
que poder llegar a ella.
Por ejemplo, imaginad que esto es la posición normal del juego perfecto.
Y que el jugador va a jugar en una ventana.
Voy a cambiarla en lugar de frías de 16 novenos.
Entonces lo que vería sería una cámara de este estilo en la pestaña de Game.
Aquí podéis decidir el tipo de cámara que vais a tener.
Yo, por ejemplo, cuando hago juegos de móvil, yo ya tengo alguna definida para la pantalla de un
dispositivo móvil o incluso para PC.
Ya tengo una 1920 por 1080, que es la típica.
Podéis definir aquí las resoluciones que queráis.
Simplemente aquí le decimos Oye, pues quiero saber cómo se vería en mi pantalla mi pantalla y mi pantalla.
Es de resolución fija que tendrá 2048 de ancho y 1400 de alto.
No sé si esta cosa existe, pero bueno, esto sería mi pantalla y aquí lo que estáis viendo es recortado,
como se verá en una pantalla de estas características.
Por eso están estas bandas de color negro.
Vale, si le dejáis a-spec friegas, Specter llena todo el espacio que hay por aquí y se verá diferente
en una u otra.
Más adelante, cuando hablemos de la cámara, hablaremos de aspect ratios y de cómo configurar la cámara
para un dispositivo u otro.
Ahora para nosotros lo podemos dejar enfriar, aspect o como cada uno tendrá una pantalla diferente.
Veo que hay portátiles anchos, otros son más altos y demás para que todos estéis alineados.
Los vídeos que elijáis una resolución 16 novenos o 16 décimos, por ejemplo, 16 novenos, para que
todos tengáis la misma relación de aspecto.
Entonces, cuando ahora mueves al personaje, si lo tenéis seleccionado en el lateral, fijaros si lo
selecciono aquí.
La jerarquía lateral veis que cuando lo muevo yo puedo observar cuáles son sus coordenadas X en todo
momento.
Entonces vamos a suponer que la máxima X que estoy dispuesto a aceptar es por aquí, que no llegué al
borde, borde, borde.
Parece ser que x e igual a 15 y si me voy pal otro lado tan medio debería ser menos 15.
Si como están medios menos 15.
Además, aquí se ve muy bien que la cámara es en perspectiva, veis que aquí veis el lado derecho del
granjero y se mueve para otro lado, veis el lado derecho del lado izquierdo del granjero.
Entonces parece ser que 15 y menos 15 son los valores máximos que estamos dispuestos a sacrificar.
Si la pantalla fuera otra o la relación de aspecto fuera otra o demás, evidentemente cambiaría.
De hecho, si habéis colocado la cabaña más alta, más baja, con mayor o menor apertura, los valores
cambiarán.
Es normal, pero para esta configuración que hemos decidido mantener, al menos por ahora 15 menos 15
son valores ópticos.
Cómo podemos hacer que el granjero se pare?
Pues fijaros que aquí vosotros habéis decidido que el código transform ley bla, bla, bla, bla, bla,
bla, bla, bla bla se aplique siempre en todos los casos.
Ahora bien, qué pasaría si se saliera de los bordes si se sale de los bordes?
Lo único que ocurre es que esto de aquí sigue sumando o restando a un lado u otro en particular.
Lo que se suele hacer es añadir después de haber trasladado un pequeño trozo que sea capaz de mantener
velho en la zona correcta.
Para ello hay muchas formas de hacerlo.
Una, la más sencilla y la primera que veremos es con Unicef.
El sirve para escribir una expresión.
Si esta expresión es verdadera, se ejecuta el código que hay entre la llave de apertura y la llave
de cierre.
Si el código que hay aquí es falso, no se ejecuta.
Vale, esto ya lo habéis visto en el otro curso.
Entonces la condición que quiero buscar aquí, de hecho son dos si baja de menos 15 izquierdas o sube
de +15 derechas, corregir para que no se vaya de madre.
Entonces la primera condición sería algo así como si el transform punto position y del position la coordenada
X baja de menos 15.
Fijaros que esto aquí es sinónimo de decir se sale a izquierdas de la pantalla.
Correcto.
Y si se sale a izquierdas de la pantalla, lo único que voy a hacer es que el Transform Punto Position
va a ser igual a New Vector 3, donde la X será menos 15 X no va a cambiar y la Y griega va a ser Transform
Punto positivo en punto y griega y Transform Punto Position punto Z.
Es decir, mantengo la coordenada i griega y mantengo la coordenada z donde he dejado al granjero es
la misma y griega la misma zeta, pero la x si intenta ser más baja que menos 15, yo la mantengo en
menos 15.
El resultado será que si guardáis esto y nos vamos aquí, por un lado tendré el método Translated,
que me lo querrá echar de la pantalla si pulso la flecha, pero por otro que me lo estoy pulsando.
De hecho, aquí el horizontal todavía vale menos uno.
Estoy pulsando ahora el levantado, pero es que por mucho que pulso, de ahí no pasa.
Esto es una de las maneras más baratas que existe de definir los bordes y es la más barata porque es
Univ.
Hay algunas mucho más complejas que pasa por crear paredes invisibles o estas cosas, pero son mucho
más complicadas porque estáis tirando del motor de físicas innecesariamente.
Aquí realmente lo único que queréis son unas fronteras, unos máximos y unos mínimos que os permitan
no salir.
Es así de simple.
Entonces, esta es la técnica más sencilla que existe, que es corregir la X, la Y, la Z, el vector
3, el transform posición cuando nos salimos por un lado.
Evidentemente, si tengo esta condición puedo tener la otra, no puedo decidir del mismo modo.
Y Transform punto position punto X mayor que 15.
Lo que me habéis dicho vosotros, esto es, que se salga por el otro lado.
Esto es, se sale a derechas de la pantalla.
Correcto.
Entonces, si se sale a derechas de la pantalla, que corrección voy a tener que hacer la misma.
Al revés que el Transform Punto Position sea un nuevo vector 3, pero en este caso se quede en 15 de
coordenada X en Transform Position y en Transform Position de Z del propio objeto.
Veis y así habréis hecho la primera corrección para mantenerlo dentro de la pantalla.
Fijaros que ahora lo único que va a pasar es que el granjero cuando os movéis, se mantendrá dentro
de unos rangos establecidos.
Es decir, desde aquí hasta aquí, vale.
Os dejo unos segunditos para que lo acabáis de copiar, pero se entiende, no cuando quieres bajar de
menos 15 cuando se quiere salir de la izquierda de la pantalla lo pego a la máxima coordenada que estoy
dispuesto a sacrificar en la izquierda de la pantalla.
Y cuando se me quiere salir por la derecha de la pantalla, cuando el valor es demasiado positivo,
lo mantengo al valor extremo, al valor máximo, que también estoy dispuesto a sacrificar hacia la derecha
de la pantalla.