Crea tu primer juego en Unreal Engine 5 - Plataforma de salto automático de A a B

Vamos a conocer otra plataforma que sería aquí la de bvp de blueprint John voy a colocarla por aquí y John es de salto Claro está a ver si me recuerdo porque todas son cajitas blancas Bueno aquí me maté y como puedes ver lo que queda es el muñequito saltando a ver cómo lo implementamos voy a abrirla acá Entonces es realmente muy sencillo aquí como puedes suponer es bueno que te vayas familiarizando con esto y aquí puedes ver que también tenemos dos cosas por una parte aquí tenemos el collider que es la cosita aquí amarilla y por otra parte tenemos el mesh aquí lo puedes ver el collider entonces estas son cositas que poco a poco voy mejorando también entonces al menos de momento lo tengo así definido aquí fíjate bueno la estructura es el mesh que es la plataforma Aquí también lo puedo colocar platform que como me gusta aquí tenemos el box que es el box collider Recuerda que le das aquí un buscas box collider digo box collision que se llama y eso sería ahí lo agregarías dentro del platform es decir del mesh aquí lo tenemos siempre lo escalo para que sobresalga un poquito porque si lo dejas muy al ras Entonces no lo va a tomar o puede que no lo tomes al menos a mí según las pruebas que he hecho pudiera adaptarlo un poquito más por ejemplo Aquí también lo coloqué de los bordes Aunque depende del efecto que le quieras dar yo lo dejé así tal cual lo puedes ver aunque aquí puedo adaptarle más el tamaño si es lo que yo quiero a al menos de momento voy a dejarlo así luego ir haciendo pruebas entonces ahí puedes ver lo que es el mesh aquí no dice nada y vamos con el even graph que es la parte más importante es lo que hice por acá Aquí puedes ver que son estas dos cajas obviamente aquí para el de box tienes que tener aquí seleccionado Box y aquí te salen los eventos que puedes emplear Recuerda que esto es para detectar las colisiones si tenemos todas estas usualmente usualmente se emplea el de vin collider o el de hit para como quien dice siempre que tenga una colisión o el de pero existen otros aquí que realmente no los he empleado pero hay está aunque otra vez usualmente es inicio en el medio y final entonces tú ahí puedes definir lo que tú quieras esto funciona de la siguiente manera aquí colocamos la cajita que en este caso es el de lo definí Perdón este es el de bellin voy a comenzar por acá cuando inicia la colisión es decir apenas toca la superficie qué es lo que devuelve aquí lo primero es el actor es decir que lo está chocando ya que puede ser que tú tengas un proyectil o algo por el estilo y empiezas a a golpear ahí los blueprints y por lo tanto por error o por cuestiones del destino golpee el de por lo tanto aquí tienes que determinar qué actor vas a vas a golpear para hacer algo y usualmente También es importante porque a raíz del golpe o del contacto usualmente quieres hacer algo con ese otro blueprint con el cual está chocando y ese es el llamado aquí other actor Aquí también tenemos el del actor que creo que era este pero no lo estoy utilizando usualmente no se emplea tanto Aunque est ahí sí se necesita entonces aquí lo que hacemos Es castear al personaje en mi caso es person character reina que es el muñequito ese con cuernos que viste por ahí y es a partir de aquí Entonces esto es un poco lo típico es un casteo según lo que tenemos ya que si choca con otro objeto entonces el casteo fallaría y ahí puedes hacer otra cosa si es necesario para ti Bueno aquí coloco ya te voy a explicar un poquito este delay aquí lo que nos interesa es aplicar el Salto porque es una plataforma para el Salto automático existen varias formas hay una más complicada No lo he hecho entonces Simplemente te lo digo teóricamente que sería darle una fuerza en lo que sería el eje Z para que salte pero en este en este caso tenemos aquí también una función de jump que se encarga de hacer esa labor aquí lamentablemente me encantaría es lo único que no me gusta los nodos en teoría que hay uno llamado good definition que sería para ver la definición Pero a mí no me funciona simplemente me sale ahí un mensaje que dice r más más símbolos no sé qué demonios está haciendo pero me encantaría ver cómo está implementado eso es lo que me gustaba mucho de la codificación que cuando tenía dudas sobre algo podía echarlo un ojo al código fuente y ahí hacer aluna adaptación ojo o sea duplicarlo y hacer alguna adaptación propia por ejemplo mea interesado ver cómo ellos hacen el Salto pero no es no he podido verlo por aquí entonces no sé este botón no sé qué diablos hace realmente en fin Pero ya tenemos aquí para nuestro personaje es decir el que te casteos acá ya tenemos aquí una función de salto entonces Te pudieras preguntar qué demonios es todo esto aquí en el medio Recuerda que esto es una especie de clase es decir realmente tenemos la clase tal cual está aquí también lo puedes ver si lo busco por aquí el personaje a ver si lo encuentro para ver dónde esta Aquí estoy en blueprints es una clase que tiene muchas cosas aquí está el de reina Fíjate que aquí tenemos por ejemplo el component que viene siendo otra clase Aquí también tenemos el m que viene siendo otra clase y aquí también tenemos el de m que es el que estoy inspeccionando que viene siendo para la parte del movimiento y aquí también de manera visual te puedes ayudar bastante porque en caso de que quieras obtener algo por aquí.

