Bienvenidos de nuevo, mis compañeros desarrolladores de juegos.
En este video, estamos llevando nuestro juego al siguiente nivel.
Cuando ejecutamos nuestro juego.
Te darás cuenta de que no solo caminamos,
sino que si tratamos de salir de nuestro mapa,
ahí vamos. No podemos.
Juro que sigo presionando el achy.
Sigo tratando de bajar, pero no funciona.
Sigo tratando de salir.
No funciona. Por lo que estamos confinados en este pequeño espacio.
Hacemos eso usando cuerpos rígidos, usando colisionadores.
Y esto es realmente agradable porque finalmente podemos sentir el peso de nuestro juego.
Entonces aunque pudiéramos caminar,
pudimos ver que podemos hacer cualquier cosa,
pero ahora realmente tenemos peso a nuestro movimiento.
Podemos sentir el mundo que nos rodea.
Con eso dicho, no perdamos más tiempo.
Y empecemos.
O K.
Así que actualmente, cuando corremos nuestro juego,
podemos movernos y todo eso es genial.
Pero como puedes ver, cuando tratamos de golpear la pared o algo así,
simplemente nos movemos bastardo.
Y es como si no hubiera nada en este mundo.
Se siente vacío, se siente no real a pesar de que nos estamos moviendo en él.
Entonces, ¿cómo vamos a arreglar eso?
Vamos a usar algo llamado colisionador.
Déjame mostrarte lo que es un colisionador en la documentación de Unity,
como puedes ver, siempre referido en la documentación de Unity,
puedes llegar a través de Google.
Es súper fácil, súper efectivo.
Veamos qué tenemos clase de colisionadores basada en descripción.
Contamos con caja, esfera, cápsula,
un colisionador de malla, materiales físicos y cuerpos rígidos.
Algo que vamos a aprender en tan solo un poco de
un objeto con un colisionador necesita ser movido.
Durante la jugabilidad, puedes adjuntar un componente de cuerpo rígido
y solo vamos a conseguir el cuerpo rígido un poco de pacientes,
puedes ver todas las propiedades que podemos tener,
los límites, el desplazamiento de contacto, el material.
Contamos con métodos públicos como refundir punto más cercano.
Tenemos mensajes que son extremadamente importantes y estaremos usando
mucho Trigger Enter en la salida del gatillo en Trigger Stay.
Aquí puedes leer las descripciones de lo que cada método, lo que cada propiedad,
lo que significa cada mensaje,
lo que hace, toda la herencia,
lo que podemos usar, la etiqueta de comparación será muy importante.
Se puede ver que tenemos mucho.
No tienes que entender a cada uno de ellos.
Es solo agradable saber que puedes,
si tienes algo en mente para implementar,
siempre puedes ir a documentaciones de Unidad y ver si lo
que buscas está disponible aquí mismo.
Entonces con eso dicho,
volvamos aquí y sigamos adelante y agreguemos
un colisionador de cajas a una de estas paredes aquí mismo.
Empecemos con el de abajo.
Entonces la forma en que hacemos esto es que vamos a hacer clic aquí.
O vayamos al segundo plano.
Añadamos un componente aquí.
Vamos a hacer que sea un colisionador de cajas 2D,
porque estamos trabajando en este colisionador de cajas es 3D.
Este es 2D.
Hacemos click en él.
Se puede ver que llena todo el cuarto de inmediato,
pero eso no queremos.
En realidad queremos editar esto,
o podemos dar click en el Editar aquí mismo.
Se puede ver que podemos convertirlo en un gatillo.
Podemos establecer un desplazamiento,
podemos establecer el tamaño,
así podemos hacer esto más pequeño en el eje y,
o simplemente, podemos hacer clic en estos tres puntos conectados
justo aquí y simplemente moverlo manualmente.
Entonces ahí lo tienes.
Entonces ahora tenemos este colisionador aquí mismo en
la pared o en la parte inferior o como quieras llamarlo, podemos deshacer click.
Esto correrá el juego.
Y ahora nuestro jugador,
cuando se mueve hacia abajo,
oh, bueno, ¿qué está pasando?
El jugador sigue golpeando la pared y se está moviendo más allá. ¿Por qué es eso?
Bueno, porque no tenemos un colisionador en nuestra capa.
Entonces este va a ser tu reto.
Tu reto es agregar un colisionador al jugador.
Entonces en un colisionador,
una cápsula, no tiene que ser una cápsula.
Depende del tamaño y el marco de tu jugador.
El que realmente obtuvo personalmente,
o si estás usando el mismo que yo,
asegúrate de que sea solo objeto padre jugador, no el cuerpo.
Y cambia el tamaño del colisionador al tamaño apropiado de tu jugador.
Entonces con estas instrucciones,
pausa el video ahora mismo y ve a hacer el reto.
De acuerdo, bienvenido de nuevo.
Entonces, ¿cómo te pusiste con eso?
Vamos a añadir un colisionador de cápsulas 2D.
Ahí vamos.
Tenemos la cápsula, la cáscara de la cápsula y ni siquiera estamos seguros de cómo se pronuncia.
Por lo que pinchamos aquí.
Se puede ver la pequeña línea verde aquí.
Entonces vamos a derribar.
Ahí vamos y lo hacemos apenas del tamaño de nuestra capa.
Ahora, veamos si eso funciona.
Si ejecutamos nuestro juego.
Ahora cuando bajamos caminando,
seguimos moviéndonos por el objeto.
¿ Por qué no funciona?
Probablemente debería haberte advertido sobre esto.
Ahora vamos a añadir un Cuerpo Rígido 2D.
Y ahora cuando corremos el juego,
veremos que golpeamos la pared.
Pero yo no presioné nada.
Si me muevo hacia arriba y lo suelto, nos caemos.
¿ Por qué es eso?
¿ Qué está pasando?
Bueno, porque cuando se agrega un cuerpo rígido,
también se agrega gravedad.
Vamos a ahondar un poco más en lo que es un cuerpo rígido.
Por lo que el control de la posición de un objeto a través de la simulación física.
Entonces, cuando le agregas un cuerpo rígido a un objeto de juego,
le agregas física.
objeto de cuerpo rígido será tirado hacia abajo por gravedad sin agregar ningún código adicional.
Y también podemos aplicarles nuestras propias fuerzas,
lo que quiero decir con ellas, es el cuerpo rígido.
También se puede entrar en la unidad es documentaciones y profundizar más en lo que es el cuerpo rígido.
Y de hecho, vamos a necesitar ahondar en ello.
Entonces voy a entrar aquí.
Unidad del cuerpo rígido docs.
Ahí vamos.
Vemos los docs Unity 3D.
Y se puede ver la descripción, las propiedades,
los métodos públicos y demás y demás.
Entonces vamos atrás y otra vez,
podemos ver aquí mismo podemos cambiar la masa, el arrastre angular.
Podemos cambiar la forma en que se detecta la colisión, discreta, continua,
pero se necesita un poco más de potencia de procesamiento,
el modo de suspensión, las restricciones,
realidad vamos a usarlas en tan solo un poco.
Ya verás por qué.
Y podemos cambiar esto de dinámico dos cinemático, estático.
Y cada uno de esos se explica aquí mismo.
Pero la principal diferencia,
mientras que explicaba en algún lugar de aquí,
no estoy seguro de dónde se puede leer sobre cada uno para profundizar más en ella,
sino saber que dinámica significa ser PUEDE afectar por fuerzas externas.
Kinematic significa que no se ve afectado.
Y medios estáticos es igual que una roca grande.
No se mueve en absoluto.
Aquí se puede ver la escala de gravedad.
Pongámoslo a 0, guarde eso, ejecute el juego.
Y ahora te darás cuenta de que ya no estamos caídos.
Entonces ahora cuando bajamos, se
puede ver que ya no podemos ir por debajo de esto.
Pero ¿qué, qué, qué pasó?
Y se puede ver que nos movemos,
necesitamos añadir un colisionador de cajas.
Pero, ¿qué pasó aquí y qué es el, este nerviosismo?
Entonces lo primero lo arreglaremos como las cosas volteando.
Entonces esto es porque estamos girando.
puede ver aquí mismo,
Sepuede ver aquí mismo,en realidad es porque la física ha calculado que
deberíamos rotarlo por la cápsula justo aquí.
Por lo que congelaremos la rotación alrededor del eje z mientras que Z,
porque eso te muestra si hacemos clic en la herramienta de rotación aquí arriba o simplemente golpeamos el like.
Podemos ver cuando giramos,
es el eje z el que nos rota y lo podemos ver claramente cuando salimos de 2D,
puedes dar click en esto a la derecha aquí, salimos.
Te darás cuenta de que el eje z, y lo puedes ver.
Ahí vamos.
Es alrededor del eje z que estamos girando.
Entonces vamos a parar el al,
vamos a poner esto en 0,
se congelará en la Z.
Y ahora cuando corremos nuestro juego,
bajamos. Y ahí vamos.
Ya no volteamos si nos movemos de izquierda a derecha,
pero aún tenemos este nerviosismo.
¿ Y qué es esta nerviosa?
¿ De dónde viene?
Bueno, es cuestión de código.
Podemos ver aquí mismo que estamos moviendo al jugador usando su transformación, esa posición.
Entonces tenemos dos fuerzas colisionantes.
Tenemos la posición transformada tratando de pasar por la golondrina,
pero tenemos la física de los dos colisionadores tratando de alejar al jugador.
Entonces esto está creando este nerviosismo.
¿ Cómo solucionamos esto?
Bueno, vamos a empezar a mover al jugador,
no usando su posición de transformación,
sino usando su velocidad.
Y la velocidad está disponible en el cuerpo rígido.
Si encuentras eso en algún lugar justo aquí, no estoy seguro de qué es.
A ver.
Velocity.
Ahí lo tienes.
Podemos agregar velocidad aquí,
velocidad angular, velocidad normal.
Podemos cambiarlo aquí mismo.
Entonces hagámoslo.
Si vamos y sabes qué,
sumémoslo aquí.
Crearemos un campo serializado.
Esta será una variable de tipo cuerpo rígido 2D,
y sólo lo llamaremos el cuerpo rígido del jugador.
Guarde eso. Ah, y una cosa más te has dado cuenta,
y olvidé decirte esto.
Es la forma en que nombramos nuestra variable.
La primera palabra siempre debe tener la primera letra no mayúscula,
mientras que todas las palabras subsiguientes se pondrán en mayúsculas.
¿ Por qué es eso?
Tomemos un ejemplo de aquí.
Te darás cuenta de que el jugador no está en mayúsculas.
Cuerpo rígido es por la B para el cuerpo no lo es.
Entonces si guardamos eso,
buscaremos en el inspector.
Te darás cuenta aquí mismo, la variable,
la forma en que está escrita será cuerpo rígido jugador con cuerpo rígido como una sola palabra.
Si volvemos atrás, hacemos que esto se capitalice.
lo guardamos.
Volvemos en el inspector,
notarás que ahora la B está mayúscula y es una palabra separada.
Entonces cada vez que capitalizamos una de las palabras, se vuelve separada.
Pero eso no queremos.
Nosotros lo queremos como una sola.
Se puede ver el mismo ejemplo y la velocidad de movimiento.
Cuando volvemos, ahí vamos.
Por lo que acabamos de crear una referencia al cuerpo rígido en el jugador,
pero no lo hemos agregado porque se puede ver en este momento que el cuerpo rígido del jugador,
y simplemente no hay cómo hacemos eso.
Simplemente hacemos clic en el cuerpo rígido justo aquí y lo arrastramos hacia arriba.
Por lo que ahora se puede ver,
como su nombre indica,
es el cuerpo rígido en la capa de dunas.
Eso lo guardamos de nuevo en nuestro juego.
Y aquí vamos a usar en lugar de la posición de transformación delta y todo eso,
solo voy a comentar este outlet en, lo eliminaremos,
pero solo quiero tener todo esto frente a
ti para que conozcas el proceso de lo que es ocurriendo.
Por lo que ahora tomamos el cuerpo rígido de los jugadores,
accedemos a la velocidad en él.
Y va a ser igual a la entrada de movimiento veces la velocidad de movimiento.
Y debido a que estamos usando la velocidad,
esto no requerirá ningún tiempo.Deltatime.
lo guardamos.
Volvemos aquí.
Vamos a mover un poco a este tipo.
Entonces ahora cuando ejecutamos nuestro juego, Nos movemos.
Y si tratamos de movernos por el muro, ahí tienes.
Se puede ver que ya no tenemos el nerviosismo
porque tenemos los dos motores de física funcionando.
Bueno, no el motor de física 2, 1 que trabaja en
las dos bibliotecas por el cuerpo rígido.
Y por último, sólo agregaremos un par de colisionadores más al fondo.
Entonces voy a añadir un colisionador de cajas 2D.
Voy a hacer esto un poco más pequeño.
Y ahora nunca se recomienda que añadas múltiples planeadores de caja en el mismo objeto de juego,
pero por ahora haremos una excepción.
Esto rara vez sucederá.
Entonces ahí lo tienes.
Añadamos un colisionador de cajas así.
Añadamos otro.
Y éste estará a un lado.
Para que no salgamos,
sólo lo haremos un poco más grande.
Y añadamos el último colisionador de cajas,
y éste será el del otro lado.
Ahí vamos. Ahorramos todo eso.
Corrimos nuestro juego.
Y ahora caminamos hacia abajo.
No podemos caminar a la izquierda, no podemos.
Caminamos hacia la derecha, no podemos.
Y si tratamos de subir,
tampoco podemos, pero hay un ligero problema.
Se puede ver que todavía tenemos espacio aquí para caminar hasta.
Entonces lo que voy a hacer es que sólo voy a hacer
el colisionador de jugadores sea un poco más pequeño en la parte superior.
Entonces, solo hagámoslo por aquí.
Podemos incluso tal vez cambiar esto de una cápsula a otra cosa y haciéndolo así.
Ups.
¿ Dónde está?
Cambiamos la posición,
por lo que la movemos en la X. Sí, ahí vamos.
Corrimos nuestro juego.
Y podemos ver que como que nos movemos hacia arriba.
Todavía tenemos este pedacito de espacio.
Esto no es un problema enorme.
Incluso podemos hacer B en lugar de una cápsula,
hacer un colisionador de cajas o algo más.
Pero puedes ver que todo funciona de fino y dandy con eso dicho,
asegúrate de comprometer tus cambios.
Y en el siguiente video estará apuntando nuestra pistola alrededor usando
la dirección o donde nuestro ratón está apuntando porque actualmente,
solo tener esta pistola no está haciendo mucho.
Te veré en el próximo.