Diseño de videojuegos en Unreal Engine: crea, personaliza y juega con tu propio mundo | Lucas Ridley | Skillshare

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Diseño de videojuegos en Unreal Engine: crea, personaliza y juega con tu propio mundo

teacher avatar Lucas Ridley, Professional Animator

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Introducción

      1:33

    • 2.

      Puesta en marcha

      1:28

    • 3.

      Crea el inicio del jugador

      4:53

    • 4.

      Conecta personajes de juego personalizados

      4:35

    • 5.

      Configura una máquina de estado

      5:07

    • 6.

      Termina tu máquina de estado

      13:44

    • 7.

      Conecta la cinemática con el inicio del juego

      10:35

    • 8.

      Crea un disparador de temporizador de inicio

      12:02

    • 9.

      Crea obstáculos con la lógica del juego

      12:02

    • 10.

      Termina las áreas de peligro

      3:53

    • 11.

      Empaca y comparte tu juego

      4:51

    • 12.

      Reflexiones finales

      1:41

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

283

Estudiantes

--

Proyectos

Acerca de esta clase

Crea tu propio videojuego personalizado para compartir y jugar con amigos.

Lucas Ridley, uno de los profesores de animación más populares de Skillshare, se inició en la animación 3D cuando buscaba una forma de trabajar en proyectos de películas con personajes realistas, escenarios cautivadores e historias fascinantes sin necesidad de explorar una locación, obtener permisos de filmación, contratar actores y alquilar equipos caros. Ahora, como animador 3D profesional y cineasta, Lucas ha podido trabajar en películas como Avengers Infinity War y Aladdin de Disney, así como en videojuegos como The Last Of Us Part 2 y Suicide Squad: Kill the Justice League, directamente desde su escritorio. Tras desarrollar una carrera exitosa, Lucas quiere mostrarte cómo usar la animación 3D para crear tus propias películas o videojuegos. 

En esta clase, Lucas te enseñará a usar Unreal Engine para crear un videojuego completo con la lógica del juego, un temporizador y obstáculos para que cualquier personaje de videojuegos intente conquistar. Creada para animadores que están listos para sumergirse en lo profundo de la creación de videojuegos, cada lección te acercará a un videojuego terminado para que compartas y juegues con tus amigos en una carrera de obstáculos cronometrada.

Con Lucas como guía, harás lo siguiente:

  • Crea un jugador desde cero 
  • Conecta un jugador metahumano personalizado a tu juego
  • Configura máquinas de estado para tu personaje, como agacharse 
  • Añade una introducción cinematográfica, temporizador y obstáculos, como objetos giratorios y áreas de peligro

 Además, podrás ver cómo Lucas diseñaría un videojuego corto de carrera de obstáculos como animador 3D de tiempo completo. 

Tanto si siempre has soñado con crear videojuegos para ganarte la vida como si solo quieres poner a prueba tus habilidades de animación 3D con un proyecto interactivo y compartible, esta clase te servirá para compartir en tu portafolio, con un posible empleador o solo con tus amigos. 

Para tomar esta clase, debes tener conocimientos intermedios de Unreal Engine para que puedas navegar por el software con facilidad. Además del software Unreal Engine, necesitarás una computadora y un ratón de tres botones. Para seguir aprendiendo más sobre la animación de videojuegos en Unreal Engine, explora la ruta de aprendizaje completa de Lucas.

Conoce a tu profesor(a)

Teacher Profile Image

Lucas Ridley

Professional Animator