Simplemente tienes que este componente que otra vez yo lo veo como si fuera una clase en pocas palabras tenemos una clase no sé personaje Y a partir de ahí tenemos una propiedad interna que sea para el movimiento Entonces es lo que estoy haciendo por aquí Acceder al movimiento y la navegación es esa aquí tenemos ch mov o mov como se pronuncie y aquí le estoy accediendo desde nuestro personaje simplemente aquí arrastras y escribes charter ahí está el de sería este que tenemos acá y a partir de ahí tenemos componentes que es lo mismo que puedes ver por acá la velocidad y todo lo demás y es lo que estamos aquí modificando aquí yo le coloqué que puede cambiar el factor de salto es decir aparte de saltar yo le puedo indicar cuánto quiero que salte por defecto la función de jump salta en base a lo que yo tengo implementado que eso también lo puede definir por ahí pero eso no viene el caso que es esto pero tú le puedes cambiar ese valor de salto en este caso se lo estoy cambiando es directamente aquí en la plataforma y es por eso que por aquí si me muevo les puse también una variable a ver dónde está la de jun avanzado para ver que no lo veo está otra vez en el Word settings Aquí está jun Z factor que es un factor si le aumento más por ejemplo le coloco cinco va a saltar mucho más entonces es Útil para ciertos niveles o plataformas lo que tú quieras hacer ya que yo intento hacerlo más reutilizable posible Mira ya hay una plataforma í afuera y aquí puedes ver el resultado cuál es el problema con esto que era por eso que no quería emplear a veces la función de J de una es que cuando sale del bucle ahorita sigo mostrando todo el resto de la implementación lo que está haciendo aquí es que queda ese salto definido por lo tanto Este es el Salto que tiene si vengo acá salta todo esto y si salgo de la plataforma salta todo esto que puede ser Útil para un consumible o algo pero no es lo que yo quiero ya que yo quiero que salte de esta forma solamente la plataforma entonces es por eso que tenemos ahí el n que hace lo contrario Pero antes de seguir ahí es lo que puedes ver por aquí aquí obtenemos el personaje y cambiamos el jump Factory según lo establecido entonces aquí esto sería para hacer el set aquí lo multiplicamos el Jom Factory por el factor es decir que si por ejemplo esto es 200 El Salto si lo multiplica por el factor que en este caso era 5 sería 1000 Entonces eso es lo que va a saltar solo establecemos al jun Z velocity y finalmente llamamos a la función de jump que utilice este componente para saltar y aquí saltamos este sería un evento que yo implemente no viene ahorita mucho caso y no quiero complicar más el asunto pero esos son eventos que yo utilizo que la final iba utilizar para algo que no lo estoy utilizando me parece pero no viene el caso lo importante es esto y bueno como te digo para restablecer El Salto original tenemos el n que es cuando acaba la colisión y era lo que hacíamos por acá para evitar que quede así pero bueno si quieres que quede en ese salto por algún nivel extraño que estés haciendo perfectamente puedes duplicar este blueprint y no implementar el el del acabado aquí lo mismo casteos al personaje que era el que ya terminó la colisión obtenemos al character movement y le restablecemos Fíjate que aquí es una multiplicación y aquí es una división por lo tanto si aquí el factor era 5 y el valor de jun era 200 y aquí era 1000 aquí lo que hacemos Es cuando salga lo restablecemos serían esos 1000 que quedó ahí entre el factor que sería cco y daría otra vez 200 siempre es bueno ahí estar pendiente de emplear valores que no tengan puntos flotantes o si es un punto flotante que sea un valor fijo para que no tengas problemas ahí de que que no sé 200 33 333 entonces empieza a saltar Entonces ya el factor va a ser 200.3 33 lo multiplica por no sé cuánto daría mil y pico punto no sé qué cosa y cuando lo divide empieza a cambiar el factor y con eso el tipo de salto evitar ese tipo de cosas pero esta es la solución que así encontré por lo demás lo establecemos aquí al jump velocity Y eso sería todo una plataforma muy sencilla de implementar Lo importante es eso que sea flexible tal cual puede ver bueno Esto es una caja que más adelante tengo que adaptar las animaciones y eso pero de momento me reinicia el nivel que sería el efecto de matar ahí tengo ese problemita A veces queda saltando poquito no entiendo muy bien Por qué mira que aquí lo Yo creo que es problemas del de aquí del editor Fíjate que inicialmente cuando salte también fue corto Entonces ahí como que hay veces que no me algo no me agarra bien y aquí puedes ver aquí lo dej cinco otra vez que funciona bien Ah un detalle que me había falta entado comentarte Para qué es el delay que yo coloqué por aquí al menos de momento lo estoy manejando con ese delay si lo coloco cero voy a ver si lo puedo hacer ya que hay veces que empieza a saltar y simplemente Ya deja de saltar cuando está en colisión ya que aquí también en la de John tenemos una que indica si Buscamos por John vas a ver que hay uno que tenemos o debería de estar no perdón Creo que aquí no salía saliera de el movimiento voy a colocar jump tenemos varios decía era un bulano que decía si puede saltar o no Eh no lo veo bueno no lo veo creo que era el de isvin lo que pasa es que tú no siempre puedes saltar tú cuando estás en el aire por defecto así viene el juego por defecto o el nivel él puede saltar en determinadas reglas que lamentablemente no puedo ver porque no puedo ver el código fuente o no sé cómo verlo pero ese es un pequeño el problema que como está saltando queda en que está saltando y justamente vas a tener ahí como que una condición de carrera justamente cuando entra en colisión con la superficie que debería saltar Puede que todavía el personaje no esté preparado para saltar y simplemente se queda ahí posicionada en la plataforma voy a ver si lo puedo simular aquí le coloqué cero simularlo con esto Aquí voy a colocarle El Salto normal que ladilla que se abre siempre el de El de Word aquí colocar uno voy a venir acá ahí puedes ver ahí no saltó bueno debería saltar a veces pero es precisamente por eso porque ahí puedes ver Mira la diferencia Aquí yo estoy caminando y mira que salta pero ya a partir de aquí ya no salta y cuando yo entro saltando Fíjate que ya no salta ahí hay como una especie de una condición de carrera según entiendo yo en la cual como está saltando y apenas está tocando la superficie eso No todavía no está disponible el siguiente salto ya que otra vez yo estoy en el aire yo no puedo saltar yo lo doy varias veces a espacio y solamente salto una vez solamente va a saltar otra vez cuando entre en colisión con el piso es decir cuando está ya en contacto con el piso ya eso lo maneja internamente lo que es unreal Aunque eso lo podemos implementar nosotros pero yo digo que lo maneje internamente porque es el que yo estoy empleando y es así que está funcionando por lo tanto es el problema que yo tenía aquí y es por eso que yo coloco un pequeño delay para que precisamente de tiempo de que se restablezca esa variable que indique que ya puede saltar otra vez como te digo por ahí estaba pero ahorita no la encuentro y es para eso que empleo este delay es para simplemente eso de momento lo coloqué este factor de 0,05 pero ah tuviera que probar en condiciones reales de si por ejemplo tiene pocos fps qué tal funciona entonces no sé si Ah tengo que hacer alguna adaptación Pero al menos de momento lo tengo así y eso es todo ya con eso cree la superficie para el Salto Así que nos vemos en otro video.

- Andrés Cruz

In english

Andrés Cruz

Desarrollo con Laravel, Django, Flask, CodeIgniter, HTML5, CSS3, MySQL, JavaScript, Vue, Android, iOS, Flutter

Andrés Cruz En Udemy

Acepto recibir anuncios de interes sobre este Blog.

!Cursos desde!

10$

En Udemy

Quedan 1d 16:37!


Udemy

!Cursos desde!

4$

En Academia

Ver los cursos

!Libros desde!

1$

Ver los libros
¡Hazte afiliado en Gumroad!