Crea tu primer juego tipo Crash Bandicoot en UE 5 - Plataforma con movimiento automático de A a B

Hola a todos, mi nombre es Andrés cruz y recuerda que el propósito de estos videos es mostrarte un poquito Cómo desarrollar tu primer videojuego ya que este otra vez Es mi primer videojuego espero que sea mi primer videojuego que es de tipo plataforma que es lo que yo te recomendaría que son juegos sencillos para iniciar y son juegos completos Por así decirlo entonces bueno por aquí te muestro un poquito la organización del proyecto ya esto te lo mostraba antes pero aquí tengo la de My blueprints que se me perdió Aquí está bueno la vi por fuera y aquí tengo lo de plataformas tengo todas esta y aquí tengo un poquito más Bueno te voy mostrando poco a poco esto es el propósito y mostrándote cómo creé estas plataformas y de aquí valga la redundancia de juegos de plataformas para mi videojuego el primero que te voy a mostrar es esta que yo creo que fue la primera que creé realmente hay otras más sencillas Pero bueno ya que la tengo por acá te lo voy a mostrar Entonces es básicamente una plataforma que tenemos aquí Primero te muestro cómo funciona y luego te muestro en la práctica cómo la implemente aquí tenemos es básicamente un cilindro aplastado de igual manera ahorita te muestro el mesh por aquí tenemos un:

Mesh y en triangulo para mover la posición

No sé si lo ves es un problemón agarrarlo si lo puede agarrar curiosamente y lo puedo mover Esto es algo que yo desarrollé o que bueno como quien dice no viene de gratis tienes que implementarlo y lo puedo mover hacia cualquier parte si lo di un play lo que hace es la plataforma moverse en principio de a a b aunque se fue está abajo no sé por qué se me pasa esto que yo lo coloco en alguna parte creo que es por la mira que se fue el demonio por eso es que no la quería arrastrar así e se pierde la visualización Pero no pasa nada voy a agarrar aquí la plataforma mejor lo muevo aquí de manera manual y así es un poquito más entendible para ver dónde está el detalle okay y aquí está aquí lo tengo expuesto justamente acá que se fue el demonio voy a colocarle 00 ya que es relativa a lo que es el mesh y Ahí está otra vez entonces aquí creo que lo puedo mover más fácilmente voy a colocarlo este es el X voy a moverlo hasta acá quiero que se mueva hasta ahí y ya entonces aquí tenemos otras cosas que son las duraciones Y eso que ya te lo muestro ahorita si le damos un play vamos a ver qué es lo que hace aquí la plataforma se va a mover de a a b tal cual puedes ver Bueno aquí otra superficie intento montarme y obviamente es una plataforma que me puedo montar en ella y esperar a que vaya de a a b tal cual puedes ver entonces qué fue lo que yo hice aquí te muestro un poquito el lo que es bueno antes de esto te voy a mostrar el viewport esto puedes ver que es un cilindro que tienes el mesh y lo único que hice fue aquí escalarlo un poco para que tenga esa forma lo escalé un poquito para que sea más bueno en el x y en el y y en lo que es el el alto también lo escalé en 0.2 para que sea así comprimido si no aparece un cilindro:

Mesh y escala

Esto es obviamente personalizable luego lo podemos colocar el mesh lo que tú quieras pero otra vez esto viene siendo el prototipo Aquí no hay pérdida en esto aquí no hice nada y por aquí vamos a ver qué es lo que implemente aquí recuerdo que yo voy a ser un poquito abstracto yo voy a dar por hecho de que ya conoces Cómo crear los blueprints pero si tienes dudas en algo no dudes en comentarlo Y si veo que es una una duda en común entonces puedo hacer un video más específico sobre cómo implementar lo que sea por ejemplo definir variables o lo que sea por aquí en los blueprints pero otra vez ya yo doy por hecho que sabes cómo crear las variables Cómo exponerlas y más o menos todo esto y para qué funcionan muchos estos nodos Entonces por aquí voy a darle el zoom máximo que puedo y 

event_graph

Obviamente todo comienza aquí en el event Begin Play que Recuerda que es el evento que se ejecuta cuando se construye este Blue no es cuando inicie el juego Aunque bueno poco sí porque si colocas esto al inicio del nivel Entonces se va a ejecutar una vez construido el nivel lo siguiente que se construiría sería su blueprint y obviamente cuando se construye se ejecuta esto pero bueno se ejecuta cuando ya está como quien dice jugable solamente se ejecuta una vez cuando ya está construido entonces aquí tenemos un delay antes de esto te voy a mostrar un poquito las variables que las tengo por acá tenemos estas variables que tenemos aquí la de El location indica la localización final que es la representada por este triangulito extraño que tenemos aquí no sé qué diablos es esa figura pero el representado por eso aquí lo puedes ver que es una instancia editable es decir que la puedo modificar por acá Recuerda que las variables se crean por aquí le das un más y tenemos estas opciones de gratis si la colocamos editable y aquí la podemos modificar tal cual veías aquí que cuando seleccionaba el blueprint me parecía que tenemos tantas cosas que uno se pierde en alguna parte de la vida que esto es world setting es que no sé por qué me pone esto también cuando yo tengo esta otra seleccionada aquí la podemos modificar lo que es la zocala ya que es un vector de 3D un vector 3 entonces y lo colocamos aquí que sea show 3D widget que es para que muestre el triangulito y podamos tener una mejor referencia de dónde está posicionado y con esto poder saber para este blueprint en particular Hacia dónde lo vamos a mover Aquí también tenemos el Start location que es la localización o la posición inicial aquí no es editable ni nada porque es la localización inicial y se calcula aquí aunque ya hablo de eso el move duration es decir cuánto tiempo va a tardar de ir de a a b Que obviamente esto lo podemos personalizar y es netamente un tiempo que es empleado aquí por el delay y aquí el de structuration que es lo mismo pero cuánto tiempo va a estar pausado cuando llegue a la a la localización final es decir a location cuánto tiempo va a estar ahí que otra vez así yo lo quise implementar pero también podía quitarlo y que siempre quede moviéndose así aunque si también lo coloco en cero ya queda moviéndose infinitamente entonces obviamente Aquí vamos a tener un ciclo porque va de a a b y de B a a por lo tanto aquí se puede entender Por qué tenemos este ciclo y los delay es para precisamente los tiempos que te indicaba cuando ya llega a la posición final ya sea en a o en B entonces va a detenerse cierto tiempo