Profesor(a)
Level: Advanced

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Introducción: Lo que me encanta de los videojuegos es que puedes crear acertijos interesantes para que otras personas los exploren y resuelvan. Hola. Mi nombre es Lucas Ridley Soy desarrollador de juegos y animador 3D trabajando en la industria de los videojuegos y el cine Es posible que hayas visto algo de mi trabajo si has jugado videojuegos como The Last of Us, Part II, o Suicide Squad: Kill the Justice League. Para mí es salvaje que llegue a hacer esto como carrera. Creo que es la mayoría de los sueños de los niños jugar videojuegos para ganarse la vida. En esta clase, vas a aprender a crear un videojuego completo. Vamos a comenzar con una cinemática que se funde con la jugabilidad, donde podremos crear lógica de juego que muestre un temporizador, crea obstáculos para nuestro personaje, y luego finalmente, podemos exportar todo esto que puedas compartirlo con tus amigos Me emociona enseñarte sobre este tema, porque crear videojuegos en realidad es bastante accesible. No solo tienes software libre como Unreal Engine, sino que puedes hacerlo en casa en tu propia computadora Deberías tomar esta clase si tienes conocimientos intermedios de Unreal Engine No voy a mentir, vamos a saltar al fondo de Unreal Engine, creando lógica de juego con planos Para seguir adelante, todo lo que vas a necesitar es Unreal Engine, una computadora y un mouse de tres botones Al final de esta clase, en realidad vas a tener un videojuego terminado que podrás compartir con tus amigos y competir con ellos en un tiempo de carrera de obstáculos. Espero que te alejas de esta clase realmente subiendo de nivel tus habilidades y sintiendo una sensación de logro, porque realmente vamos a crear algo impresionante juntos. ¿Quieres jugar un juego? Empecemos. 2. Puesta en marcha: Bienvenidos a esta clase. Estoy tan contenta de que estés aquí. En este proyecto, vamos a crear un videojuego cronometrado jugable Va a ser uno que puedas compartir con tus amigos, para que puedas competir con ellos a través de esta carrera de obstáculos cronometrada Así que vamos a crear un temporizador a través lógica del juego que pueda aparecer en pantalla. Para que puedas competir con tus amigos y comparar puntuaciones. Vamos a crear obstáculos para que eso sea difícil. Entonces, si te encuentras con ellos, en realidad simulará la física de Ragdoll en tu jugador y reiniciará el nivel, para que puedas empezar Al final de esta clase, vamos a exportar esto como un videojuego completo jugable Mi primer trabajo en la industria de los videojuegos fue en realidad en un videojuego de realidad aumentada, donde tomaríamos un libro con marcadores de rastreo y ese era el controlador de juego real para el juego y puedes manipular a los jugadores en ese libro Mi trabajo en ese proyecto era realmente dar vida a esos personajes a través de la animación en las páginas de ese libro de realidad aumentada Ni siquiera conocía Unreal Engine en ese momento. Entonces, si terminas esta clase, ya vas a estar por delante de mí. Te voy a dar unas grandes habilidades que pueden avanzar en tu carrera en el diseño de videojuegos. Para tomar esta clase, debes sentirte cómodo usando un motor irreal, navegar por la ventana gráfica navegar por la ventana gráfica e incluso solo saber que los planos son algo que existe va a ser útil porque vamos a sumergirnos mucho más y crear nuestros propios planos Así que agarra tu computadora, tu mouse de tres botones y encuéntrame en la siguiente lección, donde vamos a crear un inicio de jugador así que tenemos algún lugar para comenzar nuestro videojuego 3. Crea el inicio del jugador: En esta lección, vamos a cubrir cómo crear un Player Start desde cero si has creado tu propio nivel personalizado, y también vamos a hacer un poco de depuración para que podamos mejorar nuestra velocidad de fotogramas De vuelta dentro del motor irreal, voy a empezar con un nivel que he diseñado Si no has seguido junto con las otras clases y has diseñado tu propio nivel, puedes usar el proyecto de plantilla en tercera persona y usar ese nivel que viene con esa plantilla. Ese nivel ya tiene un Player Start, pero necesitaremos crear uno si tienes tu propio nivel personalizado. Porque si presiono “Play” ahora mismo, mi personaje jugable se generará donde quiera que estuviera la cámara Entonces potencialmente podría estar fuera del juego real, y no puedo entrar porque depende de la cámara que usé. Voy a golpear “Escape” para salir, y quiero colocar el inicio del jugador donde quiero que comience el juego real. Voy a hacerlo donde creé cinemática introductoria a la que llegaré más adelante, y quiero igualar la posición con mi inicio de jugador Voy a agregar el reproductor, empezar haciendo clic en el botón más aquí arriba y tecleando start. Puedes ver que tenemos un Player Start, y como no hay nada más en la escena, esto iniciará automáticamente al jugador donde lo queramos. Quiero igualar la posición de la cinemática. Sólo voy a golpear “W” y sacar esto del camino por el momento. Voy a hacer clic en la cinemática y obtener su posición haciendo clic derecho en este valor y eligiendo “Copiar”. Y luego quiero elegir el Player Start de nuevo y pegar este valor haciendo clic derecho y pegando Podemos ver un poco por el piso. Sólo voy a levantarlo una cierta cantidad, y luego presionaré el botón “Fin” de mi teclado, E-N-D, y eso lo romperá al piso Entonces solo quiero girarlo porque vamos a ver que la flecha azul está apuntando hacia un lado. Quería apuntar en la dirección del laberinto que he creado en mi nivel. Ahora bien, si le pego a “Play”, podemos ver que los jugadores iniciarán exactamente donde estamos esperando en esa posición. Ahora bien, si se puede decir una cosa, es que la reproducción es muy lenta. La velocidad de fotogramas no es buena, y podemos probarlo activando fotogramas por segundo. Podemos elegir este ícono de tres líneas de Hamburger aquí y bajar para mostrar FPS, que es la abreviatura de fotogramas por segundo Cuando hago clic en eso, se puede ver en la parte superior derecha aquí, tenemos 18 fotogramas por segundo. También puedo presionar “Reproducir de nuevo” y que los fotogramas por segundo deben persistir. Podemos ver que es aún peor cuando estamos jugando. Diez, 11 cuadros por segundo. Ahora bien, una de las razones de esto en mi escena es por los árboles de muy alta definición que tenemos en nuestro entorno. Si sigues la clase ambiente, sabes dónde vive este activo en este bosque generado por procedimientos Voy a cambiar esto por un activo de menor resolución que podamos trabajar mucho más rápido. Esto se llama depuración. Queremos depurar nuestro juego a medida que jugamos y resolver cualquier problema que estemos enfrentando a medida que avanzamos. Porque resolviendo esto ahora mismo haremos que todo sea más rápido más adelante mientras estemos trabajando en la escena, lo que se acumulará a mucho tiempo ahorrado. Voy a presionar “Barra espaciadora de control”, y voy a navegar hasta donde se encuentra este activo en mi carpeta generada por procedimientos, y voy a abrir la gráfica PCG donde está este Ahora bien, de nuevo, si estás usando el nivel de plantilla, no vas a tener esto. Esto es para la gente que pudo haber seguido junto con la clase anterior. Voy a generar una malla estática diferente aquí, así que reemplazaré los árboles de alta resolución uno de menor resolución Voy a bajar este descriptor, y aquí es donde vive la malla estática del árbol Voy a elegir un activo que venga con los activos de PCG Voy a escribir en el árbol, y puedo ver que hay estos árboles de marcadores de posición PCG, que son mucho más baja resolución, y eso es lo que voy a usar en lugar de la alta Podemos ver que ya está intercambiado, y ver qué pasa con nuestros fotogramas por segundo Ya estamos hasta alrededor de 30 cuadros por segundo. Ahora bien, la otra cosa que podría hacer es que podría reducir el número de puntos, así podría elegir el muestreador de superficie y en lugar de 0.08 puntos por metro cuadrado, podría elegir algo a la mitad de eso, así que 0.04 Podemos ver que realmente no ganamos tanto, así que lo voy a dejar atrás en 0.08, pero este es el tipo de pruebas que quieres hacer para asegurarte de que el juego que estás haciendo sea performativo Ahora en presiono “Reproducir”, deberías conseguir una reproducción mucho más fluida, y hemos ganado muchos fotogramas por segundo. En esta lección, aprendimos a crear un reproductor desde cero en caso de que tengas tu propio entorno personalizado que hayas creado. Si no lo haces, solo puedes usar el proyecto de plantilla en tercera persona y usar el Player Start que ya existe en ese nivel. Lo único a tener en cuenta es que si quieres que una cinemática comience al inicio de tu videojuego, entonces solo quieres asegurarte de que Player Start se alinee exactamente con esa secuencia de niveles Encuéntrame en la siguiente lección, donde vamos a conectar nuestro personaje jugable personalizado 4. Conecta personajes de juego personalizados: Bienvenido de nuevo. En esta lección, vamos a cubrir cómo conectar nuestro personaje MetaHuman personalizado con nuestro personaje jugable en tercera persona Volvamos a nuestro proyecto y empecemos. Ahora quiero cambiar nuestro propio personaje personalizado de MetaHuman por la tercera Hemos cubierto esto en una clase anterior, pero voy a cubrir de nuevo aquí que podamos rápidamente ponernos al día con nuestro propio personaje personalizado de MetaHuman como el personaje jugable Ya he mostrado cómo migrar personajes de otros proyectos donde es posible que los hayamos hecho. Todo lo que necesita hacer es “hacer clic con el botón derecho” en un activo y elegir Acciones de activos, Migrar. Entonces elige el proyecto al que quieres migrar esto si tienes un MetaHuman de otro proyecto diferente Ya lo hemos hecho, y por eso esto existe aquí. Ahora todo lo que necesito hacer es configurar este personaje para que sea jugable Necesito ir a la Configuración de clase y elegir el plano de tercera persona como la clase para padres El personaje en tercera persona tiene mucha lógica ya establecida, así que solo podemos usar esto en todas sus animaciones solo con nuestro propio personaje personalizado Ahora voy a elegir esto. Voy a ir al Viewport, poder ver lo que está pasando, y puedo ver que mi personaje y la tercera persona están ahora en la misma escena Ahora puedo mover esta raíz, hacer clic y arrastrarla debajo de la malla, y ahora puedo restablecer la raíz, modo que debería coincidir con el personaje de tercera persona Ahora todos estamos en la misma dirección. Voy a reorientar este personaje personalizado la animación que está sucediendo para la tercera persona Puedo hacer eso activando el retarget en vivo. Puedo elegir la variable de retarget en vivo y verificar useLiveRetarGetMode Ahora puedo ver estas alineadas, y solo necesito hacer invisible al personaje en tercera persona Puedo dar click en su malla y buscar visible. Puedo desactivar visible y renderizado. Necesito encender siempre la pose de garrapata y refrescar los huesos. Actualizaremos el personaje en tiempo real. Ahora puedo hacer clic en “Compilar” y guardar. Quiero abrir el plano en tercera persona y copiar y pegar toda la lógica del juego y las entradas que no tenemos aquí Porque si miro mi gráfico de eventos, que controla toda la lógica del juego, en realidad no hay ninguno. No hay nada que diga, oye, si presiono este botón, entonces haz esto. Aquí está totalmente vacío. Tenemos algunas cosas de RA y cara, pero no hay entradas reales que estén sucediendo que hagan que esto sea jugable Quiero abrir el plano en tercera persona donde vive eso, y copiar y pegar esa información Podemos simplemente robarnos todo ese arduo trabajo que ya han hecho por nosotros. Voy a “hacer doble clic” en este plano, y quiero hacer clic y arrastrar, seleccionar toda esta información, y quiero copiarla y pegarla pulsando “Ctrl C”, saltando de nuevo a mi plano y presionando “Ctrl V” en un área vacía para Entonces Ctrl V. Ahora tenemos toda esta información de que han hecho todo el trabajo duro por nosotros. Ahora solo tenemos que decir cuándo comienza a reproducirse esto, luego emitir y comenzar a hacer todo el mapeo de entrada que queremos hacer. Puedo eliminar este CustomEvent y usar este evento, BeginPlay, y mapearlo en nuestro casting en nuestro personaje jugable Ahora puedo compilar y guardar este blueprint, y ahora solo necesito decirle a mi juego que realmente use este personaje, porque si presiono “Reproducir” ahora, sigue usando el personaje predeterminado Para cambiar esto, necesito ir a mi Configuración del proyecto en Editar, Configuración del proyecto, Mapas y modos. Bajo el modo de juego seleccionado, necesito cambiar la clase de peón predeterminada Puedo elegir el modo de juego en tercera persona, y luego me permitirá cambiar el plano con el que estamos generando al personaje Voy a hacer BP_, y ahora puedo encontrar mi plano para mi MHI_Lucas Ahora cuando cierro esto y presiono “Reproducir”, deberíamos ver nuestro propio personaje personalizado, y deberían ser jugables golpeando las teclas W, A, S y D. Además de la entrada de salto, puedes presionar “Barra espaciadora”. Ahora es tu turno. Toma tu propio personaje personalizado y mapéalos al personaje jugable en tercera persona, o simplemente usa el personaje en tercera persona y presiona “Jugar” y jugar. Solo recuerda, siempre es importante aprovechar cualquier trabajo que ya esté hecho por nosotros, y así es por eso que vamos a buscar cosas en el contenido de inicio y copiarlo y pegarlo No hay vergüenza en usar un trabajo que ya está hecho para ti. Encuéntrame en la siguiente lección. Vamos a crear una nueva máquina de estado para agacharse. 5. Configura una máquina de estado: Bienvenida de nuevo. En esta lección, vamos a cubrir planos de animación y máquinas de estado Las máquinas estatales son una forma en la que podemos hacer la transición de diferentes estados en nuestro carácter como estar inactivos, caminar, correr, y vamos a agregar agachados en esta lección Es importante saber que las máquinas estatales, aunque lo suyo, en realidad viven dentro del plano de animación Entonces, ahí es donde vamos a estar trabajando. Ahora volvamos a nuestro proyecto. Esta lección te dará una idea de cómo crear una animación agachada para nuestro personaje Entonces, imaginemos que tenemos algún tipo de obstáculo que realmente necesitamos agacharnos debajo para poder empujar uno de estos bloques, pero aún no podemos agacharnos Entonces, necesitamos crear una entrada agachada para que nuestro personaje pueda agacharse, y luego empujar este bloque a través para superar esta barrera Entonces empecemos con eso ahora. Para comenzar, necesitamos agregar una acción de entrada para que sepamos qué pulsación de tecla permitirá realmente agacharse Entonces voy a saltar a las acciones de entrada para mi personaje en tercera persona porque eso es realmente lo que está controlando nuestro personaje personalizado es el plano padre en tercera persona Entonces aquí vemos que tenemos una carpeta llamada input. Dentro de aquí, tenemos este master default, que es el contexto de mapeo de entrada. Este es el grupo principal que va a controlar las acciones. Necesitamos una nueva acción llamada Crouch. Se puede ver que tenemos saltar, mirar, mover, y podemos agregar cualquier otro tipo de acciones que queramos comenzar a habilitar. Y en este ejemplo, vamos a habilitar una nueva acción y entrada de Crouch Entonces necesito crear una acción de entrada. Entonces voy a ir a entrada y acción de entrada haciendo clic derecho y eligiendo esta opción. Voy a elegir I A para input action, y voy a llamar a esto Crouch Ahora cuando vayamos a este tipo de activos de datos maestros de las acciones de entrada, podemos tener un nuevo mapeo para el Crouch aquí Para que pueda presionar el botón más y luego elegir Crouch en el menú Ahora en esta opción, aquí es donde llego a agregar a qué pulsaciones de teclas quiero que se agregue esto. Entonces puedo elegir entre las opciones aquí, o simplemente podría hacer clic en este botón y luego presionar el botón del teclado real en mi teclado. Así que voy a elegir el control izquierdo porque estamos usando una configuración W A S y D. Entonces, vamos a golpear Guardar. Y ahora le hemos habilitado para recibir esa entrada. Ahora solo necesitamos conectar esa entrada a todos los eventos y lógica para reproducir la animación correcta y cambiar los componentes del personaje a Crouch Entonces tenemos que ir al plano de nuestro personaje, que para mí es el metahumano, este personaje personalizado Para ti, podría ser la tercera persona en carácter si eliges usar eso. Entonces ahora en el gráfico de eventos, aquí es donde necesitamos agregar nuestra propia acción de entrada. Puedes ver que tenemos mirada, tenemos movimiento, tenemos salto, y necesitamos agregar la acción de entrada agachada Pero antes de hacer eso, tenemos que decirle al componente del movimiento que en realidad podemos agacharnos Entonces tiene las variables y las cosas que estamos buscando al agacharnos Porque agacharse es algo normal de hacer. Esto en realidad ya está disponible para nosotros en el componente de movimiento de personajes, que es donde todos estos tipos de valores de personajes jugables que nos interesan, como qué tan rápido nos movemos, cómo es la gravedad Y así, si empezamos a escribir y buscar agacharse, se puede ver que en realidad no podemos agacharnos hasta que verifiquemos Esto hará que algunas funciones incorporadas estén disponibles para nosotros, por lo que sabe activar y desactivar agachados También puedes cambiar la velocidad a la que te mueves cuando estás agachado Y también la altura a la que vas cuando estás agachado. Entonces voy a comprobar esto. Y ahora en mi gráfico de eventos, que cuenta toda la lógica de las entradas y lo que van a habilitar. Al igual que el salto aquí, estemos saltando o no, necesitamos crear una acción de entrada para Crouch Así que voy a empezar a escribir Crouch, y eso debería existir porque ya hemos creado este evento de acción de entrada Entonces queremos el evento y no el valor, y podemos elegir iniciado y completado igual que nuestro evento para la acción de entrada para salto. Así que para empezar, en realidad tenemos esta función incorporada llamada Crouch Y por eso estamos habilitados agachados. Entonces tenemos esta variable disponible para nosotros antes de comenzar este paso. Así que voy a hacer clic y arrastrar fuera de completado y tecleando Crouch de nuevo y elegir Un Crouch para cuando Y eso es todo lo que realmente necesitamos hacer. Si queremos comentar esto, al igual que estos otros, podemos golpear C, y podemos escribir entrada agachada Entonces ahora solo necesitamos compilar y guardar, y deberíamos ver esos aspectos del componente del movimiento ya afectan nuestro carácter. Al igual que la velocidad de Crouch se verá afectada, aunque todavía no tendrá ninguna animación para jugar Si estoy corriendo y presiono Crouch o el botón de control, realidad solo vamos a reducir la velocidad Pero en realidad todavía no tenemos una animación agachada, y eso es lo que necesitaremos ajustar Así que vamos a crear la animación que realmente necesitamos para agacharnos En esta lección, aprendimos a comenzar a crear una nueva acción de entrada para nuestro personaje, así podremos agacharnos Terminamos viendo que puede afectar nuestra velocidad, y solo necesitamos insertar las animaciones adecuadas ahora. Hagámoslo juntos en la siguiente lección. 6. Termina tu máquina de estado: Bienvenido de nuevo. En esta lección, vamos a seguir creando nuestra máquina de estado Crouch Vamos a tomar nuestra acción de entrada que ya hicimos y conectarla a una animación para agacharse inactivo y caminar agachado Entonces vamos a afectar la velocidad a la que nos movemos mientras caminamos agachados para que se sincronice con la velocidad a la que se mueven nuestros pies Volvamos a sumergirnos en el proyecto. Vamos a crear la animación que necesitamos para realmente agacharnos. Por suerte, para nosotros, si entramos en el lanzador de Epic Games en el mercado, y buscamos los conceptos básicos de MCO Mocap De hecho tenemos aquí un activo gratuito que tiene una animación de Crouch para Simplemente busca el activo, y podrás agregarlo a tu proyecto. Una vez que se agrega a tu proyecto, podemos encontrar estos activos en el navegador de contenido yendo al contenido, y puedes ver que se ha creado una nueva carpeta llamada MCO Mocap Aquí podemos encontrar una animación de Crouch. Sólo puedo buscarlo en el navegador de contenido aquí. Se puede ver que tenemos un par diferente a pie Crouch y Básicamente tenemos una versión in situ y una versión walking off the spot. Queremos la versión in situ. Voy a seleccionar el in place Crouch y in place walk, y quiero hacer clic derecho y elegir animaciones de retarget porque esto está en un esqueleto antiguo de Maniquí, y queremos reorientar al nuevo esqueleto y queremos reorientar al nuevo Voy a escribir Manny. Ahora puedes ver que tenemos aquí el nuevo Mannequin Skeleton, y podemos buscar estos activos con tan solo escribir Crouch Si hacemos doble clic en él, podemos ver que tenemos el que está caminando fuera del lugar. Pero queremos el que esté caminando en el lugar. Escojamos estos dos y exportemos estas animaciones. En estos conceptos básicos de MCO Mocap, voy a crear una nueva carpeta llamada retarget, y voy a hacer clic derecho y elegir Nueva carpeta y ponerla en la carpeta Ahora bien, el plano del personaje es donde le dijimos dónde estaba la acción de entrada Eso lo hicimos en nuestro plano para nuestro personaje. Pero, ¿dónde agregamos realmente las animaciones? Eso está en el plano de animación y no en este plano. Tenemos que encontrar el plano de animación. Si hago doble clic en el nuestro, puedes ver que la clase de animación aquí es Anim Blueprint queen C, y puedo navegar hasta este activo, y puedo hacer doble clic en él, y eso en realidad es hijo del Manny En realidad queremos el Blueprint de animación de Manny y no la reina Si hago clic en esta clase Parent aquí, puedo encontrar en la carpeta también, que está justo al lado de la reina y hago doble clic en ella. Puedes ver que tenemos el gráfico de eventos para el Blueprint de Animación Esto es diferente del blueprint del personaje, que acabamos de agregar la acción de entrada Aquí es donde le decimos a la variable para agacharse, si estamos agachados o no estamos agachados, para que sepa qué Para ello, necesitamos conectarlo hasta el componente de movimiento, que ya tenemos. Voy a copiar y pegar una versión de la misma aquí y hacer clic y arrastrar fuera de esto. Voy a escribir es agachado. Se puede ver que ya tenemos la variable para esto porque habilitamos la capacidad de agacharse Ya tiene esta variable incorporada. Si hago clic derecho sobre esto, puedo promoverlo a una variable. Podemos acceder a él en la máquina de estado para establecer esto como regla de si se deben reproducir las animaciones agachadas o Ahora bien, no está conectado a nada, así que necesitamos agregar un nuevo pin a esta secuencia, que es lo que actualiza los valores en cada fotograma para que pueda averiguar si algún estado ha cambiado, como caer o agacharse o Necesitamos agregar este nuevo pin aquí para que podamos conectarlo hasta esta nueva variable que tenemos. Puedo hacer doble clic en cualquier parte de esta línea para crear un nodo de reencaminamiento, y si mantengo Control, puedo moverlo fuera del camino Podemos quedarnos un poco organizados aquí. También puedo hacer clic y arrastrar estos y presionar C para comentar y mover esto hacia abajo. Ahora que finalmente tenemos las acciones de entrada creadas, tenemos nuestras animaciones listas, y hemos creado la capacidad de ver como una variable si estamos o no agachados Puedo cambiar el nombre de esto a Crouching. Ahora estamos listos para conectar realmente las animaciones a la locomoción. Eso lo podemos encontrar en la gráfica anim. Ahora mismo, estamos en el gráfico de eventos, que puedes ver en este directorio jerárquico aquí. Puedo saltar a la pestaña gráfica Anim aquí o puedo hacer clic en ella desde aquí En el gráfico anim, en realidad podemos ver las máquinas de estado, que controla qué animaciones se están reproduciendo La que más nos preocupa es la máquina estatal de locomoción Si hago doble clic en él, puedo entrar dentro de él, y puedo ver que hay un ídolo y hay una carrera a pie. Esas son principalmente las dos cosas que podemos hacer con este personaje. Puedes ver ahora mismo está previsualizando la animación de ídolos aquí en la ventana izquierda Queremos agregar otro estado llamado Agachado. Puedo hacer clic derecho aquí y agregar un nuevo estado. Voy a llamar a esto Agachado y eso interior. Puedo hacer doble clic y meterme dentro de esto y ahora puedo agregar mis animaciones aquí. Tenemos dos animaciones, una para si no nos movemos, y simplemente estamos agachados, y otra para agacharnos mientras caminamos Voy a hacer clic en Arrastrar ambas animaciones a la máquina de estado, y necesito decirle cuándo estamos inactivos y cuándo estamos caminando. Por eso tenemos estas variables para decirnos si nos estamos moviendo o si no nos estamos moviendo. Eso ya estaba configurado en nuestro gráfico de eventos. De vuelta aquí, se puede ver que había una configuración de RD llamada Debería moverse. Podemos usar esto para saber si estamos agachados o no inactivos o agachados inactivos o agachados Necesitamos mezclarnos entre estos dos en base a esa variable. Puedo agarrar esta variable diciendo que get debería moverse, y esto controlará cuál de estas animaciones estamos jugando. Necesitamos otro nodo para determinar eso, y eso es una mezcla de Boolean, lo que significa o, ya sea está encendido o apagado, así podemos escribir poses de mezcla por Bole, y ahora tenemos una pose verdadera y una pose falsa Se va a controlar por un valor activo. El verdadero estado va a estar caminando, así podemos enchufar eso en verdadero. Podemos enchufar el estado inactivo, la animación inactiva en false. Lo que va a controlar eso es esta variable aquí. Si deberíamos estar moviéndonos o no deberíamos estarlo va a ser el valor activo. Ahora, enchufamos esto al resultado. Ahora volvemos a nuestra locomoción. Solo necesitamos crear una regla para cuando esto esté sucediendo. ¿Cuándo estamos agachados? Es cuando la variable que hemos creado está agachada está habilitada, en función de si estamos o no ingresando la pulsación de tecla correcta, la cual hemos ingresado como control como la acción de como la Todo eso ya está configurado. Sólo tenemos que establecer la regla para esta variable. Puedo hacer clic y arrastrar sobre esta caja y señalarla a agacharse Puedo ir de pasillo a agacharse ahora con la regla que voy Puedo pasar de agacharme de nuevo a estar inactivo con otra regla. Pasando de pasillo a agacharse, quiero hacer doble Obtener esta variable es agachada. Si estamos agachados, queremos entrar en la animación agachada Ahora bien, si ya no estamos agachados, podemos simplemente establecer esa regla para volver a la Queremos decir que vuelva a obtener esta variable, pero desencadene esta transición si esto no está sucediendo. Podemos escribir no y elegir el booleano en opción. Ahora tenemos que hacer lo mismo para las transiciones de carrera a pie. Caminar correr a agacharse debería estar sucediendo cuando estamos agachados Deberíamos salir de este estado agachado nuevo a caminar corriendo si no estamos Ahora que hemos creado las reglas para agacharse, hemos creado las animaciones y cuando van a jugar, podemos presionar Compilar y guardar, y deberíamos poder ver a nuestro personaje capaz de agacharse personaje capaz Ahora vamos a jugar y probarlo. Ahora para darle a Control, soy capaz de agacharme, y se puede ver que me estoy moviendo, pero el agachado deja de moverse porque no encendimos loop Podemos saltar de nuevo a nuestro plano de animación, al que podemos acceder en nuestros Maniquíes, animaciones y Manny animaciones y Manny Tenemos que asegurarnos de que la caminata esté puesta en bucle. Podemos escribir en bucle para encontrarlo, y solo necesitamos activar la animación de bucle. Vamos a compilar y guardar. Ahora se puede ver que en realidad bucles mientras estamos señalizando. Pero nos estamos moviendo mucho más rápido que nuestros pies. Si recuerdas, podemos ajustar la velocidad de agacharse, para que coincida más estrechamente con la animación y con qué rapidez se mueven realmente los pies Vamos a saltar al componente de movimiento del personaje en nuestro plano Voy a entrar en el plano de los metahumanos. Voy a ir al componente de movimiento del personaje donde encendimos Agachado Si busco Crouch, puedo ver nuestra velocidad máxima de caminata para Crouch Redujamos eso a la mitad, compilemos y guardemos, y probemos esta velocidad. Mantenemos agachado y seguiremos adelante. Ahora puedes ver que nos estamos moviendo mucho más cerca a lo rápido que realmente se mueven nuestros pies en la animación. Todavía se desliza un poco, así que voy a volver a entrar y seguir ajustando este valor hasta que me guste cómo coincide con la animación real que tenemos que jugar Ahora hemos creado la capacidad de realmente agacharnos bajo los obstáculos que creamos Ahora, solo tenemos que asegurarnos de que creamos estos a una altura que tenga sentido para nuestro personaje. Ahora bien, si la velocidad es demasiado abrupta, podemos ajustarla en los ajustes de mezcla de las transiciones. A ver cómo se hace eso. Solo hacemos clic en esto, y podemos ver que hay una duración de una mezcla de 0.2 segundos. Podemos aumentar esto a algo así como 0.5, y podemos hacerlo para ambas direcciones. Ahora hemos duplicado la cantidad de tiempo que se tarda en ir entre cada estado de agacharse desde la caminata y la carrera Ahora quiero darle a play. Podemos correr y luego agacharnos. Toma mucho más tiempo para que esa transición ocurra ahora, y así ojalá no sea tan discorante. Una configuración final que podemos ajustar es que la cámara aparece cuando nos agachamos, aparece desde la altura de la cabeza de nuestros personajes y luego salta hacia nuestra cabeza de personaje agachada Podemos encender un lag que mezclará la cámara más a la perfección. Abramos el plano de los personajes y vayamos boom de la cámara y a la ventana de pestaña de componentes Tienes que dejar de jugar para que podamos acceder a estas funciones, y podamos desplazarnos hacia abajo para habilitar el retraso de la cámara. Si solo habilitamos esto, los ajustes predeterminados funcionan bastante bien. Podemos ajustar estos ajustes si queremos, pero podemos presionar compilar y guardar, y podemos volver a jugar y probar el nuevo lag out de la cámara. Ahora combina mucho más a la perfección, y también tiene un poco de retraso cuando estamos haciendo otras cosas, pero funciona bastante bien para resolver el problema de la cámara Crouch En esta lección, cubrimos mucho material complicado. Enhorabuena por seguirlo. Has aprendido a tomar una acción de entrada y de hecho implementarla. Rediseñamos la animación, y ahora tenemos un estado completamente nuevo para que nuestro personaje esté, que está agachado un estado completamente nuevo para que nuestro personaje esté, que está agachado Siéntase libre de reemplazar esas animaciones que usamos con otras animaciones que encuentre en el mercado o en otro lugar. Entra y realmente retoca esos valores. Ya sabes, cambiamos la animación de mezcla para que sea de 0.2-0.5, pero tal vez haya un mejor valor ahí Juega con esos valores y hazlos lo más fluida posible. Que se diviertan con él. Me conocimos en la siguiente lección, donde vamos a conectar la cinemática con el inicio del juego 7. Conecta la cinemática con el inicio del juego: Bienvenida de nuevo. Una gran nota para esta lección es el hecho de que querrás haber visto una clase anterior en esta serie donde aprendimos a animar a nuestro personaje en una secuencia de niveles Donde empiezo aquí, ya tengo esa secuencia de niveles creada. Si no sabes cómo hacer una secuencia de niveles, salta de nuevo a una de mis clases anteriores en esta serie donde aprendimos a crear una secuencia de niveles. Esa clase tiene que ver con la animación de personajes. Ahora que eso está fuera del camino, vamos a tomar nuestra cinemática, y vamos a mezclarla a la perfección en el juego Cuando comenzamos nuestro videojuego, podemos ver una reproducción cinematográfica y luego se combinará a la perfección para que el jugador pueda recuperar el control de ese mismo personaje y comenzar el nivel Volvamos a sumergirnos. Imaginemos que cuando golpeamos “Play” en nuestro juego, queremos ver primero una obra cinematográfica He creado una secuencia de niveles, cual discutí cómo crear en esa clase anterior, y en esa secuencia de niveles, puedo abrirla para ver la animación. Voy a hacer clic en “Abrir secuencia de nivel”, y podemos ver que inmediatamente hay un par de problemas. Una es que mi personaje está por el suelo, y cuando froto la línea de tiempo de la secuencia de niveles, no hay animación que realmente se esté reproduciendo. Podemos resolver estos problemas uno por uno, y luego unir esta cinemática para jugar exactamente cuando jugamos nuestro juego y luego mezclarnos a la perfección con la animación del juego Primero resolvamos algunos de estos problemas. Siendo el primero, quiero que este personaje que traje coincida con el inicio del jugador. Puedo seleccionar el inicio del jugador, y puedo copiar estos atributos en el panel de detalles para la ubicación de transformación. Entonces puedo hacer clic en el personaje ellos mismos y luego pegarlo haciendo clic derecho y eligiendo pegar. Ahora solo necesito obtener la orientación correcta. Al hacer clic en el inicio del jugador, puedo ver que es un 50 positivo, solo necesito ir a seleccionar al jugador y ir positivo 50 también. Ahora bien, estos coinciden con la misma orientación y dirección de dónde va a empezar el jugador , así como el personaje de secuencia de niveles. Esos deberían coincidir cuando entremos y salimos de la cinemática a la jugabilidad El otro problema es, no puedo ver la reproducción de la animación, y eso es porque hemos activado el blanco de librea para este personaje Bueno, el personaje que estamos viendo aquí es en realidad la versión de clase spawn de este personaje Es una versión engendrada de nuestro personaje jugable de nuestro plano En ese plano, activamos la focalización de librea. Para la secuencia, queremos apagarlo, de esa manera, no está buscando reproducir el objetivo de librea, sino que estamos tratando de dejar reproduzca la animación en la secuencia En nuestro objetivo de librea, puedo marcar esto para usar el objetivo de biblioteca para la versión de blueprint de spawn de Puedo desmarcar esto, y entonces deberíamos poder fregar y verlo. Actualizará y reproducirá la animación en la que estamos incitando al jugador para comenzar realmente a jugar el juego Esa fue la elección de rendimiento que hice para mi cinemática. El tuyo podría ser diferente. ¿Cómo tenemos ese juego de secuencia de niveles y luego combinamos a la perfección en nuestra animación de juego? Queremos saltar a un nuevo tipo de plano llamado plano de nivel Podemos acceder a este plano de nivel yendo a este icono de árbol aquí arriba y alternar esto hacia abajo para abrir plano de nivel Normalmente, no hay nada aquí en el gráfico de eventos, y aquí es donde realmente podemos usar el evento start play para este nivel para jugar la secuencia que tenemos. Lo primero que quiero hacer es seleccionar en realidad una secuencia de niveles. El inicio de secuencia de nivel es el nombre mío. Puedo elegirlo del outliner de la ventana gráfica. Ahora cuando haga clic con el botón derecho, puedo decir, crear una referencia a la secuencia de niveles. Sin esta selección, esta no sería una opción. Asegúrese de seleccionar primero la secuencia de niveles antes de hacer clic con el botón derecho aquí Ahora que hemos creado esta referencia a nuestra secuencia de niveles, necesitamos hacer clic en arrastrar fuera de esto para encontrar el siguiente nodo que necesitamos. Cuando hace clic y arrastra fuera de los nodos, esto es contextual a ese nodo. Si trato de encontrar lo mismo que vamos a buscar aquí desde el evento comenzar a jugar, no lo podría encontrar. Quieres asegurarte de que estás haciendo clic y arrastrando fuera de los nodos correctos para encontrar los correctos que estamos buscando Quiero encontrar jugador de secuencia de juego, y cuando haga clic en eso, me sale un par de notas aquí, y podemos arrastrar esto. Ahora tenemos una forma en la que nuestra secuencia va a jugar, pero no sabe poseer realmente al personaje con el que vamos a estar jugando, y eso está en nuestra secuencia. Necesitamos alguna manera de conseguir nuestro personaje, y podemos hacer clic derecho y decir, conseguir peón jugador Eso significa obtener el peón del personaje que se está generando con el que estamos jugando Eso es esto. A continuación, queremos crear una etiqueta para un personaje para que sepa qué personaje poseer. Podemos controlar muy específica y manualmente lo que esta secuencia de niveles está controlando. Al hacer clic y arrastrar de nuevo, tenemos que estar arrastrando fuera de esto, puedo buscar un conjunto de enlace por nodo de etiqueta Ahora lo único que queda por hacer es conectar algunas de estas cosas y también crear esta etiqueta aquí. Voy a minimizar este primer segundo y entrar en crear nuestra etiqueta. Si hago clic con el botón derecho en el plano, puedo crear una etiqueta aquí Ahora, la parte complicada del metahumano es que en realidad hay múltiples componentes que comprenden este plano Tenemos el cuerpo, tenemos la cara, y específicamente, lo que estamos tratando de poseer y filtrar por una etiqueta es en realidad el cuerpo. Ahí es donde está la animación. Queremos agregar realmente la etiqueta al cuerpo. Voy a hacer clic derecho y agregar la etiqueta al cuerpo. Voy a presionar “Control A” y “Control C” para seleccionar todo y copiar para asegurarme de que lo voy a escribir incorrectamente en nuestro plano de nivel Voy a presionar “Enter” para crear esa etiqueta, y podemos ver que existe aquí junto a nuestro cuerpo. Si iba a golpear “Reproducir ahora”, podemos ver que se reproduce la animación, pero genera otro personaje Arreglemos eso agregando la etiqueta al plano del personaje también. Voy a agregar la etiqueta al plano en sí también, y eso debería solucionar este problema Voy a reabrir el plano de nivel, y puedo pegar esta etiqueta de enlace aquí mismo que acabamos Ahora sabe a qué atarse basado en el actor que le vamos a dar. El actor es el jugador peón, voy a conectar esto arriba. Vamos a obtener una pequeña cosa de array que se va a crear automáticamente. Ahora todo lo que tenemos que hacer es conectar todo de izquierda a derecha. Cuando el juego comience a jugar, estableceremos esta etiqueta y luego jugaremos la secuencia basada en esa etiqueta, y voy a presionar “Compilar” y “Guardar”. También voy a cerrar fuera del secuenciador porque a veces lo irreal se confunde si estamos tratando de jugar la secuencia en el juego o en la línea de tiempo aquí Voy a cerrar esto solo por razones de seguridad. Podemos ver que funcionó, y nuestra animación retrocede. Ahora el problema es que necesitamos mezclarlo un poco más suavemente a esta animación ociosa. Voy a entrar en la secuencia de niveles, y voy a crear una mezcla. Voy a hacer clic en la secuencia de niveles, y voy a abrir la secuencia de niveles. Cuando miro la animación, existe este atributo muy furtivo que podemos ajustar, que es la mezcla Ahora bien, si mantengo el ratón bajo aquí, en realidad estoy cambiando la duración de la animación en sí. Pero lo que quiero hacer en realidad es agarrar la esquina superior donde podamos ver este pequeño triángulo. Esto controlará la mezcla real de la animación. En lugar de hacer estallar, tendremos alrededor de un segundo para mezclarnos con la animación ociosa desde el final de nuestra cinemática Como no coincidirán exactamente donde están las posiciones de los pies de nuestros personajes, por ejemplo, tendremos una agradable mezcla suave entre cualquier desajuste con la imposición de nuestra secuencia de niveles y el comienzo de nuestra animación de juego inactivo de inicio Ahora cuando juego, debería poder ver mi reproducción de animación, y deberíamos tener una mezcla más suave en inactivo. El único problema con esto es que si empiezo a intentar ingresar, es pelear la animación aquí. Si estoy tratando de moverme mientras está jugando, es una especie de pelear entre ellos. Necesito desactivar la entrada por cierta cantidad de tiempo, voy a ir al plano de nivel, y voy a deshabilitar la entrada Entonces quiero retrasarlo una cierta cantidad de tiempo en función de la duración de la animación en sí. Digamos tres segundos. Entonces quiero poder volver a ingresar una vez que eso esté terminado. La última pieza del rompecabezas es decirle cuál es el objetivo y el controlador del jugador. Necesitamos obtener el controlador del jugador, y luego fuera de este controlador de jugador, quiero encontrar el peón controlado El objetivo va a ser el peón controlado. Puedo hacer doble clic en esto y control-clic en él para que esté un poco más organizado, y el controlador del reproductor va a ser el que hayamos agarrado Golpeando control para que pueda mantener eso abajo y sacar otra versión de eso aquí. Haga doble clic, y ahora esto debería funcionar para deshabilitar la entrada durante nuestra reproducción cinematográfica Si presiono en el teclado, no debería poder moverme hasta que esté difuminando el retraso. Puedes ver que cambié un poco durante eso, realidad puedo simplemente aumentar el retraso en nuestro temporizador aquí a algo así como cuatro y compilar y guardar, y esto debería impedir que podamos mover a nuestro personaje durante la cinemática Estoy manteniendo pulsada W y no pasa nada, y luego empieza a moverse una vez terminada la cinemática En esta lección, aprendimos a crear una mezcla perfecta de un modo cinematográfico al modo de juego para nuestro personaje Aprendimos a crear una mezcla perfecta ajustando algunos valores Siéntete libre de hacerlo tuyo y convertirlo en una mezcla perfecta desde la cinemática de tu elección hasta la animación ociosa de nuestro personaje Si te encuentras con algún problema para que se produzca esa mezcla perfecta, solo asegúrate de que tu jugador comience y tu secuencia de niveles estén orientados de la misma manera. Encuéntrame en la siguiente lección, donde vamos a crear un temporizador de inicio. 8. Crea un disparador de temporizador de inicio: Bienvenido de nuevo. En esta lección, vamos a crear un temporizador de inicio para nuestro jugador, que sepan lo exitosos que son en el nivel que hemos diseñado para ellos. Volvamos a sumergirnos. Vamos a crear rápidamente una línea de inicio aquí. Para crear la línea de inicio, voy a usar una caja de activación. Voy a escribir el cuadro de activación en la parte superior del botón de anuncio aquí. Quiero una caja de gatillo. No quiero un volumen de disparo ni nada más. Quiero una caja de gatillo. Voy a usar eso, y puedo simplemente escalar esto, y asegurarme de que cubra toda la línea de salida aquí. Por supuesto, también podría poner aquí algunos otros elementos que signifiquen para el jugador que esta es en realidad la línea de salida Pero por ahora, solo quiero asegurarme de que los elementos del juego estén adentro. Entonces siempre podemos volver y agregar algunas obras de arte o mallas estáticas para que los elementos funcionales del juego sean más claros para el jugador Voy a asegurarme de que el gatillo de caja cubra esta sección por completo, y que sea lo suficientemente alto como para que no pudieras saltar por encima de él como jugador. Cuando el jugador pase por esto, vamos a activar este volumen. Comencemos configurando esta lógica para que tengamos una variable en segundos, y podamos crear un pequeño temporizador que se mostrará en la ventana. Pero necesitamos crear una variable para los segundos y activarla en base a que pasemos por este volumen. Para ello, quiero editar el modo de juego. El modo de juego se encuentra justo al lado del plano en tercera persona, y se llama modo de juego en tercera persona Puedo hacer doble clic en esto, y abriremos la ventana de configuración. Lo que queremos es el editor de planos completo real. Necesitamos hacer clic en este botón aquí para acceder al editor de planos para el modo de juego Ahora que tenemos esto, podemos comenzar a crear nuestras variables que vamos a necesitar. El primero son segundos. Necesitamos alguna forma de medir el tiempo, y por supuesto, los segundos la forma más común y fácil de hacerlo. Hay diferentes tipos de variables. Esto es un tema relacionado con las matemáticas de la informática. Si todos estos nombres realmente no tienen ningún sentido, no te preocupes por eso. Puedes buscar eso o simplemente seguirme. Solo queremos elegir flotar por ahora. Ahora podemos crear un evento personalizado que va a ser activado, así puedo agregar un evento personalizado haciendo clic derecho y diciendo, Agregar evento personalizado. Puedo llamar a esto Temporizador de inicio. Cuando se activa este evento personalizado, quiero establecer los segundos cero porque necesitamos comenzar desde cero. Voy a hacer clic y arrastrar la variable hacia afuera y elegir Establecer segundos. El valor predeterminado ya es cero, así que solo necesitamos conectar esto arriba. Ahora, necesito otra variable que pueda rastrear si el temporizador está funcionando o no. De esa manera, puedo usarlo más adelante, ya sea que estemos rastreando si el temporizador está encendido o apagado, y si queremos mostrar un temporizador de línea de meta, por ejemplo. Voy a agregar otra variable llamada temporizador B funcionando, y B es para booleano Queremos cambiar esto a un tipo booleano, que es un valor verdadero o falso Si pasas el cursor sobre estas, también puedes ver cuáles son estas variables Para éste, sólo necesito saber, ¿está funcionando o no está funcionando? Cuando arranquemos el temporizador, va a estar funcionando. Puedo configurar la variable de ejecución del temporizador para que esté encendida, así puedo conectarlos y luego marcar esta casilla. Cuando ocurre el evento del temporizador de inicio, va a establecer la variable segundos en cero, y va a establecer la variable time o running en on. Pero, ¿cómo contamos los segundos? Necesitamos alguna manera de agregar tiempo a esta variable llamada segundos. Bueno, podemos usar algo llamado tick de evento. Si hago clic derecho y digo tick de evento, hay un evento que ya está integrado en el motor Unreal Si coloco el cursor sobre él, se puede ver el evento llamado cada fotograma. Es una manera fácil de obtener un valor basado en el tiempo dentro del motor irreal Quiero tomar el valor inicial de cero, y quiero agregar, para poder hacer clic y arrastrar, y elegir Agregar. Quiero agregar los segundos Delta, es decir, la cantidad cambiante de segundos. Delta segundos ya está rastreado en este evento nodo tick. Puedo hacer clic y arrastrar esto hacia adentro, y ahora estamos agregando a esta variable. Pero ahora tenemos que configurarlo después de que le hayamos agregado. Puedo hacer clic y arrastrar esto y elegir Establecer segundos. Puedes ver que tenemos nuestra variable personalizada aquí abajo, y ahora podemos establecer los segundos en la garrapata Evento. Pero no queremos hacer esto todo el tiempo. Solo queremos hacerlo cuando el temporizador realmente está funcionando. Podemos usar este valor para ramificarnos de esta tecnología de eventos. Podemos decir rama, y podemos decir, si esto es cierto, si el temporizador está funcionando, entonces haz esto. A continuación, establezca el número de segundos en función del Delta en el tic del evento. Si esto es falso, no hagas nada. Ahora hemos creado nuestro evento de temporizador de inicio personalizado, que va a rastrear el número de segundos, y también va a establecer una variable que el temporizador está ejecutando. Entonces va a establecer esos números de segundos que podamos llamar a nuestra interfaz de usuario, y en realidad usar este valor, por lo que se poblará de forma dinámica y procedimental Vamos a crear el elemento UI ahora que el jugador puede ver. Voy a hacer clic derecho y elegir Interfaz de usuario, Widget Blueprint Sólo hay una opción, así que elijamos esa. Voy a llamar esta vez Widget. Dentro de aquí, tenemos un Canvas que podemos agregar texto, para mostrar cosas en pantalla para nuestro jugador como estado de salud o en nuestro caso, este temporizador. Lo primero que tengo que hacer es agregar un Canvas. Ahora puedo ver cuál es la forma de mi ventana a la que le estoy agregando cosas. Puedo hacer clic y arrastrar esto, y ahora podemos ver cuál es la frontera de nuestra escena. Ahora puedo empezar y apenas empezar a arrastrar el texto. En este bloque de texto, quiero llamar a este temporizador, golpear un espacio y dos puntos. Ahora tenemos nuestro temporizador. Voy a poner esto arriba en la parte superior izquierda. Puedes ponerlo en el centro, donde quieras. Voy a añadir otro trozo de texto que va a ser nuestro segundo. Esa es la variable que acabamos de crear. Voy a vincular este texto a esa variable. En este pequeño menú desplegable, puedo elegir Crear encuadernación. Voy a vincular la variable a este texto. Ahora obtenemos esta función que es preguntar, ¿a qué quieres vincularte? Necesitamos obtener el modo de juego, porque ahí es donde vive esa variable , esa variable de segundos. Puedo hacer clic y arrastrar esto, y decir elenco al modo de juego en tercera persona. Básicamente solo estamos tratando de obtener este plano del modo de juego en tercera persona, y una vez que lo tengamos, solo podemos decirlo, sí, obtener el modo de juego, y ahora podemos acceder a la variable haciendo clic y arrastrando desde aquí, y eligiendo obtener segundos Ahora puedes ver que tenemos nuestra variable aquí, y podemos dar click y arrastrar esta al texto. Se va a convertir el valor flotante en una cadena, para que pueda ser utilizado como texto. Voy a compilar y guardar. Voy a volver aquí y compilar y guardar, y solo asegurarme de que estamos todos instalados. Necesito mostrar el temporizador que hemos hecho. Necesito mostrarlo en la pantalla real. Puedo hacer clic en el botón Diseñador aquí arriba, y volver y hacer cualquier ajuste que necesite hacer, pero necesitamos alguna manera de mostrarlo realmente en la pantalla. Podemos hacerlo en el plano del personaje. Voy a hacer doble clic en el plano del personaje. Cuando el juego comienza el Evento comienza a jugar, todas estas cosas pasan. Yo sólo quiero agregarle algo. Quiero decir cuando esto comience, también crear el widget y mostrarlo. Puedo hacer clic y arrastrar esto y elegir Widget, Crear Widget. Puedo seleccionar el Widget de esta clase, y podemos tratar de encontrar nuestro widget de temporizador aquí mismo . Ahora lo hemos creado. Ahora quiero mostrarlo en la ventana gráfica. Puedo hacer clic y arrastrar esto, y decir, agregar a la ventana gráfica Ahora necesito saber qué agregar a la ventana gráfica, y podemos simplemente devolver este valor aquí Puedo compilar y guardar. El paso final es conectar la caja de activación a nuestro evento personalizado que hemos realizado en el modo de juego. Necesitamos alguna manera de desencadenar todo esto, así puedo saltar al plano de nivel, y puedo crear un evento personalizado basado en el cuadro de activación que hemos hecho Es más fácil si en realidad selecciono este cuadro de activación primero, y luego hago clic derecho, obtengo agregar evento para Trigger box 0. Sabe qué cuadro de activación he seleccionado, y quiero agregar un evento de colisión. Add on Actor comenzar solapamiento es lo que queremos, y cuando comencemos a superponer esta caja de activación, hacer algo, y vamos a decirle qué hacer. Si recuerdas, nuestro evento personalizado está en nuestro modo de juego en tercera persona. Necesitamos llamar a este modo de juego en tercera persona para acceder a este evento personalizado. Voy a hacer clic y arrastrar, y decir, modo de juego en tercera persona, y solo vamos a lanzar a eso y obtener el modo de juego. Entonces todo lo que quiero hacer es llamar a este evento personalizado, así puedo comenzar a escribir el temporizador de inicio de eventos personalizado. Podemos simplemente hacer clic y arrastrar esto como su objetivo, y compilar y guardar. Ahora hemos enganchado todo lo que necesitamos para ligar. Hemos creado un evento personalizado que hará un seguimiento de la hora. Hemos creado un elemento de interfaz de usuario y conectamos esa variable personalizada de segundos a este cuadro de texto. Luego hemos creado un Widget Alt to viewport al comienzo de jugar el juego Hemos conectado todo esto a una caja de activación, por lo que activará nuestro evento personalizado que creamos en el modo de juego en tercera persona. Esto no está funcionando porque en realidad agregamos todo al plano de tercera persona, no a nuestro plano metahumano Copiemos y peguemos lo que hicimos en nuestro plano metahumano Si estás usando un metahumano personalizado, necesitas hacer este paso dentro de tu plano metahumano personalizado Voy a saltar a mis metahumanos, y voy a abrir ese plano Sólo voy a copiar y pegar esto en Begin play, que está aquí arriba. Puedo ver que Begin play está sucediendo aquí, y solo quiero copiar y pegar todo eso aquí. Ahora voy a compilar y guardar, y eso debería funcionar para nuestro carácter personalizado. Ahora puedes ver que en realidad ya tenemos el temporizador en la parte superior izquierda. Sabemos que está funcionando. Está mostrando la pantalla. Si corro por aquí, no está haciendo nada, pero en no está haciendo nada, cuanto cruce nuestro volumen invisible del disparador, debería comenzar a mostrar una hora. Puedes ver que estamos rastreando el tiempo ahora en nuestro juego. Gran trabajo superando esta lección. Cubrimos mucho. Estábamos trabajando en un par de planos diferentes, y poco a poco conectamos cada uno de esos componentes. Creamos un evento personalizado, creamos una variable personalizada. Agregamos a esa variable, para que pudiéramos rastrear el tiempo. Luego creamos nuestra propia interfaz de usuario para que el jugador pudiera ver todo esto sucediendo, y luego usamos la caja de activación como una forma de activar realmente todo esto sucediendo para que sea visible para el jugador. Aquí hay mucha información. Solo tómate tu tiempo con él, y refiérase de nuevo a esta lección si es necesario. Encuéntrame en la siguiente lección donde vamos a crear un obstáculo para que nuestro personaje lo supere. 9. Crea obstáculos con la lógica del juego: Bienvenida de nuevo. En esta lección, vamos a crear un obstáculo para nuestro personaje jugable supere Este obstáculo va a ser una caja giratoria, modo que si el personaje realmente se encuentra con ella, estimulará la física de Rag Dall en nuestro personaje y luego se reiniciará a nivel Realmente es solo un obstáculo o desafío peligroso para nuestro jugador para hacer nuestro nivel más interesante. Abriendo nuestro proyecto de nuevo, vamos a saltar. Primero, vamos a crear el obstáculo. Voy a crear un nuevo obstáculo en mi área de Blueprint metahumano Si estuviera haciendo un montón de obstáculos, podría estar organizado para hacer una carpeta por sí mismo. Pero por ahora, sólo voy a hacer una nueva clase de planos Voy a hacer clic derecho en el navegador de contenido, clase Check Blueprint, seleccionar el Actor, y voy a llamar a esto BP Underscore Voy a hacer doble clic en este Blueprint vacío. En el interior, tenemos este lienzo en blanco donde podemos crear nuestro obstáculo. Voy a agregar una malla estática haciendo clic en Agregar y escribiendo en Malla estática. Voy a elegir Malla estática, y voy a encontrar un obstáculo para nuestro tipo de malla, y quiero agregarlo a nuestro Blueprint En el contenido de inicio de VR, hay una malla básica llamada SM cube 03. Debido a que tiene contornos rojos, creo que va a funcionar bien para nuestro objeto giratorio aquí. Voy a usar esta malla estática. Ahora quiero agregar un componente de movimiento giratorio. Cuando presiono simular, podemos ver que de hecho está girando, pero está girando en la dirección equivocada y está girando muy rápido. Simplemente puedo elegir un eje diferente para girarlo. Voy a elegir malla estática y golpear E, puedo ver que o va a ser Y o X y que quiero girarla en uno de esos dos ejes. Voy a ir al componente de movimiento giratorio. En vez de z, quiero convertir eso a cero. No quiero que rote en Z, y quiero que rote en X o Y. Quiero girarlo más lento. Voy a elegir un valor menor a 180. Quiero elegir 90, y ahora cuando presiono simular, puedo ver que en realidad está girando en otra dirección, algo más deseable para este objeto. Voy a desactivar la simulación. Ahora quiero crear un volumen de disparo que coincida con el tamaño de este obstáculo. Voy a agregar una colisión de caja. Con esta colisión de caja, la voy a escalar y hacer que coincida con este tamaño de caja. Voy a presionar R en mi teclado para sacar el atajo para el manipulador de báscula Ahora quiero que sea un poco más grande que las dimensiones de la malla estática para poder asegurarme de que el jugador realmente pueda chocar con esta caja Voy a compilar y guardar, y voy a hacer clic y arrastrar este plano directamente a nuestra escena Voy a rotarlo hacia arriba, y voy a presionar play. Ahora puedo ver que tengo un objeto giratorio en mi escena, y si me encuentro con él, no pasa nada. Simplemente puedo chocar en él, y no me lastiman de ninguna manera Lo que realmente quiero hacer es desencadenar un evento de muñeca de trapo. Mi personaje simplemente básicamente va flaco y muere y trapo muñecas cuando se encuentra con esta caja Necesitamos crear esa lógica de juego y conectarla a este obstáculo. Además, si quiero mover esto a su lado, puedo simplemente girar esto hacia abajo también golpeando E en mi teclado y rotando esto en 90 grados. También puedo escalar este objeto hacia arriba. Si quiero que esta báscula la haga más larga, puedo hacerlo y presionar R en mi teclado y escala y también W para moverla hacia abajo más cerca del piso. De esta manera, está bloqueando el camino. Vamos a crear la lógica del juego para un personaje a Rag Dall entrando en su plano Si estás usando un personaje de plano en tercera persona, entrarás en ese plano y harás todo lo que estamos a punto de hacer Pero estoy usando un metahumano personalizado, así que voy a saltar aquí y crear este evento personalizado Queremos nuestro personaje a Rag Dall, así que voy a llamar a mi evento personalizado Rag Voy a hacer clic derecho en el gráfico de eventos de Blueprint y comenzar a escribir evento personalizado Voy a agregar un evento personalizado y llamarlo evento de Rag Dall Para este evento personalizado, quiero simular la física de este personaje. Voy a hacer click y arrastrar fuera de esto y empezar a escribir simular. Quiero establecer la física de simulación a la malla. Voy a establecer simular la física a la malla. Podemos ver que ya lo mapeó. Si elegí el equivocado, o si quería cambiarlo más tarde, siempre puedo hacer clic y arrastrar el componente y luego mapearlo al objetivo. Voy a encender simular porque esa es la razón por la que estamos creando este nodo es para simularlo. Entonces quiero reiniciar el nivel. Voy a crear un retraso primero porque quiero que la simulación se produzca por unos segundos. Voy a retrasar esto para que podamos ver que el efecto se produce tal vez por 2 segundos. Entonces quiero volver a subir de nivel. Quiero obtener mi nombre de nivel actual. Voy a escribir en obtener el nombre del nivel actual, y fuera de esto, entonces quiero cargar este nivel por su nombre. Voy a decir nivel abierto por nombre. Entonces puedo simplemente pipa en el valor de retorno aquí. Creará un pequeño nodo de conversión de conectores para nosotros. Ahora tenemos un evento personalizado que desencadena la física de nuestra malla y retrasa el siguiente evento unos segundos, y luego vuelve a cargar el mismo nivel en el que estamos. Básicamente empezamos de nuevo después de chocar con la caja. Pero tenemos que establecer esa relación. Todo lo que hemos hecho es crear el evento personalizado, pero nada lo está activando en este momento Ahora, hay una última cosa que queremos hacer debajo malla es bajar a la sección de colisión, y bajo la sección de colisión, queremos asegurarnos de elegir Actor de Física. Por defecto, esta es la malla de personajes, y queremos cambiar esto a actor de Física. Ahora que ya lo hemos hecho, podemos compilar y guardar. Ahora podemos conectar este evento personalizado con el propio obstáculo. Voy a abrir el plano para el obstáculo golpeando la barra espaciadora de control y luego abriendo el plano Dentro de este Plano, quiero decir que el actor de eventos comienza a superponerse Pero quiero hacer esto para la caja específicamente. Voy a hacer click derecho y decir en evento sobre componente, comenzar solapamiento. Quiero agarrar el evento personalizado que acabamos crear y que vive en el plano de mi metahumano, o tu personaje en tercera persona, si estás usando Queremos emitir a eso para que podamos obtener ese evento personalizado. Yo sólo voy a pipas en nuestro Actor, y voy a llamar a este evento personalizado. Recuerdo que lo llamé Rag Dall, así que voy a escribir Rag Dall, y aquí tenemos El objetivo aquí es en sí mismo, a lo que estamos lanzando. Ahora puedo compilar y guardar, y podemos probar esto. Solo necesito encontrarme con esta barrera, y debería activar el trapo Dall, y ya lo puedes ver Funcionó. Creó un efecto de Dall de trapo y simuló la física, y reinició Ahora estoy de vuelta al principio. Pero hubo un par de cosas raras. La cápsula que contiene al personaje seguía chocando con este obstáculo después de que se iniciara el Rag Dall, y está moviendo mi Las cosas se ponen un poco demasiado caóticas ahí. Lo que podemos hacer es volver al plano para este evento de Bag Dall, y podemos agregar algunas cosas más Después de que comencemos a simular la física, destruyamos el componente de la cápsula para que ya no colisione con el obstáculo Voy a hacer clic y arrastrar fuera de aquí y comenzar a escribir destruir componente y elegir el componente cápsula. Lo que esto es si miramos en la ventana gráfica, el componente de la cápsula es esta jaula de alambre, y eso es lo que está colisionando con el obstáculo después de que ya tenemos a Rag Queremos apagarlo después de que hayamos disparado para simular el Rag Dall en la malla del personaje Queremos apagar el componente de la cápsula, para que ya no colisione con el obstáculo después de que hayamos muerto Hemos destruido ese componente después de haber simulado la física, hemos retrasado el siguiente paso en 2 segundos, para que podamos ver que la física tiene lugar, y luego quiero crear una transición de muerte un poco mejor al nivel de apertura nuevamente. Vamos a crear un desvanecimiento de cámara. Pero para hacer eso, no podemos simplemente hacer clic y arrastrar fuera de aquí. Primero tenemos que conseguir el administrador de la cámara y hacer clic y arrastrar fuera de eso. Primero tenemos que conseguir el encargado de la cámara. Ahora puedo hacer clic y arrastrar fuera de esto y decir, iniciar el desvanecimiento de la cámara. Esto solo está disponible para nosotros si estamos haciendo clic y arrastrando fuera del administrador de la cámara del jugador La cámara va a comenzar a desvanecerse después de que haya ocurrido el retraso y justo antes de que nuestro nivel vuelva a cargarse Voy a poner esto en el proceso. Queremos digamos que se desvanecen de un color rojo porque morimos. Lo estamos haciendo un poco de rojo oscuro solo para que sepamos que se está desvaneciendo porque hemos muerto Quiero que la duración ocurra más de 2 segundos. Puedes jugar con este valor y hacerlo más, algo así como 5 segundos. Quiero desvanecer 0 -1. Quiero encender el efecto por completo, que es uno. Voy a teclear en uno aquí. Ahora, para ver que esto sucedió, para ver que este desvanecimiento suceda, necesitamos otro retraso aquí. Voy a copiar y pegar este retraso, y lo voy a poner aquí para que podamos ver que se produce el desvanecimiento. Quieres que este retraso sea tan largo como la transición y el desvanecimiento de la cámara debería estar ocurriendo. Ahora tenemos un evento personalizado. Se va a llamar cuando choquemos con la caja. Va a estimular la física, va a destruir la cápsula, así que ya no vamos a chocar con el obstáculo mismo después de que ya hayamos muerto, y vamos a poder y vamos a poder verlo por unos segundos, y luego vamos a empezar a ajustar la cámara y recargar el nivel en el que nos encontramos Voy a compilar y guardar y probar esos cambios. Eso funcionó, ya no estamos colisionando con el obstáculo después de que se active la simulación y se recargue el nivel. Ahora que hicimos este obstáculo para nuestro jugador, podemos tomar este peligro subrayado de Blueprint o como sea que lo llames tu propio Blueprint, y en realidad simplemente haríamos clic y lo arrastraríamos a nuestra escena tantas veces como queramos No tenemos que seguir creando este obstáculo una y otra vez en los Planos Lo hemos hecho una vez, y podemos usarlo una y otra vez donde lo queramos en nuestro nivel. Un paso que quieres asegurarte es hacer que colisión de la caja sea más grande que el obstáculo en sí. De lo contrario, el jugador nunca podrá realmente chocar con él porque está dentro del obstáculo Queremos hacer que la colisión de la caja sea más grande que el obstáculo para que podamos desencadenar todos estos eventos que sucedan. Juega con él, haz obstáculos de diferentes formas y tamaños, elige diferentes mallas estáticas y colócalas alrededor de tu nivel Yo en la siguiente lección, te voy a mostrar otra forma en que podemos usar este plano 10. Termina las áreas de peligro: Bienvenida de nuevo. En esta lección, vamos a tomar ese plano de obstáculo, y vamos a agregarle una explosión También vamos a agregar un sonido, y luego lo vamos a reutilizar, que podamos usarlo más lugares en nuestro nivel. Empecemos. Así que voy a hacer algo de espacio para este evento ragdoll, y voy a hacer clic y arrastrar y comenzar a escribir emisor de spawn Voy a decir engendrar emisor a adjunto. El adjunto va a ser el componente real de la cápsula. Así que vamos a adjuntarlo al componente de la cápsula. Pero tenemos que hacer esto antes de que se destruya. Así que sólo voy a mover este nivel hacia adelante. Por lo que puedo decir adjuntar a este componente. Lo que queremos emitir es una explosión de stock que en realidad viene con motor irreal Así que vamos a emitir una explosión en la ubicación del componente de la cápsula. También quiero tocar un sonido con la explosión. Voy a mover esto hacia abajo y voy a sacar y decir, reproducir sonido 2D. Puedo previsualizar estos sonidos presionando el botón de reproducción. Entonces encontremos una explosión. Todos estos sonidos vienen con motor irreal. Entonces voy a elegir el de explosión, y voy a compilar y guardar. Ahora cuando nos topamos con este objeto, deberíamos ver una explosión y escuchar un sonido. Ahora bien, si quisiéramos tener el mismo efecto para nuestro obstáculo de fuego o cualquier otro obstáculo, no tenemos que tener la malla estática. Podemos crear un nuevo plano de obstáculos. Entonces voy a hacer clic derecho y duplicar esto, y voy a llamar a este disparador de peligro. Porque lo que en realidad podemos hacer es simplemente eliminar la malla estática, y podemos simplemente tener este componente disparador. Podemos apagar la rotación porque no la necesitamos para rotar. Yo sólo puedo restablecer la escala, así cuando traemos este componente de peligro, podemos redimensionarlo a lo que necesitamos Voy a hacer clic y arrastrarlo al pozo de fuego, y voy a escalar esto que cubra todo el pozo de fuego. Pero quiero mantenerlo lo suficientemente bajo para que no vaya más alto que la caja en sí. Sólo voy a bajar esto un poco. Ahora voy a probar este volumen de disparo. Así es como creas obstáculos y reaparenas al inicio de tu juego En esta lección, creamos una explosión para nuestro obstáculo, así como para el sonido, y reutilizamos ese plano de obstáculos de diferentes maneras para que podamos salpimentarlo a lo largo decir, la siguiente lección, donde vamos a tomar todo este videojuego y hecho empaquetarlo para que podamos compartirlo con nuestros amigos. 11. Empaca y comparte tu juego: Bienvenido de nuevo. En esta lección, vamos a aprender cómo podemos empaquetar el videojuego que has creado y compartirlo con amigos. De esa manera podrás saber quién es el jugador más rápido de tu videojuego. Empecemos. primero es que queremos asegurarnos de que el juego cargue el nivel correcto para el jugador cuando lo abra. Tenemos que establecerlo en la configuración del proyecto. Vamos a editar la configuración del proyecto, y en mapas y modos, podemos seleccionar el mapa predeterminado del juego. Actualmente, está establecido en el Mapa Mundial Abierto predeterminado, que no es el nivel que hemos creado. El nivel que he hecho se llama Nuevo Paisaje 01. El nivel que elijas será el que elijas para nombrarlo. Solo necesito bajar este menú y hacer clic en mi nivel que creé. Ahora, cuando empaquetamos nuestro juego, en realidad va a cargar el mapa correcto cuando empecemos a jugar el juego. Solo voy a cerrar esto y para comenzar a empaquetar nuestro juego para que jueguen nuestros amigos, podemos ir a plataformas y elegir la plataforma en la que queremos publicar. Voy a elegir Windows y paquete de proyecto. Pero aquí nos sale un error. Es porque no tenemos instalado el STK para Windows, así que voy a hacer clic en Cancelar Si vuelvo a plataformas, ventanas, y miro el fondo aquí, puedo ver qué versiones están permitidas. Entonces todo lo que necesito hacer es Google Windows, STK y descargar el instalador e instalar el STK para Eso tardará un poco instalarse y luego una vez que esté terminado, podrás volver a saltar a lo real e ir a plataformas. Luego haz clic primero en Actualizar estado de la plataforma a menos que ya hayas cerrado y reabierto irreal Ahora debería actualizarse y poder usar el paquete STK que hemos instalado Ahora iremos a plataformas, ventanas y proyectos de paquetes. Ahora no obtenemos un error, y es solo preguntarnos dónde queremos guardar este proyecto de paquete. Nos recibieron con un error fallido, y puedo abrir el registro de salida y ver por qué falló Parece que todavía nos falta un componente, que es el Visual Studio 2022. Voy a encontrarlo en línea e instalarlo y volver a intentarlo. Si su instalador está atascado en cero, entonces puede cancelar y asegurarse de que se ejecuta como administrador haciendo clic derecho y seleccione ejecutar como administrador. Asegúrate de incluir también las cosas de C++ en la instalación, así que marca esta casilla. Ahora podemos volver a saltar a plataformas, ventanas e intentar empaquetar proyecto de nuevo. Si recibimos esta advertencia, queremos asegurarnos de que permitimos el acceso. Este paso va a tomar un poco de tiempo, así que solo déjalo correr. Ya terminó de empaquetar nuestro juego, así que tenemos una carpeta de Windows justo aquí, y dentro de esa carpeta, podemos ver el icono irreal del motor Todo lo que necesito hacer para jugar a nuestro juego es hacer clic en este ícono irreal del motor que es una aplicación ejecutable Ahora tenemos nuestro juego y ya está listo para funcionar. Ahora, si queremos dejar nuestro juego, todo lo que tenemos que hacer es presionar la tecla tilda, que está en la parte superior izquierda de la mayoría de los teclados justo debajo de la tecla de escape, y podemos escribir salir y presionar “Enter” Si quieres compartir este juego con tus amigos, puedes hacer clic y arrastrar todo, y en windows, puedes hacer clic derecho sobre esto y elegir S dos carpeta zip comprimida. Esto creará un archivo que podrás compartir con tus amigos que ellos puedan comprimir, y solo ten en cuenta que este puede ser un archivo bastante grande. Creo que el mío es alrededor de 4 gigabytes. Querrás usar algún servicio de transferencia de archivos como wetransfer.com o Google Drive para compartirlo con tus amigos En esta lección, cubrimos cómo empaquetar realmente el juego que hemos creado para que podamos compartirlo con nuestros amigos. Hay dos cosas que tuvimos que instalar para Windows. Teníamos el Windows STK así como el estudio visual. Puede que tengas algunas de estas cosas ya instaladas si eres algún tipo de programador de computadora grande, pero yo no, así que tuve que instalarlo. Esos tardan un poco, mío se colgó del 0% durante mucho tiempo, así que solo trata de ser paciente con esas instalaciones. Recuerda que el tamaño del archivo puede ser bastante grande para estos. Querrá encontrar un servicio de transferencia de archivos que permita tamaños de archivo grandes. Me gusta usar transfer.com o Google Drive y ahí lo tienes. Tienes tu juego, puedes descargarte y compartirlo. 12. Reflexiones finales: Enhorabuena por terminar esta clase. Si has estado siguiendo todas las clases de la serie y aún mayores felicitaciones porque es mucho material. Ahora que has terminado esta clase, tienes un conjunto de habilidades increíble. Aprendimos a agregar un estado a una máquina de estado. Aprendimos a crear obstáculos para nuestros personajes y cronometrar sus movimientos a través de un nivel para que podamos crear un videojuego competitivo e incluso poder compartirlo con nuestros amigos. Me encantaría ver lo que hiciste. Por favor, toma un video de captura de pantalla de tu juego y compártelo en la galería del proyecto. Si te interesa llevar esto aún más lejos, ve a jugar a tu videojuego favorito. Ve qué tipo de características y componentes existen en esos e intenta recrearlos en tu propio videojuego Ahora, considera todas las complejidades de tus videojuegos favoritos, y piensa en cómo puedes llevar tu videojuego al siguiente nivel Podrías agregar un jet pack a tu personaje. Podrías agregar un sistema enemigo, un sistema de combate, un sistema de inventario de armas. Hay tantas maneras diferentes en las que podrías subir de nivel tu juego. Puedes ir a inspirarte en tus juegos favoritos. Una vez que hayas ido por cada una de estas avenidas, reconoce que cada una es su propia disciplina de carrera Si te gusta crear enemigos y descubrir el comportamiento de la IA, esa es su propia disciplina en una compañía de juegos O si te gusta hacer el diseño de niveles y averiguar la lógica del juego de cómo el jugador interactúa con el entorno, esa es su propia disciplina Continúa explorando tanto como puedas, porque cada camino tiene su propio camino hacia una carrera satisfactoria. Muchas gracias por tomar esta clase. No puedo esperar a jugar tu juego cuando está afuera en el mundo.