event_graph

Que en este caso este cierto tiempo es el determinado por el stock duration que también debería estar aquí implementado voy a colocarlo aquí porque ya sea en a o en B tiene que durar el mismo tiempo pausado y estas plataformas son las típicas que vemos en juegos como Crash creo que en Mario también lo que pasa es que Mario implementa un nivel absurdo y no me refiero en que se algo negativo Pero muchísimos tipos de plataformas en Crash son Realmente mucho más contadas en Mario es bueno realmente un disfrute que tenemos ahí Entonces vamos a ver cómo funciona un poco esto aquí ya como te digo el ciclo es por eso porque es de a y de ba pero cuando veamos qué es lo que hacemos aquí creo que se puede entender un poco mejor Aquí tenemos una referencia al mesh que es el que tenemos Bueno este no si no este que tenemos aquí bu Este es el default perdón sería este que tenemos acá el platform mesh yo llamé platform a este este cilindro aplastado que tenemos aquí simplemente lo renombre por acá entonces viene siendo este no tomé el rup sino directamente el platform mesh entonces aquí otra vez la localización final realmente creo que lo quité todo esto mediante este nodo ya que existen mil formas de mover el eh un widget de a a b pero en este caso lo queremos animado y también existen varias formas y utilicé este que me gustó mucho que se llama como move component to esto Recuerda que simplemente lo arrastras escribes move component to y ahí lo tenemos esto nos permite hacer justamente eso mover un elemento de a a b y de manera como quien dice animada es decir que no sea de golpe o inmediata si no es progresiva Entonces qué es lo que recibe Esta bueno obviamente lo llamamos recibe el componente en este caso el mesh que queremos mover y recibe la localización final también la localización inicial aquí Lo importante es que también entiendas que esto es relativo es decir este es el movimiento que va a tener de manera relativa Por lo tanto como todo es otra vez relativo y no global la posición inicial viene siendo 00 y es por eso que ves que yo realmente la de ST location no la empleo que esta era un error que tenía antes Bueno si lo empleo aquí cuando par que es para cuando regrese pero este era un error que tenía antes y era que yo estaba calculando el Start location a partir de la una posición global y siempre se movía en algún punto extraño ya que todo esto y grabé este video dos veces entonces luego que me estaba ampliando este componente que estaba prototipado los niveles que me di cuenta de eso.

Entonces básicamente eso es lo que está haciendo como todo esto es relativo entonces excelente porque la posición inicial viene siendo 00 que es la que tenemos por acá Fíjate que esto el Start location es 00 aquí lo puedes ver y esta Recuerda que es la posición B esta viene siendo la a y esta viene siendo la B en este caso está como que inverso Pero bueno realmente un poco importa ya que cuando inicie el juego yo quiero que se mueva automáticamente a b ya que por defecto ya está en a que es donde está posicionada entonces es por eso que ves esto ya inicialmente ya le colocamos el delay por lo tanto apenas arranque el juego no se va a mover inmediatamente sino va a estar ahí el tiempo definido que por defecto aquí son los 2 segundos que yo lo coloqué aquí en el structuration y automáticamente espera Recuerda que el delay es para esperar Es simplemente dormir el hilo o el wiet ahí Es decir no hace nada el ciclo que tenemos acá entonces esperado aquí el structuration que es 2 segundos empieza a mover el componente como te comentaba antes recibe el mesh recibe la posición final es decir va a ir desde donde está hacia la posición final que es el target relative aquí es la palabra importante relativa location y se va a mover hasta allá por lo demás otra vez aquí Él recibe la duración es decir cuánto tiempo tiene para hacer ese recorrido ese recorrido y poco más aquí es una copia de lo que teníamos antes otro delay que es cuando llega a b y luego lo movemos a a la posición inicial que en este caso es estar location acto seguido que es lo que hacemos comenzamos el ciclo otra vez y es así de simple y eso viene siendo Prácticamente todo lo que yo hice y ya con eso con algo tan sencillo ya tenemos el comportamiento que vemos por acá y con eso crear nuestra primera plataforma que bueno en este caso haga algo y que bueno precisamente esto ya se puede emplear para muchos propósitos colocar Precisamente en por ejemplo en el aire en una parte donde el el Player pueda caer y morir para colocar varias variarle la duración de que vaya de a b el recorrido no solamente se puede mover aquí en lo en el eje x sino también lo podemos mover tal cual te presentaba antes ya sea en el y o en el Z ya que es un vector 3D entonces aquí lo puedo subir un poquito y bueno como te digo Hay muchísimas implementaciones que podemos hacer para este tipo de plataformas es muy sencillo de realizar así que pues nada sin más que decir ya te mostré Cómo crear una plataforma que va de a hacia B

- 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 3d 01:01!


Udemy

!Cursos desde!

4$

En Academia

Ver los cursos

!Libros desde!

1$

Ver los libros
¡Hazte afiliado en Gumroad!