Implicaciones de Unreal Engine 5 (UE5): desarrolla tus primeros dos juegos | Pixel Helmet | Skillshare
Buscar

Velocidad de reproducción


1.0x


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

Implicaciones de Unreal Engine 5 (UE5): desarrolla tus primeros dos juegos

teacher avatar Pixel Helmet, Game Developer & Publisher

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:27

    • 2.

      Descargar Unreal Engine 5

      1:28

    • 3.

      Creación de un nuevo proyecto

      2:16

    • 4.

      La barra de herramientas

      6:47

    • 5.

      El panel de detalles

      1:17

    • 6.

      El navegador de contenido

      1:50

    • 7.

      Viewport y navegación

      11:08

    • 8.

      Introducción al juego - bola de velocidad

      1:01

    • 9.

      Configuración inicial de proyectos

      1:12

    • 10.

      Importación de activos

      5:56

    • 11.

      Creación de nivel

      3:02

    • 12.

      Diseñar el entorno

      16:53

    • 13.

      Iluminación del entorno

      8:26

    • 14.

      Proceso de postes y volumen de Lightmass

      8:00

    • 15.

      Introducción al plan

      4:59

    • 16.

      Clases de planos

      4:20

    • 17.

      Nivel de Blueprint vs clase

      2:11

    • 18.

      Variables

      17:23

    • 19.

      Creación de la bola

      7:00

    • 20.

      Controlador de jugadores y modo de juego

      4:03

    • 21.

      Agregación de movimiento de bolas Parte 1

      7:53

    • 22.

      Comunicación con planos - fundición

      6:27

    • 23.

      Comunicación con planos - interfaces

      8:29

    • 24.

      Agregación de movimiento de bolas Parte 2

      11:35

    • 25.

      Creación de la estrella

      13:40

    • 26.

      Cómo hacer que la estrella sea susceptible

      10:00

    • 27.

      Agregación de animación de botín de estrellas

      13:11

    • 28.

      Creación de la interfaz de usuario de estrellas

      13:58

    • 29.

      Mostrando la interfaz de usuario de Star

      3:56

    • 30.

      Actor tiene etiqueta

      3:59

    • 31.

      Creación de puntos de control

      15:01

    • 32.

      Creación del portal

      12:50

    • 33.

      Creación de la lógica de pérdida

      7:31

    • 34.

      Área de ganados

      5:44

    • 35.

      Creación de la interfaz de usuario de pantalla de ganancia

      8:04

    • 36.

      Cómo mostrar la interfaz de usuario de pantalla de ganancia

      5:56

    • 37.

      Fundido de la cámara

      6:11

    • 38.

      Finalizar el juego

      13:04

    • 39.

      Limpieza del código

      11:02

    • 40.

      Embalaje del juego

      7:24

    • 41.

      Introducción al juego - CloneStrike

      1:22

    • 42.

      Creación del proyecto

      1:29

    • 43.

      Importación de activos

      6:19

    • 44.

      Creación de nivel

      8:33

    • 45.

      Iluminación del entorno

      9:22

    • 46.

      Configuración del personaje

      17:32

    • 47.

      Controlador de jugadores y modo de juego

      4:07

    • 48.

      Agregando movimiento de jugadores

      15:00

    • 49.

      Animaciones de Retargeting

      6:34

    • 50.

      Creación de un espacio de mezcla

      3:15

    • 51.

      Plan de animación

      11:37

    • 52.

      Adhesión del arma

      11:47

    • 53.

      Configuración del enemigo

      4:43

    • 54.

      Plan de animación enemigo

      10:27

    • 55.

      Dispara el arma

      26:28

    • 56.

      Daño y muerte enemigos

      18:16

    • 57.

      Spawning enemigo

      10:02

    • 58.

      Animación enemiga con Spawn

      3:16

    • 59.

      Ondas Spawn

      19:58

    • 60.

      Creación de una interfaz de usuario de ondas Spawn

      16:35

    • 61.

      Importación de fuentes personalizadas

      4:29

    • 62.

      Cómo hacer que el enemigo persiga al jugador

      17:34

    • 63.

      Ataques enemigos

      25:27

    • 64.

      Aplicar daños al jugador

      8:51

    • 65.

      Salud del jugador

      4:08

    • 66.

      Muerte de jugadores

      5:39

    • 67.

      Reloading de armas

      13:57

    • 68.

      Diseñar la interfaz de usuario principal

      20:28

    • 69.

      Funcionalidad principal de la UI

      20:49

    • 70.

      Diseñar el juego sobre la interfaz de usuario

      6:58

    • 71.

      Funcionalidad de juego sobre la interfaz de usuario

      12:03

    • 72.

      Creación de un fondo de menú principal

      5:10

    • 73.

      Diseñar el menú principal UI

      6:22

    • 74.

      Funcionalidad de la interfaz de usuario

      13:25

    • 75.

      Efectos de sonido de UI

      4:01

    • 76.

      Música de juegos

      3:02

    • 77.

      Finalizar el juego

      8:17

    • 78.

      Limpieza del código

      17:46

  • --
  • 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.

2967

Estudiantes

4

Proyectos

Acerca de esta clase

Conviértete en un desarrollador de juegos en Unreal Engine 5.

Ya seas un desarrollador de juegos principiantes, programador, artista o diseñador, Unreal Engine 5 te ofrece todo lo que necesitas ser uno de los motores de juegos más populares y ampliamente utilizados por profesionales. Este curso está hecho para todos a medida que nos sumergimos en codificación, pero también en desarrollo de juegos de principio a fin.

¡Salta a la creación de juegos sin experiencia con los planos de motor unreal!

Es una de las características clave de Unreal Engine. Blueprints es un lenguaje de programación visual potente que te permite crear cualquier juego que quieras y rápido. Usa las mismas técnicas que los estudios AAA usan en sus proyectos de planos Unreal Todo es gratis.

Al final de este curso, tendrás creado y codificado un juego de plataformas y shooter Unreal Engine de principio a fin con videos fáciles de seguir. ¡Consigue nuevos flujos de trabajo, herramientas y habilidades para usar en tus propios proyectos de juegos!

Mi nombre es Moustafa, y soy el director y desarrollador de Farmtale en Steam creado solo con Blueprints. Con años de experiencia en hacer juegos y enseñar, voy a mostrar los adjuntos y las salidas del desarrollo de juegos.

Este curso cubre todo lo que necesitas saber para empezar a desarrollar juegos, incluyendo:

  • Creación de un proyecto

  • Resumen de motores Unreal

  • Importación de activos

  • Diseñar un entorno

  • Conceptos básicos de los planos

  • Movimiento de personajes

  • Cómo hacer artículos Lootable

  • Creación de puntos de control

  • Animaciones de personajes

  • Plan de animación

  • Disparo de armas y recarga

  • Creación de IA enemigos

  • Dificultad de nivel

  • Salud y daño / muerte

  • Ganar y perder

  • UI del juego

  • Efectos de música y sonido (SFX)

  • Embalaje de juegos

Aprende la mejor práctica de desarrollo de juegos de un desarrollador de Unreal Blueprint publicado

Todo el código no es igual. Hay muchas maneras de desarrollar juegos, algunas mejores que otras. Te mostraré cómo usar diferentes herramientas de optimización para lograr un rendimiento listo para los juegos.

Únete a nuestra comunidad de apoyo y compartiendo en Discord.

¡Nos vemos en la lección 1!

Conoce a tu profesor(a)

Teacher Profile Image

Pixel Helmet

Game Developer & Publisher

Profesor(a)

Pixel Helmet is a video game developer and publisher based in Denmark. We have recently released our first game Farmtale on the Steam platform.

We decided to get on Skillshare to create high-quality courses and share our knowledge with the game development community. Learning can be tedious at times and we aim to create a fun learning experience.

We offer to create courses within Modeling, Texturing, Unreal Engine, Blueprints, C++, Game Design, and much more. If you need any help during a course, please let us know through Skillshare or connect with us on Discord, Twitter, or LinkedIn.

Ver perfil completo

Level: Beginner

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: En este curso, vamos a aprender a usar Unreal Engine cinco, incluyendo blueprints creando dos juegos muy diferentes desde cero, este curso contiene todo lo que necesitas para empezar con Unreal Engine cinco, incluyendo motor no real cinco, visión general y navegación, importación de activos, diseño e iluminación del entorno, fundamentos del blueprint, movimiento de personajes, fabricación de artículos enrutables, crear puestos de control, Animación, Blueprint, disparo de armas y recarga, creando IA enemiga, nivel de dificultad, salud y muerte, interfaz de usuario del juego, música y efectos de sonido. Y al final vamos a empaquetar el juego. Mi nombre es Mustafa y soy el CEO, llegó director y diseñador de entretenimiento forzado Titan. Llevo trabajando en Unreal Engine durante los últimos seis años y recientemente he lanzado venta de granja a vapor, que se recibe muy positivamente. También he pasado 1.5 años desarrollando mi proyecto personal, compré Kraft, y actualmente estoy dirigiendo el nuevo gran título de mi empresa, que es un plataformas 3D sin previo aviso. Al final de este curso, podrás crear con confianza tu propio proyecto de juego desde cero. Diseñé este curso para cualquiera que esté interesado en crear juegos en Unreal Engine cinco, pero lucha por crear un juego que esté a la altura de los estándares actuales de la industria. Espero que se inscriban y se unan a mí en este curso. Y recuerda también que estoy aquí todo el camino a lo largo del curso para ayudarte. Espero verte pronto. 2. Descarga de Unreal Engine 5: De acuerdo, así que empecemos descargando el motor. Y para descargar el motor, hay que ir a Epic Games. Este es el sitio web de epics. Y dentro de aquí hay que dar click en el botón azul llamado get Epic Games. Y esto realmente descargará su lanzador, el lanzador de Juegos Epic. Y ya he seguido adelante y lo he descargado. Entonces está aquí. Dentro de este lanzador, probablemente serás una pestaña de casa DIY. Por lo que tienes que hacer clic en el botón Unreal Engine por aquí. Y luego verás todos estos botones en la parte superior, todos estos botones en la parte superior. Y en estos botones hay que dar click en el Unreal Engine cinco. Dentro de aquí, tienes un botón llamado descargar acceso anticipado. Y así es como se descarga Unreal Engine. Una vez que hayas descargado el motor, puedes ir dentro de tu biblioteca. Y dentro de aquí, puedes ver qué versiones de Engine ya has descargado. Y si quieres descargar mañana fair o Unreal Engine 4, algo, tienes que dar click en este botón Nuevo y seleccionar cuál quieres descargar. Pero para descargar Unreal Engine cinco, tenías que entrar y especie de este set por lo que lo han puesto por separado. Por lo que una vez que hayas descargado o Unreal Engine cinco, puedes hacer clic en Lanzar aquí en el motor. Y si tienes proyectos anteriores, aparecerán aquí abajo. Entonces pasemos a la siguiente lección y realmente creemos un proyecto. 3. Crear un nuevo proyecto: Sigamos adelante y creemos nuestro primer proyecto. Por lo que haciendo clic en el botón Biblioteca aquí, puedes lanzar Unreal Engine cinco. Una vez que hayas lanzado Unreal Engine cinco, aparecerá esta pestaña. Y dentro de esta pestaña, puedes abrir proyectos recientes o puedes crear un nuevo proyecto haciendo click en juegos. Y al hacer clic en los juegos, se pueden ver diferentes plantillas. Entonces, por ejemplo, si quieres hacer un shooter en primera persona, puedes hacer click en esta primera Plantilla Persona. Y te da algún tipo de plantilla básica para un shooter en primera persona. Para que puedas dar la vuelta en modo en primera persona con un arma de fuego. Si quieres hacer un rompecabezas, te da esa plantilla. Si quieres hacer un juego de arriba hacia abajo, eso te dará como una vista de arriba hacia abajo. Pero lo que quiero hacer para tutoriales, me gusta empezar con un proyecto en blanco porque creo que se puede aprender mucho más creando todo desde cero. A veces no me gusta cuando la gente empieza a enseñar los demás empezando con la plantilla me gusta empezar todo desde el principio. Y en realidad puedes crear todas estas plantillas dentro de un proyecto en blanco si sabes lo que estás haciendo. Y después de este curso, estoy 100% seguro de que puedes crearlos todos. Entonces empecemos con un proyecto en blanco. Aprendemos mucho más al hacerlo. Y aquí a la derecha, puedes ver que puedes seleccionar un proyecto de blueprint o un C plus. Nos vamos con planos y no con C plus. Y esto es de escritorio, y este es el preajuste de máxima calidad. Esto probablemente está comprobado por ti. Voy a desmarcar el contenido de inicio. Yo quiero empezar todo desde cero. Y el rastreo de rayos está deshabilitado. No necesitamos eso. Y ahora podemos llamar algo a tu proyecto. Entonces este primer juego que estamos creando, estamos llamando bola de velocidad y luego eliges la ubicación en la que quieres guardarlo. Simplemente lo dejaré en mi ubicación predeterminada y daré click en Crear Proyectos. De acuerdo, Entonces así es como se ve cuando abres el proyecto por primera vez. Y sigamos adelante a la siguiente lección y en realidad tratamos de entender la interfaz de usuario y cómo navegar dentro de la vista. 4. La barra de herramientas: Hablemos del motor, la interfaz de usuario y de cómo navegar. Entonces al principio podría parecer confuso si nunca has estado aquí antes. Si eres de Unreal Engine 4, tienes un, un poco más de comprensión de lo que son algunas de estas cosas. Pero empecemos desde el principio y prometo que será mucho más fácil. Por lo que para empezar, hasta la parte superior izquierda, tenemos todos estos botones diferentes que suelen ser normales. Y cada software para empezar, tenemos archivo. Y dentro de archivo puedes crear un nuevo nivel. Puedes guardar tu trabajo, y también puedes crear un nuevo proyecto dentro de la edición. Lo que es importante aquí son las preferencias del editor. Por lo que al hacer clic en las preferencias del editor, aquí puedes cambiar cosas sobre el editor. Entonces, por ejemplo, se puede ver aquí el color de selección de las ventanas gráficas si se quería de manera diferente y así sucesivamente. Honestamente, nunca he jugado con él. Normalmente tiendo a dejar al editor tal como está. A mí me gusta como es, pero puedes intentar mirar a tu alrededor, ver si hay algo que te gustaría cambiar. Y luego tenemos la configuración del proyecto, y aquí estaremos mucho. Por lo que dentro de la configuración del proyecto, puedes editar la configuración del proyecto. Entonces por ejemplo, la descripción del proyecto, el nombre de la empresa, si tienes uno, el otro contacto de soporte de la página de inicio, y todo esto aparecerá al liberar el juego. Por lo que la gente tiene la oportunidad de ponerse en contacto contigo. Y puedes editar ajustes para cuándo empaquetas el juego y quieres lanzarlo. Puedes editar ajustes para cuando hagas clic en botones que usaremos esto más adelante. Y podemos editar el mapa por defecto y así sucesivamente. Por lo que trabajaremos aquí en los proyectos, ajustes del proyecto más adelante en el proyecto. El último importante son los plugins. Y haciendo click en los plugins, puedes ver que tenemos muchos plugins diferentes. No te preocupes por eso por ahora, pero puedes ver que tenemos muchos plugins y qué es genial de esto más adelante también puedes escribir ahora no ha salido a Unreal Engine cinco, pero el multijugador de vapor es un plugin que puedes habilitar aquí pero aún no se libera. Es solo para Unreal Engine 4 ahora mismo dentro de Windows, por lo que puedes abrir nuevas pestañas. Entonces por ejemplo, puedes ver aquí tengo algo llamado panel de detalles y ventana Sur. También está este panel Detalles y se puede ver ya abrí uno, pero puedo abrir un segundo si quiero. Y estos son básicamente los mismos. Entonces si hago clic en un objeto aquí y el nivel, se puede ver la misma información se muestra. Y esto es bastante útil para si tengo dos monitores. Entonces puedo tirar de esto en mi segundo monitor y realmente puedo trabajar ahí. Y esto es especialmente útil para si quieres abrir dos ventanas gráficas. Y ahora tenemos este mirador y puedo ponerlo en mi segundo monitor y verlo desde ahí y está bastante guay. Entonces en lugar de Windows, puedes abrir varias ventanas. Ahora hay muchas otras cosas, pero trato de no cubrirlas por ahora. Realmente no los necesitamos para empezar. Entonces repasemos las herramientas. Aquí tenemos diferentes herramientas, pero no nos preocupemos por eso. Tenemos el cinturón cerca. Puedes construir la iluminación, por ejemplo, para que funcione dentro de tu nivel. Entonces esto es lo más importante es la construcción o niveles, la iluminación. También puedo ajustar la calidad de iluminación. Y esto tomará mucho más tiempo si lo pones a lo más alto cuando intentes construir la iluminación. Por lo que siempre trabajamos en la vista previa o medio para empezar. Y está fuera de ayuda. Se puede ver la documentación de Unreal Engine cinco. De acuerdo, entonces aquí abajo tenemos el botón guardar el nivel actual para que puedas guardar el nivel actual en el que estás. Y luego tienes el botón Crear. Y aquí puedes crear cosas diferentes. Entonces por ejemplo, las luces, este es un botón muy importante. Puedes crear luces, puedes llegar a formas, puedes crear cámaras. que puedas crear algo para los efectos visuales, por ejemplo, una métrica Nube o cielo, atmósfera y así sucesivamente. Por lo que aquí puedes crear diferentes artículos. Y el contenido es, puedes abrir un nuevo navegador de contenidos. Y si hago clic en Navegador de contenido, se puede ver a través del navegador Clinton aquí. Y esto es en realidad si haces clic en ese botón aquí abajo, esto en realidad es lo mismo, así que tengo la misma constante aquí. Por lo que ahora también puedes tener múltiples ventanas para eso. Nunca lo he necesitado, así que lo voy a cerrar de nuevo. Pero sólo para que lo sepas, puedes abrirlo aquí. Y también puedes conseguir o abrir el puente Quick vendido, pero no lo haremos en este momento. Y dentro de los planos, esto es muy importante. Trabajaremos aquí. Y aquí puedes abrir el Level Blueprint, en el que realmente trabajaremos, pero no nos preocupemos por eso por ahora. Pero este es el botón de blueprint. Aquí programaremos el juego. Tenemos esto en un botón de médicos. No te preocupes por ello por ahora. Contamos con el botón Seleccionar para que podamos seleccionar diferentes artículos dentro de sus ventanas gráficas. Tienes la herramienta de paisaje. Puedes hacer click en él y aquí puedes crear un paisaje, pero no vamos a crear uno en este momento. Y aquí tenemos un botón de follaje. Y esto es en realidad para, si tienes hierba, por ejemplo, puedes poner la hierba dentro de este pintor de follaje y en realidad puedes pintar toda la hierba en el suelo. O en realidad también puede pintar otras cosas. Piensa en hierba. Entonces, por ejemplo, si tienes piedras o rocas, puedes pintar esas. Después tenemos la herramienta de pintura de malla. Entonces si tenemos una malla igual que este suelo aquí, puedes pintar sobre ella. Si tienes una textura. Ahí, no lo hizo. Tenemos la herramienta de fractura y luego tendremos la herramienta de modo edición de pinceles. No nos preocupemos por éste y por éste ahora mismo. Después tenemos el botón de jugar y puedes hacer clic en Jugar para probar el juego. Nosotros lo haremos. Y para que lo sepas, hay tres botones al lado del botón de reproducción. Y en realidad puedes elegir abrir el juego en su propio editor, la nueva ventana del editor, o como un juego independiente. Pero sólo lo reproduciremos a través de la ventana gráfica por ahora. Y tenemos las plataformas y aquí puedes empaquetar el juego dos plataformas diferentes y así sucesivamente. Te mostraré una carta sobre cómo empaquetarlo nuevamente cuando estemos terminados para que la sueltes y tu familia o amigos puedan probarlo. Y aquí en la configuración, podemos ocultar la interfaz de usuario de la ventana gráfica. También puede mostrarlo de nuevo. Si lo quieres mostrar. También podemos ingresar a la configuración del proyecto o al plugin que acabamos de ver antes. Y uno importante es la configuración mundial, que también se puede ver por aquí. Y al lado de éste trabajaremos también con más adelante en las lecciones. De acuerdo, así que déjame volver a la herramienta Seleccionar para que pueda alejarme de estos. 5. El panel de detalles: El siguiente elemento importante dentro de la ventana gráfica o dentro del motor es este panel Detalles. Por lo que puedes ver cuando hago clic en diferentes cosas dentro de esta ventana gráfica, veo diferentes detalles. Y esto está mostrando los valores para todas las cosas que están dentro del nivel. Entonces si hago clic en el Sol aquí, la luz direccional, puedo ver la ubicación de la misma, la rotación de la misma, la escala, la intensidad, y el ángulo, y si debe afectar al mundo o no, se puede ver aquí Puedo comprobarlo y desmarcarlo si debería proyectar sombras o no. Por lo que estos son todos ajustes o detalles diferentes para la luz direccional específicamente. Por lo que si hago click en esta malla de suelo, puedes ver que obtengo diferentes ajustes. Puedo ver qué mallas estáticas utilizadas, cuál es el material. Y llego a todos estos ajustes diferentes para todo lo que hago clic en la ventana gráfica. Por lo que esta es una parte muy importante del motor. Aquí podrás ver los detalles de cada uno de estos elementos dentro de la ventana gráfica o dentro del nivel. También puedes editar los nombres de esos elementos. Aquí arriba, puedes hacer clic y puedes cambiar el nombre y puedes ver en qué componentes consisten. Y no te preocupes por esto por ahora. 6. El navegador de contenido: El siguiente antes de hablar de la ventana gráfica es el dibujo de contenido. Y este, en realidad puedes agregar todos los archivos que tienes para el juego dentro de aquí. Entonces si tienes los archivos de carácter, vas a agregar los archivos de carácter aquí. Si tienes archivos de audio, cualquiera, cualquier tipo de archivo, archivos 3D, modelos 3D, si tienes sonido, efectos visuales y así sucesivamente. Todo esto estará aquí. Y la forma en que los agregues dentro de ese nivel, solo tienes que arrastrar el elemento y dejarlo caer dentro del nivel raíz, y hablaremos de eso más adelante. Así que solo ten en cuenta que todos los archivos estarán dentro de aquí y aquí podemos elegir guardarlo todo. También podemos agregar diferentes elementos dentro de este sorteo de contenido. Se puede ver podemos agregar planos, con esto trabajaremos también. Se puede crear un nuevo nivel, se puede crear un nuevo material y una nueva carpeta. Por ejemplo, si hago clic en crear nuevas carpetas se puede ver aquí es una nueva. Y puedes hacer click en él para cambiar el nombre o puedes presionar F2. Este es un atajo bastante práctico. Por lo que al hacer clic en F2 y cambiar el nombre, puedes hacer clic con el botón derecho en él. Puedes establecer los colores para que yo pueda establecer el color a algo y puedes hacer clic Ok, y esto es bastante genial para organizar las cosas. Entonces lo voy a volver a borrar. Y si no quieres dar click en él todo el tiempo, puedes ver aquí, si hacemos click en él y haces click lejos de él, desaparecerá. Si estás acostumbrado a Unreal Engine 4, esto siempre estuvo en la cima. Y en realidad también lo haré encima también, solo para que no desaparezca para ti cuando estés viendo las lecciones. Esto va a ser muy molesto, creo. Por lo que haciendo click en el muelle en disposición y toda esta docket dentro de la maquetación. Y siempre se quedará aquí arriba. 7. Viewport y navegación: De acuerdo, Entonces somos casi todas las cosas. El último y probablemente lo más importante es la ventana gráfica. Por lo que la ventana gráfica es donde visualizas tu nivel. Entonces aquí puedes ver todas las cosas que tienes dentro de tu nivel, y aquí es donde construyes tu juego. Por lo que para empezar, dentro de la ventana gráfica, tenemos este botón en la parte superior izquierda. Y dentro de este botón, puedes elegir mostrar el FPS. Y esto es muy importante. Entonces no te ves que tu FBS tiene 60 años cuando se supone que es mucho más alto más adelante en desarrollo. Entonces esto siempre es bueno para comprobar, pero esto realmente no importa desde el principio hasta el billete de avión. Se puede cambiar el campo de visión y vamos a mantenerlo en 90, que es el predeterminado. También se puede fue muy importante. Aquí está la vista del juego. Por lo que al hacer clic en la vista del juego, se puede ver que oculta todos ellos o todos los iconos y también la cuadrícula. Por lo que un atajo a esto está presionando G. Así que dar click en G. Normalmente hago esto para ver mi nivel sin ningún ícono. Y volviendo a hacer clic en G, los haremos aparecer. Otro botón de llamada es el modo inmersivo, y esto a pantalla completa la ventana gráfica así. El atajo para esto es si un Londres, por lo que FL1 para minimizarlo, F11 para maximizarlo. Y puede presionar G para ocultar todos los iconos. Y ahora puedes ver nuestro juego en pantalla completa. Y hay un bastante cool. Por lo que pinchando en G en el Londres otra vez. Y volviendo atrás. Y otro botón llamado son las capturas de pantalla de alta resolución. Por lo que aquí puedes tomar una captura de pantalla de lo que estás viendo actualmente. Lo siguiente dentro de la ventana gráfica es el modo perspectiva. Y aquí, este es el modo en el que estamos viendo actualmente la ventana gráfica. También lo puedes ver desde arriba, así como esto. Y esto es bastante genial para cuando quieres colocar algo específicamente. Al igual que por ejemplo, si quiero, déjame volver al modo perspectiva, si quieres jugar algo específicamente aquí, es mucho más difícil simplemente moverte y colocarlo aquí, pero es mucho más fácil simplemente ir en el vista superior, CORREL colocándolo y simplemente colocándolo correctamente. De acuerdo, entonces voy a dar click en Control Z para deshacer. Entonces estos son los diferentes modos. Se puede ver desde abajo, desde la izquierda, y así sucesivamente. Y estas también se denominan las vistas ortográficas. Y también se puede tener una ventana gráfica cinematográfica con la que se puede ver. Volvamos a la ventana gráfica predeterminada. No nos preocupemos por lo cinematográfico por ahora. También tenemos los diferentes humores. Cuatro, por ejemplo, cuando esto es para cuando se tiene luz de la escena. Para que se pueda ver aquí, está ahí let mode. También tenemos el modo iniluminado. Podemos ver la escena sin ninguna iluminación. Y también podemos enviarlo al modo wireframe. Y se pueden ver los diferentes wireframes. Y también puede comprobar los alambres de diferentes modelos 3D, detalle, iluminación, etcétera. Por lo que tenemos muchos de los mandos a distancia. También tenemos los modos de vista de optimización que tocaremos más adelante en las lecciones. Entonces volvamos al modo elipse. A continuación tenemos el show, y aquí puedes mostrar y ocultar diferentes cosas dentro del puerto de vista. Por ejemplo, si no quieres ver la cuadrícula, puedes hacerla desaparecer. Pero en realidad quiero volver a verlo. Por lo que vuelve a hacer clic en él. Y aquí, botones muy importantes, y probablemente los más importantes son las herramientas con las que estarás trabajando dentro de la ventana gráfica. Por lo que tenemos la herramienta Seleccionar. Y puedes ver aquí cuando selecciono cosas diferentes, puedo seleccionarlas. Y tenemos la herramienta Mover. Y aquí, si arrastro en los puntos de pivote, los puedo mover en diferentes direcciones. Y si hago clic en el cuadro, se puede ver que dos de los puntos de pivote resaltan y esto significa que puedo moverlos en estas dos direcciones diferentes. Entonces si lo sostengo debajo de esta caja por aquí, los puedo mover por el suelo aquí. Y así sucesivamente. Al hacer clic en esta bola, bola blanca y el medio, puedo moverlos en todas direcciones. Absorbiendo en un punto de pivote, puedo moverlos en una dirección. De acuerdo, Entonces esta es la herramienta de movimiento. Además contamos con la herramienta Rotar. Aquí. Se puede girar en diferentes ejes. Se puede ver aquí puedo rotar en estos diferentes ejes. Y antes de que me olvide decirlo, te puedes ver, tenemos un color rojo, verde y azul y rojo. Se puede ver aquí, esto también se lee esto como dx. Si le pones el ratón encima, lo puedes ver. Entonces este es el rojo, este es el verde, es el eje y, y este es el azul, y este es el eje z. Y también puedes ver el eje al girar, puedes verlos aquí abajo. A lo que estás enfrentando actualmente, la última herramienta que tenemos es la herramienta de escala. Y haciendo clic en la herramienta de escala, se puede escalar en diferentes direcciones. Entonces, al igual que la herramienta Mover, si la sostienes en un punto de pivote, puedes escalarlo en una dirección. O si lo sostienes arriba. Estos rectángulos, puedes intentar escalarlo en dos direcciones diferentes. Pero si lo sostienes en el cuadrado blanco en el medio, puedes escalarlo uniformemente. Entonces si hago clic en Control Z, en realidad hago clic en él un par de veces porque quiero volver a donde estaba. En realidad puedo esqueletarlos formalmente haciendo clic en el cuadro blanco aquí. De acuerdo, tan muy importante, usualmente uso los atajos y probablemente deberías Londres también, porque lleva mucho tiempo hacer click aquí, moverlos, el nuevo click aquí para rotar y luego girar y así sucesivamente. Por lo que una forma más rápida de hacerlo es presionar Q. Esta conferencia presionará W para la herramienta de movimiento, presionará E para la herramienta de rotación, presionará R para la herramienta de escala. Entonces por ejemplo, hago clic en W2 para moverme. Doy clic en E para rotar, hago clic en R para escalarlo. Vuelvo a hacer clic en W para moverlo y así sucesivamente. Se puede ver que es mucho más rápido que todo el tiempo pinchando aquí arriba y haciendo clic en Control Z para volver atrás. El siguiente es la herramienta de ajuste de cuadrícula. Entonces esto es lo mucho que va a chasquear. Por lo que puedes ver aquí, cuando hago clic w, Por ejemplo, si hago clic en este jugador inicia icono aquí. Se puede ver si lo muevo, se está chasqueando, No se está moviendo sin problemas. Y esto se debe a esta herramienta de chasquido. Entonces si hago clic en ese número y lo incremento a 50, ahora chasqueando cada 50 unidades dentro del motor. Y esto es bastante útil cuando intentas alinear algo uniformemente, por ejemplo, paredes o pisos. Y se juntan. Si quieres quitar el chasping, si hago clic en este ícono y se volverá blanco y solo puedes moverlo como quieras. Esto es muy suave ahora, si quieres volver a tomarlo, haz clic en él, y luego se va a chasquear de nuevo. Y aquí de nuevo, puedes aumentar y disminuir el chasqueo. Al igual que el chasquido con el movimiento. Tienes este chasping con la rotación. Por lo que pinchando aquí puedes ver que gira cada 10 grados. Y si haces click en estos mismos grados, puedes cambiarlo igual que la herramienta de movimiento. Se puede cambiar a otros grados. Y puedes hacer click en el icono para quitar el chasping para que puedas girar sin problemas. Y también puedes hacerlo con la herramienta de báscula. Por lo que al hacer clic en los números también haga clic en el icono se eliminará el ajuste de escala para que pueda escalarlo uniformemente y así sucesivamente. O escalarlo sin problemas, lo siento. Así que voy a volver a todos ellos otra vez como ajustes predeterminados. Y esta es la velocidad de la cámara. Esto es muy importante. Esto es lo rápido que tu cámara se mueve dentro de la ventana gráfica. Y hablaré de cómo moverse dentro de la ventana gráfica. Todavía no lo he tocado. Por lo que aquí puedes cambiar la velocidad. Entonces, por ejemplo, si tienes un mundo grande, un mundo de juegos grande, por ejemplo, es un mundo abierto, algo que puedes aumentar la velocidad y puedes moverte mucho más rápido dentro de tu mundo. Si tienes un juego muy pequeño, puedes cambiarlo a una velocidad más pequeña y puedes ver que ahora es muy lento e incluso puedes hacerlo aún más lento. Esto también es genial por sólo fingir cinemática a veces. De acuerdo, volvamos a cuatro, que es el predeterminado. De acuerdo, entonces lo último antes de que terminemos el video se está haciendo bastante largo. Entonces lo último es cómo navegar dentro de la BYU, pero ¿cómo te mueves? Por lo que usualmente me muevo sosteniendo el clic derecho. Y luego puedes usar las teclas a, w, D, y S del teclado. Por lo que mientras mantiene pulsado el botón derecho del ratón, puede hacer clic en AWT y S y puede moverse. Te veo, sostendré el botón derecho del ratón y dando click en estas teclas, puedes moverte por dentro del nivel. Esto podría sentirse incómodo para empezar, pero si estás acostumbrado a jugar juegos, probablemente estás acostumbrado a moverte así. Si tú, sobre todo si juegas juego de disparos. Pero no te preocupes, será natural para ti si no lo has probado antes. Al hacer clic en Q y E, mientras se mantiene pulsado el botón derecho del ratón, se puede ver o se puede subir y bajar. Normalmente nunca lo uso. Yo sólo voy arriba y abajo pero sólo puedes usarlo. Para que sepas que está ahí. Otra cosa es que si mantienes pulsado el botón izquierdo del ratón, puedes ver aquí que puedes moverte mientras solo tienes pulsado el botón izquierdo del ratón. Nunca lo uso. En realidad, lo uso en mi laptop si estoy trabajando cuando estoy de camino a mi trabajo de día, suelo dar clic a la izquierda. Esto es mucho más fácil en el portátil. Y manteniendo pulsado el botón izquierdo del ratón y el botón derecho del ratón, puedes moverte arriba y abajo, igual que lo hiciste con mantener pulsado el botón derecho del ratón y hacer clic en Q y D. Lo último que puedes hacer es por ejemplo, sosteniendo el botón derecho del ratón y dando clic en estimar atrás, podemos entonces W para seguir adelante. También puedes usar el desplazamiento del ratón para entrar y salir. Y esto es más o menos para el movimiento. Y lo que usualmente, como dije, uso mayormente es solo sostener el botón derecho del ratón y simplemente moverme así, me siento más cómodo, pero si te sientes más cómodo haciéndolo de otra manera, siéntete bienvenido a hacer por lo que. Y recuerda si tienes alguna pregunta en absoluto, siempre puedes escribir en las redes sociales están dispuestos a ayudarte. Y también puedes escribir en el servidor de Discord, muy contentos de tener una charla o ayudarte dentro de ahí. Entonces sigamos adelante en la siguiente lección o en la siguiente sección y en realidad iniciemos nuestro juego. 8. Introducción en el juego: bola de velocidad: Hola y bienvenidos a esta sección. Aquí vamos a crear un juego de pelota. Y este juego se trata de una pelota que puedes mover con tu teclado. Y es como si estuvieras compitiendo por los niveles, estás coleccionando estrellas. Estás pasando por los portales y vas a nuevos niveles. Y el juego se trata de simplemente sobrevivir a través de los niveles, recogiendo las tiendas. Y al final, irás a una pantalla de bodas. Entonces con este proyecto, vas a aprender mucho. Vas a aprender a construir un nivel, a hacer la iluminación fuera, a hacer planos, actores de blueprint, clases de blueprint en general, y trabajar con el Level Blueprint también. Vamos a ver cómo haces la condición perdedora. Entonces si tu pelota se cae, cómo responder en los puntos de control es ir por el portal y muchas y muchas cosas que aprender. Entonces sigamos adelante en la siguiente lección e iniciemos nuestro juego. 9. Configuración inicial: De acuerdo, Así que empecemos a hacer el proyecto. Y antes de que hagamos algo, solo quiero mostrarles algo. Y aquí dentro de edit y plugins, puedes bajar a la realidad virtual por aquí. Y puedes desactivar el Oculus VR y desactivar el vapor VR. Y el problema con esos es que liberé mi cola de granja de juego en Steam. Y estos fueron revisados cuando se liberan una y otra vez, se mantuvo lanzando en modo VR para las personas. A pesar de que la cola de granja no tiene modo VR. Entonces fue bastante molesto. La gente estaba confundida de por qué se estaba ejecutando en modo VR. Por lo que cada vez que inicio un nuevo proyecto, desactiva el Oculus VR y desactiva el vapor VR. Por supuesto, si tu juego es un juego de VR, no quieres desactivarlos. Pero no estamos haciendo un juego de VR, así que voy a desactivarlos y hacer clic en nuestro Reiniciar ahora. De acuerdo, entonces ahora se ha reiniciado el proyecto. Puedo seguir adelante y cerrar eso y dar clic en Guardar todo. Y esto es en realidad lo único que teníamos que hacer. Entonces sigamos adelante. 10. Importación de recursos: Entonces ahora importemos algunos activos que podemos usar para el proyecto. Entonces lo primero aquí dentro del lanzador de Juegos Epic. Aquí está. Aquí quieres entrar al mercado. Y vayamos a descargar algunos activos gratuitos que podemos usar para el juego. Y aquí puedes buscar grilla. Por lo que escribiendo cuadrícula aquí arriba y haciendo clic en Entrar. Y dentro de aquí, haga clic en esto. Max soborna gratis, así que no pagamos nada mientras hacemos esto. Y aquí está el pack de startups super grid. Trabajando en este gran activo, podemos crear un nivel bastante cool con esto para nuestro primer juego. Así que adelante y descárguelo. Ya lo he descargado. Y luego puedes ver después de descargarlo, dice Crear Proyecto. Por lo que lamentablemente no puedes simplemente importarlo directamente al proyecto para estos activos, tienes que crear un nuevo proyecto. Entonces haciendo clic en esto, y luego no importa con el nombre, solo deja que sea como predeterminado. Y puedes cambiar tu carpeta predeterminada, pero nunca la cambio, así que solo la dejaré cerveza. A menos que tengas problemas de espacio en tu conductor, pero solo deja que sea si no lo haces. Y luego puedes seleccionar en qué versión quieres hacerlo. Y ahora mismo esto no es compatible. No se ha hecho para un proyecto de cinco puntos cero, así que Unreal Engine cinco. Entonces adelante y crediticio en 4.26, no vamos a tener un problema con esto, entonces esto está bien. Y deslizarse y dar click en Crear. Ya he hecho clic en Crear. Ahora vuelvo a la biblioteca y en realidad la voy a buscar. Y está aquí, super buen pack de arranque. Y puedes hacer doble clic en este proyecto. Por lo que una vez que se abra el proyecto, probablemente verá compilando shaders la primera vez que abras este proyecto. Y podría llevar algún tiempo, tal vez 10 minutos o 15 minutos. No lo sé, dependiendo de lo rápido que sea tu computadora. Por lo que tomará algún tiempo compilar los shaders y dejarlo compilar, déjalo terminar antes de hacer nada. Y cuando termine de compilar los shaders, haga clic derecho en este mapa de súper cuadrícula. Por lo que puedes ver aquí son carpeta super cuadrícula. Se puede ver aquí, dentro de aquí tenemos diferentes y planos. Tenemos diferentes mallas y instancias materiales y así sucesivamente que podemos usar de forma gratuita. A pesar de que esto será bastante guay para nosotros. Se puede ver que hay diferentes mallas o estrella y así sucesivamente. Entonces esto es bastante guay. Queremos esto dentro de nuestro proyecto. Y para ello, hay que hacer clic derecho en la carpeta super cuadrícula y dar clic en Migrar. Es así como mueves las cosas de un proyecto al siguiente proyecto. Y luego acabas de golpear, de acuerdo. Y luego tienes que seleccionar a qué proyecto quieres migrar. Dile ahora mismo estamos creando los proyectos de bola de velocidad. Entonces haciendo clic en la bola de velocidad, este es el proyecto, está dentro de mi este BC y luego documenta y luego proyectos irreales. Entonces esta es la ruta predeterminada. Así que adelante y encuentra tus proyectos irreales. Y dentro de aquí, da click en el proyecto que estás creando. Y luego quieres dar click en la carpeta Contenido. Esto es muy importante. No quieres simplemente ponerlo dentro de aquí, no va a funcionar. Por lo que haciendo click en la carpeta de contenido. Nuevamente, muy importante. No haga clic en otras carpetas. No entres de aquí y lo pongas aquí. No funcionará. Por lo que recuerda permanecer en la carpeta de contenido y luego clic en Seleccionar carpeta y luego migrará y copiará todos los archivos. Y no te preocupes que dirá que algunos de los archivos no se pudieron copiar. Todo esto está bien, funcionará. Entonces volviendo al proyecto que tenemos, se puede ver que ha migrado el super grid pack que pedimos. Y estos son todos los archivos que hay dentro de él. Y trabajarán con nuestro proyecto. Entonces, antes de seguir adelante, realmente importemos algunas otras cosas. He subido. Algunos artículos, son algunos materiales para ti. Y las cosas que he subido para ti en esta página web, puedes seguir adelante y descargarla. Y son estos artículos los que he subido para ti. Tenemos un ícono que podemos usar. Tenemos algo de música que encontré en YouTube, algo de música libre de regalías. Tenemos algunos efectos de sonido, y vamos a seguir adelante y crear una carpeta e importarlos. Por lo que dentro de la carpeta de contenido, puedes hacer clic con el botón derecho y hacer clic en Nueva carpeta. Y solo voy a llamar a esta interfaz de usuario de una interfaz de usuario. Y dentro de aquí voy a hacer una nueva carpeta llamada iconos. Y técnicamente no necesitamos eso para este proyecto porque es tan pequeño y este es probablemente el único ícono que necesitaremos. Pero sólo quiero mostrarles si este fue un proyecto realmente grande en el que estamos trabajando, qué haría yo. Por lo que siempre quiero organizar mis cosas. Y pondré la estrella aquí. Y probablemente te darás cuenta de que yo, que lo llamo ICO desde el principio. Esto es para icono. Normalmente llamo a iconos, esta convención de nomenclatura. Y luego queremos hacer una nueva carpeta llamada podemos llamarla audio, y podemos llamar a una. O en realidad sólo importaré todo aquí. Pero si tienes muchas bandas sonoras y muchos efectos de sonido, probablemente querrías hacer una carpeta para música y una carpeta para efectos de sonido, pero solo importemos estas y arrastrémoslas dentro de este archivo de audio o carpeta de audio. Y aquí está todo el audio que tenemos. De acuerdo, podría tocarlo, tal vez sea ruidoso y tenga cuidado. Ahora esto está bien. Entonces ahora se puede aquí, estos son los hechos. Y entonces tenemos también algo de música. Entonces estas son en realidad todas las cosas que necesitamos para hacer nuestro juego. Entonces ahora que hemos importado los activos, sigamos adelante y creemos el nivel. 11. Crear el nivel: Entonces vamos a crear el nivel. Y antes de que hagamos eso, en realidad sigamos adelante y salvemos nuestro proyecto. Se puede ver aquí tenemos algunas estrellas. Y estas estrellas significa que estos son archivos no guardados de la última lección. Voy a ir y dar click en guardar y nuestro Archivo y Guardar Todo. Esto lo salvará todo. Y permítanme hacer clic derecho en la carpeta de contenido, crear una carpeta nueva y crear una llamada mapas. También puede llamarlo niveles. Eso depende de ti. Y aquí, dentro de aquí. Vamos a seguir adelante, haga clic en el ratón o simplemente haga clic en Archivo aquí. En realidad haga clic en nuevo nivel. A menos que podamos elegir un nivel vacío y luego colocar nuestra iluminación, o bien podemos elegir el nivel por defecto y simplemente ajustarlo. Entonces vamos, vamos a usar sólo el nivel predeterminado. Entonces tenemos algo de cielo y lo que sea. Y ahora puedes ver aquí estamos dentro del nuevo nivel. Esto casi parecía el nivel en el que ya estábamos, pero este es en realidad el nuevo nivel ahora. Y vamos a dar click en este botón Guardar nivel actual. Entonces haga clic en este. Guardemos ese nivel en el que estamos, dando click en los mapas, y llamémoslo mapa. Por lo que me gusta empezar con una convención de nomenclatura para todos mis archivos. Y esto es bastante útil para cuando busques artículos aquí arriba. Por lo que si quieres encontrar los mapas específicamente, puedes escribir mapa aquí arriba y todo el ratón aparecerá en la lista. O si buscas como Fx, enumerarán todos los efectos de sonido. Por lo que es bastante genial escribir una convenciones de nomenclatura son un prefijo justo antes de que llegara el nombre de ese mapa. Por lo que a este mapa le llamaremos bola de cuentas. Por lo que sólo tenemos este mapa. Entonces sigamos adelante y pinchemos Guardar. Y se puede ver que este mapa se ha guardado y creado. Y antes de que hagamos algo cerca, pinchemos en este. Esto es lo que temen las reflexiones, por lo que realmente no necesitamos la esfera de reflexión. Entonces sigamos adelante y lo eliminemos. Y a la derecha dentro del World Outliner, puedes hacer click en él. Y aquí es en realidad donde se ve lo que hay dentro de este nivel. Entonces, por ejemplo, si haces clic en la niebla atmosférica, puedes ver aquí selecciona la niebla atmosférica y en realidad también puede seleccionarlas dentro de la ventanilla. Esto es lo mismo. También puedes seleccionarlos dentro de aquí. Y en realidad puedes simplemente revisar para ver si hay algunas cosas que no necesitamos. Tenemos un tragaluz, esfera celeste. Esto está bien. Entonces este es el disfraz de tragaluz. El miedo es todo esto. Esto está bien. Y luego tenemos el jugador arranca, lo ajustaremos más tarde por lo que está bien ahora mismo. Tenemos la luz del sol. Esta es una fuente de luz con, que se llama la luz direccional. Tengo la palabra y luego tenemos alguna niebla atmosférica. No sé si necesitamos la niebla atmosférica. De hecho, sólo lo eliminemos por ahora. Y el uso de la palabra, lo borraremos en un poco. Entonces, dejemos que se quede dentro de aquí. Entonces haga clic en Archivo y guarde todo. Ahora en realidad estamos listos para diseñar el entorno. Entonces sigamos adelante en la siguiente lección y diseñarla. 12. Diseñar el entorno: Ahora es el momento de diseñar el entorno. Y para diseñar el entorno, tenemos que ir dentro de la carpeta del super grupo. Y dentro de aquí tenemos el pack de arranque. Y dígale al pack de iniciación que tenemos la fuente de carpeta y mallas. De acuerdo, entonces dentro de aquí, dentro de la carpeta de mallas tenemos muchas mallas que podemos usar para diseñar nuestro nivel. Y se puede ver aquí tenemos esquinas y conos y esferas, y también tenemos cilindros y cajas. Entonces para esto, voy a eliminar aquí la malla de piso, malla de piso estándar. Y podemos agarrar a éste que se llama caja de rejilla de Zuber. Por lo tanto, intenta arrastrarlo. Y luego puedes ver aquí, si haces clic en el botón de flecha para escalar, entonces puedes usar la herramienta de escala para escalarla realmente en una dirección u otra dirección. Y en realidad puede construir a partir de estas cajas por aquí o simplemente en general a partir de todas estas mallas. Entonces voy a borrar este y a hacer el suelo, me gusta usar el avión. Y aquí, la razón por la que no estoy usando un, una caja aquí en su lugar para el piso es porque esto está más optimizado. No quieres todos estos sitios diferentes bajo tierra. Entonces, por ejemplo, déjame tomar esto, presionar la herramienta R y luego escalarla por un lado, esqueleto, otro lado. Entonces si hiciste esto con la caja y tratamos de escalarla, la diferencia entre estos son esto está más optimizada si se usa como piso porque este también tiene lados por aquí y lados aquí y lados por aquí y sitios por debajo también. Y estos sitios es posible que no veas si realmente estás usando esto como terreno y estás parado sobre él. ¿ Por qué necesitarías estos diferentes polígonos que están a los lados que nunca verás. Estos, estos también están tomando rendimiento. Entonces estás haciendo algo como piso es mejor usar un avión a menos que el jugador vaya a ver los lados. Para que pueda mostrarles lo que he hecho por el nivel 2. Lo estoy haciendo y mezclar. Entonces, por ejemplo, podemos hacer este piso. Y lo que puedo hacer es que puedo tomar esta caja y tú puedes moverla hacia abajo justo, justo debajo del suelo. Y aquí frente a ella. En realidad puedes usarlo así como esto. Déjenme simplemente reducirlo. Por lo que puedes usarlo igual que éste. El jugador se mueve aquí a un lado y en realidad puede ver este lado porque las flúoras aquí, puedo escalarlo. Entonces el jugador verá como un tipo de cosa perdida aquí en el costado. Por lo que se puede fingir. Puede rotar esto. Y por cierto, para copiar, no creo que lo haya mencionado todo el viejo botón. Entonces haciendo clic en la herramienta de rotación, no importa qué herramienta tengas, pero en este momento quiero rotar. Por lo que al mantener pulsado el botón Alt y luego Girar se duplicará la malla que estás girando. Y esto va con todo. Si tienes la Herramienta Mover y mantienes presionada Alt y arrastra, se copiará la malla. Entonces, por ejemplo, puedes hacer esto. Y para éste no quiero muros aquí a lo largo del costado porque tengo muros por aquí y el jugador no va a ver. Y vamos a moverlo a un lado. Y esto es tan genial usando la herramienta de chasquido, no tengo pelea, no tenía el chasquido encendido. Sería más difícil para mí posicionarlo exactamente aquí al final. Esto sería casi imposible para mí. Voy a dar clic en Control Z y sólo dejar que el chasping más allá. Y si estás diseñando un nivel enorme, tu consejo lo pones en 50 en su lugar. Y ahora chasqueando cada 15, Esto también funciona. Entonces lo que hago con las paredes, en lugar de ponerlas en la parte superior del piso, las pongo aquí a los lados. El jugador no se dará cuenta de todos modos. Solo estoy asegurándome de que no sea que no esté cortando. Y esencialmente volando por ahí. Lo que quiero hacer es dar click en esto. Voy a poner el avión en 000 000 sólo para asegurarme de que en realidad está centrado y esto es más fácil de colocar. Así que pon esto en ceros 0000 también. Y ahora puedo usar la herramienta de snapping. Ahora se va a chasquear perfectamente. Entonces así como esto ahora rompiendo perfectamente. Entonces esto más fácil de ponerlo en 000, 000, 000, está en medio del nivel. Y ahora puedes arrastrar aquí y hacer las paredes. Puedes sostener Alt y luego moverte para duplicarlo, pon aquí la pared. Y luego puedes hacer que el piso sea más grande si quieres. Esta es la zona de inicio del nivel. Entonces tal vez pueda hacer esto un poco. Más grande. Y por cierto, ya he creado el nivel. Y te voy a mostrar, no voy a diseñarlo todo este video porque esto va a llevar horas. A lo mejor. Si yo, si no los tengo en mente, lo que quiero crear. Pero ya he creado un nivel, pero solo quiero mostrarte cómo puedes empezar y hacer esto. Entonces odio sólo saltar en tutoriales y no aprendes demasiado. Entonces tratemos de hacer la primera parte juntos. Por lo que ahora tenemos construir estos muros. Y lo que puedo hacer aquí, Vamos a retener a Alt y pasar a duplicar esto. Por ejemplo, digamos que querías, querías tener algún tipo de habitación aquí. Y duplicemos también estas paredes. Digamos que querías construir algo aquí. Por ejemplo, puedo volver a tomar esta caja de rejilla. Y lo que puedo hacer es moverlo hacia abajo por lo que se ha necesitado el suelo. Ahora puedes hacerlo más grande así como esto. Entonces es como un, un puente. Y tal vez solo hazlo uno más, al igual que. Entonces tu elegido cómo quieres crear tu nivel que depende de ti. A lo mejor quieres cortarlo aquí, y entonces realmente quieres rotarlo. Al igual que esto. Entonces solo sé creativo con la creación de nuestro nivel. No importa al final lo que crees, solo queremos un nivel y este nivel vamos a programar por lo que el juego está funcionando. Entonces técnicamente no importa lo que creas, pero siempre es divertido ver niveles creativos y ver lo que la gente está haciendo. Entonces, por ejemplo, algo así. Y esto no se ve bien en mi opinión este año. A la parte del suelo queremos que algo vaya abajo. Por lo que voy a dar clic en E mantenga presionado Alt y arrastrar aquí para duplicar este muro. Entonces sólo muévelo hacia abajo. Y lo voy a mover en chicle. Necesito mover esto un poco más. Voy a, por cierto, estoy dando click en Control y dando click en todas estas partes para seleccionarlas todas. Y los puedo mover un poco atrás así como así. Entonces creo que esto se ve mejor si tenemos algo aquí abajo. No me gusta que el piso solo se corte así. Y lo mismo que podemos hacer con este, lo voy a mover, duplicar esto. De acuerdo, y quiero volver a sostener Alt y bajar. Yo quiero duplicar el piso y tal vez ponerlo aquí abajo. Entonces cuando el jugador caiga en este hoyo, el nivel o reset, y pondrá al jugador en el punto de control en el que se encuentra. Por lo que crearemos puntos de control también. Y de nuevo, sólo voy a reescalar o simplemente traté de hacerlo encajar e intentar crear tu nivel. Y puede duplicar, seguir duplicando, crear el nivel. Al igual que eso. Yo también puedo duplicar esto. Igual que eso. Y éste en realidad va, en realidad puedo borrar esto. Y yo sólo puedo hacer esto mientras éste. Tan solo hazlo más largo. Al igual que esto. Y yo puedo hacer lo mismo aquí, así como así. Entonces ahora tienes un nivel y los Balcanes empiezan aquí, por ejemplo, y tienes un muro, solo escríbalo detrás de él para que la pelota no se caiga. Lo colocaré aquí, así que encierra así como así. Por lo que el balón empieza aquí en esta sala de aquí. Y puede moverse y moverse sobre este puente. Y entonces solo puedes tratar de hacer el nivel Daniel como quieras. Este es el principio principal. Simplemente sigues copiando pegando código. Y también una cosa genial que hacer, tú también tienes este anillo aquí. Simplemente puedes hacer túneles si quieres. Tan solo asegúrate de que la pelota encaje justo aquí. Entonces tal vez haciendo el túnel así. Y en realidad puede usar la herramienta de escala también para este. Por lo que puede hacerlo más grande y en realidad hacer algún tipo de un, un túnel por el que atravesar. Y un complejo alrededor. A lo mejor quieres colocar un muro aquí, solo asegúrate de que no sea el, no se superpone así porque LC lo cerrará dentro de la esfera. Entonces solo traté de ver si eso se ve bien. A veces algo no se ve bien y acabaré de borrar de nuevo. Pero a veces puedes intentar a tu manera y ver si se ve bien. Lo colocaré en el medio. Al igual que esto. Manojo de copiar esto y ver si está en el medio. Ups. Sí, así que está en el medio. A lo mejor puedes hacerlo así. O tal vez quieras agregar, por duplicar esto. A lo mejor quieres añadir un muro aquí arriba también. Igual que eso. De acuerdo, para que puedas hacer tu nivel de la manera que lo desees. Para sólo ser creativo. Siempre es divertido crear un nivel en el que has pasado tiempo. Y siempre puedes intentar usar todas estas estructuras de rejillas, sacarlas, está atado para escalarlas y ver qué pasa. A lo mejor puedes agregar algún tipo de artes como que detendrán tu pelota y tienes que evitar estas partes como obstáculos. Y así es como construyes un nivel si quieres ser creativo, por favor. Me alegra ver lo que has hecho. Puedes vincularlo en el servidor de Discord o vincularlo en nuestras redes sociales. Es bastante guay ver lo que la gente crea. Y déjame seguir adelante y mostrarte lo que he creado para el nivel. Entonces aquí está el nivel que he diseñado. Entonces este es el primer nivel. Y empezaste aquí con el balón igual que creamos antes. Y sólo tienes un hoyo básico aquí. Y de nuevo, esto es justo como lo que aprendimos antes. Esto es sólo una pared y rodeando el plano de piso aquí. Y este es el muro que también creamos en el último. Entonces solo cajas básicas, básicas. Simplemente escalo al igual que antes. Tengo este nivel y tengo el puente que es sólo el muro otra vez. Pero yo pongo aquí y tú vas por encima de este puente y tengo alrededor que vuelas sobre 0, sobrevuelas esta, esta parte de aquí, que también es un muro. Y también el piso aquí y el muro por aquí. Voy a dar clic en Control Z para volver atrás y para cambiar el material para que parezca oscuro. Y así así, en lugar de azul, puedes hacer click en una de estas paredes que has puesto. Y se puede ver esta lupa. Y este es el material que realmente hace el aspecto de esta malla. Por lo que se puede ver aquí que este es el material azul. Y para ir a este material, realidad puedes hacer click en esta lupa que dice Browse. Y esto te llevará directamente a ella para que no tengas que entrar aquí y buscarlo. Por lo que al hacer clic en la lupa, te mostrará la que está usando. Se puede ver aquí hay una negra predeterminada a su lado, y esto es en realidad lo que estoy usando para éste. Entonces lo que puedes hacer para cambiarlo ya que solo tienes que clic y arrastrar y puede ponerlo en cualquier, cualquier lío en el que quieras usarlo. Entonces por ejemplo, si quiero que vuelvas este muro, puedo hacer click y soltar. Y se puede ver que se vuelve negro. Si quiero volver a hacerlo por defecto, puedo dejarlo caer esto o azul encima. Y puedes tratar de usar todas estas diferentes. Entonces hay un checker genial que en realidad usé para el nivel 2. Podemos ver que esto es bastante guay también. Propio tienes todos estos diferentes patrones que puedes usar. De acuerdo, entonces voy a volver a este azul, y estoy moviendo este 12 negro por esto, por esta RAM, porque creo que es un poco difícil verlo así. Por lo que es más interesante hacerlo negro aquí. Entonces sobrevolarás esto y aterrizarás aquí. Y tienes de nuevo este puente más pequeño. Y aquí quiero hacer un charco para ir al nivel 2. Por lo que este es un nivel uno muy sencillo. Y para hacer múltiples niveles en realidad, en realidad no quieres entrar dentro de este mapa y hacer un nuevo nivel. Lo que quieres hacer es solo hacer un portal aquí y te reportará al siguiente nivel, pero en realidad no es un verdadero siguiente nivel. Está justo por aquí, al otro lado del mapa. Por lo que va a crear múltiples niveles. Simplemente crearlos dentro de este nivel. De acuerdo, Así que justo dentro del nivel anfitrión, no entres aquí y hagas un nuevo nivel. Entonces aquí tenemos nivel 2, se va a verter tubo, por lo que esta parte aquí. Entonces todos empezamos aquí. Y luego pasarás por encima de estos cilindros. Estos cilindros, puedes ver aquí, si hago click en la lupa, me llevará a la carpeta cabeza llamada tutorial level. Y dentro de él ver aquí donde estaba apenas unos cuantos querían encontrarlo. Pero nivel tutorial. Y luego dentro de las instancias de material, luego tienes todos estos materiales de aspecto fresco que puedes arrastrar y soltar encima de esto. Y aquí estará el último portal. Y si entras a esta botella, llegarás a la pantalla final. Por lo que sólo tienes dos niveles aquí. Y de nuevo, es muy útil hacer que la cámara sea un poco más rápida si tienes un nivel más grande, por lo que puede moverse más rápido por aquí. Entonces tenemos el nivel 1, pasamos por el portal, tenemos el nivel 2, pasamos por el portal y luego llegarás a la pantalla final, que está por aquí. Entonces este es el nivel y luego esto son sólo algunas paredes básicas que rodean un avión. Entonces esto es lo básico que he hecho. Puedes crear tantos niveles como quieras. La programación que vamos a hacer será, se ajustará a toda la cantidad de niveles que quieras. Por ejemplo, si quieres hacer 10 niveles, todo depende de ti. La programación va a funcionar para los diez de ellos. Pero ahora solo para que no sea demasiado largo, he hecho dos niveles. Y he hecho una pantalla final, que el balón engendrará aquí al final de la pantalla. Entonces así es como diseñas el entorno. Y por favor, adelante y sé creativo. Me encanta ver lo que ustedes están haciendo. A veces realmente haces un mejor trabajo que yo. Algunos de ustedes son realmente, realmente creativos. Y si no quieres hacer un nivel completo, eso está bien para ti. Si tú, si quieres enfocarte más en la programación, eso también está bien. No importa. Y si quieres ser totalmente creativo, por favor adelante y publícala en nuestro servidor de discordia. En realidad quiero ver lo que ustedes van a crear. Entonces sigamos adelante en la siguiente lección y echemos un vistazo a la iluminación. 13. Iluminación del entorno: Ahora es momento de echar un vistazo a la iluminación. Por lo que antes de hacer alguna iluminación, quería ir al World Outliner. Entonces aquí es donde todas mis cosas están dentro del nivel. Y lo que quiero hacer es solo organizarme un poco para que puedas ver son carpetas diferentes lo cual se ve raro. Ir a hacer clic en uno, mantenga presionado Shift, haga clic en el otro aquí. Voy a moverlo dentro de esta carpeta 3D. Por lo que arrastrándolo dentro de aquí. Y también voy a dar click en este. Haga clic en Shift, haga clic en el último. Ahora también lo dejarán caer en esta carpeta. Y voy a eliminar estas carpetas que tengo. Y algo mejor que hacer en realidad es dividirlos en niveles. Entonces el nivel uno debe estar en una carpeta de nivel 1 y así sucesivamente. Pero está bien por ahora. No estoy demasiado preocupado. Y ahora tenemos algo de iluminación, así que tenemos la fuente de luz. Esto es con lo que empezamos como default. Entonces esta es la luz del sol que tenemos. Y también tenemos el tragaluz y los cielos temen. Y para hacer el deslizamiento, si no los tienes dentro de tu nivel, puedes seguir adelante y dar click en Crear aquí. Y en luces se puede crear la luz direccional, que ya tenemos. Esta es la luz del sol. Y también puede crear el tragaluz, que es el, sí, lo hizo historia fija la claraboya. Y para crear esta esfera del cielo, hay que hacer otra cosa. Tienes que ir dentro de los ajustes aquí. Y hay que ir dentro del contenido del show engine. Y cuando hagas clic en eso, minimicemos todas estas carpetas. En realidad se puede ver, ahora se puede ver alguna carpeta de contenido del motor del motor. Y si haces clic en ese y realmente buscas aquí o cielo, entonces ves algo llamado BP sky sphere. Y en realidad puedes usar este para conseguir algo de cielo aquí arriba. Entonces lo que puedes hacer aquí para empezar es solo hacer clic en el en la fuente de luz aquí, esta es la luz del sol. Por lo que pinchando en esa, voy a dar clic en E para rotar. Y lo vamos a rotar aquí para sólo darle una llamada. Simplemente encuentra un lugar fresco o como quieres que luzca tu nivel. Creo que esto, esta rotación del sol es bastante guay. De acuerdo, así que esto es bastante guay. Y antes de que hagamos otra cosa, se puede ver aquí, cuando me vaya, se oscurece. Cuando me acerco, poco se vuelve más ligero. Y no queremos eso en nuestro juego. Esto será muy molesto para que el jugador de repente se oscurezca y de repente se ponga más ligero. Esto no lo es, no queremos que la iluminación esté en eso realista. Entonces lo que queremos hacer es que queremos, y en realidad esto es para la siguiente lección. Queremos crear un volumen post-proceso, pero tenemos, tenemos que crearlo ahora para poder hacer algo de buena iluminación. Así que entra dentro de los efectos visuales y haz clic en el volumen post-proceso. Y qué post, volumen post-proceso. Es igual que si quieres editar imágenes dentro de Photoshop. Por lo que harías la calificación de color, editas los colores de la imagen. Este es el volumen post-proceso aquí. Para que puedas, puedes editar colores dentro de este nivel, pero hablaremos de ello con más detalle en la siguiente lección. Por ahora, solo quiero eliminar esta exposición, que hace que el sol sea más claro y más oscuro y así sucesivamente. Entonces esto en realidad está haciendo imposible para nosotros iluminar el mapa. Por lo que haciendo clic en la exposición dentro de la mientras se hace clic en el volumen post-proceso. Al hacer clic en la exposición, tomando el brillo mínimo y el brillo máximo para la exposición. Y puede establecer ambos en uno. Y se puede ver que no pasó nada. Y esto es porque tenemos que bajar. Y aquí tenemos algo llamado extensión infinita. Porque ahora mismo, déjenme bajar la velocidad de la cámara. En este momento el volumen post-proceso solo funciona si entro del volumen porque ahora cambió. Pero si salgo del volumen, no va a funcionar. Va a ser ligero entrando de nuevo, yendo a trabajar. Y usando la extensión infinita, esto significa aplicar esto lo que estoy haciendo a todo el mapa. Entonces si hago clic en él, puedes verlo ahora se ve más normal. Ahora el mapa no se oscurecerá. Si me voy, en realidad se quedará en la misma iluminación. Esto es lo que queremos. De acuerdo, Así que ahora tenemos eso. Y puedes intentar ir al interior de la luz solar o fuente de luz aquí y ajustar la intensidad de la luz. Por lo que ahora puedes, puedes editar la intensidad. Y creo que este deslizamiento es perfecto. En realidad, no quiero editar nada. lo que quiero editar, creo que estas, estas sombras son oscuras dentro de mi nivel. Por lo que quiero hacerlos un poco más ligeros. Y lo que quiero hacer es dentro del World Outliner, haga clic en estos tragaluces. Y dentro de aquí tenemos algo llamado Escala de Intensidad. Y se puede ver si, si escribo tres, por ejemplo, estas sombras serán mucho más ligeras. Y no quiero que sean muy oscuros. Yo quiero que en realidad las sombras sean ligeras para que podamos ver algo. No los quiero así. Ahora voy a poner un 1.8. Creo que este es el valor que tenía antes. Intenta probarlo, o tal vez podamos escribir dos. Por lo que esta es una iluminación bastante fresca. A lo mejor si voy aquí a ver cómo se ve, creo que dos está bien. Entonces esto es lo que podemos hacer. Entonces, ahora el tragaluz es mucho más ligero. Esto era antes, y esto es ahora. Y vamos a dar click en Guardar todo. Y también quiero agregar algo de iluminación aquí porque esto es muy oscuro y yo en realidad, tendrás un portal aquí más adelante. Entonces cuando quiero hacer es seguir adelante y crear luces y crear una luz React o roja. Entonces aquí este es el reactor. Y voy a disminuir la velocidad de la cámara. Esto es demasiado rápido. Y dando click en g para que pueda ver cuál es la iluminación. Entonces es como, como aquí, así que se está deslizando en esa dirección. Y voy a disminuir el tamaño o las alturas aquí, sólo algo así. Y tal vez disminuyendo la intensidad. Podrás jugar con estos radios y ver qué es, qué se ve bien para el nivel. Usar las alturas de fuente podría ser mejor tener esta altura. Por lo que no es demasiado duro en los sitios. Y mar sin fin. A lo mejor justo entonces la tensión en general. De acuerdo, algo así. Esto está bien por ahora. Y lo último es que vamos a tener un portal aquí, y en realidad también quiero algo de iluminación aquí para que puedas ver el portal. Así que adelante y crea, voy a crear un foco de atención. Entonces técnicamente no tenemos realmente un foco de atención de manera realista, pero solo quiero poner uno dentro de aquí para que podamos ver la foto al final. Y piensa que esto está bien. Y luego aquí otra vez, puedes ajustar la intensidad de la misma. Se puede cambiar el radio, se puede más g para ver realmente el cono cambiando. Entonces esto es lo lejos que va la luz y cómo, qué tan grande es el cono interior para suavizarlo, qué tan grande es el agrecan y demás. Pero creo que solo dejaré que sea así. Esto está bien. Voy a dar clic en Archivo y Guardar todo. Y esto fue todo por la iluminación. Entonces creamos una luz solar que teníamos. Tenemos tragaluz. Y puedes intentar, si tienes manchas oscuras dentro de tu nivel, puedes usar, puedes usar ya sea una luz puntual, un foco, una luz roja para iluminar tu entorno. Esto fue todo por ahora. Y vamos a repasar y hablar del volumen post-proceso en la siguiente lección. 14. El Post y el volumen de la luz: Es hora de hablar del volumen post-proceso. Y antes de hacer esto, déjame seguir adelante y ocultar de nuevo la carpeta de contenido del motor. Por lo que al hacer clic en Configuración y al hacer clic en Mostrar contenido del motor, esto lo ocultará. Y lo siguiente que quiero hacer, puedes ver que cierro el proyecto desde la última lección. Por lo que quiero volver a abrir el mapa y recordar hacerlo. Lc estará dentro del mapa vacío. Y te mostraré más adelante cómo puedes cambiar el mapa para que esté OK para que se abra por defecto en este mapa de bola de velocidad. Tan doble clic en el mapa, así que estoy dentro de mi mapa de juego. Por lo que ya hemos creado un volumen post-proceso en la última lección, si recuerdas, y si no has visto el último video por si acaso creas un volumen post-proceso haciendo clic en Crear y efectos visuales. Y el volumen post-proceso también lo puede encontrar dentro de volúmenes. Ahí está el volumen post-proceso. Eso es lo mismo. Y cuando un volumen post-proceso lo es, puedes imaginarlo igual que en Photoshop. Cuando pones una imagen dentro de Photoshop y vas a editar los colores de esa imagen. Esto es, esto es lo que es un volumen post-proceso. Podrás editar los colores de la imagen dentro del juego, así podrás editar el look del juego. Se puede editar la saturación del look, el brillo, etcétera. Entonces esto es lo que vamos a hacer. Por lo que ya hemos colocado este volumen post-proceso. Y lo que hicimos en el último video, lo único que hicimos fue ir dentro de la exposición y tomar el brillo mínimo y máximo y ponerlos a uno. Y esto es porque si no son uno, la iluminación cambiará todo el tiempo cuando nos movamos y no queremos eso. Y también recuerdas hacer clic en la extensión infinita sin consolidar. Y si no lo haces, si lo desmarco, puedes ver que la luz volverá a ser fuerte, pero sólo funcionará si entro del volumen post-proceso puedo ver ahora lo baja. Si salgo fuera de ella, volverá a estar alto. Entonces si este es el uso de esto, a veces digamos que tienes una cueva dentro del mapa, dentro de tu juego o algo más. Y solo quieres el, solo quieres que el área específica se vea afectada por este color. Digamos que vas dentro de una casa y todo lo que ves es morado. Eso se puede hacer con un volumen post-proceso. Y digamos que escalé marcando la herramienta de escala. Yo lo escalo sólo a esta zona. Y para esta zona sólo bajará la luz, por ejemplo. Entonces este es el uso de la misma. Si no quieres que afecte a todo el mapa, puedes afectar áreas específicas con iluminación específica que desees. Y puedes, puedes insertar tantos volúmenes post-proceso como quieras dentro del mapa. Pero para esto queremos afectar todo el mapa. Por lo que hacer clic en extensión infinita, y no importa esfuerzo y ahora dentro o fuera de él, afectará todo el mapa. De acuerdo, entonces ajustamos la exposición. Y lo siguiente que quiero hacer dentro de aquí es realmente afectado el balance de blancos. Se puede ver que tenemos florecer. Esto si quieres florecer o no. Entonces si lo pongo al jurado puedo ver, ahora se ve menos sombrío. Y si lo pongo hola, puedes ver que se convierte en me voló. Yo sólo voy por el valor predeterminado no importa para mí en este momento. Y también tenemos efectos de imagen. Esto también es bastante guay. Se puede agregar una viñeta y ver que la viñeta es justo estos, igual que en Photoshop para agregar como un desenfoque negro alrededor de la imagen para que se vea más cinematográfica. Y por lo general puedes juegos tenerlo a 0. También tengo una cola de 200 en granja. Porque algunas personas piensan que es molesto que tengas algún tipo de desenfoque oscuro alrededor de la imagen para su juego. Pero este es el defecto. Y podemos ponerlo a 0.2 solo para que no sea demasiado fuerte. Y este es el balance de blancos. Entonces el balance de blancos es, puedes editar esta temperatura. Por lo que puedes ver si bajo la temperatura, se hará más frío, fuego más alto la temperatura. Será más cálido. Y bajo. Toma la floración. Florece bien. De acuerdo, Entonces esta es la temperatura que puedes editar dependiendo del look que intentes alcanzar. Y por defecto son 6,500. Entonces voy a bajarlo un poco. En realidad quería un poco más frío, así que tal vez 5,800. Y lo que me gusta hacer ahora es un poco más frío. A mí me gusta subir un poco este tinte. Te puedes ver y yo pongo el 10 dub, se vuelve más morado. Creo que lo pondré un poco arriba para que no se vea demasiado a morado, a azul, lo siento. A lo mejor hay 0.1. Entonces si lo desmarco y Ticket to various, no sé si lo puedes ver en tu extremo, pero es una diferencia muy leve. Entonces haciendo eso y creo que bajaré el poco Blumer, Me molesta. Entonces 0.3, creo que está bien. Entonces esto es lo único que quiero hacer con el volumen post-proceso, pero puedes seguir adelante y ver si quieres hacer más. Y lo que se puede hacer también es dentro de global, se puede editar la saturación de, por ejemplo, si se quiere aumentar la saturación y hacerla muy saturada, voy a volver a ponerla a una. Se puede editar el contraste, por ejemplo. Entonces dependiendo del tipo de look que quieras para tu juego, puedes hacer eso, lograrlo aquí. Y también recuerda si, si las sombras para ti son demasiado oscuras, siempre puedes entrar al tragaluz. Y dentro del tragaluz. Recuerda que tenías la escala de intensidad y siempre puedes hacerla más alta si es demasiado oscuro para ti. Y si quieres tenerlo un poco más ligero. Entonces esto es lo que tenemos ahora mismo. Y creo que esto está bien. Y si necesitamos hacer más ajustes más adelante en el futuro, lo haremos. Pero por ahora creo que esto está bien, y vamos a probar dos, proceda. ¿ Qué sería lo que tenemos? Entonces solo para asegurarnos al final de que todo esté construido correctamente para la iluminación, podemos seguir adelante y en lugar de construir, puedes hacer click en ya sea construir solo iluminación o construir todos los niveles. Voy a dar click en Construir todos los niveles. Entonces en cinturones, todo. Y esto hará que la iluminación para las mallas que tienes dentro de tu nivel. Por lo que se ve correctamente. Y cuando haces eso, dice que no se encontró volumen de importancia para la escena. Entonces te mostraré lo que puedes hacer aquí. Y esto también es importante que pongas importancia, importancia ligera, volúmenes. Entonces haciendo click en Crear en volúmenes, tienes algo llamado masa ligera, ¿ verdad? Volumen de importancia masiva. Y este volumen aquí, puedes intentar decirle al juego en qué partes del mapa o qué partes de este nivel quieres enfocarte respecto a la iluminación. Entonces voy a reescalarlo tan grande como este nivel y también volver a escalarlo y el eje z para que cubra todo el nivel. Y así puedes hacer eso y también escribirlo tu copia. A lo mejor solo, en realidad lo escalaré todo el camino y cubriré todo en lugar de hacer múltiplo. Entonces solo cubriendo todo. No tienen que renderizar más de lo que necesitas aquí. Y el edificio está completo. Y esto es lo que tenemos hasta ahora. Entonces ahora hemos creado la iluminación y tenemos el volumen post-proceso, y creo que está empezando a lucir genial. Ahora no tenemos más cosas que hacer respecto al diseño del juego. Entonces, en realidad sigamos adelante en la siguiente sección y programemos el juego y tratamos de hacer que todo se mueva y funcione. 15. Introducción: Hola y bienvenidos a esta sección donde realmente programaremos el juego. Y cuando digo programación, realidad nos estamos centrando en Blueprints, que es el lenguaje visual de scripting de lado de Unreal Engine 5. Ahora en esta lección, quiero explicarles la interfaz de usuario de los planos o un editor de blueprint. Y si has visto mi otro video sobre los planos para principiantes, probablemente ya lo sepas y puedes saltarte al siguiente video. Pero déjame seguir adelante. Si no has visto antes al editor de planos. Déjame seguir adelante aquí y dentro de planos y dando click en Abrir Planos de Nivel. Haga clic en él. Te meterás dentro de esta vista y aquí es donde estaremos trabajando principalmente. Por lo que dentro de esta vista aquí en el medio se puede ver tenemos algunas notas, y esta es la jugada de inicio. Por lo que aquí puedes decirle al juego qué quieres hacer cuando empiezas jugar el juego y cuando salgas de una pluma de ejecución. Se puede ver aquí algunos ejecutar, aparecerán las acciones ejecutables. Y aquí tenemos muchas funciones que podemos sumar y podemos decirle al juego qué realmente hacer en este momento. Por lo que parece muy confuso cuando lo abres por primera vez. Porque míralo y luego piensas, ¿cómo diablos voy a recordar todo esto? Y no tienes que recordar todo esto. Vendrá despacio. Fue no nos preocupemos por eso por ahora. Por lo que puedes arrastrar fuera de aquí y puedes elegir una función que quieras agregar. Entonces, por ejemplo, la muy simple sobre la que aprenderás al principio es la cadena de impresión, que imprime un texto en la pantalla. Y dirá hola cada vez que empieces a jugar el juego. Entonces si compilo, y es muy importante compilar porque entonces puedes pensar en ello como limpiar el código y recordar guardar. Y también puede dar clic en Play. Y se puede ver que dice Hola aquí arriba. Y si hago clic en parar y jugar de nuevo, dice en bajo aquí arriba. Ahora es así como se usa. Este es el Gráfico de Eventos. Aquí es donde escribirás todos tus planos. Y a la izquierda tenemos cosas diferentes. Tenemos las gráficas aquí, tenemos las funciones. Para que puedas crear tus propias funciones. Entonces si vuelvo a escribir cadena de impresión, esta es una función, puedes ver que dice f, esto se llama función. Por lo que las funciones están adjuntas a los eventos. Y así un evento impulsará el código. Por lo que tiene que haber un evento para que el código se ejecute. Y las cosas que se están ejecutando son las funciones que puedes crear tus propias funciones. No necesitamos eso ahora mismo. Nos vamos a meter en ello más tarde. Y puedes crear macros que son básicamente igual a funciones, como esta. Pero la diferencia es que puedes tener funciones cronometradas dentro de ella. Entonces, por ejemplo, si tiene el nodo de retardo, esto retrasará el código por, por ejemplo, dos segundos, y luego imprimirá otra cadena. Si digo imprimir cadena, digamos de nuevo y haga clic en Reproducir. Por lo que se estrechará va dos segundos antes de que vuelva a decir. Por lo que esta es la función de retardo y la creencia se cronometran a funciones. Se puede ver aquí hay un reloj en la parte superior. Las funciones cronometradas no se pueden colapsar en funciones. Entonces si haces clic con el botón derecho en un glutton para funcionar, dirá colapsarse a falla de la función. Y esto se debe a que las funciones cronometradas no pueden estar dentro de la función. No se puede colapsar a una función, sólo se puede colapsar a una macro. Y esto será posible que las macros sean igual que las funciones, pero solo esta ligera diferencia. Bueno, déjame seguir adelante y eliminarlo de nuevo. Y tú tienes variables, y llegaremos a eso más adelante. Y tenemos despachadores de eventos que son simplemente como eventos. Tenemos el botón Guardar, tenemos el botón Buscar para que puedas buscar el código de blueprint que escribiste. Y sobre todo si tienes una línea de código muy larga, o si tu juego, si llevas seis meses trabajando y ahora vas a buscar algún código que has escrito antes. Contamos con los Ajustes de Clase. Y hay algunas cosas que podemos editar. No te preocupes por ello por ahora. Tenemos algunos valores predeterminados de clase y tampoco te preocupes por ello por ahora. Se puede ver que hay algunos valores por omisión para cada blueprint. Y puede volver a hacer clic en play para jugar el juego que tienes. Entonces este es simplemente el editor de Blueprint y vamos a trabajar aquí. Entonces lo voy a cerrar. Y en realidad sólo estoy queriendo mostrarte algo más. Entonces dentro de esta carpeta de blueprint que hice, así que haga clic derecho, haga una carpeta nueva, y llamo a los blueprints por lo que está vacío en este momento. Y dentro de esta carpeta puedes hacer clic derecho. Y se puede ver que hay algo llamado Clase de Blueprint. También lo puede encontrar dentro de planos. Toda la Clase Blueprint. A. Al hacer clic en esto, puedes ver diferentes clases y quiero explicarte en la siguiente lección cuáles son estas clases. 16. clases de fonografía: Antes de proceder, hablemos de las clases de blueprint. Tan radical ocurren en la carpeta blueprint y haga clic en clase Blueprint. Esto creará una clase de blueprint. Y luego ves que aparece esta ventana y tenemos diferentes clases que podemos recrear dentro de los planos. Entonces tenemos algo llamado actor. Y un actor es sólo un objeto que se puede colocar dentro del nivel. Entonces por ejemplo, cuando creamos el portal que hará que aparezca el balón en el siguiente nivel, eso es un actor. Y por ejemplo, si tienes un juego de RPG y colocas algún tipo de tienda de monedas o una tienda de armas. Y esta arma afilada consiste en un letrero de madera y el edificio y demás. Este es un actor es sólo un y un ICM o un edificio o lo que sea que se pueda colocar dentro del nivel. Esta rampa también puede ser actor. Y entonces tenemos sobre y sobre es un actor que puede ser poseído y recibir la entrada de un controlador. Se quiere hacer algo que se pueda mover. Tendrás que usar un estanque porque sobre se puede poseer, en realidad podemos darle entradas, podemos moverlo, podemos usar el teclado para mover este punto. Y por ejemplo, el balón que vamos a hacer va a ser el punto. No podemos crear un real a partir del balón. El balón que vamos a mover con nuestro teclado. No podemos hacer actor de esto. Tenemos que hacerlo como sobre, lo contrario no puede recibir entrada. Entonces tenemos un personaje. Un personaje es un tipo de porno que incluye la capacidad de caminar. Entonces ahora el personaje es en realidad un tipo de estanques. Entonces esta es la clase principal, esta es la subclase. Por lo que el personaje, se puede ver el personaje también puede recibir entrada. También podemos hacer que funcione. Entonces, ¿cuál es la diferencia? Y cuándo, cuándo vas a hacer y cuándo vas a hacer un personaje? Entonces la forma en que tienes que pensarlo es, ¿tienes un personaje con dos brazos y dos lagos que puedan caminar? Si es así, entonces quieres hacer un personaje. Si no lo hace, por ejemplo, tenemos un tazón con el que vamos a correr, entonces usted va a hacer un punto. Entonces nuestro personaje es como un personaje real. Dos brazos, dos piernas pueden, pueden caminar y así sucesivamente. Entonces, por ejemplo, si estamos haciendo un strike de Conda o estamos haciendo un World of Warcraft. Estos personajes son en realidad personajes y no, no dos puntos. Y tiene la capacidad de caminar. Por lo que también recibe entrada de un controlador. Ahora tenemos el controlador de jugador, y el controlador es un actor responsable de controlar sobre, utilizado por el jugador. Entonces el mando del jugador, no es lo mismo que el mando que tienes en tu casa, tu mando Xbox o el mando PlayStation. Este controlador es el que codificamos para darle movimiento al personaje o al punto. Y te lo mostraré más tarde. Por lo que a través del controlador, usualmente hago toda la lógica de movimiento. Entonces si haces clic en W en el teclado, te mueves y también haces la interfaz de usuario dentro del controlador del jugador. Por lo que hay que pensar que cada peón que hagas, un, cada personaje que hagas será, estará recibiendo la entrada de este controlador de jugador. Entonces tenemos el Modo de Juego. Y de nuevo, el modo es el que está controlando las reglas. Por lo que el modo de juego basado define el juego que se está jugando, sus reglas, anotación y otras facetas del tipo de juego. Entonces, por ejemplo, si tienes un modo de juego llamado Capture the Flag, vas a codificar todas las reglas dentro de este modo de juego. Entonces, por ejemplo, cuántos puntos obtienes por entregar la bandera y así sucesivamente. ¿ Cuántos son muchos segundos o minutos? ¿ Dura la ronda? Y estos otros componentes aquí, no te preocupes por ellos por ahora. Y vamos a trabajar con todos ellos cuando vamos a crear nuestro primer juego y segundo juego. Entonces, no nos preocupemos por ellos por ahora. Estamos, voy a explicar cada uno a medida que avanzamos. 17. Clase de Blueprint: Entonces, antes de crear nuestra primera clase de blueprint, permítanme decirles realmente la diferencia entre el Level Blueprint aquí y la diferencia entre esto y la clase Blueprint. O si creo un actor de blueprint, por ejemplo, solo uno rápido y hago doble clic. Y se puede ver también tengo esta gráfica igual que antes. Si hago clic de nuevo al, al Plano de Nivel, se puede ver estos son dos gráficos. Existen algunas ligeras diferencias entre el Plano de Nivel y el actor de blueprint. Por ejemplo, puedes ver que esta ventana no tiene el mismo aspecto que aquí. Pero, ¿cuál es la diferencia? ¿ Cuándo vamos a utilizar el Plano de Nivel y cuándo vamos a utilizar la clase de blueprint? Por lo que la principal diferencia entre ellos está dentro del Plano de Nivel. Este es el código que será específico a este nivel que estás dentro. Entonces si sigo adelante en los mapas y creo un nuevo nivel, este código, que está escrito aquí específicamente dentro de esta bola de velocidad de mapa, sólo será para la bola de velocidad de mapa de alto grado nuevo nivel e ir dentro de este nuevo nivel. Este código aquí no se llevará al siguiente, al siguiente nivel. Entonces podrías pensar, pero ¿por qué lo harías así? ¿ Por qué no, por qué no se acaba de escribir todo el código dentro de una clase de blueprint, que en realidad se llevará al siguiente nivel. Y la razón de ello, tal vez a veces se quiere código específico para unos niveles específicos. Por ejemplo, digamos que para este nivel específicamente llamado bola de velocidad de mapa, tal vez quieras que la velocidad sea cinco veces más rápida que el siguiente nivel. Para que lo que hace el balón cinco veces más rápido, codificarías dentro del Plano de Nivel porque es específico para este nivel, no se llevará a los siguientes niveles. Entonces así es como hay que pensar en ello. Si tienes algo muy específico para este nivel, eso solo debería estar en este nivel, puedes codificarlo dentro del Plano de Nivel. Si tienes código que quieres que te lleven a los siguientes niveles dentro del juego. Tienes que hacerlo como Clase de Planeprint. 18. Variables: Ahora antes de continuar y en realidad empezar el juego completamente, Hablemos realmente de algo llamado variables. Y esto es muy importante de entender porque es uno de los principales conceptos de programación. Y así sigamos adelante y pinchemos en Blueprints y abramos el Level Blueprint. Entonces aquí, podemos eliminar estos eventos. No los necesitamos ahora mismo. Y quiero explicarles cuáles son las variables. Y se puede ver aquí a la izquierda, tenemos algo llamado variables. Y qué variables son puedes imaginarlas como contenedores. Y pueden contener información. Por ejemplo, pueden contener información sobre qué nivel está tu personaje si estás jugando un juego de RPG. Pueden contener, si tu personaje está muerto o no. Pueden contener cuántas monedas has cargado unas cuantas monedas alusivas dentro de tu juego. Y también puede contener cuánto tiempo te queda de tu ronda si estás jugando un juego de disparos y así sucesivamente. Por lo que las variables son muy importantes de entender y son el concepto principal de o uno de los principales conceptos de programación. Son solo contenedores que contienen información para cualquier información que estés almacenando en ellos. Por lo que para crear una variable, simplemente puede hacer clic en este botón más. Y todo esto crea una variable y puedes darle un nombre. Y a la primera que podemos llamar monedas, y así sucesivamente. Ahora le has cambiado un nombre y puedes ver aquí a la derecha, también tenemos detalles. Podrías haber cambiado su nombre también aquí a la derecha. Y luego hay que elegir el tipo de variable. Puedes elegirlo desde aquí o puedes elegir el tipo de variable desde aquí. Y se puede ver que tenemos todo tipo de tipos de variables y voy a pasar por cada uno de ellos. Entonces por ejemplo, aquí al principio tenemos un booleano. Y lo booleano es sólo algo que es verdadero o falso. Por ejemplo, podríamos, las monedas no tendrían sentido para este booleano. Entonces cambiemos el nombre a éste está muerto, y normalmente escribo B para que Boolean comience con cada vez que tengo una variable booleana. Y puedo escribir es que ADH, ahora este booleano está almacenando si mi personaje está muerto o no. Entonces ahora dice, por favor, compile el blueprint antes de que pueda cambiar cualquier cosa en el valor por defecto. Ahora puedes hacer click, Compilar y Guardar. Y ya la puedes ver ahora aparece esta. Y un booleano es sólo un valor que es verdadero o falso. Entonces puedes ver aquí ahora es falso. Y si lo marco, es cierto. Eso era cierto o falso. Y puedes elegir lo que quieras hacer con esto. Entonces, por ejemplo, déjame escribir los eventos de inicio de juego. Ahora ten el evento begin play, y déjame escribir cadena de impresión para imprimir una cadena en la pantalla, o imprimir un texto en la pantalla. Y déjame arrastrar esta variable para que podamos hacer click y arrastrarla al Gráfico de Eventos. Y ahora puedes colocarlo. Se puede obtener la variable o podemos establecer la variable. Entonces en este momento solo quiero obtener la información de esta variable. Y en realidad puedo vincularlo a esta cuerda. Y dice, voy a convertir esta variable booleana, booleana en una cadena, lo que significa agregar texto que puedan mostrar a la pantalla. Entonces esto es lo que estoy haciendo por ti. Es, está cambiando el booleano en una cuerda y lo está imprimiendo a la pantalla. Por lo que ahora mismo cuando hago clic en Play, puedo ver que dice falso. Entonces ahora está diciendo falso. Y esto se debe a que esta variable es realmente falsa en este momento. Y FI boleto y click Play. Y va a decir verdad. Una variable booleana es y su fuente. Por ejemplo, si tienes un juego de disparos, puede almacenarlo si estás cuerdas es sujetando un arma en este momento o no, y puedes usar esa información a algo. Entonces el otro se llama a. el, los otros tres en realidad sólo quería hacer rápidamente es el entero. Y un entero es un valor numérico. Entonces por ejemplo, aquí tiene sentido llamarlo monedas porque las monedas son números. Y podemos compilar para ver el valor por defecto. Y esto es sólo un valor numérico. Por ejemplo, tengo 25 monedas. Entonces puedo tratar de conseguir esta variable y ponerla aquí abajo. Y si lo imprimo, dirá 25. Entonces el siguiente que quiero hacer es un flotador. Y un flotador es también un valor numérico. Pero tiene decimales. No se puede tener decimales con enteros, pero se puede tener decimales flotarán. Entonces si tienes un número que necesita decimales, no puedes usar un entero porque no tiene decimal. Entonces si escribo decimales aquí, no lo aceptará. Entonces aquí en el flotador, por ejemplo, queremos el peso del personaje. Y aquí, por ejemplo, la forma en que son 75.5 kilos. Y aquí tenemos la variable fluida. Por lo que es un valor numérico con decimales. Y un entero es un valor numérico sin decimales. Y podemos crear algo llamado byte. Este también es un valor numérico, pero el valor máximo para una mordida conmigo lo arrastra hacia fuera y solo puedo llamarlo estereotipos y te explicaré por qué. Yo sólo puedo arrastrarlo hacia fuera. Y por cierto, si quieres arrastrarlo hacia fuera y no hacer clic en Obtener y establecer, realidad puedes mantener presionado Control mientras arrastras hacia fuera. Esto lo obtendrá automáticamente. Y si sostienes Alt y lo sostienes y lo sueltas, lo configurará automáticamente. Entonces en lugar de dejarlo caer y hacer clic en obtener nuestro set, solo podemos mantener presionado Control para obtenerlo y mantener presionado Alt y arrastrar para configurarlo. Entonces aquí, este byte también es un valor numérico, pero éste solo puede almacenar hasta 255. Por lo que esto es muy importante saber. Esto. Por ejemplo, no ser utilizado para monedas. Imagina si tienes 2000 monedas, no puedes tener el valor de 2000 aquí porque el número máximo es 255. Entonces la forma en que usas la mordida es que solo te imaginas para un juego cuando estás creando un mecánico, entonces estás pensando, ¿este valor va a ser mayor que 255? De no ser así, probablemente pueda usar un bocado. Ejemplo de esto son los tipos de cabello. Entonces, por ejemplo, si estás en una pantalla de selección de personajes y vas a elegir un tipo de cabello. Probablemente no tengas más de 255 los tipos de cabello. Entonces por ejemplo, puedo seleccionar el tipo de cabello número 58 y así sucesivamente. Entonces este es el uso de bytes. Por lo que estas tres son variables numéricas. Ahora vamos a crear uno nuevo, y hablemos del texto, la cadena, voy a crear tres y en nombre. Entonces ahora tenemos una cadena de texto y nombre y estas son variables de texto. Entonces déjenme llamar a éste, por ejemplo, cuando mensaje y al otro puedo llamar nombre de Thurber. Y al tercero al que podemos llamar nombre de arma. Y les voy a explicar cuáles son cada uno de ellos. Voy a sostener Control y sólo arrastrarlos hacia fuera para que puedan verlos. Los tres. Entonces, ¿cuál es la diferencia entre estos? Estos son todos si compilo y hago clic en ellos. Ahora se puede ver realmente puedo poner en algún texto a los tres. Entonces, ¿cuál es la diferencia entre estas variables de tres textos? Cuándo debes usar esto o esto, o esto? Entonces lo más sencillo a pensar es el texto, que es el superior. Esta, esta es la variable de texto. El texto variable que eres capaz de traducir a otros idiomas. Entonces, por ejemplo, si quieres que tu juego sea en alemán, o quieres que tu juego sea en chino o japonés, o en cualquier idioma en el que quieras que esté. En realidad se pueden traducir las variables de texto. Esta es la única variable de texto que se puede traducir. Y si usas una variable de cadena, que también es un texto, no puedes traducirla a otros idiomas. Por lo que hay que tener en mente, si quieres traducir tu juego a otros idiomas, adelante y usa un texto. Si no tienes ningún plan de traducir nada, puedes usar una cadena en lugar de un texto. Y por ejemplo, éste puede decir, impresionante, has ganado. Y ahora si lo imprimo a esta pantalla aquí, si solo elimino esta y luego pongo el booleano aquí arriba. Si imprimo este mensaje cuando, puedo dar clic en Play y se puede decir también mu 1. De acuerdo, así que aquí puedes escribir un texto y en realidad puedes traducir a otros idiomas. Entonces la cadena aquí, no se puede traducir a otros idiomas, pero todavía se puede utilizar como texto, al igual que la variable de texto aquí. Entonces esto, y podría haber sabido que esta es la variable string. Y en este, la cadena de impresión es en realidad también una variable de cadena. Entonces si me conecté no cambiará nada. Al igual que por ejemplo, si lo hicimos con éste, convirtió el texto en una cadena. No lo hará con éste porque ya es una cuerda. lo que suelo usar esto siempre que necesito traducir mi juego, por ejemplo, y cola de granja, que está en Steam. Traduzco mi juego a 16 idiomas y tuve que agregar las cosas que quería traducir a una variable de texto de lo contrario esto no era posible. Y si no quieres traducir a nada, adelante y usa una cadena. Y entonces podrías preguntarte, ¿por qué no solo uso un texto para todo lo que tengo? ¿ Por qué debería molestarme en usar una cadena si solo puedo usar un texto? Y esto es por la memoria y la optimización. Y éste usa más memoria que toma variable. Obviamente no vas a sentir nada si solo tienes, digamos 100 de ellos. Pero si tienes miles y miles de textos, éste está tomando mucha más memoria que la cuerda. Así que adelante y usa la cadena siempre que puedas usar un texto. Y de nuevo, esto es para texto traducible, y esto no es para texto traducible. Ahora el último que tenemos es el nombre de tipo variable. Y aquí también puedes escribir algo. Por ejemplo, puedo escribir AK 47 y tomar muestras de C's go. Ahora tengo AK 47 y este es mi nombre de arma. Y mientras una variable de nombre lo es, se puede ver que también es un texto al igual que los demás, pero una variable con nombre. No se puede modificar el texto dentro de él. Entonces por ejemplo, el nombre del servidor, Digamos que creé un nombre de servidor y se llamaba Rus al servidor danés. Entonces digamos que creé este servidor dentro de óxido. Y lo que quiero decir con modificar es que puedes modificar cadena y puedes modificar variables de texto. Y lo que eso significa es, digamos, no quiero permitir la palabra danesa dentro de mi juego porque tal vez sea una mala palabra. No lo sé. Entonces quiero quitar este danés y lo que puedo hacer con esto es que en realidad puedo, en tiempo real durante el juego, puedo modificar el juego hasta que lo haga. Si encuentra el nombre o si encuentra la palabra policía danesa, lo quita del nombre del servidor antes de crearlo. Entonces cuando el jugador actualice al servidor, en realidad sólo va a decir Russ server 24, 7 abierto sin el danés. Entonces de esta manera, podemos realmente en tiempo real, modificar cada variable X durante el juego. A lo mejor quieres quitar esa última parte o quitar la primera parte y solo decir que tienes una. Y también puedes modificar la variable string, pero con la variable name, no tienes ninguna función para modificarlas. Entonces si tu nombre aquí es AK 47 va a ser AK 47 y no algo más que no puedas modificar, no puedes quitar el siete ni el a o lo que sea. Entonces la forma de usar el nombre es si tienes algo que es algo estático y no va a cambiar en absoluto, por ejemplo, un nombre de arma. Un nombre de arma, probablemente no traducirás a otros idiomas. Y probablemente no necesites modificarlo porque es un nombre. ¿ Por qué cambiarías un nombre? Y para eso, usaría la variable nombre. Ahora bien, no significa que tengas que usarlo para cada nombre. Por ejemplo, digamos que estás jugando un juego de RPG y el jugador elige un nombre, por ejemplo, quiere llamarse john. Y realmente no necesitas usar una variable de nombre para eso, porque digamos que se nombró a sí mismo john y algo malo después de ello. Y quieres modificarlo y quitarlo y asegurarte de que se haya ido. En realidad se puede usar una cadena para nombres, para nombres de caracteres, etc. Por lo que la variable de nombre, puedes pensar en ello como solo un ID que no cambiará en absoluto durante el juego. Y por supuesto, éste usa menos memoria que estos dos. Así que recuerda cuando estás programando, solo usa lo que tenga sentido para el escenario que estás creando. Entonces si estás creando algo que no necesita decimales, vas a crear un entero porque no tiene decimales. Si necesitas crear algo con decimales, usa una carga. Si necesitas crear algunos textos que traducirás más adelante en tu juego, adelante y crea una variable de texto y así sucesivamente, aunque las últimas variables que quiero tocar, déjame volver aquí y puedes ver algo llamado vector y crear uno más, un rotador. Y cuando creamos la última, una transformación. Entonces por ejemplo, el vector al que puedo llamar y el rotador puedo llamar rotación de piso. Y por cierto, no tienes que seguirme. Yo solo quiero mostrarles cuáles son cada uno de ellos antes de que sigamos adelante. Entonces tienes algún tipo de conocimiento básico de qué son las variables y qué tipos tenemos. Entonces al último que puedo llamar lord transform. Y puedo seguir adelante y sostener Control y arrastrar todos estos hacia fuera. Entonces estos son los últimos de los que quiero hablar. Y qué es un vector, es una variable que contiene tres números. Entonces por ejemplo, si minimizo esto y hago clic en la flora que creamos aquí en nuestro nivel, este piso, se puede ver aquí realmente contiene estos números. Y con un vector, en realidad podemos modificar estos tres números para que la ubicación del piso realmente podamos modificar con este vector. Por lo que tenemos algo llamado set actor location. Y no puedo arrastrarme de esto y hacerlo esa ubicación real. Y ahora mismo creó esta referencia porque en realidad he seleccionado esto. Y puedes ver aquí si escribo unos selectos, si estás dentro del Blueprint de Nivel, solo puedes hacerlo en el Level Blueprint si haces clic en algo y puedes hacer clic derecho y decir Crear una referencia a esto. Entonces esto es lo que hizo. Y se va a decir set en tu ubicación. Y en realidad puedo establecer esta ubicación a esta nueva ubicación para poder cambiar la ubicación del piso durante mi juego. Entonces cuando hago clic en Play, Digamos que quiero cambiar el piso a 10, 10, 10. Entonces cuando haga clic en Play, va a cambiar la ubicación floral a esta nueva ubicación. Por lo que esta es una variable vectorial y puedes usarla para cambiar la ubicación de cualquier cosa en el juego, lo que sea que tengas dentro de tu juego. Y lo mismo aquí. Esta no es la ubicación, esta es una variable de rotador. Y aquí puedes cambiar la rotación de la malla que tienes en el juego. Tan mismo principio, pero en lugar de establecer la ubicación del actor, estás configurando la rotación del actor. Y la última variable que quiero tocar es la variable transformada. Y la transformación es casi la misma que ésta, pero es todas combinadas. En realidad se puede cambiar la transformación de una malla. Y por ejemplo, esta es la transformación que se puede ver aquí. Cada una de estas mallas dentro de nuestro nivel, tienen una transformación y en realidad puede cambiar la transformación de algo. Y solo se puede cambiar la ubicación de la misma que la rotación y la escala. Y esto es útil también para engendrar personajes y nuestro juego. Entonces, por ejemplo, si queremos engendrar un personaje en el juego, tenemos que especificar, especificar qué ubicación quiero engendrar al personaje, qué es una rotación del personaje y cuál es la escala del personaje. De acuerdo, Entonces esto se puede usar con una transformación. Entonces estas son todas las variables que quería tocar. Y solo para que tengas la oportunidad de entender lo que estamos haciendo más adelante en el, en los videos y las lecciones. Y los vamos a utilizar un poco más durante la lección. Entonces no te preocupes por ello ahora mismo. Yo sólo quería explicar los conceptos básicos de cada uno. Y se puede ver durante el, durante la creación del juego, puede ver cómo vamos a utilizar estas variables para realmente crear el juego. Entonces sigamos adelante a la siguiente lección. 19. Crear la bola: Ahora que tenemos un entendimiento básico para la Clase Blueprint es que sigamos adelante y creemos el balón que vamos a usar dentro del juego. Por lo que dentro de la carpeta Blueprints, voy a hacer clic con el botón derecho y hacer clic en la clase LaPlante. Y voy a crear un estanque. Ahora el balón necesita recibir entrada. Tenemos que movernos con el teclado. Y significa que necesitamos poseerlo y moverlo. Entonces tenemos que crearlo como sobre y no como actor. Bueno, pinchando sobre y lo que normalmente llamo planos es BP como prefijo. Y entonces lo llamaré bola. Entonces esta es la clase pon que creamos. Y podemos hacer doble clic en él para ingresar a esta clase de puntos. Y puedes ver aquí ahora estás dentro de un mirador. Tenemos el mirador, tenemos el guión de construcción. Por lo que el script de construcción es un script que le dirá a la, esta clase de blueprint específica qué hacer al instante cuando se generó justo antes de que haga todo este código por aquí. No obstante, este es un código muy importante que debe ejecutarse justo antes de que hagas otra cosa. Tan solo para evitar los bichos y el juego a veces. Y dentro del Buford, ahora podemos sumar este balón que tenemos. Lo que se ve aquí es un componente raíz. Entonces este es el componente raíz. Y de nuevo tenemos los predeterminados de clase y una configuración de clase y los predeterminados de clase y podemos editar algunos ajustes, pero no nos preocupemos por eso por ahora. Lo que quieres hacer es agregar una esfera ya que eso actuará como nuestro balón. Por lo que aquí arriba en el clic en el botón Agregar, se puede hacer clic en esfera o en una búsqueda de esfera más bien. Y haciendo click en esta forma, esfera. Por lo que esta forma es la misma forma que la cuadrícula sube aquí dentro de formas y haciendo clic en esfera. Pero ahora hemos creado la forma dentro de la clase de blueprint. Y ahora se puede ver que esta es la esfera que hemos creado. Y puedes moverte dentro del Gráfico de eventos o dentro de la ventana gráfica, igual que lo hiciste en esta vista puertos. Entonces esta es la esfera que hemos creado. Y esta clase de blueprint consta de todos estos diferentes componentes. Y puede ver todos estos componentes. Podemos agregar cualquier cosa que queramos. Entonces en este momento sólo necesitamos la esfera. Y puedes hacer clic con el botón derecho en esto y hacer clic en Cambiar nombre, o puedes hacer clic en él. Normalmente uso este atajo, haciendo clic en F2 en el teclado. Entonces haciendo clic en F2 y llámalo, llamémoslo bola. Entonces ahora tenemos este balón. Y lo siguiente que queremos agregar es una cámara, porque queremos ver este balón desde una, alguna especie de vista superior. Y por lo tanto tenemos que ir dentro de add y podemos añadir una cámara. Entonces si tu búsqueda de cámara, pero antes de añadir una cámara, hay algo llamado un resorte encendido. Por lo que agregando un brazo de resorte. Y luego quiero agregar una cámara así como esta. Y se puede ver tenemos el balón y dentro del balón tenemos el brazo de resorte. Se puede ver si se mueve este resorte hasta las raíces y se puede adjuntar a la raíz. Ahora está fuera de este tazón. No está apegado a ella. Pero quería ponerlo dentro de la pelota igual que antes. Entonces en realidad es un niño de esto y la cámara está dentro del umami o su primavera, um, y vamos a derribar es como un boom. Por lo que puedes ver aquí si haces click en el brazo de resorte, tienes diferentes detalles que puedes editar para ello. Y por ejemplo, la longitud del brazo objetivo se puede aumentar. Entonces esto es lo lejos que estás del tazón y especie del juego. Entonces es igual que una floración de micrófono. Si has visto uno de esos. Cuando ves a periodistas dar vueltas y, o películas y sostienen este auge que sostiene el micrófono por encima de los personajes. Si bien esto es técnicamente lo que es esto. Y yo quiero hacer este 900. Entonces hagámoslo 900. Este es el número específico para el juego que queremos usar. Y además acabo de probar estos números para que no lo supiera desde el principio. Entonces cuando hago un juego, no tengo ni idea de lo que debería ser esto. Acabo de ponerlo a un número específico y juego el juego y veo si esto es lo que quiero. Si no, lo haré más lejos y así sucesivamente. Entonces primer juego, Vamos a usar 900. Y queremos ver este juego desde una vista superior. Por lo que pinchando en la E para rotar. Y recuerda que has hecho clic en el brazo de resorte y no en la cámara. Entonces hay que rotarlo aquí arriba en el eje y. Y vamos a rotarlo. Usemos 40 grados para este juego. Por lo que ahora vamos a ver el juego desde este punto de vista. Entonces esto es todo lo que teníamos que hacer al balón. Y lo último, cambiemos realmente el aspecto del balón. Por lo que al hacer clic en el balón, se puede cambiar el material. Y quiero encontrar. Entonces si vas dentro de la carpeta super grid y dando click en el nivel tutorial, buscando instancias de material, quiero usar este color amarillo. Entonces si volvemos al balón de BP, esto de aquí, solo lo minimizaré un poco. Y voy abajo en los detalles y aquí el material, puedes arrastrar este material encima de éste. Hemos cambiado el aspecto de la misma. También puedes buscarlo si haces clic en éste aquí y sabes el nombre de la misma, puedes buscarlo. Entonces ahora esta bóveda se ve así y tenemos la cámara, que es la que hemos puesto encima de ella. Entonces esto es todo lo que teníamos que hacer al tazón. Podemos compilar y hacer click, Guardar y guardar todo. Y puedes ver aquí si lo cierro ahora, y vuelvo a la carpeta de Planos, estamos leyendo el balón. En realidad puedo arrastrar y soltar esta bola en cualquier parte dentro del nivel. Y se puede ver aquí este es nuestro balón. Y también te puedes ver, en realidad tenemos una cámara. Es así como ves el balón. Entonces si haces clic con el botón derecho y haces clic en piloto y el balón, lo puedes ver desde la cámara que has puesto en la pelota, y así es como lo estás viendo. Por lo que si haces click f 11, puedes ver esta es la vista que vas a conseguir. Si no estás satisfecho, puedes seguir adelante y dar click en el resorte y puedes cambiar la longitud a otra cosa. Y ya puedes ver ahora estamos muy cerca de ella. Este es el look, quieres ir por él, pero vamos a cambiarlo de nuevo a un 900. Y yo voy a, voy a presionar este botón para dejar de pilotar el balón. Entonces esto es de lo que hablé en las últimas lecciones. Hablé de esas clases de blueprint, puedes llevarlas a los siguientes niveles. Entonces este, cuando cambiamos de nivel o si cambiamos de nivel, en realidad podemos reutilizar el código que tenemos para este bowl. Y ahora se puede ver que está dentro del suelo, como éste. Yo lo engendré, pero no te preocupes por ello por ahora. Nosotros lo vamos a engendrar más tarde. Pero esto es todo lo que teníamos que hacer por el balón. Vamos a hacer clic en Guardar todo, y pasemos a la siguiente lección. 20. Modo de juego y controlador y jugador: Vamos ahora a crear el modo de juego y el controlador de jugador. Por lo que en lugar de los planos, quiero hacer clic derecho y hacer clic en la Clase de Blueprint. Y primero creemos el modo de juego. Por lo que al hacer clic en el modo de juego, no importa qué A crear. En primer lugar. Agarremos el modo de juego. Y para los modos de juego, me gusta llamarlos GM por un modo de juego. Y luego me gusta llamarlo el nombre del juego, así que bola de velocidad. Y volvamos a hacer clic derecho. Luke mes plus a menos que cree el controlador de jugador. Entonces control de flujo, me gusta llamar a PC para controlador de jugador. Y también llamándolo por el nombre del juego que tiene gente. Y voy a dar click en Archivo y seguro todo. Ahora tenemos que hacer que los juegos por defecto Modo de Juego como este, este personalizado que acabamos de hacer, porque por defecto tenemos un Modo de Juego predeterminado. Y ahora hemos creado aquí nuestro modo de juego personalizado. Por lo que hay que cambiar el modo de juego para el juego. Por lo que haciendo clic en Editar y yendo a la configuración del proyecto. Dentro de aquí tenemos algo llamado mapas y modos. Dentro de los mapas y modos se puede ver el juego está utilizando actualmente este modo de juego predeterminado, que de nuevo es base de modo. ¿ Qué es lo que realmente queremos cambiarlo a nuestro Modo de Juego Personalizado que acabamos de hacer. Y dentro del Modo de Juego Personalizado vamos a codificar el juego. Por lo que pinchando bajo bola de velocidad GM, que es el Modo de Juego Personalizado que hicimos. Y puedes ver que aquí hay una flecha en el modo de juego seleccionado en el que puedes hacer clic. Y luego puedes ver estas diferentes clases por defecto para su modo de juego. Acabamos de seleccionar la clase de puntos por defecto que tenemos, queremos para nuestro juego es el tazón que hicimos. Entonces en lugar de hacer un estanque por defecto, vamos a elegir pelota BP. Entonces este es el pon que vamos a usar. Y para el controlador de jugador, también acabamos de hacer, hizo una personalizada llamada bola de velocidad de PC. Y así en lugar de usar el controlador de jugador predeterminado, queremos usar nuestro propio controlador de jugador llamado bola de velocidad de PC. Esto es todo lo que tenías que hacer dentro de aquí. Además, si quieres cambiar el mapa predeterminado con el que empieza el editor. Porque cada vez que cierres este proyecto y lo vuelves a abrir, se va a abrir y vaciar el nivel. Y esta es la plantilla por defecto. Pero puedes cambiar el editor Startup Map, y puedes cambiar un mapa de bola de velocidad turística, así como el juego Default Map. Puedes cambiarlo a tu mapa de bola de velocidad. Entonces así es como lo haces. Y vamos a cerrarlo otra vez. Y para asegurarnos de que todo es correcto, Vamos a hacer doble clic en este modo de juego. Y aquí a la derecha, que comprobar si en realidad está configurado en bola de velocidad de PC para la clase de controlador. Y si en realidad está configurado para ser personas para el cristal puntual predeterminado y ya está haciendo eso. Entonces eso se ve todo bien. Voy a dar clic en Componer y Guardar. Componer y guardar en el balón de BP es muy importante, importante que compiles y guardes. Y también un truco muy práctico. Puedes hacer click en estos tres puntos al lado de la compilación. Vaya a la compilación Guardar en y haga clic solo sin éxito. Entonces ahora cuando compilas y es exitoso, realmente no tienes que hacer clic en Guardar. Esto es, esto te ahorra un clic. Por lo que cerrándolo. Y lo último que queremos hacer para que funcione. Por lo que específicamente para este nivel acabamos de hacer. Por lo que la bola de velocidad del mapa en la que estamos actualmente, hay que ir a la configuración del Mundo. Y dentro de aquí, hay algo llamado anulación del modo de juego. Y quiero usar este modo de juego personalizado que acabamos de hacer. Por lo que el cliente y modo funcionarán. Y puedes hacer click en esta flecha para asegurarnos de que tenemos la bola de velocidad PCS como controlador de flujo y la bola BP como predeterminada o predeterminada sobre clase. Y esto es todo lo que teníamos que hacer para el Modo Juego y declarar controlador por ahora. Entonces pasemos a la siguiente lección. 21. Agrega movimiento de bola parte 1: Añadamos ahora los movimientos de la pelota para que podamos movernos con el balón. Tan doble clic en este controlador de jugador, porque quiero sumar todo el movimiento a través del controlador de jugador. Lo que puedes hacer también es simplemente crear el movimiento dentro de este tazón específicamente. Pero me gusta hacer todo el movimiento dentro del controlador. Entonces esto es opcional, y depende del programador que seas y a qué, a qué estás acostumbrado. Y lo que me gusta hacer es simplemente crearlo a través de su controlador de jugador. Entonces voy a hacer doble clic en el controlador y vamos a añadir el movimiento dentro de aquí. Por lo que no vamos a hacer nada dentro de una ventana gráfica e ir directamente al Gráfico de Eventos. Y por ahora sólo podemos eliminar estos eventos. Entonces da click en Eliminar. Siempre puedes crearlos dentro de este evento Y visor de funciones. Por lo que para empezar, con el fin de sumar algún movimiento. Por ejemplo, si avanzamos, puedes escribir, puedes hacer clic derecho y escribir tecla W. Y puedes ver aquí tenemos algo llamado la tecla W en el teclado. Se trata de eventos de teclado. Por lo que estos son eventos para hacer click en w. y por cierto, los eventos lo harán, se mostrarán como rojos, al igual que cuando vimos la jugada de inicio. Entonces, ¿qué pasa cuando comienzas a jugar el juego? ¿Cuándo empiezas a jugar? Este código será ejecutado. Y se puede ver que todos los eventos son de color rojo. Entonces si lo eres, si ves un nodo que es rojo, esto significa que esto es un, un evento. Entonces por ejemplo, un evento, si hago clic en W en el teclado, este es un evento. Entonces, cuando hago clic en WW, algo debería pasar. Por ejemplo, quiero imprimir una cadena y saludar. Entonces si compilo y hago clic en Play, puedes ver aquí cuando hago click w, dice Hola cada vez que hago clic en WW. Entonces este es un evento, y ahora puedes hacerlo de esta manera. puedas hacerlo para que puedas hacerlo con el movimiento escribiendo la tecla del teclado dentro del controlador del jugador. Pero hay algo que por encima de esto. Y la razón por la que no queremos hacerlo de esta manera. Por ejemplo, te puedes imaginar en el juego, si tienes tu menú de ajustes y dentro del menú de ajustes, el jugador realmente quiere cambiar esta tecla. El jugador no quiere moverse con la W, el jugador quiere moverse con la flecha arriba para que el jugador quiera usar la flecha arriba en el teclado y no la WWE. Ahora el jugador ya no puede cambiar esto dentro del menú de ajustes porque tienes codificada la tecla W, siempre va a usar la tecla W si lo haces de esa manera. Y el jugador no puede cambiarlo a través del menú de ajustes porque has codificado duro el valor. Y la forma en que podemos evitar esto. Entonces, eliminemos este único compuesto guardar. Pasemos a Editar. Y dentro de Project Settings, tenemos algo llamado input, y queremos agregar las claves dentro de aquí. En lugar de hacer clic en la entrada, tenemos algo llamado Action Mapping y mapeo de acceso la acción, se puede pensar en ello como un solo clic. Entonces por ejemplo, si quiero dar clic en E para abrir una puerta, si hago clic son para recargar o si hago clic en G para soltar el arma, estos son todos mapeo de acción. Por lo que al hacer clic en una clave, el exceso de mapeo es el movimiento. Entonces por ejemplo, hacer clic en W para avanzar y hacer clic en la flecha arriba o hacer clic en el joystick, en el mando Xbox y así sucesivamente. Para moverse, estos no son los mapeos de acceso. Entonces ya que queremos hacer el movimiento, Vamos a seguir adelante y hacer un mapeo de ejes. Haga clic en el botón más, y haga clic en la flecha. Y para este lo vamos a llamar movido hacia adelante. Y por cierto, avanzan, en realidad vamos a avanzar y retroceder. Entonces esto sólo soy yo. A mí me gusta llamarlo avanzar. También puedes llamarlo mover, avanzar y retroceder con una R en su lugar. Y eso depende de ti. No quiero que el código sea demasiado largo. Yo sólo lo llamo avanzar y esto es a lo que estoy acostumbrado. Por lo que aquí puedes elegir con qué clave quieres seguir adelante. Para que puedas escribir la tecla W y puedes ver aquí tienes la W. Así que ahora puedo seguir adelante con esto. Y también queremos avanzar hacia atrás. Por lo que al hacer clic en esto, puedo buscar la tecla S. Pero una forma más fresca de hacerlo, una forma muy rápida de hacerlo es solo hacer clic en este botón. Dice seleccionar un valor clave. Por lo que pinchando sobre él. Y ahora puedes hacer clic en la tecla S del teclado y se lo asignará automáticamente. Por lo que la escala lejos es menos uno porque se puede imaginar como un gráfico. Esto es hacia adelante. En el eje, es como uno. Y cuando vas hacia atrás es menos 1. Y déjame crear otro mapeo de ejes. Y ahora queremos trasladarnos a los sitios. Entonces voy a llamarlo derechos MOOC. Pero técnicamente se mueve a derecha e izquierda. Por lo que también podemos llamarlo moverse horizontalmente o lo que sea. Sólo lo estoy llamando movimiento, ¿verdad? Esto es lo que tiene sentido para mí. Y dando click en D aquí, dando click en este botón, dando click en D. Y vamos a añadir un nuevo botón, dando click en un y este, y este es minús1, por lo que cada uno en diferentes direcciones. De acuerdo, entonces ahora tenemos estas llaves y vamos a seguir adelante y cerrarla. Podemos hacer doble clic en el controlador del jugador otra vez. Y dentro de aquí en realidad ahora podemos encontrar los eventos que acabamos de hacer. Entonces calificando, avanza. Se puede ver algo llamado los eventos del eje. Tenemos un evento llamado avanzar. Por lo que pinchando sobre él. Este es el evento que acabamos de hacer, o puedes hacer clic en él y W y S. Así que esta es la forma genial de hacerlo. En lugar de escribir la tecla W y codificar duro el código. De esta manera, los jugadores no podrán cambiar esto dentro del menú de ajustes. Es mejor hacerlo de esta manera entonces el jugador puede elegir lo que quiere cambiar para avanzar. siempre puedan seguir adelante y cambiar la clave. En lugar de hacer una W que pueda maquillarla flecha, por ejemplo. Y sigamos adelante y sumamos nuestro otro evento llamado derechos morales. Entonces este es el evento y tenemos algo llamado torque. Entonces déjame tratar de arrastrar hacia fuera de esta pluma de ejecución y puedes buscar TOR, TOR q ui y quitar esta sensible al contexto para verlo. Por lo que puedes ver aquí en torque en grados y radianes, vamos a elegir el llamado add torque en radianes. Ahora, el torque es algún tipo de física, y esto es lo que se utiliza para conducir nuestro tazón. Por lo que se trata de algunos bosques que estamos agregando al tazón para moverlo. Y te mostraré cómo funciona esto una vez que tengamos esto adelante. Pero antes de que podamos hacer que funcione, tenemos que seleccionar un objetivo. Tenemos que, tenemos el objetivo es el balón. Por lo que queremos sumar esta física, esta fuerza que se moverá. El artículo que queremos. Este es el balón que queremos mover, por lo que este será el objetivo. Pero antes de que podamos continuar, tengo que enseñarles sobre la comunicación de Blueprint porque el objetivo aquí tiene que ser el balón, porque queremos agregar esta física a la bombilla para que podamos moverla. Y el balón es otra clase de Blueprint. Entonces, ¿cómo vamos? ¿ Cómo podemos acceder a esta malla de bola para ser utilizada dentro de aquí? Cómo estamos, cómo somos capaces de conectar esta malla de bola desde esta bola de BP dentro de este controlador de flujo y conectándolo a este objetivo. Por lo que hay que aprender sobre la comunicación de Blueprint antes de que esto sea posible. Entonces sigamos adelante Antes de continuar con la siguiente lección. 22. Comunicación en Blueprint - Casting: Ahora es el momento de conocer la comunicación de Blueprint. Entonces el problema que estamos enfrentando ahora mismo cuando estamos haciendo el movimiento es que queremos acceder a este tazón BB y queremos usar esta malla de bola porque queremos conectarla al objetivo, porque queremos sumar a este audaz específicamente para que se mueva. Por lo que el objetivo necesita ser el tazón. Pero, ¿cómo accedemos a esta bola dentro de bola de BP para usarla dentro del controlador? Y esto es lo que es la comunicación de Blueprint. Tienes que comunicarte entre dos planos diferentes y usar información de ese plano y usarla dentro de otro plano, que está aquí en las plebes al hombro. Entonces por ejemplo, ahora estamos dentro del controlador y queremos usar la información dentro del bowl BP, que en realidad es un peón. Y recuerda, esa clase de bolas que hicimos es en realidad una clase de peones. Por lo que se puede ver la cláusula de los padres aquí a la parte superior derecha. Es un peón que creamos. Por lo que aquí dentro del controlador del jugador lag y haga clic derecho y diga se pone capa encima. Por lo que puedes ver aquí se pone caliente. No queremos conseguir personaje de jugador porque recuerden que no es una clase de personaje que lo hicimos como personaje de punto. Por lo que haciendo clic en buen jugador sobre. Y desde aquí podemos ver los dos pasados, tenemos algo llamado casting. Entonces lo que hace el casting es que queremos usar información de un plano específico. Y en este caso, el pon que queremos usar es nuestro porno personalizado, que es bola de BP. Por lo que podemos decir elenco al balón BP. Y puedes ver aquí seleccionando costos a balón BP. Y ahora podemos conectar el pin de ejecución por lo que está funcionando. De acuerdo, entonces lo que hemos hecho aquí es que tenemos la clase de peón de jugador por defecto. Y entonces estamos echando a esta Clase de Empeño específica que hicimos porque ésta es a la que queremos acceder. Y ahora, aquí, ya puedes acceder a toda la información que se encuentra dentro de las bolas de BP. Entonces por ejemplo, si quiero la malla de bola o si quiero un evento quise decir aquí o algún código quiero decir, o si quería un brazo de resorte y así sucesivamente, puedo acceder a todo desde este pin de aquí. Entonces si bajo aquí ahora y escribo balón, y ya puedes ver que dice conseguir bola. Entonces ahora vas a conseguir esta malla, que es ésta. Por lo que ahora consiguió esta malla llamada bola. Y ahora esta malla ahora puedes conectarte a este objetivo. Por lo que esto ahora funcionará en realidad. Por lo que ahora le has costado a este tazón de BP y ahora lo estás conectando. Entonces así es como tu costo, y así es como puedes comunicarte. Tienes que mirar lo que es la clase de padres. Entonces si voy al baile del BPI, puedo ver que la clase de padres es porno. Entonces primero tengo que conseguir el porno del jugador. Y a partir de ahí puedo echar a la clase específica que quiero acceder a este caso. Yo quiero autos para balón BP. Y cuando lo haya hecho, ahora puedo acceder a toda la información dentro del balón BP. Entonces esto es lo que es el casting, y lo puedes hacer con otros planos. Entonces, por ejemplo, si quisiera acceder a este controlador Blair dentro de bola de BP, así que déjame entrar de pelota de BP solo para la práctica, no tienes que seguir por aquí. Yo sólo quiero mostrarte. Entonces dentro del balón BP, digamos que quería acceder a esto ya que quería acceder a este controlador de jugador, y quiero usar algún código dentro de aquí. Entonces lo que puedo hacer es dentro de bola de BP, puedo hacer clic derecho y decir Obtener controlador de capa. Porque recuerda, la clase padre para el controlador del jugador es el controlador del jugador. Por lo que consigo el controlador de jugador y luego puedo decir elenco también. Y puedes elegir la bola de velocidad de PC, que es el controlador personalizado que estás usando. Y puedes, puedes agregarla a un evento que quieras. Y ahora puedes usar cualquier información que quieras dentro de este controlador de bloque. De acuerdo, así que sigamos adelante y eliminemos. Yo sólo voy a eliminar todos estos eventos dentro del balón BP. No los necesitamos. Y así ahora es así como se elabora y accede a la información. Y así es como te comunicas entre planos usando casting. Ahora, el único problema con el casting es que si tienes demasiadas cosas, también estás lanzando. Entonces digamos que estás trabajando en un proyecto más grande y estás usando casting todo el tiempo. Estás lanzando a esto y luego estás causando a ese plano. Y luego por ahí luego de nuevo lanzando a algún otro plano. Y esto va a crear referencias duras. Y esto va a ralentizar tu juego porque costear creará referencias de Hart. Y lo que eso hace es que tienes que cargar todos estos costos antes de que tu juego continúe. Por lo que a veces veo a la gente teniendo un menú, menú principal cuando iniciaste el juego, tardará siete segundos o 10 segundos en el juego para el inicio. Y esto puede deberse al casting. Si lanzas, digamos que estás lanzando tu costando diez veces dos cosas. Y de nuevo se sabe que el código se está haciendo bastante largo. Y tú estás lanzando y maldiciendo y casting. Y va a hacer referencias duras y va a aumentar mucho el tiempo de carga. Entonces lo que quiero enseñarles en la siguiente lección, que utilizo todo el tiempo es Blueprint Interfaces, lo que evitará el casting. Por lo que el casting no está mal. No, no tienes que malinterpretar lo que estoy viendo. El casting es bueno, pero sólo si lo haces un par de tiempo. Entonces no lo hagas, no exageres y elabora todo el tiempo, esto no va a ser bueno. Pero si tienes una situación en la que sólo tienes que lanzar una o dos veces, eso está todo bien. No afectará nada y probablemente deberías hacerlo. Pero en la siguiente lección, te enseñaré sobre Interfaces de Blueprint. Y con eso, esto es lo que uso todo el tiempo. Podemos evitar crear las referencias de altura, lo cual se hace creando casting y se llaman también será mucho más limpio. Entonces sigamos adelante en la siguiente lección y aprendamos sobre Interfaces de Blueprint. 23. Comunicación en Blueprint: interfaces: En la última lección hablamos de casting. Por lo que ahora aprendamos sobre la comunicación de Blueprint. Y esto es lo que uso todo el tiempo en lugar de casting y solo se echan muy, muy pocas veces. Entonces vamos a cerrar esto y dentro de aquí, podemos crear una nueva carpeta. Dentro de los planos, crea una nueva carpeta y llámala interfaces. Sólo para que estemos un poco más estructurados. Y dentro de la carpeta de interfaces, puedes hacer clic derecho. Y bajo Planes se puede ver algo llamado Interfaz de Blueprint. Entonces sigamos adelante y creémoslo y luego te explicaré de qué se trata. Y para las interfaces se suelen llamar int en el principio. Y para este, queremos hacerlo específicamente para balón BP. Entonces sólo voy a llamarlo la gente. Entonces cuáles son las Interfaces de Blueprint, puedes crear funciones dentro de aquí y puedes evitar el casting. Entonces tomemos un ejemplo, Yana ejemplo, y echemos un vistazo a qué, cómo podemos usar esto. Por lo que para el balón BP, queremos crear una nueva función. Por lo que aquí puedes crear todas las funciones que quieras crear dentro de BP bowl. Entonces voy a crear una nueva función y llamarla get's ball ref. Entonces voy a conseguir la referencia del balón. Entonces esto es lo que hicimos aquí dentro del controlador cuando hicimos casting, obtuvimos la referencia a este balón. Pero ahora queremos hacerlo a través de la interfaz. Y voy a llamar a esta función conseguir Bellerophon. Y ahora se puede agregar una entrada o una salida, y estas son variables. Por lo que voy a dar click en Salida y dar click en este plus. Ahora puedes ver aquí, puedes elegir qué tipo de variable quieres agregar, y también puedes llamarla algo. Entonces para esta variable, en realidad quiero una referencia a este tazón. Entonces voy a escribir bola de VP y encontrar esta bola de BP que creé y crédito como referencia de objeto. Voy a cambiarle el nombre a tazón. Entonces ahora tenemos esta función. ¿ Y qué podemos hacer con esta función? Por lo que seguiré adelante y abriré polígono bp. Y para usar una Interfaz de Blueprint. Esto es muy importante. En primer lugar, recuerda compilar y guardar dentro de aquí. Y lo siguiente que quieres hacer es dentro de la configuración de clase en el bowl de BP, porque aquí es donde queremos usarlo. Aquí. Hay algo llamado interfaces en la Configuración de clase. Y quieres agregar la interfaz que acabas de hacer. Por lo que al hacer clic en Agregar y buscar la interfaz y hacer clic en ella. Y solo date cuenta aquí que aparecerá una pestaña de interfaces cuando seleccioné. Y se puede ver esto aparece así Compila y Guardar. Ahora puedes hacer doble clic en esto, obtener bola ref. Y ya puedes ver las funciones que creamos. No podemos editar la función aquí. Se puede ver que traté de arrastrar y jalar aquí. No puedo hacer nada. Aquí en este visor de interfaz, sólo podemos crear funciones. Y estas funciones que creamos, podemos usar dentro de las diferentes clases de blueprint dependiendo de si lo hemos agregado a la clase o no. Por lo que aquí hemos agregado el buen balón ref, y si haces doble clic en él para que puedas acceder a la función. Y ahora puedo arrastrarme fuera de aquí y maneja yo mismo. Y lo que esto hace es preguntar qué, ¿ cuál es la referencia de este tazón? Por lo que agregamos, recuerden una variable llamada bola BP. Y aquí sólo estamos escribiendo esta referencia. La pelota de Bp es en realidad auto porque estamos dentro del béisbol. Por lo que esta referencia es yo mismo. Esta es esta clase de blueprint. Así es como lo haces. Y ahora realmente podemos comunicarnos con este plano. Entonces volvamos al controlador de jugador y te mostraré. Entonces lo mismo que hicimos aquí. Se puede decir que se pone capa encima. Y a partir de aquí, en lugar de hacer moldes a balón BP, ahora se puede decir consigue todo ref. Esta es la función que creamos con la interfaz. Y recuerda siempre usar el mensaje que dice aquí al final, porque esto es de la Interfaz de Blueprint. Ahora bien, esto está funcionando exactamente como el casting. Ahora tenemos una función y en lugar de casting y creado, creando una referencia dura, en realidad ahora podemos simplemente usar esta función de Interfaz de Blueprint que hemos hecho. Y aquí ya podemos acceder al balón igual que hicimos con el casting. Para que puedas escribir bola y las variables están todo el camino hasta el final. O se puede escribir el VaR, que eran cuatro variables. Y aparecerá trabajando en balón. Y entonces podemos agregarla al par, igual que lo que hicimos aquí le estaría costando. Por cierto, puedes mantener Alt y hacer clic en el objetivo aquí o hacer clic en cualquier nodo aquí y puedes eliminar los enlaces. Entonces así es como se utiliza la comunicación Blueprint. Entonces ahora lo que ya no estamos lanzando, estamos usando Blueprint Interfaces, y esto es lo que prefiero usar solo para tener también un código mucho más limpio. Entonces solo le daré un rápido recorrido por solo para que quede claro o estoy seguro de que estás entendiendo el concepto. Y Blueprint y superficies suelen ser las cosas más difíciles para el principiante entender porque estamos yendo de ida y vuelta y podría llegar a ser un poco confuso. Así que rápidamente déjame volver. Creamos una Interfaz de Blueprint haciendo clic derecho, creando la interfaz. Dentro de la interfaz. Al igual que antes de usar la interfaz que tienes en mente, ¿qué quieres hacer con esta interfaz? En mi mente, quiero tener una referencia a esta bola de BP porque quiero usar esta malla de pared dentro de mi controlador. Por lo que quiero una referencia a mi balón BP. Por lo que creo una interfaz y la llamo bola BP. Y dentro de aquí, dentro de la interfaz, creo una función llamada get the ball reference. Y no importa cómo lo llames. Esto es, esto es lo que tiene sentido para mí. Y luego haces una salida de una variable y eliges esta clase de blueprint a la que quieres referirte. Por lo que quiero referirme a este balón de BP. Y entonces lo que quieres hacer es recordar compilar y guardar y volver con la gente. Y dentro de aquí, recuerda entrar en la Configuración de Clase en la interfaz de bola BP. Y entonces esto aparece ahora podemos acceder a la función. Y hay que definir, a pesar de que escribiste que la variable es ser personas. Tienes que definir al motor lo que quieres decir con esto. Por lo que dentro de esta función, lo arrastras hacia fuera y escribes auto. Y esto significa que esta variable aquí es en realidad una referencia al auto, que es la pelota de BP. Por lo que se acaba de probar, es lo mismo que escribir. Esta referencia es la bola P, que en realidad es la Clase de Blueprint en la que nos encontramos actualmente. Ahora, cuando hubieras hecho esto, puedes volver al controlador y conseguir la clase Upon. Recuerda, tienes que conseguir la clase de padres, que es Po1. Y ya puedes ver get ball ref. Y al hacerlo, ahora puedes usar esta bola variable, que hiciste, lo que hiciste aquí. Y a partir de esto puedes arrastrar y acceder a cualquier cosa que quieras dentro de la gente. Espero que esto haya sido comprensible y no demasiado difícil. Y lo vamos a utilizar mucho a lo largo de la programación del juego. Entonces si no lo has entendido al 100%, vamos a conseguir más ejemplos de esto. Y si tú, si necesitas ayuda con alguna de las cosas que veo en mis clases o en mis cursos. Vamos a seguir adelante y conectarnos al servidor de Discord o escríbenos en las redes sociales. Y estoy dispuesto a ayudarte con cualquier cosa que necesites. Pero ahora que sabemos un poco de comunicación de Blueprint, en realidad ahora podemos hacer la parte media del movimiento. Entonces sigamos adelante en la siguiente lección y terminemos el movimiento del tazón. 24. Agrega movimiento de bola parte 2: Ahora que hemos aprendido sobre la comunicación de Blueprint, en realidad sigamos adelante y terminemos más bien el movimiento del jugador o el movimiento del bowl. Entonces déjenme borrar este casting ahora que hemos creado esta Interfaz de Blueprint. Y déjame conectarlo con el evento. Y déjame conectar el balón que llegamos al objetivo de este par. Entonces ahora lo que vamos a hacer es si hacemos click w O damos click pedido para moverse hacia atrás, se va a llevar este balón y conectado a este objetivo. Se va a añadir esta física a este balón. Entonces se va a mover el balón con esta física. Y necesitamos compilar y guardar solo para eliminar este error. Y tenemos que decirle el par que es, que necesita aplicar porque ahora mismo está aplicando ceros 0000 fuerza. Entonces ahora mismo cuando haga clic en W, No se va a mover en absoluto porque no hay fuerza aplicada en absoluto. Pero necesito aplicar algo de fuerza para que funcione realmente. Y la forma en que hacemos esto es en realidad conectando este valor de eje. Porque si hago click en W, puedo intentar escribir hojas impresas para que veas lo que esto está haciendo en realidad. Y déjenme simplemente conectarme de esta manera. Entonces está pasando por el código. Voy a hacer click play. Y cuando hago clic en w, Puedes verlo imprime. Entonces es cuando lo muevo, va a imprimir los valores. Y también puedo simplemente, en lugar de imprimir hola, en realidad puedo conectar esto a la cadena aquí. Y va a convertir esta variable flotante en una variable de cadena para que pueda imprimirla en la pantalla. Y déjame en realidad simplemente moverme para que podamos ver lo que está pasando. Se ve muy Guam Girard ahora. Entonces así como esto, yo soy, puedo quitar esto de la duración. Ahora mismo, se va a imprimir el valor de esto a la pantalla. Entonces si hago clic en Play y en realidad w, Puedes ver que se pone uno cada vez que hago clic en W. Y si hago clic en S, se pone menos 1. Entonces este es el valor x. Y tenemos que aplicar esto a la, déjame volver. Sé que son sobre este error. Mostraré más tarde por qué, por qué conseguimos esto. Y volvamos al controlador del jugador. En este momento conectemos este valor de eje al par. Esto es lo que queremos aplicar. Déjame conectarlo de nuevo. ¿ Y qué queremos hacer? Entonces si volvemos aquí y colocamos el balón, así que dentro de planos, hemos colocado el tazón. Aquí se puede ver, cuando se coloca el balón, se puede ver el punto de pivote. Y recuerda, recuerda estos puntos de pivote, el rojo es x, el verde es la y, y el azul es la z Entonces esta es la Z. queremos moverlo hacia adelante, pero no queremos moverlo por el x. Porque si hace clic en E para girar, así que esta es la herramienta de rotación. En realidad queremos rotarlo a lo largo de este eje y porque cuando rotas, no rotas de esta manera. Y tú rotas y mueves el balón. En realidad lo escribiste de esta manera, ¿de acuerdo? En realidad estás girando a lo largo del eje y. Entonces, por eso queremos volver al, al SIR. Y queremos aplicar este movimiento al eje y y moverlo hacia adelante aplicando fuerza al eje y. Entonces esta es la variable vectorial que tiene tres valores, en realidad podemos hacer clic derecho y decir Split Struct Pin. Y esto lo dividirá en estos x, y, y z. y ahora podemos aplicar este par al eje y. De acuerdo, así que ahora si compilo y antes de que podamos realmente probar esto, tengo que, Vamos a eliminar este bowl y tengo que añadir un jugador empieza. Entonces en lugar de crear, podemos crear este jugador arranca. Por lo que aquí es donde el jugador era puntos y haga clic en G para ver los iconos. Si los has escondido, como yo, y puedes moverlo. Y terminaré la capa 2 en las promesas engendradas aquí, por ejemplo. Igual que aquí. Y puedes dar click en Play. Se ve que no pasa nada. Déjame volver. Y dice acceso no tratando de leer la propiedad, conseguir bola Tierra. Y cuando dice acceso, ninguno está tratando de conseguir esta bola Tierra y tratando de hacer que la pelota se mueva. Pero si el balón aún no existe en el nivel, se está confundiendo porque por qué, ¿por qué quieres mover este balón? Porque aquí no puede encontrar nada, no puede encontrar la malla. Y por lo tanto te va a dar un error. Imagínese, por ejemplo, en Counter-Strike player joint C server. Y el jugador tiene que seleccionar si quiere ser terrorista o antiterrorista. Y si el jugador aún no ha elegido nada, todavía están en el modo espectado. Este código dará un error porque ¿por qué quieres mover al terrorista o la preocupación en cuanto a por qué quieres mover al jugador si el jugador realmente no ha generado todavía en el lábil. Entonces esto es, esto te dará un error. Y lo que puedes hacer para evitar esto es hacer clic aquí. Y convertir esto en un get validado. Y lo que esto hace es, primero va a preguntar, ¿esta bola realmente existe en el nivel todavía? Si lo hace, si es válido, entonces adelante y aplique el par. Entonces si compilo y hago clic en Play, debería deshacerse de todos estos errores. Entonces si hago esto, se puede ver ahora que hemos engendrado en el nivel, ya no estamos recibiendo un error. Y de hecho como W, no pasa nada. Y esto se debe a que el par que hemos aplicado no es lo suficientemente duro. Y lo segundo, recuerda que dije que el torque es la física. Y cuando, cuando aplicamos la física, tenemos que simular la física para el balón. Entonces si hago clic en escapar, Se va a decir simular física. Puedo volver a mi balón VP y pinchando en esta bola, puedo bajar por dentro de la física y hacer clic en simular física. Y si hago clic en Jugar ahora se puede mover, pero la fuerza sigue siendo muy baja Así que no puedo, no puedo hacer nada. Por lo que tengo que ir dentro del controlador de jugador. Y lo que puedo hacer es simplemente aplicar una, una charla más dura a esto para que pueda moverse. Entonces aplique más fuerza. Entonces hagámoslo arrastrando aquí. Y quiero multiplicar este número. Multiplicar. Y quiero multiplicarlo por longitud 35 fue un buen número para mí. Y puedes probar esto. Se puede hablar de números y ver cuál es demasiado rápido y demasiado lento. Entonces ahora estoy aplicando una fuerza a esto, a este balón, y estoy multiplicando este valor x por 35. Si hago clic en Jugar ahora y me muevo, llenando, moviéndome hacia arriba, y eso soy solo yo por conseguir algo. Yo en realidad, quería dar click en este cambio acelerar. Y lo que esto acelerará el cambio hará es que en realidad ignorará la masa de este balón. Porque el balón ahora mismo, esta esfera que has agregado en realidad tendrá una masa. Por lo que tiene un peso. Y este peso no tomará en cuenta si tienes esto marcado. A pesar de que si no has comprobado, entonces te preguntas masa para ser calculada, tienes que aplicar una fuerza mucho mayor o un valor mucho mayor, la fuerza aérea 2 para que se mueva. Pero ahora mismo no quiero tener en cuenta el peso y sólo quiero multiplicarme por 35 y esto debería ser suficiente. Y ahora en realidad estoy recibiendo este error porque en realidad tengo dos arranques de jugador. Entonces me acabo de dar cuenta de que dentro de mi nivel, vuelvo. Tengo un punto cerrado uno, que en realidad es el punto más que estamos usando en este momento. Y también voy a desesperada Tatu, razón por la cual no está desovar mi tazón y un me dio un error. Entonces voy a eliminar el plus d2. Y cuando haces clic en Jugar, debería funcionar como se supone. Entonces ahora cuando hago clic en W y me muevo, se pueden ver las cámaras realmente moviéndose con el balón y está mirando también li y probablemente nos enfermemos si miramos demasiado esto. Entonces sigamos adelante y arreglemos esto. Por lo que dentro de bola de BP, podemos dar click en el resorte hacia arriba. Aquí en el brazo de resorte tenemos la rotación. No queremos que estos traen arriba roten junto con el balón. Bueno, haciendo clic en esta rotación y cambiando la rotación a mundo en lugar de relativo y haciendo clic en compilar guardar. Y ahora cuando hacemos clic en Jugar y mover, ahora podemos mover el balón de ida y vuelta. Por lo que ahora está funcionando. Está bien, impresionante. Por lo que ahora queremos sumar los movimientos izquierdo y derecho. Entonces sigamos adelante y terminemos el movimiento. Entonces ya hicimos la jugada ¿verdad? Insumos. Y dentro de aquí, sólo podemos seguir adelante y decir, nos llevamos a cabo. Por cierto, también puedes copiar, pegar este texto o este, este código. Pero solo quiero mostrarte solo para la práctica. Y puede obtener ref balón para obtener la función de Interfaz de Blueprint. Y aquí se puede acceder en negrita, nuevo, a la variable bola. Y puede convertirlo en un consigue validado. Ahora estás preguntando, ¿es válido el tazón? Si lo es, entonces queremos aplicar este par. Par en radianes. Ahora se va a aplicar el par. Y ahora queremos hacer clic aquí en el par y dividir ese pin golpeado y mover derecha e izquierda, si coloco el balón para moverse a derecha e izquierda, tenemos que girar a lo largo del eje x. Este es el rojo, este es el eje x. Y tenemos que aplicar torque al eje x, que está por aquí. Y podemos aplicarlo aquí. Y recuerda multiplicar el par. Multiplicarán la fuerza. La fuerza no es lo suficientemente fuerte y no moverá el balón. Entonces ahora podemos sumar la fuerza aquí y podemos hacer doble clic en esto, en esta línea aquí para hacer un nodo reescrito. Por lo que esto realmente hará que tu código sea mucho más limpio y agradable con estas líneas aquí. Y recordemos hacer clic en el cambio de aceleración absoluta y Compilar y Guardar Como esto debería funcionar. Entonces vamos a hacer clic en Jugar. Ahora se puede mover a izquierda y derecha. Y probablemente te darás cuenta de que en realidad nos estamos moviendo en la dirección equivocada cuando hago clic en a, nos estamos moviendo a la derecha cuando hago clic en D o a la izquierda un millón. Y para solucionar esto, podemos ir dentro de la edición, dentro de la configuración del proyecto. En insumo. Aquí sólo podemos revertir estas escalas. Entonces escribiendo menos uno aquí y escribiendo uno aquí en su lugar. Y esto debe arreglarse dando click en Play. Ahora puedes mover el balón al que se supone y realmente puedes jugar el juego ahora con este balón. Entonces así es como se crea el movimiento de la pelota. Y ahora que tenemos el balón funcionando, ahora podemos crear el servicio que será saqueado por el tazón cuando interactúes con los arranques. Entonces sigamos adelante y hagamos la estrella. 25. Crear la estrella: Ahora sigamos adelante y creamos la estrella para los niveles. Por lo que dentro de los planos, voy a hacer clic con el botón derecho y hacer clic en la clase Blueprint. Entonces la estrella es sólo un actor porque realmente no necesitamos controlar a la estrella ni nada tonto como eso. Entonces vamos a repasar y pinchemos sobre actor. Y aquí lo podemos llamar estrella BP. Y podemos hacer doble clic en trabajo en este actor. Y aquí ya podemos sumar las estrellas. Entonces recuerda igual que el tazón, podemos agregar componentes. Por lo que aquí podemos añadir una malla estática y podemos añadir la estrella. Entonces sólo lo voy a llamar estrella. Y aquí en esta Malla Estática, ahora está buscando una malla estática y en realidad puedes usar la estrella aquí. También lo puedes encontrar dentro de, creo que fue super grid y tutorial y luego utilidad y las mallas. Y aquí está la estrella. Por lo que en realidad podemos usarlo viene con el pack super grid. Y también puedes simplemente buscarlo, solo buscar estrella. Y se puede dar click en él. Y se puede ver que esto es en realidad la estrella. Y como puedes ver aquí, en realidad se está moviendo. Pero no queremos hacer eso con el material. En realidad queremos moverlo a través del código. Haga clic en esta lupa, una copa para encontrarla a este material de icono de fav utilitario. Por lo que al hacer clic en la lupa, te llevará aquí en el servidor o en el navegador de contenidos y servidor o navegador para llevarte a este navegador de contenidos y te lleva al material. Si haces click en la lupa y puedes hacer doble clic en ella. Y se abre este nodo material. No quiero hacer esto sobre el editor de materiales, así que no te preocupes por lo que está pasando ahora mismo. Pero yo, lo que simplemente quiero que hagas, que hagas aquí es solo mantener Alt y dar click aquí para desconectar este guardar y ya está, ciérralo. puede ver que ya no se mueve. Y esto es lo que queremos. En realidad queremos controlar el movimiento a través del código. Lo siguiente que queremos agregar es un efecto de partícula. Por lo que al hacer clic en Agregar y buscar sistema de partículas. Entonces haciendo clic en este sistema de partículas, y voy a llamarlo P estrella, P para efecto de partículas o sistema de partículas. También podemos llamarlo PS. Eso depende de ti. Yo sólo lo voy a llamar estrella P. Y aquí puedes, otra vez elegir qué tipo de partículas quieren. Y hay alguien, algunos artículos llamados estrella P. Se puede dar click en. Y tienes alguna estrella. En realidad, no sé si esto es demasiado enorme porque pueden ver los artículos en el interior de aquí. Y no sé si esta estrella es demasiado enorme. Entonces déjenme en realidad, la forma en que puedo probarlo es haciendo clic en los planos. Y aquí, déjame realmente arrastrar esta ventana de blueprint y se adjunta a aquí para que sea más fácil de ver. Y ahora podemos mover a esta estrella hacia arriba. Y sin embargo es muy enorme Así que en realidad podemos reducir el tamaño de la estrella. Por lo que haciendo clic en la estrella, puedo reducir el tamaño a 0.50.50.5. Y déjame arrastrarlo otra vez, aunque, muy enorme. Entonces déjame reducirlo a 0.3. Y en lugar de cambiar los tres, puedo hacer clic en este candado. Por lo que cambiará los tres al mismo tiempo. Y esto sigue siendo un poco demasiado grande. Quizás 0.20.2 podría ser el perfecto. A lo mejor todavía demasiado grande, pero en realidad está bien. Ahora. Ahora puedo hacer clic en este efecto de partícula. Yo voy a, se puede ver aquí está apegado a la estrella. Puedo adjuntarlo a la raíz. Está unido a una estrella, por lo que en realidad se reduce el tamaño así como la estrella. Entonces eliminemos esta estrella P. Hagamos un nuevo sistema político justamente este es el camino más rápido. Ups. Haga clic en Entrar, haga un nuevo sistema de partículas. Esta es la forma más rápida y llámenla estrella P otra vez. Y aquí puedes encontrar la estrella. Y ahora es grande y se ve mucho mejor. Entonces así es como se ve ahora mismo. Estamos en un día efecto de partículas. Y lo último que queremos añadir es algo llamado esfera gatillo. Por lo que llamando a buscar esfera. Aquí se puede ver una colisión de esfera. Y esto es, podemos usar esto para decir que soy, voy a llamarlo esfera más grande. Y podemos usar esto para decir qué pasa si nosotros, si chocamos con esta esfera. Entonces esta es una esfera de colisión. Entonces voy a hacer clic en arte y redimensionar esto a un poco más grande. O puedes hacer clic en Control Z y en realidad puedes hacerlo aquí en el radio de la esfera. También puedes hacerlo. Y sólo ajustándolo. Entonces si mi pelota va aquí y roles en el nivel y en realidad va dentro de esta esfera. Se activará un evento para que podamos usar esto desencadena el miedo o la esfera de colisión para desencadenar eventos. Entonces ahora tenemos esto, tenemos la estrella, tenemos este efecto de partícula, y tenemos la esfera de colisión. Ahora vamos a hacer clic en Compilar y guardar, y en realidad vamos a volver y tratar de colocar esto dentro de los Niveles. Por lo que arrastrando sobre la estrella, colocándola, puedo arrastrarla hasta aquí. Y esto está bien. Y en realidad puedo editar. Hagámoslo así y hagamos clic en Play. Y puedes ver aquí ahora tenemos esta estrella y es un poco demasiado grande por lo que puede reducir ligeramente el tamaño. Y se puede ver si entro de ella, en realidad está bloqueando, así que tenemos que cambiar la colisión de la misma. Entonces la forma en que hacemos esto es volver a la estrella, haciendo clic en la malla. Y aquí abajo en la colisión, podemos quitarlo. El choque se presenta. Por lo que al hacer clic en este Presets de colisión y al hacer clic en no colisión. Por lo que ahora no tiene colisión en absoluto. Y cuando hacemos clic en Play y realmente nos sube, si hacemos clic en Play, ahora podemos ver aquí no podemos chocar más con él. Entonces ahora realmente podemos mirar a esto, y esto es lo que queremos hacer en la siguiente lección, haciendo que funcione con el saqueo. Entonces esto es todo y vamos a reducir realmente el tamaño de la estrella. En realidad voy a arrastrar hacia fuera los efectos de partículas, así que no es reducir en tamaño que hacer, voy a adjuntarlo a sus raíces y simplemente reducir el tamaño de la estrella a 0.15. Y luego voy a adjuntar el efecto a la estrella y jugar. Y ahora la historia es más razonable. Entonces ahora el tamaño es bueno y solo queremos hacer el saqueo en la siguiente lección. Y antes de que hagamos alguna alusión, en realidad solo agreguemos un poco de movimiento a la estrella porque ahora mismo es un poco aburrido. Es oleadas para estudiar estrella que no hay movimiento que quisiera gustarme arriba y abajo. Al igual que si elimino este chasping, quiero moverme así. Y en realidad podemos hacer esto a través del código. Y si haces doble clic en la estrella y él entra dentro del gráfico de eventos, solo quiero borrarlos y podemos usar el play start. Podemos hacer algo llamado línea de tiempo. Y qué es una línea de tiempo. Si haces click en Añadir Línea de Tiempo, puedes llamarlo algo, y yo solo quería llamarlo movimientos iniciados. Qué línea de tiempo es, en realidad podemos hacer movimientos suaves con ella. Entonces, por ejemplo, si tienes la estrella, en este caso, queremos hacer el hoover estelar arriba y abajo. Podemos usar una línea de tiempo. Si, por ejemplo, tienes puertas en tu juego y quieres que la puerta se abra sin problemas. Para armar una puerta doble para abrir sin problemas, puede usar una línea de tiempo para esto. Entonces cualquier cosa con movimientos suaves, puedes usar una línea de tiempo. Y la línea de tiempo en la que puedes hacer doble clic. Entonces puedes ver aquí es una gráfica vacía. Y dentro de esto puedes hacer un gráfico de flotación o una pista. Aquí en este caso lo llaman una pista o una pista vectorial, un trach de eventos, pista de collar, y una pista curva. Entonces aquí queremos, volvamos atrás y te mostraré cómo decidimos qué hacer. Entonces lo que queremos hacer es que queremos a la estrella aquí. Queremos que cambie la ubicación. Queríamos movernos arriba y abajo. En realidad voy a sostener Control, arrastrarlo hacia fuera. Y aquí voy a arrastrar hacia fuera de esta estrella y luego escribir conjuntos ubicación relativa. Y si no sabes cómo se llama la función, la forma más fácil para mí desde el principio, acabo de escribir ubicación. Y luego aquí puedes ver todas las funciones con la ubicación y eliges la que tiene sentido. Entonces aquí tenemos la ubicación relativa establecida o una ubicación mundial establecida. ¿ Y cuál es la diferencia entre estos? El conjunto de ubicación relativa es la ubicación en la que se encuentra actualmente tu estrella. Y sólo tienes que cambiar la ubicación dependiendo de esta ubicación en la que se encuentre actualmente. Si haces bien el conjunto el mundo conjunto de cuerdas, esa ubicación, vas a establecer la ubicación mundial de la estrella y ya no estará aquí. Esto será más fácil una vez que llegues a trabajar con él. También fue confuso para mí desde el principio. Y algunas personas tienen, tienen problemas con ello. Entonces déjame escribir ubicación y hacer la ubicación relativa establecida. Por lo que sólo quiero cambiar ligeramente la ubicación. En esta ubicación Actualmente está en. Entonces lo voy a conectar con la actualización. Y ahora necesito una nueva ubicación. Y para esta ubicación se puede ver es una variable vectorial. Es amarillo, es una variable vectorial, y necesita tres números. Pero lo que puedo hacer aquí en la línea de tiempo, si hago doble clic en ella, realidad puedo crear una pista vectorial Como necesito un vector. Y dentro de aquí, puedes llamarlo el gráfico vectorial algo. Y aquí en realidad sólo quería, quiero llamarlo ubicación alfa. ¿ De acuerdo? Entonces ahora si compilas y guardas y vuelves al Gráfico de Eventos, puedes ver como lo llames, aparecerá aquí y en realidad puede conectarlo a la nueva ubicación. Entonces ahora realmente vamos a crear esta gráfica. Para que podamos crear, esto es muy fácil. Se pueden crear tres claves diferentes para agregar tres claves. Y aquí puedes elegir la longitud de la línea de tiempo. ¿ Cuánto debe bucle? Entonces voy a mirar por tres segundos. Entonces va a subir y bajar. Y esto es un bucle, esto son tres segundos. Entonces voy a empezar de nuevo, arriba y abajo y así sucesivamente. Entonces tres segundos. Y aquí puedes cambiar el tiempo. Entonces el tiempo, podemos establecer el 0 y el valor de 0. Y el último punto, el tiempo son tres, por lo que este es el último punto aquí. Y el valor también es 0. Y quiero que esto esté en el medio, así que 1.5. Y el valor en el que queremos moverlo es en realidad la cantidad. Si vuelvo aquí y desconectado, es la cantidad que queremos moverla aquí arriba. Entonces si lo conecto de nuevo, haga doble clic. Y aquí la cantidad en la que quiero moverla para mí, lo que me ha funcionado mejor fueron 20, pero hay que probarlo. A lo mejor comienzas con cinco y luego dices, esto no es demasiado conmovedor. Entonces necesito moverlo mucho más. Por lo que 20. Y para ver toda la gráfica, puedes hacer click en estas flechas. De acuerdo, así que vamos a salir y ver si en realidad está funcionando y a ver qué pasa. Y ahora tenemos un pequeño error aquí, pero juguemos y te puedo mostrar, puedes ver que en realidad se está moviendo, pero no es un lazo. Se, se movió ligeramente, por lo que hacer doble clic en él, en la línea de tiempo, podemos hacer clic en bucle, Usar último fotograma clave. Ahora es bucle. Pero también viste que el movimiento en realidad no se movía hacia arriba. Se está moviendo una a, B, una forma rara. Se está moviendo hacia un costado. Y no queremos eso, sólo queríamos avanzar hacia arriba. Por lo que la forma en que lo harías está desconectada aquí. Y aquí puedes escribirme convector. Entonces ahora has dividido este vector. Otra forma de hacerlo es simplemente hacer clic derecho y divide pin golpeado. Ahora tienes esto y aquí también puedes hacer clic derecho y dividir el pin Struck. Entonces depende de ti. Se puede hacer esto, esta manera o se puede hacer hacer un vector. Y aquí hay que romper la conferencia. Entonces Greg, un vector. Ahora esta es la misma manera que antes. Y aquí lo que puedes hacer es realmente conectar el valor z con el valor z. Y esto debería funcionar. Sólo debe moverse hacia arriba, que es el valor z o el eje z. Compilar y dar click en play. Y puedes ver aquí es ahora, ahora moviéndose hacia arriba y hacia abajo a pantalla completa para que podamos verlo mejor en tu pantalla. Y ahora se mueve arriba y abajo. Entonces ahora esto está funcionando y lo único que tenemos que hacer ahora es en realidad hacerla cargable. Entonces pasemos a la siguiente lección y aprendamos a hacerlo adecuado. 26. Hacer que la estrella sea atractivo.: Hagamos ahora cargable la estrella. Entonces para hacer esto, tenemos, recordar creado esto desencadena miedo o colisión esfera. Y queremos, cuando el balón golpee esta esfera, queremos hacer algo para que podamos generar un evento a partir de esta esfera de colisión. Y lo que podemos hacer es bajar hasta el fondo. Y aquí puedes ver eventos. Y se puede ver que hay algo llamado una superposición de inicio de un solo componente. Al hacer clic en este plus se creará un evento dentro del gráfico de eventos. Entonces ahora ¿qué pasará si nos solapamos? Esto desencadena el miedo y que llamamos esfera de lesión Oracle. Ahora lo que quiero pasar es simplemente laúd a esta estrella. Entonces en realidad podemos decir algo como Destruir Actor. Por lo que puedes ver aquí si ahora compilo y hago clic en Play y me voy a solapar con la estrella, va a destruir al actor. Entonces es como fingir el saqueo. Es así como lo hacemos en programación. Acabamos de destruir al actor. Entonces déjame volver dentro del plano estelar. Y cuando quiero hacer aquí es que queremos darle al jugador una estrella por perder esto. Por lo que realmente necesitamos crear una variable que almacene la cantidad de estrellas que tenemos. Y la forma en que hacemos esto es ir y abrir el modo de juego. Porque recuerda dentro del modo de juego podemos agregar variables o simplemente cosas que controlarán las reglas del juego, o cuánto puntaje tienes, o cuántos puntos tienes y demás. Entonces dentro del modo de juego, solo creemos aquí una variable y la llamemos estrella, estrellas. Y cambiémoslo en un entero porque este es un valor numérico y no necesitamos decimales, por lo que no necesitamos cambiarlo en un flotador. Tan sólo un entero será suficiente para esto. Lo siguiente es dentro del modo de juego, quiero crear un evento personalizado para que podamos sumar la estrella cada vez que aludimos aquí. Entonces lo que quiero hacer es simplemente eliminar estos eventos normales. Y aquí en realidad podemos escribir la costumbre. Por lo que ahora podemos crear nuestros eventos personalizados. Por lo tanto, agrega evento personalizado y dale un nombre. Y déjame simplemente llamarlo agregar estrella. De acuerdo, podemos hacerlo así. O en realidad podemos en lugar de hacer un evento personalizado así como este, en realidad podemos hacerlo a través de la Interfaz de Blueprint, y esto es mucho mejor para comunicarnos entre planos. Entonces déjame borrarlo y déjame volver aquí dentro de interfaces. Recuerda que creamos la bola int BP antes. Quiero que creéis una interfaz para el Modo Juego porque quiero crear un, un evento dentro de aquí. Por lo que haciendo clic derecho dentro de los planos, haciendo clic en Interfaz de Blueprint, lo voy a llamar int Game Mode. Al abrir esta interfaz, ahora podemos hacer una función, y ahora voy a hacer una llamada add star. Por lo que queremos sumar una estrella cada vez que golpeamos esta superposición. Y con este add star, lo que debes saber sobre las interfaces es si tienes una función sin ningún nodo de retorno, va a ser un evento. Pero si tú, si haces click en esta salida y añades una variable, igual que hicimos aquí con nuestra bola bp. Si vuelvo atrás, si no has devuelto nodo así, si tienes algo en la salida, esta va a ser una función. Si no tienes salida, al igual que aquí, si no agregas nada aquí, este será un evento. Entonces esto es muy, muy importante entender que no se puede tener un evento si se tiene una salida aquí. Entonces ahora este es un evento llamado esa estrella. Y también puedes agregar insumos a este evento. Eso está todo bien, pero no se puede tener una salida. Por lo que dentro del modo de juego, recuerda que tenemos que añadir la Interfaz de Blueprint antes de poder usarla. Por lo que escribiendo en un modo y lo agregamos, podemos compilar y guardar. Y se puede ver que esto ahora es amarillo porque se trata de un evento. Si no fue un evento, lo será, si vuelvo aquí al balón, sé azul. Si no es evento y es una función. Pero si es un evento, será amarillo aquí, aquí, y no puedo hacer doble clic en él y acceder a él porque es un evento. Entonces vamos a hacer clic aquí y escribir en estrella. Aquí dice evento en estrella. Podemos ejecutar esto. Ahora tenemos esta función de Interfaz de Blueprint, nuestro evento. Y se puede ver aquí esto es de la Interfaz de Blueprint. Esto es lo que significa el ícono. Y lo que simplemente queremos hacer con esto es simplemente arrastrar hacia fuera el entero estrella. Por lo tanto, mantenga presionado Control, arrástralo, o puede arrastrarlo hacia fuera y haga clic en Obtener. De esta manera lo mismo. Y aquí puedes decir plus, plus y dar click en él. Aquí está, dice agregar 1 al valor especificado, luego establecerlo. Entonces estamos agregando uno a esta estrella. Otro método que podrías haberlo hecho para ello es solo hacer click en plus, dar click en add. Y aquí vas a sumar uno. Por ejemplo, cada vez que vamos a mirar, vamos a añadir una estrella. Y luego lo vas a arrastrar hacia fuera, haz clic en Establecer, y arrastrarlo hasta aquí, y luego conectarlo todo. Entonces este es el mismo método que plus plus. No obstante, el, el plus plus es mucho más corto para escribir, así que me gusta escribirlo. Y recuerda que esto es, esto sólo puede agregar uno. Entonces si necesitas agregar. Un valor de dos o más, no se puede usar esto. Entonces en este momento sólo queremos agregar una estrella, así que la voy a borrar. Esto está bien para nosotros. Por lo que ahora vamos a sumar una estrella. Y qué, esto es, lo que queremos hacer aquí cada vez que nos solapemos con la estrella, queremos agregar una a esta variable entera de estrellas. Entonces lo vamos a aumentar en una y va a almacenar la cantidad de estrellas que hemos cargado. Entonces lo que queremos hacer es recordar, necesitamos comunicación entre estos dos planos. Yo en realidad en la estrella, necesito usar la información que está dentro de este modo de juego. Entonces lo que puedo hacer es escribir consigue un modo. Y ahora este es el modo general de juego. Recuerda que esta es la clase padre de este modo de juego. Es modo de juego. Y ahora quiero justo, igual que escribir costos a nuestro Modo de Juego Personalizado. En lugar de casting, quiero usar la Interfaz de Blueprint. Por lo que dentro de la interfaz del modo de juego, voy a añadir una nueva función y lo voy a llamar get's Game Mode ref. Entonces consigue la referencia del Modo de Juego. Y esto va a ser una función, así que voy a añadir una salida. Y la salida es la, El modo de juego al que estás tratando de referirte. Y esta es la bola de velocidad g m. Por lo que corriendo la bola de velocidad GM en mi tipo variable y haciendo clic en referencia de objeto. Ahora puedo llamarlo modo de juego. Compilar y Guardar. Y dentro del modo de juego speed ball, ahora tienes esta función puedes hacer doble clic. Y ahora se pregunta ¿qué es esta variable de modo de juego? Y aquí puedo ver que es yo mismo. Por lo que en realidad es este yo, lo que significa esta clase de blueprint que estás actualmente y esta es la Gemara quiere usar. Ahora esto es muy fácil aquí. Ahora podemos decir conseguir el modo de juego. Y ahora se va a decir qué modo de juego quieres conseguir. Yo quiero conseguir la deuda. Modo de juego ref, el que yo sólo la función que acabo de crear en la Interfaz de Blueprint. Y ahora sabe que me estoy refiriendo a este modo de juego porque aquí nos escribimos yo. Entonces desde aquí, déjame conectarlo a aquí. Y dentro de aquí, queremos usar esto en evento estrella. Entonces vamos a llamar a este evento. Y aquí, la forma en que llamas a los eventos es solo escribir el nombre del evento. Por lo que la escritura agrega estrella. Y aquí puedes elegir este mensaje. Recuerda que este es un Evento de Interfaz de Blueprint que hicimos. Por lo que tenemos que hacer click en Mensaje, el que se llama mensaje, no éste ni éste. Por lo que ahora va a llamar a este evento. Entonces cada vez que nos solapamos con esta estrella, Digamos que tenemos muchas estrellas en nuestro nivel. Cada vez que nos solapamos con la estrella, vamos al modo de juego. Y estamos dirigiendo este evento. Y este evento nos dará una estrella a esta variable. Por lo que aumentará esta variable en una cada vez que esperamos superponer la estrella. Entonces obtenemos una estrella cada vez que la solapamos. Y ahora podemos sumar el Destruye Actor. Y en realidad imprimamos esto en la pantalla para que realmente puedas ver lo que está pasando. Voy a escribir rentas, imprimir cadena, y voy a imprimir este valor. Por lo que se puede ver que en realidad está aumentando cada vez que le damos a la estrella. Así que guarda todo y recuerda compilar y guardar todo. Vamos a minimizarlo y déjame hacer clic en la estrella, mantenga presionado Alt y arrastre para poder copiarlo un par de veces. Y para que veas que realmente estoy cargando la estrella. Por lo que dando click en Play. Ahora, voy a entrar en uno. Se puede ver que dice uno a la parte superior izquierda si hago la pantalla más grande. Por lo que la parte superior izquierda se puede ver ahora 23456. Entonces ahora realmente estamos cargando las estrellas y está agregando una a la variable de estrellas cada vez que empezamos. Esto es, esta fue una forma rápida de hacerlo. Y lo que quiero hacer en realidad en el siguiente video es en lugar de simplemente hacer que desaparezca así, Hagamos una animación para que la estrella vuele y gire y luego desaparezca. 27. Agrega animación de botín de la estrella: Ahora vamos a crear la animación para cuando cargues la estrella. Entonces cuando miras a esta estrella, quiero empezar a moverme hacia arriba y también va a rotar al mismo tiempo. Entonces sigamos adelante y hagamos doble clic en la estrella de BP que hicimos. Y dentro de aquí quiero hacer otro evento. Ahora podemos seguir adelante y hacer una Interfaz de Blueprint y a través de esa interfaz para el Star, hacer un evento. Pero en realidad solo quiero hacer que un cliente sea un evento personalizado normal porque esto es lo único que voy a hacer. Entonces no quiero hacer toda una interfaz sólo por esto. Entonces llamemos a esta estrella del evento del cliente aludida. Y aquí vamos a hacer toda la animación. Entonces en este momento no hemos llamado a esta animación. Entonces sigamos adelante aquí y digamos, cómo la llamamos estrella aludida aquí podemos decir estrella aludida. Y ahora llamamos al evento. Recuerda que tienes que llamar al evento para que funcione en otro lugar. Game no sabe realmente cuándo ejecutar este código. Si no lo has dicho en ninguna parte de tu código, uno para ejecutar este evento. Entonces cuando te superpongas con la estrella, vamos a laúr a esta estrella. Entonces vamos a sumar la estrella que agregamos aquí en el modo de juego. Y vamos a correr este evento aludido a la estrella. Entonces ahora construyamos el código dentro de aquí. Entonces lo que quería hacer es agregar una línea de tiempo. Entonces escribiremos una línea de tiempo. Y a éste podemos llamar movimientos de humor oscuro. Entonces al igual que lo que tenemos aquí, la estrella se mueve hacia arriba y hacia abajo. Ahora queremos empezar a volar hacia arriba cuando aludimos. Entonces cuando golpeemos a la estrella y vamos a jugar esta línea de tiempo. Y dentro de aquí, lo que queremos hacer es que queremos cambiar la ubicación de este plano. Entonces cuando tenemos el semental ese nivel, queremos, queremos cambiar la ubicación de esta estrella de BP. Entonces para hacer esto, solo podemos decir, clic derecho y decir aún ubicación del actor. Y si no sabes cómo se llama, el anochecer justo ubicación. Y lo encontrarás. Y dice que puedes desplazarte hacia arriba y hacia abajo para encontrarlo si quieres. Y esta lectura a través y aquí se puede ver conseguir ubicación de actor. Por lo que ahora estás consiguiendo el, Esta ubicación actores ahora mismo. Y lo que queremos hacer es que queremos establecer la ubicación, así dijo actor, ubicación relativa. Entonces esto es lo que vas a usar. Y así ahora el objetivo para esto es solo uno mismo. No necesitamos agregar un objetivo porque en lo que queremos cambiar su ubicación es en realidad esta estrella de BP. Entonces esto, esto es lo que significa yo. Esto es, esto significa es que el objetivo es este plano. Entonces esto es correcto. Entonces lo que queremos hacer es cambiar la ubicación de la actriz. Entonces cambia este plano, plano ubicación. Entonces, ¿cuál es la ubicación? Vamos, hagamos un vector aquí. Entonces ahora queremos cambiar el valor z, igual que lo que hicimos aquí arriba. Cambiamos el valor z para subir y bajar aquí queremos cambiar el valor z para que la estrella vuela hacia arriba. Entonces hagamos doble clic en este movimiento de botín estelar. Y dentro de esta línea de tiempo, queremos crear un arrastre vectorial. Y dentro de esos Vector Track, llamémoslo ubicación alfa. Y aquí vamos a crear, vamos a 2, así que dos claves, agregando dos claves. Y hagamos que la longitud de esto pueda ser de 1 segundo. Siempre podemos probarlo y ver si es demasiado. Y haciendo click en el último fotograma clave. Ahora vamos a flotar y seleccionar estos tres puntos. Y por cierto, digo tres puntos porque son tres puntos si se mueve y se puede ver aquí estos son en realidad tres puntos porque se trata de un vector x, y, y z Así que al hacer clic en Control Z, seleccionando estos tres puntos, y luego voy a escribir 0 en este momento y el voltaje 0 y en el tiempo 1, que es el último fotograma clave aquí, va a ser, Vamos a moverlo hacia arriba por dos. Las fugas en estos encajan horizontal y vertical para que podamos ver todo el gráfico que se mecha en compilar. Y ahora creo que esto está bien. Entonces, sigamos adelante y volvamos aquí. Y dentro de aquí, Vamos a arrastrar fuera de esto y podemos escribir break vector. Ahora. Ahora hemos roto el vector y ahora podemos hacer algo de entrada aquí, la enfermedad. Entonces conectemos la z. Y esto es lo que queremos controlar. Queremos controlar la entrada Z porque queremos hacer que la estrella de volar hacia arriba cuando aludimos. Entonces esto es lo que estamos tratando de hacer. Y ahora no va a funcionar Legos y te voy a mostrar por qué. Entonces si tratamos de compilar, guardar, y antes de hacer clic en Play, Quitemos este Destruye Actor porque va a destruir al actor una vez que entremos en él. No queremos eso ahora mismo. Nosotros sólo queremos entrar en ella y después. Se va a reproducir esta animación. Entonces déjame compilar y hacer clic en Play y ver qué pasa. Entonces ahora está desapareciendo. Y en realidad el código está funcionando. No es porque no esté funcionando. Se puede ver aquí, si se mira de cerca, el, el efecto de partícula en realidad sigue jugando. Entonces si elimino esos, los efectos de partículas siguen jugando. Pero el problema es que no estamos configurando correctamente la ubicación. Entonces es en realidad, el código está funcionando, pero no estamos sentados correctamente. Y esto es porque ahora mismo estamos ajustando la x e y a 0. Esto no es cierto porque no queremos establecer estos valores en 0. Es por eso que tenemos que escribir esto. Desde el principio. Escribimos get actor location. ¿ Y cuál es el actor? Y el actor es yo mismo. Esta es la estrella de BP. Queremos conseguir el, la ubicación de la estrella en la que se encuentra actualmente. Y vamos a hacer clic derecho y dividir pin disrupt. Y queremos conectar la ubicación actual de los x dos aquí y la ubicación actual del cable a aquí. Entonces ahora estamos obteniendo la ubicación actual de la estrella, la x y y, y lo estamos enchufando. Y sólo queremos cambiar el valor Z. El valor Z. También queremos, queremos el valor Z actual. Y luego solo queremos cambiarlo dependiendo de dónde se encuentre actualmente el valor z. Entonces aquí sólo voy a escribir plus para agregar peso para mover esto un poco más lejos. Y voy a conectar el valor z y luego conectarlo a este valor Z final. Por lo que estamos tomando el valor z original donde está actualmente en este momento. Y estamos agregando esto a eso está actualmente dentro de la línea de tiempo. Esto es lo que estamos viendo ahora mismo. Y sigamos adelante compilando, guardando todo, y haga clic en Jugar y veamos qué pasa. Entonces ahora si entro de la estrella, va a volar hacia arriba. Entonces esto es lo que pasa y esto en realidad es lo que queremos. De acuerdo, ahora se ve, se ve genial, luce notas. ¿ Y qué queremos hacer ahora mismo? En realidad estamos también queríamos rotar. Entonces sigamos adelante y hagamos eso. Escribamos set actor de rotación relativa aquí. Entonces ahora vamos a fijar la rotación también. Ahora en lugar de obtener la ubicación real, también podemos escribir consigue después de la rotación. Ahora tenemos esta rotación. Y con esta rotación sólo queremos girar. Si volvemos al interior de la ventana gráfica, queremos girar a lo largo del eje z. Entonces podemos ver aquí, queremos dar vueltas de esta manera. Por lo que queremos girar a lo largo del eje z. Y volvamos a una estrella de VP. Entonces dividamos el Pentágono Struck. Y dividamos este también. Y sólo queremos girar el eje z, por lo que la rotación x e y será la misma que la ley actual que la rotación actual del actor. Pero sólo queremos afectar la rotación del eje z. Entonces la forma en que hacemos esto también es con la línea de tiempo. Queremos rotarlo. Entonces haga doble clic en la línea de tiempo. Y dentro de esta línea de tiempo en realidad tenemos que hacer una nueva gráfica. Entonces esta nueva gráfica que vamos a hacer, Hagámosla un flotador. Y esto defectuoso, vamos a llamar a rotación alfa. Y aquí vamos a agregar cuatro claves, pero agregando 1234, así sucesivamente. Ahora tenemos cuatro llaves. Entonces la primera clave quiero ser un 000, por lo que en el tiempo 0 y el valor 0. Y la última que quiero ser, en realidad probé esto antes así que sé cuáles serán los valores. Pero si te gusta desde el principio, cuando tratas de hacer esto, solo pruebas valores por ejemplo, aquí tienes razón en el momento 1. A lo mejor quieres girar para ser 360. Entonces ahora está girando en un sentido. Está girando 360 grados. Y he puesto algunos valores aquí. Déjame comprobar cuáles son. Entonces a, en el tiempo 0, 25, tengo el valor a 180. Entonces va, déjame encajar este mirador. Por lo que al, en el momento 0.25, cumplirá 180, por lo que a mitad de camino. Y luego a la 2.5ª , cumplirá 360. Por lo que ahora se volvió uno, una vez. Y aquí en, déjame ver aquí, Déjame añadir uno más, uno más 0, 75 va a dar vuelta de nuevo. Y en realidad puedes una forma genial de hacerlo si quieres darle vuelta 180, otra vez, solo escribe más 180 y te lo va a calcular. Entonces a una, voy a decir plus 360, así como esto. Y podemos encajar el gráfico así como así y Compilar y Guardar. Ahora va a rotar así. Volvamos atrás. Y esta es la rotación alfa. Ahora podemos conectarlo a la rotación aquí. Y vamos a hacer clic en Jugar y ver qué pasa. Entonces si entro de la estrella, va a girar hacia arriba y esto es lo que queremos. Entonces esto es bastante guay. Ahora está funcionando. Y ahora queremos destruir al actor cuando está aquí arriba, así que ya no es visible. Y la forma en que lo hacemos, Tomemos este Destruye Actor y usémoslo aquí. Cuando termine la línea de tiempo, vamos a destruir al actor. Adelante y limpiemos un poco porque se está poniendo un poco desordenado. Entonces tal vez poner eso, pon eso aquí abajo. Y este, tal vez podamos arrastrar hacia abajo para ponerlo debajo de todo para que no esté estropeando la estructura. Algo así. Ahora. Se ve mucho mejor y un poco menos desordenado. Entonces algo así. Y cuando esté terminado, va a destruir al actor. Ahora otro problema que tenemos es que el efecto de partícula sigue apareciendo y queremos desactivarlo cuando miramos. Entonces aquí, en realidad saquemos a esta estrella P. Este es el efecto de partículas que agregamos antes. Y con este efecto de partículas, queremos afectar la visibilidad. Y haciendo click en este efecto de partícula. Y al bajar por aquí, se puede ver que tenemos algo llamado visible. Y si desactivamos la visibilidad, el efecto de partícula se irá. Si lo habilitamos, el efecto de partícula estará aquí. Por lo que en realidad queremos hacerlo invisible. Entonces revisando esto y escribiendo visible. Y se puede ver aquí tenemos algo llamado visibilidad de conjunto. Haciendo click en esto. Y vamos a conectarlo. Y la nueva visibilidad está desmarcada, y esto significa que no será visible. Si tuviéramos esto marcado, significaría que las visibilidades estelares deberían estar habilitadas, pero desactivaremos la visibilidad y sería que el efecto artículo se vaya. Por lo que pinchando en compilar, dando click en play y podemos probarlo. Va a girar y va a desaparecer. Una vez hemos aludido a la estrella. 28. Crear la UI de la estrella: Ahora estamos listos para crear alguna interfaz de usuario y para mostrar que cuántas estrellas ha cargado el jugador. Por lo que ahora mismo cuando hacemos clic en Jugar y nos movemos, se puede ver que muestra a la parte superior izquierda cuántas estrellas hemos aprendido. Pero esto es solo una función de cadena de impresión y esta corriente de impresión, el jugador no podrá ver cuándo lo jueguen tus amigos o familiares. Esto es sólo temporal para el desarrollo. Y así necesitamos crear una interfaz de usuario real o una interfaz de usuario real para mostrar cuántas estrellas declaran ha cargado. Entonces aquí dentro de la carpeta UI, voy a hacer clic con el botón derecho y hacer clic dentro de la interfaz de usuario, buscando en Widget Blueprint. Y lo voy a llamar WB para Widget Blueprint como prefijo. Y luego lo voy a llamar principal porque lo es, esta es la interfaz principal que tenemos. Guardémoslo todo. Voy a hacer doble clic en este Widget Blueprint. Y se puede ver que estamos dentro de una, una gráfica o un diseñador. Y aquí a la izquierda tenemos cosas diferentes. Podemos agregar, por ejemplo, un botón o una imagen, o un deslizador, o algunas etiquetas. Por lo que hay algunos elementos que podemos agregar a esta interfaz de usuario. Y aquí abajo puedes ver todos los elementos que has agregado a la interfaz de usuario. Actualmente está vacío porque no tenemos nada. Y a la derecha se puede ver tenemos un diseñador en el que nos encontramos actualmente. Aquí. Diseñamos la interfaz de usuario. Y a la derecha hay algo llamado grafo. Y dentro de aquí, esto se ve igual a los planos, gafas o Plano de Nivel en los que hemos estado trabajando. Y dentro de la gráfica, en realidad puedes codificar la funcionalidad a los botones que diseñas dentro de aquí. Ahora mismo no tenemos botones, así que no podemos hacer nada. Y antes de diseñar la interfaz de usuario, solo tienes que pensar en qué estás tratando de lograr el ahora mismo, solo queremos la estrella, por lo que necesitamos un ícono de estrella. Y al lado del ícono de la estrella necesitamos mostrar cuántas estrellas ha cargado el jugador. Por lo que ya dentro de los iconos de la UI, ya importamos este icono estrella. Y si aún no lo has hecho, he subido en la página web. Por lo que puedes subir esta estrella ícono. Y necesitamos este ícono dentro de aquí y algunos textos a su lado. Entonces para ello, el ícono es solo una imagen. Por lo que necesitamos, podemos arrastrar esta imagen ya sea encima de este diseñador y soltarla. Se puede ver que agrega un desgarro al panel de lona. Y si eliminé de nuevo, haciendo clic en el botón eliminar, realidad también puedo arrastrarlo hacia abajo encima de este panel de lienzo y lo agregará automáticamente. Por lo general trabajo así, así que agregué dentro de aquí. Ahora tenemos esta imagen. Y se puede ver al hacer clic en esta imagen, tenemos muchas propiedades a la derecha, tenemos algo llamado ancla. Por lo que estos puntos de anclaje definen dónde está la imagen en la que hemos hecho clic en este momento, donde está dentro del diseñador. Entonces, por ejemplo, si se trata de una imagen que debería estar centrada en la pantalla, debería hacer clic en esto. Y éste no es demasiado importante en este momento. Lo explicaré más adelante a detalle en otro curso. Pero aquí se puede posicionar, se puede posicionar el, la imagen, o simplemente se puede hacer clic y arrastrar. También, eso funciona. Se puede ver que la posición está cambiando, también se puede cambiar el tamaño de la imagen. Aquí. Se puede cambiar la alineación de la imagen. El que necesitamos hacer click es pinchar. Entonces en lugar de pincel, si haces clic en la flecha, esta es la apariencia. Aquí. En realidad puedes elegir qué imagen quieres. Entonces en realidad queremos el ícono de la estrella. Por lo que puedes hacer clic y arrastrar aquí y soltarlo encima. O podrías haber dado click en aquí y buscar estrella y la habrías encontrado. Lo estamos haciendo de estas dos maneras. De acuerdo, entonces ahora podemos ajustar el tamaño de la misma. Y puedes ver aquí, cuando ajuste este tamaño, este tamaño de imagen, no pasa nada. Y esto es porque en este momento sólo arrastramos la imagen encima de este lienzo. Y en realidad podemos cambiar el tamaño de esto aquí arriba y no aquí abajo. Por lo que este tamaño de imagen sólo se puede cambiar aquí abajo si está dentro de otros elementos. Y te mostraré lo que quiero decir. Entonces básicamente también necesitamos ponerlo dentro de algo y te mostraré lo que quiero decir aquí. Entonces, eliminemos esto. Y hay algo llamado caja horizontal y caja vertical. Una caja horizontal, te puedo mostrar lo que es. Dice permitir que los interruptores se coloquen en un flujo horizontalmente. Y esto es lo que necesitamos porque necesitamos un ícono estrella y necesitamos algunos textos a su lado. Por lo que necesitamos una caja horizontal aquí. Por lo que pinchando y soltando esta caja horizontal aquí, puedes ver ahora tenemos una caja horizontal. Este es sólo un contenedor vacío, pero cuando dejamos caer artículos dentro de esta caja horizontal, colocará los elementos horizontalmente cada vez que dejamos caer algo. Y déjame mostrarte. Si ahora arrastras la imagen, tenemos que arrastrarla encima del cuadro horizontal, no el paquete de lienzo. Por lo que en la parte superior de la caja horizontal dejándola caer, se puede ver ahora que está dentro de la caja horizontal. Y si ponemos algunos textos porque queremos mostrar cuántas estrellas has saqueado, dejándolo caer encima de la caja horizontal. Se puede ver que ahora están horizontalmente uno al lado del otro. Por lo que si sigues dejando caer elementos encima de la caja horizontal, horizontal, puedes ver que ahí se agregan horizontalmente. Ahora esto es lo que es una caja horizontal. Bien, hazlo más grande así como esto. Entonces, eliminemos todo este texto. Sólo necesitamos uno. Y cuando tenemos que hacer aquí es necesario añadir la estrella. Por lo que haciendo clic en esta imagen aquí, yendo a la apariencia del pincel. Y otra vez, encontremos a la estrella. Haga clic en el Inicio para agregarlo. Entonces ahora tenemos la estrella. Ahora puedes ver que aquí no tenemos una talla que podamos cambiar. Y esto se debe a que esta imagen se encuentra ahora dentro de esta caja horizontal. Solo se puede cambiar el tamaño aquí arriba si es el padre, el elemento padre. Entonces si tienes hijos dentro de ella, todos estos niños no tienen talla aquí arriba. Sólo se puede cambiar el tamaño para los padres. ¿ De acuerdo? Entonces para los niños, ahora puedes cambiar el tamaño aquí abajo. Entonces ahora esto está funcionando. Por ejemplo, si quiero que las estrellas sean 5050, algo así. Y puedes ver que cambié el tamaño pero no pasó nada. Y uno está funcionando, pero éste no está funcionando. Tan bien. Permítanme cambiar el 1550. Y esto se debe a que tenemos algo llamado alineación horizontal y alineación vertical. Y se puede ver aquí, está tratando de estirarse. Se trata de llenar esta imagen horizontal y verticalmente. Y no queremos eso, sólo queremos, Vamos a ponerlo dentro del medio. Por lo que haciendo click en esto y dando click en esto. Ahora está en medio de esta caja y de este texto. Hagamos lo mismo. No queremos llenar. Pongámoslo en el medio, en el centro. Y para este texto podemos escribir. No importa ahora mismo porque esto cambiará dinámicamente dependiendo de cuántas estrellas hayas cargado. Entonces escribamos 23 solo por ahora para poder visualizar cómo se ve en realidad. ¿ De acuerdo? Entonces esto se ve así en este momento. Esta es la imagen y esto se ve bien. Pero lo que quiero hacer aquí en realidad es que quiero esta estrella 2 o quiero que este texto esté un poco más lejos de la estrella. Y puedes ver aquí también puedes hacer clic en algo llamado relleno. Entonces en la imagen aquí, si haces click en la imagen y vamos a cambiarle el nombre para que sea mejor mirarla. Entonces dando click en F2 y déjame llamarlo IMG para imagen. Y déjame llamarlo estrella. Y aquí F2 TXT para texto. Y voy a decir estrella, estrella, eso está bien. Componer y Guardar. Ahora si te ha gustado esta estrella de imagen, puedes hacer click en algo llamado año en el tamaño, algo llamado relleno. Y esto significa que en realidad va a llenar. Se puede ver aquí si hago doble clic en la caja horizontal, ahora si lo arrastro alrededor, se puede ver, a pesar de que lo estoy haciendo más grande talón aquí horizontalmente, no se está moviendo. Y me gusta tener mi IU dinámico Lee en movimiento. Por ejemplo, si ves si lo arrastro hacia abajo, se está moviendo correctamente. Entonces dependiendo de lo grande que sea esto, pero no está funcionando de esta manera. Y me gusta que mi IU sea totalmente dinámicamente o una totalmente dinámica. Y para ello, haciendo clic en la estrella, se puede dar click en el botón denominado Rellenar. Entonces ahora se está llenando. Y hay que hacer lo mismo aquí con el, con el texto. Por lo que haciendo clic en llenar y se puede ver que en realidad está llenando. Entonces ahora estos están tomando, la estrella está tomando la mitad del espacio de los bichos horizontales, y este texto está tomando la otra mitad. Por lo que están tratando de llenar dependiendo de cuánto espacio haya. Entonces ahora en realidad puedes simplemente acercarlo. A lo mejor algo como esto. Simplemente me gustaría esto. Y si quieres visualizar la interfaz de usuario lo haría sin todas estas líneas discontinuas, puedes hacer clic en este botón aquí arriba. Por lo que ahora puedes ver la interfaz de usuario sin todas estas líneas discontinuas. Y creo que esto se ve bien. A lo mejor necesitamos reducir el tamaño aquí a 45. 45. Y esto se ve bien. Entonces ahora tenemos este texto. Tenemos, podemos establecer la fuente que queremos usar. Podemos establecer el color del mismo para que pueda cambiar de color si quieres. Y vamos a, no sé, cambiémoslo a algo sólo por diversión. O tal vez algo anaranjado también. Entonces algo como esto. Y ahora esta es la parte superior de la UI. Entonces imagina esto como tu pantalla. Y ahora puedes arrastrar esto por aquí encima de la pantalla. Por lo que hasta la parte superior izquierda aquí. Entonces algo como esto. Y vamos a ahorrar, y esto está bien para mí. Ahora, hemos diseñado esta estrella y esto se verá bien. ¿ Qué tenemos para hacer este número dinámicamente? Tiene que actualizarse dependiendo de cuántas estrellas haya cargado. Por lo que al hacer clic en esto, hay algo llamado aquí en el texto, algo llamado bind. Y este enlace, puedes crear un enlace y puedes actualizarlo de forma dinámica dependiendo de cuántas estrellas hayas cargado. Ahora haciendo clic en esto, 23, aquí en el texto, tienes algo llamado enlazar, pinchando sobre él, crear bind. Y aquí se puede ver que ahora estamos dentro de la gráfica en lugar del diseñador. Y en realidad creó una función aquí, queriendo hacer clic en bind. Creó una función para nosotros. Y cambiemos el nombre de la función porque ahora se ve raro. Hagamos clic en F2 y digamos Obtener cantidades de estrellas. Entonces esto es lo que nos va a conseguir. Por lo tanto Componer y Guardar. Entonces ahora tengo que codificar algo dentro de esto y esto es muy fácil. Recuerda, codificamos esto. Déjame volver al modo de juego. Dentro del modo de juego, hicimos esta variable de arranques, que en realidad almacena cuántas estrellas tenemos y necesitamos acceder a esta variable. Por lo que ahora de nuevo, necesitamos hacer alguna comunicación de Blueprint porque necesitamos algo del modo de juego y del modo de juego. Ya creamos el vestido Gamow del gueto. Recuerda que en la interfaz de usuario creamos esto. Por lo que ahora podemos conseguir la referencia para este modo de juego. Y de nuevo, la forma de hacerlo es mirar a la clase de padres. Por lo que estamos agregando get Game Mode. Y ahora se va a preguntar ¿qué juego o quieres, pedir? Y quiero mi aliento get Game Mode porque hice esto en mi interfaz de usuario. Por lo que escribir buen modo de juego ref, y es un mensaje porque es una función de interfaz de usuario. Y ahora cuando me conecté, ahora puedo acceder a todo dentro de mi modo de juego. Deseo acceder a la variable de estrellas. Por lo que arrastrando aquí y escribiendo estrella, y se puede ver aquí conseguir estrellas, ahora podemos obtener esta variable. Y ahora esta variable, ahora podemos enchufar a este texto. Y va a decir, estás intentando enchufar una variable entera dentro de una variable de texto, voy a convertir el entero a un texto antes de poder hacer esto. Y esto es lo que está haciendo. Está diciendo a texto, y este es el valor de retorno. Entonces es hacer tu número a un texto y luego conectarlo. Ahora conectemos lo último aquí. Entonces ahora en realidad va a funcionar. Se va a actualizar automáticamente. Esto es muy fácil. Bueno, vamos a ahorrar. Y esto es lo único que teníamos que ver con la interfaz de usuario. Sólo queríamos una interfaz de usuario muy sencilla que muestre cuántas estrellas tenemos. Y ahora se muestra de forma automática o dinámica. Si vas a la gráfica, ahora tienes esta función. Simplemente no te confundas. Si estás en el Gráfico de Eventos y ves que está vacío. Es porque lo has hecho dentro de tu función. Así que empieza cantidad si haces doble clic en él y lo abres, tienes tu código dentro de aquí. Entonces pasemos a la siguiente lección. 29. Mostrar la UI de la estrella: Ahora hemos creado la interfaz de usuario para la estrella, por lo que muestra dual cuántas estrellas ha aludido el jugador. Pero tenemos que agregarla a la ventanal. Entonces en este momento no lo hacemos, no podemos ver la interfaz de usuario que acabamos de crear en la última lección. Entonces vamos a mostrarlo para el jugador, y esto es muy fácil. Entonces pasemos a los planos. Y me gusta hacer mi UI dentro del controlador del jugador. algunas personas les gusta hacerlo a través del modo de juego, y depende del tipo de programador que seas, lo que quieras hacer y lo que estás acostumbrado a hacer. Por lo que me gusta hacerlo a través del control de placa. Creo que es más fácil. Entonces aquí, haciendo clic derecho y haciendo el evento start play. Y quiero mostrar la interfaz de usuario tan pronto como el planeta o como el juego comience a jugar. Entonces aquí en el evento start play, quiero arrastrar y hacer algo llamado crea widgets. Y puedes ver aquí tenemos algo llamado crear widget. Si haces click en él. Ahora puedes seleccionar qué widget quieres crear. Y aquí quiero seleccionar mi w, La principal, esta es la UI que creamos y el Jugador Propietario es el jugador que posee el widget. Y esto significa que tenemos que hacer una referencia para obtener controlador de bengalas. Y lo bueno de esto es que tenías que hacerlo así si estás en el modo de juego. Pero ahora mismo lo estamos codificando dentro del controlador del jugador. Entonces de esta manera en realidad no necesitamos un controlador negro porque ya estamos dentro del controlador plebs. Entonces por eso me gusta hacerlo y hacerlo aquí. Entonces no tengo que escribir esto aquí. De acuerdo, entonces ahora hemos creado esta UI. Pero antes de que podamos verlo, también tenemos que mostrarlo. Entonces estas son dos cosas separadas. Has creado la interfaz de usuario y luego escribes Agregar a la Vista, agregándola a la pantalla. Entonces estás creando la interfaz de usuario y luego la estás agregando a la pantalla. Entonces esto es muy sencillo. Esto qué, esto era todo lo que teníamos que hacer. Por lo que pinchando en jugar y ver, ahora contando hacia arriba y está funcionando. Esto es muy cool. Quitemos la cadena de impresión. Puedo ver que está contando dos veces porque también tenemos una cadena de impresión. Y déjame ver, o en realidad no era un modo de juego, creo. Entonces. Dentro del modo de juego, tenemos esta cadena de impresión menos ahora borrada. Ahora lo estamos mostrando. Y también tenemos algo viendo hola cada vez que, cada vez que empezamos el juego y creo que está en el tazón. No recuerdo dónde hicimos esa cadena de impresión. De acuerdo, así que ahora no puedo encontrarlo por la manera más rápida. Si tienes mucho código, tal vez tengas que encontrar algo como esto en un juego más grande. De esa forma lo puedes hacer es hacer click indefinido. Y luego escribes cadena de impresión porque esto es lo que está haciendo. Es decir hola cada vez que iniciamos el juego. Entonces print string, estoy buscando cadena de huella, pero en este momento solo es buscar dentro de este blueprint. Por lo que hay que hacer click aquí en este botón. Y ahora exhibirá todos los lugares. Dice cadena de impresión. Y hay que mirar los títulos. Y está aquí. Este es nuestro, nuestro plano que hicimos el interior del mapa, mapea personas. Ahora estos son en realidad los planos de nivel, así que haciendo doble clic en él, se puede ver que tenemos aquí, esto es lo que hicimos antes en la lección anterior. Eliminemos esto y también voy a querer hacer esto. Y también quiero eliminar todos estos en realidad porque no los estamos usando. Al igual que eso, compilando, guardando todo. Y ahora está funcionando como se supone, y está contando. 30. Actor tiene la etiqueta: Antes de continuar, quiero mostrarles un nodo llamado actor ha etiquetado. Y sigamos adelante y dentro de la estrella de BP, bueno, haciendo doble clic en ella. Y aquí tenemos la lógica para cuando nos solapamos con los desencadenantes miedo o con la esfera de colisión. Déjame en realidad mover esto un poco hacia abajo. Cuando nosotros, cuando colisionamos con esta esfera de colisión que tenemos por aquí, estamos haciendo algunas cosas. Entonces ahora lo que sea que tuvieras MPC o enemigo, IA enemiga dentro de tu juego y chocan con esta esfera. Esto realmente activará el código. Y no quieres eso. Solo quieres que el jugador dispare este código. No quieres que tu IA lo haga. Dos. Por error, entrar dentro de la estrella y la estrella en realidad será saqueada a pesar de que no seas tú cargándola. Y para evitar esto, podemos usar algo llamado el actor tiene etiqueta. Entonces vamos a mover un poco esto a un lado. Y este es el actor. El otro actor es el actor que se está superponiendo a esta estrella. Entonces ahora lo que podemos arrastrar fuera de aquí, actor de Android tiene etiqueta. Y podemos usar esta función. Y ahora se puede escribir en qué sagen tiene el jugador. Por lo que esto realmente podemos editar si vamos dentro del balón de BP. Por lo tanto, haciendo doble clic en esta clase de blueprint. Esta es la pelota que hicimos dentro de aquí. En realidad se puede, en los valores predeterminados de la clase, se puede buscar etiquetas. Y en realidad puedes asignar etiquetas a este actor A dar click en este botón plus, podemos añadir una etiqueta a este balón BP. Y quiero añadir una etiqueta llamada jugador. Tan convincente y ahorrador. Por lo que ahora dentro de bP estrella aquí puedes escribir un jugador dentro de esta etiqueta. Entonces ahora estás diciendo que si la etiqueta es jugador del actor tiene el tag player, entonces puedes interactuar. Por lo que arrastrando fuera de aquí y haciendo clic en B para hacer una sucursal. Porque ahora esto es, esto es preguntar si algo es cierto o no. Entonces esto es un booleano. Recuerda si creamos una variable y el booleano es rojo, por lo que este es un booleano. Y qué era un booleano, es un valor que es verdadero o falso? Entonces si te arrastran fuera de este booleano y escribes B, tienes algo llamado rama. Y la rama es sólo una condición. Es calculador, están viendo si esta condición es cierta o no. Entonces voy a conectarlo. Y ahora estás preguntando, mira esto, revisa este otro actor que acaba de solaparse y la estrella, por ejemplo, si la embajada o si es la Blair. Y comprueba si el actor tiene al tech player y acabamos de añadir el tag player a nuestro balón bp. Entonces ahora, ahora está diciendo, ¿es esto cierto? ¿ Esta etiqueta, o este actor tiene al tech player? Esto es lo que hace la sucursal. Dice, si es cierto y sigue adelante y ejecuta el código. Si es falso, entonces no hagas nada. Por lo que no tenemos que conectar nada aquí. Por lo que con el MPC, MPC ahora camina dentro de la estrella. No pasará nada porque el MPC no tiene un el, el tag player en él. Y ahora mismo no tenemos embajadas ni enemigos, ya que esto es sólo en teoría. Pero si tienes un juego con AI, no pueden solapar a la estrella ahora descargada, solo puedes hacerlo porque tienes al jugador de etiquetas en tu feed people. Por lo que ahora nos aseguramos de que sólo el jugador pueda llevar a la estrella. 31. Crear puntos de verificación: Ahora estamos listos para crear algunos puntos de control. Y después de crear los puntos de control, podemos entonces crear los portales que nos llevarán a los siguientes niveles. Pero primero tenemos que revisar para producir algunos puntos de control que saltaremos desde los diferentes niveles. Entonces sigamos adelante y trabajemos en los puestos de control. En primer lugar, queremos que el Gamow controle los puntos de control porque esto tiene más sentido. Es controla las reglas del juego. Entonces vamos a crear algunas variables para los puntos de control. Ahora en primer lugar, tienes, antes de hacer una variable, tienes que pensar en cuáles son los puntos de control. Y es solo ubicaciones en el mapa y ubicaciones. Recuerda, la ubicación es el vector que usamos antes. Al igual que si estableces una ubicación de actor, tendrás que usar un vector. Y en este caso, también podemos hacer una variable vectorial. Entonces sigamos adelante y hagamos una variable, y llamémoslo puntos de control actuales. Ahora este es el puesto de control actual. Pero también vimos, hagámoslo en un vector. Pero también tenemos que hacer otra variable, y esta variable contendrá todos los puntos de control que tenemos. Por lo que tenemos dos variables diferentes, una para el puesto de control actual en el que estamos actualmente, y otra que contiene todos nuestros puntos de control en el juego. Entonces vamos a crear otra variable, y vamos a llamar a este uno puntos de control. Ah, éste contiene todos los puntos de control. Y para este, en realidad voy a usar un mapa. Entonces aquí, hasta el momento hemos creado variables normales, normales. Entonces solo creando la variable. Pero aquí a la derecha, puedes hacer clic en este pequeño botón y en realidad puedes cambiar esta variable normal a otra cosa. Y en este caso vamos a utilizar un mapa y te voy a explicar qué es un mapa. Entonces si hace clic en el mapa, por lo que un mapa es de dos variables diferentes en una variable. Entonces tenemos 22 variables. Entonces aquí empecemos por cambiarlo a una variable de cadena. Entonces una cadena recordar, es sólo un texto. Y el otro, queremos cambiar a un vector. De acuerdo, entonces, ¿qué es una variable? Entonces déjame arrastrarlo y mostrarte, por ejemplo, puedo arrastrarlo aquí. Esto es lo que parece, y así es como se ve un vector normal. Entonces ahora lo que tenemos un mapa, y se puede ver el ícono se vuelve así cuando es un mapa. Y el pin se vuelve así si es una variable normal. Por lo que si hago clic en Compilar y Guardar, puedes ver aquí podemos agregar un valor por defecto. Entonces si hago click en el plus, no tienes que seguir en este momento solo quiero mostrarte. Entonces si hace clic en el botón más, y aquí tenemos la variable string, y aquí a su lado tenemos la variable vector. Entonces, por ejemplo, si escribo primer punto de control y es el primer punto de control y salida más otra vez, puedo agregar algo más, y puedo agregar algo más aquí y así sucesivamente. Por lo que esto es muy guay porque puedes usar esta información. Entonces, por ejemplo, quiero obtener información desde el primer punto de control. Y cuando haga eso, me dará esta información, el vector. Entonces sigamos adelante y trabajemos con ello. Entonces es como un mapa. Usted desea, desea acceder a esta información, que es esta cadena. Estás contando el recontar el juego. Adelante y pasar a la cuerda llamada primer punto de control. Y luego conoce el primer puesto de control en realidad como esta ubicación y el segundo puesto de control tiene esta ubicación y así sucesivamente. Por lo que vamos a tratar de crear puntos de control como este. Y creo que lo entenderás mejor si empezamos a trabajar con él. Entonces déjame borrar todos estos y no tenemos nada porque queremos agregarlos más adelante. Entonces déjame borrarlo. Y quiero trabajar con mis puestos de control. Yo quiero crearlos dentro del Plano de Nivel. Por lo que al entrar de los planos y abrir el Plano de Nivel. Por lo que dentro de aquí realmente quiero hacer mis puntos de control. Y la razón por la que quiero hacerlos dentro de aquí es porque ahora puedo colocar estos arranques de jugador. Entonces déjame colocar uno aquí y déjame sostener Alt y arrastrar para copiarlo. Entonces ahora este es el segundo. Y de nuevo, déjame sostener Alt y arrástrelo para copiar. Y déjame colocar el tercero dentro de aquí. Entonces si hago clic en el World Outliner, ahora tengo arriba. Empecemos 123 y déjenme renombrarlos. Lo van a llamar PS4. Jugador vuelve a empezar, 0 , 1, y el segundo 102, y el tercero 003. Ahora ahora tengo tres arranques de jugador. Por lo que estos tres jugadores inicia lo que puedo hacer ahora dentro de los Planeados de Nivel. En realidad puedes, si lo hago un poco más pequeño, realidad puedo hacer clic en uno de los arranques del jugador y hacer clic derecho aquí y crear una referencia a este jugador arranca. No se puede hacer eso dentro de clases de blueprints, solo se puede hacer esto dentro de un Level Blueprint. Por lo que pinchando en la segunda, estoy creando aquí una referencia. Y el tercero y creando una referencia. Ahora tenemos una referencia a todos estos arranques de jugador. Lo que queremos hacer es que queremos obtener la ubicación de estas estadísticas de jugador. Por lo que arrastrar y escribir consigue la ubicación del actor. Porque queremos fijar el punto de control a esta ubicación. Actualmente son anuncios. Entonces voy a copiar esto y conectarme un par de veces. De acuerdo, ahora hemos conseguido la ubicación real y ahora podemos hacer algo con la dislocación. Entonces ahora mismo quiero acceder a la variable aquí que hice llamado checkpoint dentro del modo de juego. Entonces sigamos adelante y digamos git Game Mode y obtenemos el juego MoGraph, que es la función Blueprint Interface que hicimos. Y aquí como modo de juego, queremos conseguir la variable llamada checkpoint. Entonces sólo conseguirlo. Y entonces tenemos otras funciones. Por lo que dentro de, si se mueve hacia abajo las utilidades y dentro del mapa, se puede ver que esta variable tiene muchas funciones que podemos usar. Podemos agregarle cosas. Podemos despejar toda la variable por lo que la dejamos vacía. Y podemos encontrar artículos dentro de ella. Podemos preguntar si está vacío o no, y podemos hacer eso algo con esa información. Por lo que tenemos muchas funciones que realmente podemos usar. Entonces vamos a dar click en Agregar porque queremos agregarle alguna información. Entonces aquí estamos agregando, vamos a conectarlo. Por lo que ahora necesitamos agregar algo de información. Y la información que necesitamos agregar es en realidad esto, esto, estos puntos de control que tenemos carga porque queremos sumar todos los puntos de control dentro de esta variable. Entonces aquí en el texto, eliges lo que quieres escribir aquí. Entonces, por ejemplo, lo llamo primer punto de control. Y es preguntar cuál es la ubicación que quieres agregar. El lugar es en realidad este jugador inicia. Tenemos la ubicación de esta capa arranca, así que sabe que en realidad está aquí ahora. Y esto queremos conectarnos a esta variable. Por lo que ahora hemos agregado la ubicación de esto, y siempre podemos encontrar esta ubicación mediante el uso de la primera cadena de punto de control. Entonces este es un mapa. Así es como lo uso. Tenemos una cuerda y podemos encontrar la ubicación para ello. Entonces hagámoslo un par de veces más. Vamos a intentar agregar. Y aquí lo podemos conectar. Podemos llamarlo segundo puesto de control. Y podemos conectar el segundo puesto de control. Y sumemos el tercer puesto de control. Y podemos conectar esa. Por lo que ahora hemos sumado todos estos tres puntos de control. Y ahora esto, esta variable de mapa, igual que usted vio antes aquí. Cuando agregamos cosas, ahora tenemos un primer punto de control, un segundo, tercero, y conoce el, el vector o la ubicación de estos puntos de control porque le agregamos la ubicación real. Y ahora qué los usamos dentro de nuestro juego? En realidad podemos llamarlo diciendo, yo quiero, yo quiero hacer que el balón vaya al primer punto de set, entonces sabe en qué ubicación has agregado. Entonces así es como funciona. Y vamos a compilar y guardar. Y aquí queremos el balón en la primera ubicación. Por lo que aquí había empezado a jugar. En realidad tenemos algo llamado nodo de secuencia. Por lo que arrastrando hacia fuera y escribiendo secuencia. Y la secuencia sólo se usa para limpiar el código. Por lo que es una función de flujo, se llama función de flujo. Y se utiliza para limpiar el código. Entonces no tenemos que escribir todo nuestro código en una sola línea y se pone grande y desordenado. Entonces algo bueno para hacerlo es como dividirlo en varias piezas. Entonces por ejemplo, aquí, para este modo de juego, en realidad quiero hacer una variable. Así que vamos, déjame hacer click en x y, y sólo arrástrelo aquí. Déjame conectarlo aquí. Y lo que puedo hacer con este modo de juego aquí, en lugar de solo llamar a esto cada vez, puedo hacer clic derecho y decir promueve una variable. Y puedo llamarlo modo de juego. Entonces ahora tenemos esta variable del modo de juego que tenemos. Y en lugar de llamarlo Todo el tiempo, ahora puedo realmente simplemente arrastrar hacia fuera esta variable de modo de juego buscando en consigue. Y ahora solo puedo conectarlo directamente al punto de control. Entonces ahora cuando obtenemos esta variable de modo de juego y escribimos, por ejemplo, queremos conseguir este punto de control actual. Podemos ver los puntos de control actuales conseguir el punto de control verde. Entonces esto es mucho más limpio. En lugar de llamar a esto todo el tiempo. Entonces si tienes que usar el Modo Juego varias veces dentro de tu blueprint, adelante y haz una variable del mismo. Si solo vas a hacerlo como una sola vez, realmente no necesitas hacer una variable. Entonces ahora hicimos una variable de ella, y vamos a conectarla aquí. Por lo que este nodo de secuencia está diciendo, primer lugar, va a seguir adelante y ejecutar este pin. Por lo que va a seguir adelante y crear esta variable. Y luego se va a ejecutar este código. Y si agregamos algo tercero, entonces va a hacer esto. Entonces es una manera de romper el código y hacer que se vea más limpio. Bueno, vamos, pongamos esto aquí arriba. Y vamos a arrastrar esto. Yo voy a, voy a repasar todos estos, seleccionar todos estos y presionar sobre Q. Esto será recto. Ahora, la línea aquí, los vamos a arrastrar hacia arriba, haga doble clic en ellos. Por lo que se crea un nodo de reruta. Y lo voy a desconectar sosteniendo Alt y haciendo clic. Y voy a arrastrar de esto y conectarlo, haga doble clic para hacer un nodo de reruta y seleccionarlos todos presionando Q. Así que ahora se ve mucho más limpio y entendemos lo que en realidad está escrito aquí. Entonces lo último que quiero hacer es desovar el balón en el primer puesto de control. Entonces ahora podemos arrastrar desde aquí. Y ahora podemos decir que necesitamos el balón de referencia. No creo que tengamos una referencia de balón aquí. Sí. Entonces aquí podemos decir que se pone más ligero porque recuerden, nuestro tazón es de porno de clase que hicimos. Y aquí podemos decir que se pone porno o conseguir bola Tierra, porque ya hicimos. Si no recuerdas, la pelota se gana peón clases. Y ya hicimos una función de interfaz llamada get ball rife. Obtendrán el balón ref. Ahora podemos acceder a cualquier cosa dentro de este balón del EP. Y lo otro a lo que queremos acceder es a esta malla de bola. escritura se pone todo. Y podemos usar esta variable llamada bola. Y queremos establecer la ubicación mundial. Por lo que queremos fijar la ubicación del balón al primer puesto de control. Y ahora necesitamos usar esta ubicación. Entonces la forma en que hacemos esto es que obtenemos el modo de juego. Obtenemos nuestra variable de punto de control. Y recuerda asignamos el primer punto de control aquí arriba. Por lo que en realidad tenemos esta información ahora. Por lo que ahora podemos usar dentro de utilidades, se puede ver algo llamado Find. Y ahora podemos usar la función de hallazgo y podemos encontrar los puntos de control de ráfaga. Por lo que ahora obtendrá la ubicación. Este es el vector, esta es la ubicación del primer punto de control. Ahora bien, esto es correcto y necesitamos conectarnos. Va así. Entonces ahora tenemos, estamos definiendo el modo de juego. Estamos asignando los puntos de control. Y aquí en el tercero estamos respondiendo el balón en el primer puesto de control. Vamos a compilar y guardar. Lo último que queremos hacer antes de terminar esto es que realmente queremos definir cuál es el punto de control actual. Y el actual puesto de control en estos momentos es apenas el primer puesto de control. Para que podamos seguir adelante aquí y escribir. Podemos conseguir el modo de juego, pero la forma más fácil de hacerlo es solo conseguir que este primer jugador empiece. Y entonces podemos decir, y simplemente agregarlo aquí y decir, ahora me olvidé de lo que quería hacer. Sí, quería asignar el puesto de control actual. Perdón. Y vamos aquí a conseguir este puesto de control actual. Ya tenemos el modo de juego. Entonces, vamos a arrastrar hacia fuera el modo de juego. Y vamos a arrastrar hacia fuera y decir punto de control actual. Y queremos fijar los puestos de control actuales. Por lo que haciendo click en set, y queremos ponerlo a esta ubicación actual real para el primer jugador de bonos arranca que tenemos en el mapa. Por lo que conectarlo y esto también se asignará. Entonces éste es, lo vamos a usar un poco más tarde. No tiene sentido en este momento asignarlo, pero lo hemos asignado ahora y en realidad lo vamos a usar más tarde, por lo que tiene sentido para ustedes. Entonces esto fue todo por los puestos de control y sigamos adelante y creamos los portales. 32. Crear el portal: Ahora que hemos creado los puntos de control, podemos seguir adelante y crear los baches para después agregarle los puntos de control. Entonces sigamos adelante y creemos los portales que nos teletransportarán al siguiente nivel. Y aquí podemos hacer clic derecho y elegir Clase de Blueprint y dar click en actor. Y puedes crear uno llamado portal BB. Y haga doble clic en este portal de BP. Y dentro de aquí, puedes hacer click en Agregar para los componentes. Añadamos un cilindro. Pero una vez que realmente se puede agregar esto directamente es este anillo. Entonces si vuelvo a super grid starter pack caballos mallas, aquí tenemos algo llamado el super grid Hering. Entonces usemos eso como el portal. Bueno, déjame volver a los planos, abrir mi portal. Puedo buscar. Añadamos una malla estática. Para agregar una malla estática. Y llamémoslo portal. Y aquí podemos buscar al grupo sukha. cosa se le llama anillo, sí, super grilla resentida, este. Entonces ahora tenemos este portal aquí. Para este módulo, quiero agregar algún tipo de cosa de aspecto de botella en el medio. Entonces aquí voy a añadir un avión. Entonces usando este avión, y voy a llamarlo, y sólo podemos llamarlo avión. No importa ahora mismo en realidad. Y déjame hacer clic en la herramienta de arte, rotarla así, y escalarla así, para que cubra y déjame retroceder un poco aquí. Y déjame volver a las instancias de material de nivel tutorial super rejillas. Y podemos usar un material desde aquí. Entonces si abro de nuevo mi botella, en realidad puedo arrastrar una instancia material encima de esto. se pueda ver, en realidad se puede hacer una cosa de aspecto portal aquí. Esto se ve bastante guay. Ahora también quiero hacer este negro en vez de azul. Ahora si hago clic en la lupa para este material, me va a llevar a este material, puedo arrastrar este negro arriba. Ups, aquí no, encima de aquí. Y ahora tenemos esta botella oscura puede compilar y guardar. Lo último que queremos agregar es en realidad una caja de colisión porque queremos interactuar con este portal. Por lo que al hacer clic en Agregar y buscar colisión. Y se puede ver una llamada caja de colisión. Entonces trig pinchando sobre él y lo voy a llamar gatillo dólares. Entonces esta caja, en realidad podemos movernos aquí. Y puedes rastrear el tamaño de la misma aquí. Tan solo para cubrir todo el portal así y el tamaño del mismo. Y hazlo más pequeño. Algo así. Puedo arrastrarlo de ida y vuelta para ver cómo es. Creo que esto se ve bien. Por lo que ahora Es cubre todo el portal. Y hagamos clic en Guardar y compilar. Podemos hacer ahora con las manchas o perder. En realidad adelante y colóquelo en el nivel. Entonces voy a habilitar mi grilla snapping. Y voy a planos tipo de mi carpeta Blueprints y arrastrando esta parcela y colocándola aquí. Vamos a moverlo hacia arriba así, así que apenas está tocando el suelo así. Y ahora puedo usar esto como el portal. Voy a retroceder, reducir el chasqueo a 10. Al igual que esto. Ahora tenemos una partícula y déjame realmente hacerlo por aquí. Entonces déjame aumentar la velocidad de la cámara. Y está por aquí. Y este es el último portal que golpeamos. Puedo moverlo en el medio, por encima del suelo y aquí en la parte superior. Al igual que esto. Entonces ahora tenemos dos portales. Entonces, sigamos adelante y volvamos al Portal de BP. Y ahora queremos hacer algo con este gatillo de dólares. Por lo que al hacer clic en este gatillo de dólares y volver a la parte inferior, podemos hacer clic en la ONU comenzar solapamiento. Entonces, ¿qué pasa cuando se superpone esta caja Trigger? En primer lugar, al igual que antes, en el otro actor. Podemos escribir actor tiene etiqueta para asegurarnos que es el jugador el que está activando este evento. Entonces recuerda que usamos, escribimos el tech player en ese interior de nuestro bowl rbp y la lección anterior. Y aquí podemos hacer una sucursal, por lo que escribir rama. Entonces ahora se va a decir, ¿el jugador tiene al actor o el actor tiene al tag player? Si eso es cierto, entonces adelante y haz algo. Si no es cierto, entonces no hagas nada. Entonces aquí lo que queremos hacer, en realidad queremos establecer la ubicación de nuestro balón porque queremos teletransportarnos al siguiente nivel. Por lo que necesitamos una referencia al tazón. Por lo que aquí podemos decir que es capa encima y conseguir balón ref. Por supuesto que hay una función de Interfaz de Blueprint. Y aquí podemos conseguir la variable balón. Ahora esta es la malla estática. Y para ésta queremos establecer la ubicación mundial por lo que queremos teletransportarla. Queremos teletransportarlo desde aquí hasta el inicio aquí. Por lo que vamos a establecer la ubicación mundial de la misma. Tan triste, ubicación mundial. Ahora se pregunta, ¿a qué ubicación voy a fijarlo? El dislocación es en realidad el retroceso en los Planos de Nivel, las ubicaciones en realidad estos puntos de control que asignamos en la lección anterior, el primer segmento, segundo, tercero. Entonces podemos seguir adelante y obtener la referencia al modo de juego porque aquí es donde hemos hecho la variable. Por lo que escribir se obtiene el Modo Juego y conseguir la referencia Demode. Ahora, ahora obtenemos el Modo de Juego. Y dentro del modo de juego queremos acceder a los puntos de control. Este, queremos teletransportar a Doppler al siguiente puesto de control. Y aquí podemos decir encontrar, porque queremos encontrar el puesto de control. Y aquí, codificando cuando recubrimos algo, queremos hacer tanto como sea posible dinámicas para que no tengamos, por ejemplo aquí, déjame mostrarte si me conecté, los conecto. Entonces aquí por ejemplo, puedo decir encontrar primer punto de control, y luego siempre puedo conectarlo y así sucesivamente. Pero y si este portal no es el primer puesto de control, entonces tenemos que hacer otra superposición o el segundo portal y después decir, adelante y encontrar el segundo puesto de control y así sucesivamente. ¿ Cómo sabes que este es el primer punto de control o el segundo o el tercero o el 40, o cuántos niveles has realizado. No tenemos que hacer una dinámica. Entonces sabe que éste es el primero, por ejemplo, o el segundo y así sucesivamente. Entonces la forma en que hacemos esto está dentro del portal de BP aquí. Podemos hacer una variable y podemos hacer, podemos llamarla y luego nombrar esta variable. Queremos cambiarlo a una cadena, así que es solo un texto. Compilar y Guardar. Para este, vamos a dar clic y hacer clic en instancia editable y exponer en columna vertebral, Componer y Guardar. Y lo que esto va a hacer es que va a engendrar la variable para que podamos editarla dentro del nivel. Por lo que si haces click en este portal, ya puedes ver que ahora hemos expuesto esta variable. Cuando hicimos clic en instancia editable y exposición y desove, ahora hemos expuesto esta variable de nombre que hicimos, que es una cadena. Podemos escribir un texto. Lo hemos expuesto para que en realidad podamos editarlo aquí en el panel Detalles. Entonces esto es lo que puedes hacer. Se puede hacer todo tipo de variables, incluso si se trata de un booleano y se puede hacer expuesto en desove. Y se puede ver ahora aparece este booleano. Por lo que esto es muy útil si los programadores hacen esto también para los artistas. Para que puedan trabajar sin entrar de planos si no tienen idea de cuáles son los planos. Por lo que ahora hemos expuesto esta variable de nombre. Y lo que podemos hacer aquí ahora podemos hacer que el portal sea tan único. Por lo que aquí queremos ir al segundo puesto de control. Eso puede punto de control. Entonces cuando entramos a esto, queremos ir al segundo puesto de control. Y para éste, éste es el último. Nosotros queremos ir al tercer puesto de control. Por lo que ahora dentro del portal de BP, ahora podemos decir encontrar. Y entonces en lugar de escribirlo estáticamente, podemos hacer una dinámica. Por lo que podemos arrastrar esta variable de nombre y ponerla encima de aquí. Por lo que va a decir obtener esta variable de punto de control, encontrar este punto de control. Entonces va a encontrar, por ejemplo, el tercer puesto de control. Entonces va a encontrar este nombre que has escrito dentro de tu nivel aquí en el portal. Y ahora va a encontrar esta ubicación porque conoce ese tercer puesto de control. Ya lo hemos asignado, que aquí va a tomar la ubicación de esta capa inicio tres. Y podemos usar esta ubicación para establecer la ubicación del actor. Entonces va a encontrar el nombre que haya escrito. Entonces si entramos, si entramos a este portal por aquí, te va a teletransportar al segundo puesto de control, que está por aquí, que es este jugador arranca que hicimos por aquí. Entonces sigamos adelante y probemos y veamos si está funcionando o si tenemos algunos bichos. Entonces vamos a compilar y hacer clic en Play. Y vamos a movernos. Y aquí voy a entrar. Y ahora tenemos un bicho aquí. Y el bicho fue que en realidad, para hace, si vuelvo dentro del portal, haciendo click en este plano que creamos, vamos a quitar la colisión porque se puede ver que nos alejó. Por lo que dentro de su colisión. Y ese preset de colisión, podemos hacer click en no colisión y luego compilar guardar. Y ojalá le dé el salto y luego pueda seguir adelante y entrar al portal. Entonces ahora se puede ver que en realidad está funcionando. Y si no quieres moverte, si quieres hacer el balón sigue aquí. Cuando estás teletransportado. Puedes seguir adelante aquí y decir, puedes arrastrar de este balón y decir física. Y te mostraré la función. Entonces la física, tenemos muchas funciones, por lo que no es fácil encontrar este conjunto de física velocidad lineal. Pero éste hará el balón y no se moverá en absoluto. Si compilo y hago clic en Play por última vez, y me mudé y entro al portal, va a hacer que mi pelota se vaya quieta, y luego puedo moverme de nuevo. Esto es, por supuesto, si no quieres mover el balón cuando tú, cuando tomaste parte al otro nivel. Pero si quieres mantener tu velocidad, solo tienes que seguir adelante y quitar esta que depende de ti dependiendo de lo que quieras crear. Entonces antes de que terminemos en, déjame crear un nodos reescritos para que se vea limpio. Por lo que doble clic aquí. Al igual que esto. Tal vez sólo crear un nodo ferroviario será suficiente así. Y podemos crear un nodo reescrito para éste también. Recuerda limpiar el código más. Va a ser muy, muy desordenado al final. Por ahora, este es el portal que creamos. Y sigamos adelante en la siguiente lección y realmente creamos la lógica para cuando pierdes. Entonces cuando te caigas aquí, debería decirle a un puerto que regresas al puesto de control. Y esto debería ser fácil de hacer porque ya tenemos la lógica para ello. Pero vamos a repasar en la siguiente lección. 33. Crear la lógica de la pérdida: Entonces vamos a crear ahora la lógica perdedora para este juego. Entonces cuando la pelota se pliega aquí en este hoyo, tenemos que teletransportar el balón de vuelta al puesto de control, así que no te quedarás atascado aquí para siempre. Y hagámoslo por seguir adelante y crear. Se puede, dentro de los volúmenes, se puede encontrar, pero también se puede encontrar aquí, que se llama gatillo de caja. Por lo que al hacer clic en el disparador de caja, puedes ver aquí se creó una caja si presionas G para ver los iconos. Y este gatillo de caja es igual que los disparadores que hicimos aquí en el portal, por ejemplo, los que hemos hecho anteriormente. Bueno, éste de aquí creamos dentro del nivel. Por lo que la creación de este pokes gatillo. Y podemos aumentar el tamaño de la misma aquí para cubrir lo que necesitamos para efectuar. Por lo que quiero afectar esta parte aquí abajo. Yo sólo lo voy a hacer un poco más alto. Tan afectando cuando el balón golpea por aquí abajo. Entonces en el balón está aquí abajo, va a activar esta caja. Entonces voy a aumentar el tamaño y en realidad quiero cubrir todos mis mapas. Entonces cubriendo esto. Y porque estas son de la misma altura se puede ver aquí, y la pelota cae aquí abajo. Se va a querer restablecer el juego al puesto de control. Por lo que quiero que lo hagan tan grande como el nivel. Entonces ahora está cubriendo todo el suelo, que está por aquí abajo. Y no queremos cubrir esto porque esta es la zona unica. No queremos detonadores ni aquí. Entonces nieve cubriendo todos los terrenos de aquí abajo porque está cubriendo toda esta zona. Y podemos seguir adelante y renombrarlo aquí arriba. Puedes renombrarlo disparador suelto tal vez. Y sigamos adelante y creemos algo de lógica para esto. Entonces por aquí, queremos crear, queremos conseguir una referencia al mismo. Y la forma en que podemos hacerlo es dentro del Plano de Nivel. Por lo que haciendo clic en Abrir planos de nivel. Y dentro de aquí podemos hacer clic derecho y dentro de eventos en evento para desencadenar caja. Esto es lo que queremos y el evento de colisión. Y queremos hacer algo en la superposición de inicio. Entonces cuando el balón se superpone a esta caja Trigger, queremos hacer algo. Y de nuevo, en el otro actor, podemos decir que el actor tiene etiqueta. Si el actor tiene al tech player, entonces adelante y, y recuerda a esto es a lo que creamos en las últimas lecciones como el actor tiene el tag player, entonces adelante y esto es muy fácil porque ya tenemos el puesto de control. Queremos establecer la ubicación mundial del balón, por lo que necesitamos conseguir una referencia al balón. Y se puede ver aquí, ya tenemos la referencia aquí, así que ahora la vamos a utilizar múltiples veces. Entonces, ¿por qué no simplemente creamos una variable de esto para que no tengamos que crear todo el tiempo. Entonces aquí realmente podemos hacer clic derecho en esta bola o esta, esta variable aquí y crear promover a variable. Yo voy, voy a llamar a este balón BP. Entonces no te confundes aquí porque esta es la malla estática ósea y esta es la pelota de BP. Entonces esta es en realidad la clase de blueprint. Entonces esta es la clase de blueprint. Y desde aquí podemos conectarlo al balón SPP. Y conectados igual que lo que hicimos aquí con el modo de juego, hicimos una variable a partir de él. También lo podemos hacer aquí por el bulto. Ahora, en lugar de hacer todo esto, ahora podemos usar nuestra variable. Por lo que sacando este balón BP. Y ya podemos ver, ya podemos conseguir, conseguir el balón. Por lo que consiguiendo la malla de la pelota. Y podemos decir establecer ubicación mundial. ¿ Y cuál es la ubicación mundial? Nosotros queremos establecer? El término ubicación es este punto de control actual que hiciste. Entonces voy a conseguir el modo de juego y decir punto de control actual. Y este puesto de control actual donde quieres conectarte aquí. Porque recuerda, cada vez que entres al portal, vas a encontrar esto. Pero aquí también necesitamos establecer la ubicación actual porque necesitamos actualizar este punto de control para esto, esta ubicación actual a un punto de control. A este puesto de control estamos en este momento. Entonces aquí cuando entremos al portal, vamos a encontrar, por ejemplo, el segundo punto de control, dependiendo de cuál sea el nombre del portal. Y vamos a firmar esta ubicación antes de hacerlo. Entonces déjame mover esto un poco más allá. Y voy a conseguir el modo de juego aquí y conseguir el punto de control actual. Y yo lo voy a poner aquí a éste. Por lo que vamos a establecer el Checkpoint actual cada vez que entramos a un portal. Por lo que esta variable de punto de control actual actualiza la geolocalización cada vez que interrumpes el portal. Entonces digamos que estás en el nivel 20 y entras al portal en el nivel 20, actualizará esta ubicación a, digamos tu punto de control número 21. Por lo que sigue actualizando el puesto de control actual. Y sigamos adelante y hagamos esto. Y lo que podemos hacer en realidad, tú puedes, es lo mismo porque ahora has dicho que pueden revisar puntos. Se puede conectar este pin aquí a aquí, lo que hemos hecho en este momento. Esto es correcto, pero también puedes hacerlo aquí. Eso depende de ti porque esto es lo mismo. Sigues configurándolo a esta variable. Dejemos que sea así y regulemos un poco más cerca. Por lo que ahora dijimos el actual puesto de control todo el tiempo. Entonces lo que podemos hacer aquí es conseguir el Checkpoint actual cada vez que caemos y perdamos para apoyarnos al actual puesto de control donde estamos en este momento. Y justo otra vez, al igual que antes, con la botella, podemos seguir adelante y usar este conjunto de física velocidad lineal para no volar alrededor para que pueda pausar el balón. Por lo que puedo decir aquí establece la física lineal, la velocidad lineal. Y puedo conectarlo. Y la velocidad es apenas 0, 0, 0. Y podemos seguir adelante y dar click en Archivo, Guardar y dar click en play. Y si bajamos ahora, yendo a teletransportadores a este puesto de control por caer otra vez. Y déjame pasar al siguiente nivel y ver si realmente está funcionando. Si me teletransporto aquí y me caigo, me va a Tilburg al actual puesto de control en el que estoy ahora mismo. Entonces esto está funcionando perfectamente y nos va a teletransportar al puesto de control mientras estamos en. 34. Zona de Win: Concentrémonos ahora en el área única y en realidad crea la pantalla final. Entonces cuando entramos a este portal al final, queremos poner la vista a aquí. Entonces ahora mismo no tenemos cámara. Entonces lo que quiero hacer por esta sola pantalla, en realidad quiero solo dejarme reducir la alimentación de las cámaras. Y quiero solo ver el juego así. Y puedes moverte con tu tazón libremente, pero la cámara estará estática así como así. Entonces busquemos un buen, por favor trate de encontrar un buen lugar. Y digamos que quería aquí. Y lo que puedes hacer aquí y la vista actual que estás en este momento, si estás contento con ello, puedes hacer click en este botón aquí arriba. Y puede hacer click derecho en Crear cámara aquí y crear este actor de cámara. Y ahora puedo hacer clic en esto y se puede ver que crea un actor de cámara. Por lo que ahora en realidad puedo volver a moverme con esta cámara. Esto no importa. Y creé este actor de cámara donde estaba buscando. Y voy a hacer clic con el botón derecho sólo para que no lo mueva por error y diga Transformar, bloquear, movimiento de actor. Ahora no puedes, no puedes moverlo por error. Entonces si hago clic con el botón derecho y hago clic en piloto, puede ver así es como se ve en este momento. Haré clic en este para inyectar remoción de pilotaje. Y ahora queremos ponernos a esta vista cada vez que entramos a esta zona cuándo. Y podemos hacerlo si vamos al portal. Y aquí, recuerden, el último puesto de control que tenemos se llama tercer puesto de control, y este es el último, el último frasco. Entonces si hago mi cámara muy rápida para poder ir aquí. Éste sí. El último rompecabezas tiene el nombre por puntos de control, lo que este es el último lugar. Y lo que puedes hacer aquí en el portal de BP, podemos decir si este nombre es igual a tercer punto de control, entonces adelante y haz algo. Entonces aquí podemos ver este nombre. Y entonces podemos decir, ¿esto es igual? Entonces para que eso sea igual, basta con golpear el signo igual. A lo mejor lo hice demasiado rápido. Por lo que escribir el signo igual, hago clic en el SQL es este nombre. Por lo que ahora estamos revisando el nombre de este portal y comprobando si es un tercer punto de control para que puedas copiar este tercer punto de control. ¿ Es esto igual al tercer puesto de control? Y hagamos una sucursal. Entonces ahora, si esto es igual al tercer punto de control, podemos seguir adelante y fijar la vista a esta cámara aquí. Y de la forma en que hacemos esto, podemos conseguir primero la cámara. Y la forma en que podemos hacerlo aún es actor de clase. Entonces consiguiendo al actor de clase, estamos consiguiendo un actor. ¿ Qué, qué queremos conseguir? Queremos conseguir la cámara, el actor de cámara. Por lo que ahora el get actor de clase está consiguiendo el actor de cámara, que ahora mismo está dentro del nivel. Y se puede ver aquí, si busco cámara, sólo tenemos una cámara ahí fuera. Entonces ahora tenemos a este actor de cámara. Y lo que queremos hacer es algo llamado set. ¿ Te apuntas con la mezcla? Y si elimino este contexto sensible, y me desplaza hacia abajo este objetivo espectador conjunto con blend. Entonces lo que esto hace es que establece el objetivo de vista a esta cámara. Entonces cuando entré a la tercera botella, vamos a poner la vista a esta cámara. Este es el objetivo de vista establecida se fusionaría. Y ahora está en, pide un objetivo y dice referencia de objeto de controlador de jugador. Tenemos que llamar al controlador jugador. Voy a volver a tomar este contexto sensible. Y aquí voy a escribir el controlador get layer. Y éste, así como éste. Y ahora va a funcionar. Entonces si hago clic en play, realidad, no quiero empezar justo desde el principio. Sólo estamos probando el juego. Entonces me estoy llevando este jugador arranca y lo estoy dejando caer por aquí sólo para poder entrar a lo posible sin jugar todo el juego. Arriba mirando azul. Y ahora en realidad te puedes ver, tenemos un bicho. Y el error es en realidad el gatillo perdedor porque esta parte del mapa estaba funcionando. Pero cuando entras aquí puedes ver que es, el mapa en realidad va hacia abajo. Y ahora mismo el gatillo perdedor es, si lo muevo aquí a un lado, lo puedes ver realmente cubriendo todo este bucle como éste. Perdón, este fue el volumen de importancia masiva como. Entonces si lo muevo aquí abajo, se puede ver que en realidad está cubriendo toda esta zona. Y por lo tanto, no tenemos forma de entrar al portal. Entonces es correcto aquí. Pero no es correcto aquí porque el mapa va hacia abajo y tenemos que entrar aquí. Entonces tenemos que arreglar esto y vamos a arreglarlo más tarde. Ahora mismo, voy a empujar esto un poco hacia abajo para que podamos jugar el juego. Voy a jugar y voy a presentar Portal. Y ahora puedes ver que hemos establecido el objetivo de vista se mezclará. Por lo que hemos puesto el debido a esta cámara y todavía puedo moverme. Mi pelota se ve bastante guay. Y esta es la pantalla ganadora. Centrémonos en terminar su área ganadora. Y al final, Vamos a arreglar el bug estaría perdiendo, perdiendo área y otros bugs que podríamos, podríamos encontrar durante el camino. 35. Crear la UI de pantalla de Win: Vamos a crear ahora nuestra UI final. Y la UI final es la pantalla ganadora. Entonces cuando te preguntas juego, va a decir que has coleccionado y va a mostrar cuántas estrellas has coleccionado. Entonces vamos a ir por dentro de la interfaz de usuario y hacer clic derecho en la interfaz de usuario y crear otro Widget, Blueprint. Llamemos a este WB para Widget Blueprint. Y llamémoslo cuando. Haga doble clic en este Widget Blueprint. Y dentro de aquí, al igual que antes, podemos arrastrar y añadir algunas cosas aquí. Y lo que quiero añadir es sólo decir que has recogido y debajo él se va a mostrar el icono de la estrella y cuántas estrellas has recogido. Entonces antes de usar una caja horizontal, ahora mismo, usemos una caja vertical porque queremos texto aquí arriba y debajo de ella. Y el monto recaudado, voy a soltar la caja vertical. Y voy a buscar texto y dejarlo encima de la caja vertical. Entonces ahora este texto, voy a decir, has recogido así. Y déjame hacer clic en esta caja vertical, hazla un poco más grande y arrástrela aquí. Ahora este punto de pivote, se puede ver que ahora mismo Está aquí arriba. Entonces imagina si tuviste este juego y el jugador quiere jugar en modo ventana, y el jugador escala así. Este texto irá en realidad hacia esta esquina cuando se reescale. Pero lo que quieres es, quiero que este texto esté aquí en medio. Entonces no me gusta si lo pongo aquí en medio ahora mismo. Y el jugador va a reescalar la ventana. No se va a quedar en el medio. Se va a empujar hacia este punto de pivote. Y no quiero eso, quiero que esté en medio. Lo que puedo hacer aquí es aquí a la derecha, y los anclajes cambian el punto de anclaje para estar en el medio superior. Aquí es donde quiero que esté el lugar principal. Y lo que puedo hacer aquí es seguir desarrollando aquí en esta UI. Entonces lo que quiero hacer aquí es que quiero centrarlo. Por lo que pinchando en este alineamiento horizontal, centro, así como esto. Y lo siguiente que quiero agregar el ícono estrella debajo de él y el texto. Ahora no podemos, no podemos simplemente llegar aquí y agregarlo así porque puedes ver que imagínate esto como el ícono de la estrella. Y luego yo, añadiremos mi texto para mostrar cuánto he recaudado. Ahora esta es una caja vertical, por lo que va a poner las cosas verticalmente así. Pero nos preguntamos estrella aquí y queremos el texto a su lado. Entonces lo que tenemos que hacer primero, necesitamos agregar una caja horizontal. Espero que no se esté poniendo demasiado confuso porque hay que pensar y tiempo extra antes de entenderlo. Por lo que tienes esta caja vertical, tenemos este texto. Y dentro de esta caja de vesícula, ahora agrego esta caja horizontal. Ahora quiero agregar mi imagen dentro del cuadro horizontal y mi texto. Por lo que ahora están horizontalmente uno al lado del otro. Por lo que al hacer clic en este cuadro horizontal, quiero dar clic en este alineamiento horizontal. Entonces está en el medio. Y sólo escribamos 23 aquí. No importa lo que diga ese texto aquí porque sólo le vamos a agregar código y cambiarlo dinámicamente. Pero éste, el ícono de la estrella. Vamos a dar click en esto aquí en la imagen del pincel. Busca una estrella y pinchando en nuestro ícono estrella. Hagámoslo del tamaño a 45. 45, y al igual que antes. Y así este es el ícono de la estrella y quiero centrar esto ahora mismo Está un poco a la cima, así que quiero centrarlo. Estamos buscando la alineación horizontal y vertical. Y quiero empujar esto un poco lejos. El texto está demasiado cerca de la herramienta estrella haciendo clic en el texto aquí en el relleno, quería moverlo a la de la izquierda. Es así como hay que pensar en ello. Tienes que moverlo desde la izquierda. Por lo que empujándolo lejos de la izquierda. Entonces, por ejemplo, puedo escribir cinco o 10. puede ver que se está alejando de la izquierda. Y si hago clic en este esquema discontinua solo para ver cómo se ve, está un poco demasiado lejos. Entonces déjame escribir cinco en su lugar. Y quiero empujarlo desde arriba, tal vez para gustarle esto. Ahora se ve bien, está en el centro. Y tal vez necesito aumentar el tamaño de mi texto. Por lo que al hacer clic en esto, puedo aumentar el tamaño a 40. Y también aumentemos el tamaño para prever también aquí. Y la estrella, Vamos a aumentar el tamaño a 7070. Sí, éste está bien. Y puedes ver aquí ahora puedes aumentar la caja vertical y hacer que se vea como quieras. Yo sólo voy a hacerlo así. Y también podemos hacer click en los bugs Vertical y alejarlo de la parte superior y del relleno. Por lo que empujándolo por cinco o 10. Ahora lo estamos alejando un poco del texto que has recogido. Por lo que ahora para centrar perfectamente a este punto de pivote, podemos ver aquí tenemos una posición x y posición y. entonces escribiendo 000, se puede ver que va a esta esquina superior. Pero yo quería estar en el medio. Y esto es, aquí es donde entra la alineación. Porque 000, Eso está bien. Queremos que esté centrado, pero queremos realmente alinearlo a este punto y no en este punto. Entonces aquí, esta es la X. Verás que esto es alineación en la x, y esto es alineación en el eje y. El eje y es perfecto. Simplemente queremos alinear y dx. Entonces aquí si lo arrastras, te puedes ver ahora está en medio. Entonces 0.5 es el medio. Si escribiste 1, se alineará a este punto aquí. Ejecutar uno lo alineará a este punto, 0, 1, y 2. Este 0.5 lo alineará a este punto. Entonces ahora es correcto. Ahora solo quiero alejarlo de la de la y porque es, está bajo borde de pantalla. Entonces lo voy a posicionar en la y así. Has recogido y hay algo de texto en el medio. Por ahora queremos que este texto funcione igual que hicimos con el otro. Suerte con el menú que hicimos. Por lo que al hacer clic en este 23, voy a dar clic en enlazar aquí en texto, dando click en Crear Encuadernación. Voy a renombrar mi función, hacer clic en F2 y escribir consigue estrellas y montar u obtener cantidad de estrella, eso depende de ti. Y aquí queremos acceder a la cantidad estrella o a la variable estrella, que tenemos en nuestro modo de juego. Y queremos acceder a esta variable estelar. Por lo que la escritura se acercó y conseguir. Ahora, ¿qué modo de juego quieres obtener? Lo consigue o grafica. Esta es la función de interfaz se hicieron. Y desde aquí ya podemos acceder a las variables del modo de juego. Por lo que ahora podemos decir estrellas, estrellas variables. Y ahora podemos conectarlo. Y va a convertir el número, que es el entero a un texto antes de que pueda imprimirlo. Entonces así como esto, y creo que ya terminamos con nuestra UI ahí. Siguiente cosa que puedes hacer, o si quieres, siempre puedes cambiar los colores. Si quieres. Podemos cambiarlo por algo anaranjado. Y contiene este color y todas estas cosas. Pero creo que esto está bien por ahora. Entonces vamos a compilar y guardar, y pasar a la siguiente lección. 36. Mostrar la UI de pantalla de Win: Ahora es el momento de mostrar ahí cuando tú i que creamos en la lección anterior. Y recuerda que hicimos la interfaz de usuario dentro del controlador del jugador. Entonces la primera que hicimos fue esta UI principal o la que hicimos. Y lo hacemos de la misma manera, pero aquí, no queremos mostrarlo justo desde el principio cuando juegues el juego, queremos mostrarlo siempre que el jugador, es el Portal de Fin e interesa esa área. Entonces, al principio, necesitamos crear un evento personalizado para mostrar esto, esta UI. Entonces primero, tenemos que, vamos a crear una Interfaz de Blueprint, haciendo clic derecho, creando una Interfaz de Blueprint. Y llamémoslo controlador de jugador int. Ahora vamos a hacer doble clic en éste. Vamos a crear uno llamado Display. Cuando UI. Se los va a mostrar y esto es sólo un, sólo un, un evento. Por lo que yendo aquí en el controlador del jugador, recuerda agregar tu interfaz. Ya voy a ver que lo harás, no va a estar funcionando. Por lo que al hacer clic en Configuración de clase, va a agregar y escribir controlador de jugador int. Ahora puedes ver este evento de interfaz que aparece. Y aquí podemos escribir display. Muestra cuando tu ojo y puedes ver. Ahora ésta no es la correcta porque ésta es una función. Y esto es porque hay que recordar compilar y guardar. Ahora podemos escribir display cuando tu ojo y puedes verlo aparece este evento. Ahora tenemos este evento y este evento ya podemos decir crear widgets. Y lo que queremos crear es esta pantalla ganadora. Y ahora puedes agregarla a la, tus pensamientos. Ahora esto sumará la pantalla ganadora. Y ahora tenemos, en algún momento tenemos que llamar a este evento, y podemos llamar a esto siempre que ganes. Entonces cuando tú, cuando entras a este último portal. Entonces volvamos a este portal, portal de BP. Y aquí hicimos esta lógica aquí. Permítanme borrar todos estos eventos. Hicimos esta lógica donde entras unos pocos entran al tercer punto de control. Se va a establecer la vista de la cámara. Pero aquí vamos a mostrar también la UI ganadora. Por lo que aquí queremos conseguir la referencia al controlador del jugador. Y la forma de hacerlo, Volvamos a nuestra función de interfaz o a una Interfaz de Blueprint, y haga clic en Agregar. Hagamos una nueva función llamada gets layout controller ref. Y aquí podemos agregar unas salidas y podemos escribir, podemos escribir la variable sobre qué es este controlador de flujo al que estás tratando de referirnos. Y estamos tratando de referirnos al balón de velocidad de PC, gol de velocidad de KPC. Y mostrar el nivel y elegir la referencia del objeto, y llamémoslo controlador jugador. Componer y Guardar. Y dentro de este controlador de flujo, ahora podemos hacer doble clic en esta función. Y ahora se pregunta qué, ¿ qué quieres decir con controlador de jugador? Me refiero a sí mismo. Esto significa que la referencia es este controlador de jugador en el que nos encontramos actualmente. Esto es lo que significa yo. Por lo que ahora dentro del portal de BP, ahora puede decir conseguir controlador Blair. Sólo podemos usar este. Y ahora podemos decir que el controlador de jugador del que estoy hablando es esto como mío propio llamado bola de velocidad ISI. Pero recuerda que hicimos esta función llamada consigue su referencia Controller. Y este es un mensaje porque es una función de interfaz. Y vamos a conectarlo. Permítanme hacer doble clic para hacer un nodo de reruta como este. Y como este controlador de flujo, queremos llamar a este evento que acabamos de hacer la misma pantalla cuando UI. Entonces diciendo cuando se muestra, cuando estás aquí, este es un mensaje como este, y ahora los va a mostrar cuando la interfaz de usuario. Entonces si vuelvo atrás, click en play y entro, va a mostrar esto cuando te identifiques, maximices la pantalla, puedes verla así. Pero el problema es que también está mostrando el menú que se puede ver hasta la parte superior izquierda. Y queremos quitarle eso. Entonces volvamos al interior del controlador. Y tenemos que quitar éste de la ventana gráfica. Y la forma en que lo hacemos, tenemos que hacerlo es igual que creamos referencias. Qué el modo de juego y el balón BP. Previamente. Podemos hacer clic derecho en este y decir remoto a variable. Y llamemos a éste w ser principal. Y vamos a conectarlo. Y conectemos este aquí en su lugar. Entonces ahora déjame sostener Alt y desconectado, y conectemos esto en su lugar, así como esto. Y ahora tenemos, tenemos una variable que podemos usar ahora para este menú principal. Y lo que queremos hacer es sacar esta variable y decir Eliminar de los padres. Y así es como se quitan las cosas de las ventanitas. Y ahora podemos conectar esto. Y ahora lo va a quitar de la ventana gráfica para luego mostrar. Y luego mostrar nuestra interfaz de usuario. Para que puedas ver, ya sabes, la interfaz de usuario principal en realidad ya no se muestra. Y en realidad puedes editar este texto blanco. No es demasiado visible si quieres, pero no quiero molestarme ahora mismo. Esto se ve bien. 37. Fase de la cámara: Está bien, así que ya casi terminamos con el juego. Y con esto, Vamos a añadir algo de alimentación de cámara. Y voy a dar click en este inicio de jugador que me moví previamente solo para probar el juego. Y lo muevo de nuevo al nivel uno que hice aquí desde el principio. Y quiero dar click en Mi mayor miedo o esfera perdedora. Otra vez que me mudé y lo voy a mover hacia arriba. Simplemente lo vamos a mover hacia arriba para que cubra este terreno un poco así. Voy a cubrir todo el mapa. Entonces ahora cuando jugamos el juego y nos caemos, puedes verlo instantáneamente respondernos, pero quiero alguna cámara de desvanecimiento hace para que se vea bien. Y para ello, vamos a repasar en el Plano de Nivel donde tenemos nuestra lógica perdedora y crear están dando click en abrir Plano de Nivel. Y dentro de aquí se puede ver esto es lo que sucede cuando nosotros, cuando interactuamos con este gatillo suelto. Y aquí queremos hacer algo de desvanecimiento de cámara. Y para ello, movamos estas funciones y nodos por aquí. Y vamos a conectarlo sosteniendo Alt y haciendo clic. Por lo que aquí queremos decir alimentación de cámara oscura. Entonces tenemos algo llamado arranca cámara, el DNI. Y si quita su sensible al contexto, puede ver, aquí lo podemos encontrar. De acuerdo, entonces tenemos el desvanecimiento de la cámara de inicio y necesitamos una cámara. Y aquí dice que el objetivo es jugador, un gerente de cámara. Entonces si te arrastras y dices manager de cámara de jugador, y si vas arriba o abajo, déjame encontrarlo aquí. Consigue jugador, manager de cámara, esto es lo que necesitas. Y ahora necesitas configurar los Alfas. Por lo que ahora le dice al Alfa en el que empezar a desvanecerse, el rango donde 0 es totalmente transparente. Entonces en este momento es totalmente transparente y uno es totalmente opaco. Ahora bien, si tú, si escribes uno aquí lo hará. La pantalla será completamente negra. Con este color, puedes cambiar el color, pero hagámoslo negro. Esto está bien. Entonces se va a desvanecer. Cuando golpeamos el gatillo perdedor. Se va a desvanecer de transparente a un color sólido completo, así como esto. Y tenemos que escribir cuánto es la duración en la que quiere desvanecerse. Y aquí, y sólo escribamos 1 segundo. De acuerdo, entonces ahora estamos calificando la cámara. Entonces si hacemos clic en play y vamos a probarlo. Se va a desvanecer la cámara. Y se puede ver que va de nuevo. Y esto es porque déjame abrirla. Y esto es porque tenemos que dar click en esta espera, una terminada. Por lo que se va a aguantar en este color oscuro. Cuando nos desvanecemos. Ahora ya podemos conectar esto de nuevo, pero hay que estar al tanto de eso. Cuando, cuando se reproduce esta alimentación de cámara, no queremos cambiar la ubicación al instante. Podemos agregar un nodo de retardo. Por lo que estamos esperando que el desvanecimiento salte antes de que hagamos nada. Entonces vamos a retrasar por 1 segundo porque la duración de esto como 1 segundo. Entonces se va a retrasar o se va a desvanecer la cámara y luego retrasar el mismo tiempo. Entonces estamos esperando 1 segundo. Por lo que está totalmente borrado, completamente descolorido. Y antes de que vayamos y ejecutemos este código, porque quiero teletransportar al jugador siempre que la pantalla esté en realidad negra u oscura. Y después de esto, podemos hacer iniciar el desvanecimiento de cámara. Y en realidad vamos a conseguir esta cámara y gerente y conseguir nuestro gerente de cámara. Y hagamos que la cámara Dot se desvanezca así, y vamos a conectarla. Y aquí, después de haber teletransportado al jugador, queremos pasar de ser totalmente negros aquí a ningún color en absoluto. Y la duración también es de 1 segundo. Ahora, puedo mostrarles algo aquí. Y en lugar de escribir un número estático aquí, número codificado duro, imagina si tuviéramos muchos de estos en nuestro juego. Y tú decidiste un día que quieres cambiarlo a dos segundos en lugar de uno. Ahora tienes que entrar y cambiarlo a segundos en todas partes. Y podría llevar mucho tiempo si tienes muchos de ellos. Y esto no es óptimo, queremos algo que sea muy fácil de trabajar. Y este es el porqué. Escribiendo 1 segundo nuevamente, es por ello que puedes hacer clic derecho en esta duración y hacer clic en promover a variable. Y a ésta la voy a llamar duración de desvanecimiento. Ya lo vas a ver. Hizo una variable de flotación. Y este, ahora puedo conectarme al retardo también ahora y todos están conectados aquí a la otra alimentación de cámara. Este se está alimentando de negro a blanco a transparente. Y ahora sólo tengo que entrar y cambiar la duración de desvanecimiento dentro de esta variable. Y lo cambiará para todos estos porque todos estos están usando esta variable. Entonces esto es muy fácil y sólo tengo que cambiarlo en un solo spot. Ahora sigamos adelante y jugemos el juego y veamos qué pasa. Entonces si bajamos ahora, se va a desvanecer y vamos a volver. Y si volvemos a ir, vamos a desvanecerse y volver. Entonces ahora está funcionando perfectamente tal y como queremos. En la siguiente lección, vamos a arreglar el bug que teníamos anteriormente, donde teníamos la esfera perdedora que también cubría esta parte del mapa. Y no pudimos completar el juego. Y sigamos adelante y distribuyamos las estrellas a lo largo de los niveles, cosas así. Entonces sigamos adelante y finalicemos el juego. 38. Finalización del juego: Hola y bienvenidos de nuevo. Entonces en esta lección vamos a arreglar el error donde el área perdedora realmente está cubriendo la parte final del nivel dos. Entonces lo voy a mover aquí. Y se puede ver cuando hago clic en Jugar y la parte perdedora es, me está fallando porque está cubriendo esta zona y no quiero que lo haga. Voy a mover a mi jugador empezar de nuevo. Y aquí está funcionando correctamente. De lo que aquí baja el mapa y por lo tanto se está cubriendo aún más. Y de esta manera, Vamos a seguir adelante y arreglarlo. Entonces haciendo clic en este gatillo perdedor que teníamos antes, lo voy a hacer más pequeño y vamos a hacerlo más pequeño por aquí. Entonces solo quiero cubrir un poco menos. Quiero crear uno nuevo para esta otra parte del mapa. Entonces cubriendo esto y déjame ver cuánto está cubriendo. Aquí está cubriendo. Y creo que esto debería cubrir un poco más. Entonces cubriendo algún lugar como aquí y solo un poco más. Entonces está cubriendo esto. Entonces creo que esto está bien. Ahora una hora cubriendo esto y esto se ve bien. Y lo que quieres hacer es seguir adelante y seleccionar, Crear, y crear otro disparador de caja. Y este gatillo de caja queremos movernos hacia abajo y hagámoslo más grande. Y éste va a cubrir la zona de acabado aquí en el, en este mapa. Vamos, vamos a cubrir este hoyo aquí mismo. Entonces la altura de esto, voy a bajar un poco en alguna parte de aquí. Y voy a cubrir todo esto así como esto. De acuerdo, entonces ahora esto debería funcionar perfectamente y tenemos que añadir, tenemos que cambiar el nombre. Entonces cambiémoslo para perder gatillo 0, 2. Y sigamos adelante en los planos, abran el Plano de Nivel. Y ahora vamos a hacer clic derecho. Y hay que recordar hacer click en este gatillo perdedor. Y aquí podemos hacer clic derecho y hacer clic en el contexto sensible. Ahora podemos hacer clic en Agregar evento para Trigger box y luego colisión y comenzar solapamiento. Entonces, ¿qué pasa cuando nos solapamos con esto? Y lo que quieres hacer es justo lo mismo que hicimos con la primera, porque ya hemos codificado la lógica. Y en lugar de copiar pegar, recuerda, cuando copie pegar en código o un blueprint o lo que sea. Sólo para preguntarte, ¿por qué estás copiando y pegando? Se puede hacer esto de una manera más eficiente? ¿ Por qué estás copiando pegando el mismo código y simplemente pegándolo aquí y haciéndolo y haciéndolo tan largo y confuso. Hay una forma genial de hacer esto y podemos hacerlo rondando sobre todo aquí. Entonces déjame ver si lo que tiene sentido, los Ls, llevémoslo todo aquí. Y vamos a hacer clic derecho. Y en realidad se puede decir colapso a función o Contraer a Macro. Y esto lo convertirá en una función que podrás reutilizar en todas partes que quieras dentro de aquí. Entonces sólo algo de lo que hay que estar al tanto. Tenemos esta función de retardo, y se llama función cronometrada. Manipula el tiempo, que, que, por eso tiene este reloj aquí. Y las funciones de tiempo no se pueden colapsar en funciones. Por lo que colagándolo en función, dirá que el colapso a la función falló. Y así tenemos que convertirlo en una macro en su lugar. Entonces haciendo clic derecho y colapsando a macro. Macro es igual que una función. Pero la diferencia es que podemos tener estas funciones cronometradas dentro de ella. Por lo que puedes ver ahora tiene este reloj, lo que significa que tiene un tiempo para funcionar dentro de él. Entonces ahora vamos a renombrarlo y llamémoslo responder bola. De acuerdo, entonces ahora tenemos esta macro viendo responder bowl. Y si haces doble clic en él y puedes ver esta es la macro que creamos. Este es el insumo. Y ahora también tenemos una salida, pero no tenemos nada conectado a ella. Y eso está bien porque realmente no tenemos nada que necesitemos para conectarnos después. Pero por si acaso, sólo para, con fines de aprendizaje. Si quisieras agregar algunas cosas más aquí, buscando en esta salida, puedes agregar. Aquí en la salida, podemos agregar una variable. Y aquí puedes agregar un pin de ejecución. Y si te conectabas y simplemente llámalo x ejecutar o, o exec o lo que sea. Y este también se llama el exec. Entonces déjame no sé si puedo llamarlo del mismo nombre si me deja exec, no. Llamemos a sus salidas. Y vamos a compilar. Y se puede ver aquí. Ahora puede agregar un poco más de código si lo quisieras, pero eso está bien. Déjalo, que sea así. Y ahora tenemos esta macro. Entonces ahora esta macro podemos reutilizar aquí abajo. Entonces déjame copiar este código. Cosa actor tiene etiquetas. Entonces solo para asegurarte de que haya un jugador golpeando esta esfera de respecto. Y entonces podemos arrastrar hacia fuera esta macro y podemos colocarla aquí y podemos reutilizarla. Por lo que esta es una forma mucho más eficiente. Después copia pegando todo este código para que esto funcione. Y el problema es que si copias todo esto pegado, si cambias algo dentro de él, tienes que cambiarlo en todas partes. Tienes esta copia de código pegada. Pero si tienes una macro, solo edítala una vez que esté dentro de la macro, editará para todas las veces que hayas usado esta macro. Y podemos hacerlo así. Y ahora esto está arreglado. Entonces lo siguiente que queremos hacer, queremos distribuir estas estrellas. Entonces voy adelante rápido y los repartiré. De acuerdo, entonces ahora he distribuido todas las estrellas, así que he añadido algunas aquí al final. He añadido muchos de ellos aquí dentro de este túnel. Será divertido creo que solo cargar todo aquí. Y he añadido algunos en el camino. Y podemos agregar tal vez uno en cada uno de estos rellenos así como un remate se va a divertir tener yo creo. Y agregando uno aquí. Basta con moverlo un poco hacia arriba porque esto era financiero. Pensé que era iluminación, algo así. De acuerdo, entonces ahora tenemos esta estrella está distribuida. Y lo último que queremos hacer es en realidad agregar algunos efectos de sonido porque el juego es un poco aburrido sin ningún efecto de sonido. Entonces sigamos adelante e iniciemos el audio. Importamos los sonidos y los subí a la página web. Si no has subido, los has subido todavía al motor, solo tienes que arrastrarlos aquí y allá se subirán. Ahora tenemos este sonido estrella, esta arena botella. Y luego tenemos algo de música. Entonces ahora estos, Vamos a hacer clic derecho en la estrella primero y pinchando en Crear q. Y aquí podemos llamar a este es C para sonar cue, y llamémoslo estrella. Hagámoslo también por los otros. Por lo que el portal crea cola, botella y el de la música también. Al igual que esto. Y lo que puedes hacer con este sonoro taco, podemos usarlos dentro de los planos y puedes hacer doble clic en la estrella. Y puedes ver, podemos hacer click en la salida y puedes cambiar el volumen si es demasiado alto o demasiado bajo. Creo que esto está bien. Y lo que puedes hacer aquí, puedes arrastrar y hay algunas funciones que queremos usar, la que se llama modulador, este modulador. Y vamos a conectarlo. Entonces ahora este modulador puede cambiar el tono del sonido para que no suene igual todo el tiempo ni lo reproduzca. Entonces esto es fingir el sonido. Por lo que suena como si estuviéramos usando muchos más efectos de sonido. Entonces tal vez haciendo su pitch max a 1.2 y el mínimo a 0.8. Y puedes hacer click en reproducirlo y escuchar que el sonido no es el mismo todo el tiempo. Por lo que esto será un poco más interesante. Y tenemos la música que está bien, y el portal. A lo mejor puedo reducir el sonido de éste sólo un poquito, 0.6. Y eso está bien. Entonces ahora agreguemos estos efectos de sonido rápidamente. Así que adelante y termina los planos y haz doble clic en esa estrella de BP. Y aquí, cuando miras a la estrella, quieres tocar el efecto de sonido. Entonces estás agregando la estrella. El astro se está cargando. Y larguémonos de aquí. Y por cierto, esta es la que solapamos con la estrella y la cargamos. Por lo que aquí podemos decir lay sound 2D. Tenemos algo llamado play sound 2D. Y jugémoslo. Y aquí busquemos SC. Y tomemos la estrella, Compilar y Guardar. Ahora hagamos lo mismo con el Portal. Hagamos doble clic en el portal. Y aquí cuando interactuemos con el Portal, sigamos adelante y veamos dónde es mejor ponerlo. Vamos, pongámoslo después o justo antes de que hablemos sobre el jugador. Entonces, en realidad, sólo pongámoslo aquí. Y digamos reproducir sonido 2D. Y vamos a tocar el sonido que se llama, Déjame ir aquí. Tocemos este sonido llamado portal. Al igual que esto. Y lo último que queremos hacer es que también queremos tocar la música. Guardemos todo y vamos a probarlo. Apenas lo intenté antes de tocar la música, sólo para que podamos escuchar ese sonido de moneda. Por ahora, vamos a trabajar. El pizarrón. El sonido también está funcionando. Y el desvanecimiento también está funcionando. Está bien, impresionante. Entonces lo último, vamos a tocar la música. Y para hacerlo, Juguemos bien en este mapa. Demos click en Planos, abrir Planos de nivel. Y lo puedes hacer dentro de aquí. Por lo que puedes hacerlo aquí o puedes hacerlo en el Modo Juego. Y yo quiero hacerlo aquí, hagámoslo aquí. Entonces estamos definiendo el modo de juego y en realidad podemos simplemente tocar la música aquí. Incluso podemos añadir un nuevo nodo de secuencia y decir esto, conectar todos esos, y empezar tocando la música. Así que reproduce el sonido 2D. Y entonces podemos decir como música. Ahora vamos a tocar la música como lo primero que vamos a definir el Modo Juego. Entonces vamos a sumar estos puntos de control. Y luego vamos a poner el balón en una ubicación. Al igual que esto. Vamos a compilar, hacer clic, Guardar y comenzar, y ver qué sucede. Impresionante. Ahora está funcionando y sólo voy a bajar un poco el sonido. Sólo por el tutorial, es un poco tal vez sea un poco ruidoso en tu extremo. Tengo un ávido miedo es demasiado ruidoso para encontrar la música. Por cierto, si quieres buscar algo, puedes dar click en la lupa. Aswell encontrarlo rápidamente en el navegador y puedes hacer doble clic y tal vez bajar 2.660. Bien. De acuerdo, había todo. Por lo que ahora estamos terminados con el juego. Y en la siguiente lección, realidad quiero enseñarte a hacer tu código más estructurado y comentar todo y demás, lo cual es muy, muy importante. Entonces pasemos a la siguiente lección. 39. Limpiar el código: Hola y bienvenidos de nuevo. Entonces ahora ya terminamos el juego y vamos a repasar y limpiar el código. Y esto es muy importante porque imagina si te tomas un descanso y vuelves un mes después, no recordarás lo que has hecho a menos que realmente comentaras lo que has hecho. Y sobre todo si también un día contrata a un nuevo programador para tu juego. Y él o ella tiene que programar el juego para ti o ayudarte. Será muy difícil para esa persona saber lo que has hecho si realmente no has hecho ningún comentario ni nada ni lo que hiciste. De acuerdo, entonces revisemos el código rápidamente. Entonces aquí bajo Planeados de Nivel, echemos un vistazo. Tenemos este floreciente inicio. Y aquí podemos, por ejemplo, seleccionar esto y presionar sobre C. Ya puedes ver que ahora podemos comentar algo. Por lo que aquí podemos decir iniciar la música del juego. Así que empieza de nuevo la música. Y siempre puedes cambiar el color si quieres. También puedes, si te acabas de ir, puedes decir show bubble aquí cuando estás lejos de ella. De acuerdo, Así que ahora tienes este sonido de inicio y aquí puedes decir definir variable Modo Juego. Bueno, esto es lo segundo que estás haciendo. Y aquí estás. Estás definiendo o estás agregando los puntos de control. Entonces, en realidad vamos a flotar todos estos. Y me repasé estos sin, sin éste. Entonces aquí voy a hacer clic con el botón derecho y hacer clic sin colapsar para funcionar. Y lo voy a nombrar puestos de control establecidos. Por lo que ahora estamos fijando los puntos de control. Esta la función. Se puede hacer doble clic en él y se puede ver que se ha derrumbado a una función. Por lo que esta función está configurando los puntos de control. Pero esto está mucho más limpio ahora. Y ahora podemos aquí, arrastrar esto un poco más cerca En esto hacia abajo. Y lo que me gusta hacer es simplemente hacer condensado. Entonces hago esto. A mí me gusta hacer eso. Y en realidad podemos, podemos alejarlo un poco más para que no sea demasiado compacto, así como esto. Y aquí puedes comentar y decir variables de punto de partida. De acuerdo, así que ahora tienes esta configuración de las variables de puntos de control. Y lo último aquí que tenemos es desovar el balón en el puesto de control. Entonces voy a acercar esto un poco más. Y voy a mancharle esto y decir vinculación todo en los primeros puestos de control. De acuerdo, Así que déjame quitar. En realidad, eso está bien. Por lo que ahora tenemos estos dominios, sólo lo eliminamos. Simplemente muévelo un poco más abajo. Al igual que esto. ¿ De acuerdo? Y éste, simplemente moviéndolo así. Por lo que ahora tenemos estos comentarios. Y este, estos son los solapamientos, así que los voy a agrupar aquí. Y ya hicimos esa macro para que se vea limpia. Y entremos en él y digamos capa telefónica de Ray al caer por el mapa. Vamos a llamarlo así y ponerlo por aquí. Y siempre podemos hacer de este otro color sólo para que sepamos esto, sabemos que este es el jugador inicia. O en realidad podemos flotar todos estos dando click en C. Y sólo voy a llamarlo comenzar a jugar. A mí me gusta tener, como saber si empezar a jugar está en mis planos. Entonces esto es lo que suelo hacer. Y siempre puedes hacer este y otro color solo para que lo sepas. Esta es la jugada de inicio. Y se puede mostrar la burbuja donde podemos ver esta es la jugada de inicio. No sé si quiero mostrar esto en realidad estos, Ocultemos las burbujas así como así, así no es confuso. Bueno, aquí tenemos la jugada de inicio. Vamos a compilar y guardar. Y aquí tenemos que están respondiendo lógica. Entonces esto se ve limpio ahora y la función, colaboramos esto a una función y se ve bien. De acuerdo, así que sigamos adelante. Vamos a hacer clic, cerrarlo, entrar en bola de BP. Y aquí no tenemos nada. Todos tenemos esta función. Y esto se ve bien. Entonces vamos a cerrar el balón BP. Abramos el portal. Aquí. Dentro del portal tenemos un poco pasando. Y aquí quiero pasar de aquí a aquí, creo que esto es, esta es la lógica de respuesta. Entonces aquí estamos estableciendo el reintegro de ese puesto de control y estamos poniendo el engendro de bolas en este punto de control. Entonces voy a hacer clic derecho y colapsarlo a una función. Y yo lo voy a llamar. Responde balón en puntos de control o no responde en realidad solo bola de desove en ese punto porque estás pasando por el portal. De acuerdo, así que respondiendo el balón en el punto de control, así que haciendo doble clic y movamos esto un poco hacia abajo. Es más limpio. Y éste puede mover esto un poco hacia abajo y hacer doble clic para hacer un nodo ferroviario. Hovering sobre este click en Cola. Esto está bien. Al igual que esto. Y ahora esto está limpio también. Y aquí estamos desove bola en el puesto de control. Y este lo estamos diciendo si el si el nombre es igual al tercer punto de control, vamos al objetivo Ver y así sucesivamente. Entonces esto es, esto está bien. Esto se ve bien. Y lo que queremos hacer aquí es que en realidad podemos igual a esto y comentar. Y aquí podemos escribir sobre las ligas de verificación de capa al entrar al portal. Algo así. De acuerdo, entonces ahora esto se ve bien. Vamos a compilar y guardar. Y por cierto, para las variables, también se puede limpiar eso y se puede hacer click en la variable. Y aquí en la categoría, puedes cambiar la categoría aquí. Y como aquí no tenemos nada, me importa solo hacer un defecto, pero si cambias el nombre le daremos otra categoría aquí, al igual que los componentes. Entonces para esto, dejemos que sea así. No tenemos más que sólo esto. Entonces está bien ir en la estrella. Veamos qué hicimos en la jugada inicial. Estamos jugando esto aquí. Podemos decir simplemente jugar movimiento estrella inicial. Y esto es lo que está haciendo. Y aquí abajo, podemos decir añadir variable de 12 estrellas. Y estos son comentarios bastante malos en este momento. Es decir, sólo los estoy haciendo rápido como yo tal y como vienen en mi cabeza. Y para que ese video no sea demasiado largo. Y aquí en la estrella aludida, veamos si podemos cambiar algo. Y esto es establecer la rotación. Creo que esto está bien. Y con esto, puedes comentar y decir jugar, jugar estrella, animación estrella. De acuerdo, escucha y no tengas que añadir loci colocado animación de looped estrella. Entonces cuando lo pierdes, va a reproducir una animación. Entonces aquí tenemos este código compilar y guardar, y vamos a cerrar eso, abrir el modo de juego y el modo de juego. No tenemos nada más que esto. Y éste podemos decir que agregue uno a esa variable estrella cuando se cargue. Este de aquí. Y ahora te puedo mostrar esta categoría por defecto porque ahora tenemos múltiples variables. Y aquí podemos, por ejemplo, llamarlo aquí en la categoría lo podemos llamar puntos de control. Y este también puedo llamar a puntos de control o puedes seleccionarlo desde aquí ahora. Y aquí están las estrellas, solo puedo llamarlo la categoría se va a llamar moneda. Y ahora se puede ver, ahora esto está mucho más limpio porque tenemos dos categorías, una moneda y un puesto de control. Pero esto también se limpia ahora. Y luego vamos a compilar y guardar. Volvamos al controlador de laboratorio. Ahora éste es el último. Aquí vamos a decir display, display main UI. Al iniciar el juego. Y aquí abajo vamos a decir, Sí, éste va a decir movimiento de pelota. Simplemente, llamémoslo un movimiento de pelota. Eso está bien. Y aquí, la última es exhibición. Cuando mientes, cuando todos esos se muestran o nueva IA, eso también está bien. Entonces ahora tenemos esto y éste se ve bien y todo se ve bien. Vamos a compilar y guardar. Y así es como limpias tu código. Es muy importante colapsar dos funciones donde sea que tenga sentido, Solo ten cuidado de no colapsar demasiado porque también puede llegar a ser confuso. Si estás colapsando esto y dentro de esto, estás colapsando esto y así sucesivamente. Será, puede ser más dañino que, que útil. Y simplemente, sólo hazlo donde sea que tenga sentido. Entonces vamos a cerrar eso y esto fue todo para el juego. Vamos a seguir adelante en la siguiente lección y en realidad sólo, sólo dijo la prueba, el juego y simplemente jugarlo. 40. Embalar el juego: De acuerdo, entonces ahora estamos terminados con el juego. Enhorabuena, Esto ha sido muy divertido de hacer, y espero que te hayas divertido también y hayas aprendido mucho. Entonces ahora antes de jugar el juego, Vamos a empaquetarlo en realidad para que puedas enviarlo a amigos y familiares o a alguien, ya sabes, si lo quieren jugar. Y lo que queremos hacer aquí dentro de plataformas aquí arriba, puedes hacer click aquí e ir a ajustes de empaques. Entonces por aquí, puedes cambiar esta configuración de Build de desarrollo a envío. Y luego puedes revisar esta reconstruida completa. Por lo que va a reconstruir el juego cuando lo esté enviando. Y también es para distribución. Y qué haces con esto es ahora todas las cosas que has escrito dentro de tu juego que son sólo para el desarrollo no se incluirán en el juego. Y con esto, me refiero, por ejemplo, a la función de cadena de impresión. Y ya no tenemos una cadena de impresión. Pero si tuvieras una función de cadena de impresión dentro del juego, esa función de cadena de impresión no se incluirá, cual es algo bueno. Y también he seguido adelante y borrado la carpeta Blueprints super grid. Me estaba dando muchos problemas cuando empaqueté que el juego antes. Entonces aquí en la super grilla, no es realmente culpa nuestra, pero algo anda mal con este paquete que nos está dando eras. Dentro de este nivel tutorial, eliminé la carpeta llamada blueprints. Y también en las partículas, eliminé todas las partículas excepto la estrella p que estamos usando. Y dentro de la utilidad, no borré nada. El caso material, yo tampoco hice nada. Por lo que eliminé la carpeta blueprint y solo tengo estos tres dentro del nivel tutorial. Ahora, también eliminé el mapa de visión general y el mapa tutorial. Entonces aquí eliminé todos los mapas. Creo que aquí había un mapa y el pack de arranque, no toqué nada. Y aquí eliminé ese mapa de visión general aquí. Y también renombré el, el paquete a super grid también. Entonces solo hago clic en ese do renombrado, es solo ponerlo detrás de él. Me estaba dando muchos errores. Y cuando cambias el nombre de algo, a veces la carpeta no desaparece. Simplemente haga clic derecho aquí en el contenido, un navegador y haga clic en directores de lectura fijos en carpeta. En ocasiones hay archivos invisibles que harán desaparecer a los mayores y a los nuestros. Y si tienes una carpeta que no está desapareciendo, solo tienes que seguir adelante y dar click en la carpeta, asegúrate de si hay algo o si está vacía. Y si las viejas carpetas completamente vacías, trató de dar clic en Eliminar en él y eliminarlo. Pero éste, éste es el correcto. Acabo de cambiar el nombre. Y si el otro vacío, a veces Unreal Engine, las carpetas vacías no se pueden eliminar a pesar de que estén vacías. Y creo que es un bicho. Entonces lo que tienes que hacer es ir dentro de los archivos del proyecto, dentro de las ventanas aquí en el Explorador de Archivos. Y luego tienes que encontrar tu proyecto. Entonces bola de velocidad y dentro del contenido y en la super cuadrícula también. Entonces este es el que estoy usando ahora. Pero si tienes una súper cuadrícula, esa es la carpeta antigua, puedes seguir adelante y dar click en Eliminar. ¿ De acuerdo? Pero estas son las carpetas que estamos usando ahora. Entonces esto es correcto. Y a veces puede ser complicado cocinar un proyecto. A veces dirá muchos errores, algunos aleatorios y hay que ir a arreglarlos. Pero sigamos adelante y tratemos con esto. Ahora lo renombré. Y no deberíamos estar teniendo ningún eros porque no lo hicimos No creo que hayamos hecho nada malo. Entonces sigamos adelante y veamos qué está diciendo el paquete. No, ahora hicimos toda la configuración y seguir adelante y dar click en Windows. Queremos empaquetar para Windows y elegir el proyecto de paquete. Y aquí tienes que elegir dónde quieres empaquetar su proyecto. Por lo que he hecho una carpeta aquí llamada Nueva Carpeta 2. Y dentro de esta carpeta, si hago doble clic aquí en ella, puedo seleccionar carpeta. Aquí es donde quiero empaquetarlo y no importa dónde empaquetéis, eso depende de ti seleccionándolo y haciendo clic en este show output log. Ahora como su embalaje. Y lo más importante aquí es ver. Se puede ver y ver si está continuando. Pero también se pueden quitar los mensajes y ver las épocas y las advertencias. Entonces en este momento estas son advertencias. Estas están bien. Algunas advertencias no importan. Y algunas advertencias que debes arreglar. Y el eros que debes tener 0 de por lo que no debes tener ningún eros. Y estarán en texto rojo si tienes alguna época. Entonces voy a dejarlo empaquetar aquí y esperarlo, y aquí está completo. Entonces ahora veamos las flechas. Se trata de hablar de VR, por lo que la realidad virtual. Y esto no importa para nosotros. Ahora decir recurso faltante del estilo Core, eso no importa. Falta recurso del estilo de editor de NEA gara. Y este es el estilo del sistema de partículas. Por lo que no importa para nosotros incapaces de encontrar información de plataforma para lente hueca. De acuerdo, Entonces esto realmente no importa. Es lo que sea. Entonces ahora hemos empacado el proyecto y si sigo adelante dentro de mi escritorio, si solo lo tire aquí rápidamente. Y algunas de las ventanas, ahora tenemos esta bola de velocidad. Y si hacemos doble clic es, tenemos este juego se abre en mi segundo monitor. Se puede ver aquí y en realidad huyó de nuevo ahora. Muy bien, impresionante. Entonces ahora podemos jugar el juego, y este juego está empaquetado y en realidad puedes enviarlo a tu familia y amigos. Por lo que la forma en que lo haces es simplemente enviar este archivo o puedes enviarles esto. Así que solo selecciona todos esos y agregándolos a un archivo zip y haciendo así y llámalo como sea. Y sólo convertirlo en un archivo zip y simplemente enviárselo a tus amigos y familiares. Y así es en realidad como lo haces. Y esto es lo que hacemos con la mesa de la granja y la liberamos en Steam. Simplemente lo empaquetamos así y lo comprimimos en un archivo y subimos esto al vapor. Por lo que esto ha sido muy divertido trabajar en este primer juego contigo. Y espero que hayas aprendido mucho. Y si tiene alguna pregunta, por favor, escríbeme por favor. Estaré más que feliz de responderte. Puedes escribir aquí en los comentarios están dentro de nuestras redes sociales o una policía comenta a la discordia, aunque solo quieras charlar y podamos charlar contigo o ayudarte con este curso. Entonces espero que te hayas divertido y mucho Londres y puedas usar tus nuevas habilidades para desarrollar tu propio juego de pelota. Y en el siguiente apartado vamos a desarrollar un juego. ¿ Qué tienes? A, se puede decir un personaje real con brazos y piernas. Y te mostraré cómo configurar este personaje. Vamos a hacer un juego de tirador. Y voy a hacerlo, esto es un poco diferente, una configuración un poco diferente, pero sigue siendo casi el mismo código, pero todavía vamos a aprender muchas cosas nuevas. Entonces sigamos adelante y la siguiente sección. 41. Introducción a la juego: CloneStrike: Hola y bienvenidos a esta parte del curso. Entonces aquí vamos a crear un juego llamado clon strike. Y lo que básicamente lo vamos a crear como un shooter de arriba hacia abajo. Aquí vas a aprender a crear una GUI más avanzada. Por ejemplo, una barra de salud en contador enemigo. Y también vas a crear una mecánica bastante avanzada, por ejemplo, disparar y recargar y contar munición. También vas a aprender a configurar un personaje corriendo por ahí y a agregar armas a ese personaje. También vamos a trabajar con NPCs. Por lo que AI corriendo y en realidad persiguiendo al jugador e intentando matar al jugador. Y vamos a hacer todo este juego como desde el principio donde comienzas con el menú principal y juegas el juego, te metes en olas. El juego se vuelve más difícil a medida que avanzas por el juego. Y al final, cuando se pone demasiado difícil, te matan. Y aprenderás a hacer la animación de la muerte y el juego sobre pantalla. 42. Crear el proyecto: Hola y bienvenidos a esta sección. Por lo que ahora vamos a crear nuestro juego de disparos de arriba hacia abajo. Y vamos a aprender mucho porque vamos a hacer el personaje. Y esta vez estamos usando un personaje real, que es un poco diferente al tazón que usamos en el juego anterior. Aunque. Sigamos adelante y creemos el proyecto. Entonces primero, entra dentro de la biblioteca y lanza Unreal Engine. A continuación vamos a ir al interior de juegos. Y aquí estamos eligiendo un proyecto en blanco usando planos y es escritorio. Estamos desmarcando el contenido de arranque. Y llamémoslo clon. Huelga. Y con eso, vamos a crear el proyecto. Ahora que estoy dentro del proyecto, antes de que hagamos otra cosa, quiero dar clic en Actualizar aquí, dando click en actualizar, y quiero gestionar los plugins. Y también puedes acceder a los plugins subiendo aquí en el Edit y luego plug-ins, eso es lo mismo. Vino aquí en mi segundo monitor y no le oyó plugins. Yo quiero bajar a la realidad virtual, igual que hicimos en el proyecto anterior. Y estoy marcando el Oculus VR y vapor VR. Por lo que no empieza como un juego de VR cuando lanzamos el juego. Por lo que al hacer clic en OnReiniciar y esperar a que se abra de nuevo. Entonces todo esto fue para que ahora el proyecto esté listo. Y sigamos adelante en la siguiente lección e importemos algunos activos. 43. Importación de recursos: Ahora importemos algunos activos que podemos utilizar para el proyecto. Entonces en este momento estoy dentro del lanzador de Juegos Epic y dentro del mercado. Y aquí quiero encontrar activos reales. Entonces yendo aquí a Bree y dando click en, Vamos a dar click en colección permanentemente gratis. Y dentro de aquí se ve algo llamado maniquíes de estilo militar mirando ese. Y luego adelante y descárguelo. Ya lo he descargado. Y cuando hayas terminado de descargarlo, puedes añadirlo al proyecto. Por lo que dando click en Agregar al Proyecto. Y luego hay que sumar al proyecto. Tienes el 0.5. Pero no se está mostrando porque se puede ver aquí no se apoya en este momento, pero no importa. Se va a funcionar o dar click en Agregar a Proyecto y luego tomar el show todos los proyectos. Ahora puedes ver los 500. Y aquí voy a encontrar ahí mi clon strike. Este es mi proyecto. Y luego hay que seleccionar la versión que es compatible para así 4.26, la más reciente. Y dando click en Agregar al Proyecto. Justo así. Y se lo va a agregar a mi proyecto y ya está hecho que se puede ver aquí dentro de mi proyecto, ya tengo esto agregado ahora. Entonces volviendo al lanzador de Epic Games, voy a volver atrás y creo que en la final la página final, sí, éste, necesitamos la super grilla del último en el último juego que agregamos. Entonces mirando ese activo de super grid aquí como atrás, nos pusimos en ese y luego lo descargamos. Y probablemente ya hayas descargado si seguiste el último juego. Y entonces sólo tienes que seguir adelante y crear el proyecto. Este no puedes agregar directamente a tu, a tu juego. Tienes que crear un proyecto separado. Entonces crea un proyecto y solo llámelo como sea y créalo. Y una vez que lo hayas creado, ya lo he creado. Por lo que al entrar de la biblioteca, puedes encontrar el proyecto que creaste aquí abajo llamado super bueno starter pack. Entonces voy a hacer doble clic y abrirla. Ahora que el proyecto está abierto, ahora puedo ir aquí y hacer clic con el botón derecho en esta carpeta de super cuadrícula. Y por aquí puedo seguir adelante y dar click en el botón Migrar. Está bien. Y luego adelante y encuentra la carpeta o la tienes. Por lo que el mío está dentro de los Documentos, Proyectos Irreales. Esta es la carpeta predeterminada. Y yendo, adelante y dando click en huelga de clones. Entonces este es el proyecto que creamos. Y haciendo click en el contenido, es muy importante que estés dentro de la carpeta de contenido. Si estás afuera aquí y tratas de salvarlo, no va a funcionar. Y si estás específicamente en otra carpeta dentro de contenido, tampoco va a funcionar. Tienes que estar, tienes que seleccionar la carpeta de contenido específicamente, no otro lugar. Entonces aquí mismo dentro de la carpeta de contenido, selecciona esa carpeta y se va a copiar las carpetas. Pero entonces lo va a copiar con éxito. Y no importa que algún contenido no se pudiera copiar con éxito. Eso está bien. Y seguiré adelante y cerraré este proyecto. Entonces tengo la super grilla. Y lo último antes de terminar esto, quiero abrir el lanzador de Juegos Epic. Cerró por alguna razón. Y volviendo al mercado, aquí tienes que ir a un contenido gratuito y luego Epic Games. Y dentro de aquí y de la última página, hay algo llamado pack de iniciación de animación. Por lo que haciendo click en esta bolsa para que podamos tener algunas animaciones para el personaje 0, dando click en ella, y dando click en Agregar al Proyecto. Ahora volvamos a hacer clic, mostrar todos los proyectos y hacer clic en Clone strike y elegir la última versión para la que sea compatible. Y luego haciendo click en Agregar al Proyecto. Ahora, ahora lo agregó al proyecto. Y puedes ver aquí tenemos ahora importantes los sets de animación, el maniquí, que es el personaje que vamos a usar. Y ver este es el personaje. Y también hemos importado la super grilla que usamos en el juego anterior. De acuerdo, entonces lo siguiente que debemos agregar son las armas, son las armas. Por lo que aquí dentro del mercado puedes buscar armas. Y cuando busques armas, puedes hacer clic en el Free a filter aquí para que puedas ver los activos libres. Y aquí querrás descargar el arma FPS agrupada. Puedes ver que hay otras armas que puedes usar para divertirte si eres un confiado. Pero sigamos adelante para este tutorial y usemos el paquete de armas FPS. Entonces haciendo clic en eso, y ya lo he descargado para que puedas descargarlo. Y haciendo click en proyecto Agile uno se descarga. Ir a mostrar todos los proyectos en busca de huelga Clon y seleccionar la última versión. Por lo que haciendo click en proyecto Agile. De acuerdo, entonces lo último que podemos agregar por ahora son los enemigos porque necesitamos algo de IA. Y aquí puedes ir al contenido gratuito y de Epic Games. Y aquí abajo creo que está en la página cinco. Entonces vamos a comprobarlo. H6. Y al escuchar la página seis, tenemos algo llamado adversarios de la Hoja del Infinito. Entonces, vamos a dar click en ese. Y aquí puedes ver tenemos muchos enemigos diferentes que podemos usar para el proyecto. Por lo que dando click en Agregar al Proyecto. Ya lo he descargado, así que debes descargarlo primero. Por lo que pinchando sobre él y mostrar todos los proyectos. Ir a huelga clon mata el último proyecto y en dos proyectos. Por lo que ahora esto se va a sumar al proyecto. Se puede ver que tenemos ahora todos estos cinco activos. Y si necesitamos más ISS más adelante, Sigamos adelante e importarlos. Si necesitamos algo, algo de música o efectos de sonido o lo que sea, lo echaré un vistazo más tarde y lo descargaré. Pero por ahora esto sería una multa y pasemos a la siguiente lección. 44. Crear el nivel: Sigamos ahora y diseñemos el nivel. Y el nivel que quiero hacer muy sencillo. Entonces, solo sigamos adelante y empecemos. En primer lugar, tenemos que hacer clic con el botón derecho para crear una nueva carpeta y llamémosla mapas. Y dentro de aquí vamos a hacer clic derecho y dar click en nivel. Entonces vamos a llamar a esto un mapa, y vamos a llamar, llamarlo, vamos a llamarlo principal. Este es el mapa principal, por lo que hace doble clic en él. Obviamente tenemos que añadir algo de iluminación. Esto está muy oscuro ahora. Vamos a crear luces y luces direccionales y a salir. Entonces tuve que crear luces y crear un tragaluz. Y lo último que queremos hacer es por aquí en la configuración. Aquí podemos mostrar el contenido del motor. Y dentro del contenido del motor aquí, la carpeta aparecerá al hacer clic aquí, goteando sobre ella y buscando cielo. E importando este cielo. Se puede ver que tenemos un cielo. Y si ves en el panel Detalles para esta esfera celeste que agregamos, también puedes cambiar las alturas del hijo y puedes ver puedes cambiar el día y la noche así. De acuerdo, entonces ahora tenemos esto. Vamos a seguir adelante y crear el nivel. Entonces quita esta palabra de búsqueda para que podamos ver el paquete aquí. Y dentro de aquí podemos ir a pack de inicio y mallas de fuente. Y aquí dentro tenemos diferentes herramientas que podemos usar. Entonces vamos a arrastrar en este súper plano de cuadrícula, lo dejaron caer bajo tierra. Y voy a dar clic a nuestro audaz aquí en la caja blanca y volver a escalarlo hacia arriba, se creará Will the ground. Y ahora mismo está muy oscuro porque del sol es muy raro y se puede ver que son luz está cambiando lentamente y no queremos eso. Entonces sigamos adelante y creemos efectos visuales y post-proceso. Y este volumen post-proceso, vamos a eliminar la exposición. Se va, es un poco molesto cuando estamos haciendo juegos. Pero es, creo que es algo bueno si estás haciendo como vistas cinematográficas, pero cuando estás haciendo juegos, esta exposición es muy molesto. Por lo que haciendo clic en el brillo mínimo y máximo dentro de la exposición y el post-proceso y estableciendo esos valores en uno. Y para afectar todo el mapa, hay que bajar y dar click en esta extensión infinita, así como así. Entonces ahora la exposición es como debería ser. Y la razón por la que se ve así es porque el sol sale de una dirección equivocada. Por lo que al hacer clic en el World Outliner, se puede hacer clic en la luz direccional. Y aquí está. Por lo que está bajo el suelo ahora mismo. Se puede tratar de rotarlo y ver en qué dirección debe estar el sol. Y una muy buena referencia aquí. Podemos decir nuestro maniquí. Entonces en el maniquí ODS, el maniquí aquí, malla de carácter. Y podemos decir que esta malla y colocarla en el nivel sólo para que pueda ver el sol. O haciendo clic en la luz direccional. Ahora puedo rotarlo a mi gusto. Dependiendo del personaje. Creo que algo, Algo así estaría bien. Y ahora mismo el sol es muy, muy fuerte. Entonces subamos aquí e insensibles y pongámoslo en tres. Ahora haremos la iluminación en otra lección. Entonces, no te preocupes por ahora. Ahora mismo, sólo quiero hacer poco de una iluminación decente sólo para que podamos trabajar un poco. Y aquí para la esfera del cielo, se puede aumentar la intensidad. Y lo incrementaré a dos por ahora. Y para este quiero reducir las partes brillantes. Por lo que haciendo click en esta mostrando aquí, dando click en la lupa para la m super grilla y haciendo doble clic en esta. Y aquí podemos establecer el, se puede ver si minimizo un poco esto, tenemos algo llamado rugosidad máxima y rugosidad mínima. Por lo que cuanto más lo incremente, menos resplandor será. Entonces si lo pongo en una, puede ver que estas plazas se vuelven menos resplandecientes y también discurren. Entonces para esto, creo que lo estoy haciendo 0.75 o la rugosidad máxima y la mínima. Probemos 0.5 y creo que es demasiada dopamina 75 y 0.8 posible o cero punto nueve. Creo que eso está bien para nosotros. Ahora cerremos y guardemos todo. De acuerdo, entonces ahora que tenemos algo de una iluminación bien, ahora podemos intentar trabajar con el nivel. Entonces vamos a seguir adelante y crearlo. Y quiero que sea muy sencillo nivel doble clic en este. Quiero establecer la ubicación de sus ceros 0000. Y sólo el personaje también. Vamos a establecer el carácter 0, 0, 0. Y aquí los podemos mover un poco al medio. Por lo que este plano queremos redimensionar dependiendo del tamaño que queramos. Y no importa lo específico que sea, honestamente, solo queremos algo de espacio para trabajar. Y a menos crédito 30 en realidad aquí se puede hacer clic en el candado por lo que cambia todos los valores a la vez. Al hacer clic en un escrito 30 y se creará esto. Entonces ahora tenemos esto y vamos, vamos a añadir algunos muros. Ahora, volveré a dejarme encontrarlo, la super grilla aquí a super grid e iniciar un PECC fuentes mallas y aquí en la caja, y estoy dando click en esta caja, colocándola. Y lo voy a mover aquí a la esquina así. Y luego se puede escalar junto con el, con el muro aquí están el suelo aquí. Y puedes hacerlo más grande para la pared. Algo así. Y puedes rotarlo. Y por cierto, se puede sostener Alt y girando, esto se duplicará. Puedes arrastrar esto por encima. Y hagamos un nivel muy sencillo. Entonces déjame en realidad, voy a hacer este un poco más grande, así que cubre aquí. Y voy a arrastrar esto. Voy a hacer el chasping un poco más a 100 y haciendo clic y arrastrando para duplicar aquí, va a hacer esto más pequeño para que no choquen aquí. Y también voy a sostener Alt y arrastrarlo y el ramo por aquí. Ahora, ahora tenemos un nivel pequeño y creo que esto está bien. Solo agreguemos por diversión la caja censurada aquí. Añadamos algunos obstáculos. Y tal vez algo como esto. Entonces podemos sumar algunos obstáculos sólo para que tengamos algo en el mapa que está bloqueando. Por lo que puedo agregar uno aquí. Y agrega uno aquí. Podemos sumar cuatro al azar. También puede hacerlos en diferentes formas. Eso está bien. Eso me gusta. Y simplemente haciéndolo así en su lugar. Sí, creo que esto está bien. Entonces este es nuestro nivel muy sencillo con el que podemos trabajar. Y lo que podemos hacer es tener aquí el juego de disparos y puedes engendrar enemigos y así sucesivamente. Y si quieres que el nivel se vea un poco diferente, siempre puedes hacer clic en uno de ellos, mirando esta lupa en el material. Y se puede ver cómo diferentes materiales que se pueden elegir de lo que él quiera. También tienes algunos materiales dentro de la carpeta super grupo y nivel tutorial. Y luego las instancias materiales que puedes ver tienes diferentes motivos puedes seleccionar si deseas elegir otra cosa. Tenemos incluso como colores de inundación, estos son muy resplandecientes así, y puedes usar esos también. Entonces, pero por ahora voy a este estándar. 45. Iluminación del entorno: De acuerdo, entonces antes de que empecemos la programación, vamos a lo último. Haz la iluminación rápidamente para que no queramos hacer algo realmente brillante, pero vamos a, vamos a hacerlo un poco mejor aquí. Entonces vayamos y rotemos el sol. Por lo que al hacer clic en la luz de dirección, trató de rotarla a su gusto. Ve lo que crees que se ve bien. Y a lo mejor quiero algo como esto, cubriendo un poco de sombras aquí y algo así. Entonces me gusta esto aquí. Temiendo las sombras. Y voy a cambiar la intensidad dependiendo del día. Y creo que 3.1. Bien para mí. Voy a hacerlo más grande aquí presionando en FL1, maximizando la ventana gráfica. Sólo tratando de echar un vistazo y ver si esto se ve como la luz del día o no. Porque a veces se puede bajar demasiado y se ve como de noche. Y creo que 3.133 está bien. Puedes usar el yuan de temperatura, por lo que hace que el sol sea más frío o más cálido. Pero por ahora, sólo dejaré que sea como está. Y esto está bien para la luz del sol. Entonces vayamos al tragaluz. El tragaluz, lo que puedes hacer aquí es que puedes cambiar la intensidad dependiendo de la sombra. Entonces esto es, éste está afectando la sombra. Entonces si ves que las sombras son demasiado oscuras, puedes entrar al tragaluz y cambiar la escala de intensidad. Y puedes ver aquí, cuanto más alto lo hagas, menos oscuridad tendrá la sombra. Y otra cosa genial es aquí dentro del tragaluz, puedes hacer click en esta flecha pequeña. Y éste es el hemisferio inferior. Este está afectando esta parte inferior de la malla. Y ahora mismo está muy oscuro. Entonces para hacerlo más realista, tenemos que probar este color aquí. Entonces porque este color no es pato, por lo que este color puede cambiar. Y lo que podemos hacer aquí, para elegir el color correcto. No se puede, no se puede simplemente elegir un color como este porque esto va a estar mal. Lo que tienes que hacer es despertarse en el, realidad antes de hacer clic, Ir, ir al ganglio linfático. Dentro de la visualización del búfer, se puede elegir el color base. Por lo que aquí ahora puedes ver muestra el verdadero color base. Por lo que al hacer clic en los tragaluces, ahora puedes bajar. Aquí está el color correcto ahora. Entonces vamos a elegir este color. Ahora este es el color de coleccionar, el color correcto. Entonces pinchando en Ok, vuelve al tragaluz. Y ahora puedes hacer clic en recaptura porque recapturar significa por volver al modo labio aquí. Recapturar significa también que realmente capta aquí la esfera del cielo. Ahora mismo es hora de día. Si lo cambias esta noche tiempo tienes que recapturar de nuevo a Alicia recaptura. Y va a ser correcto, y el color también es correcto. Y está usando el hemisferio inferior y así sucesivamente. Entonces ahora es mucho más correcto. Entonces ahora vamos a repasar y aumentar la escala de intensidad hará que las sombras sean un poco más buenas para mirar. Creo que disminuiré un poco la luz del sol. Ayudas de dos puntos. A lo mejor dos estarán bien en realidad, veamos dos. Sí, creo porque es muy fuerte y esta exhibiendo aquí. Probemos eso. Probemos con dos. Y para las sombras, volvamos a los tragaluces. A menos que los tres, Hagamos cuatro. Entonces ahora esto se ve bien. De acuerdo, entonces lo que podemos hacer a continuación es agregar algo de niebla. Por lo que al hacer clic en Crear y dentro de los efectos visuales, podemos seguir adelante y dar click en niebla de altura exponencial. Y ya puedes ver ahora está agregando algo de niebla. Entonces si aumentamos la densidad de niebla, se puede ver que también aumenta aquí. Y podemos añadir algo de niebla ligera. No tiene por qué ser una locura. Pero esta es la caída está bien, estándar. Y también puede cambiar el color de la misma. Yo sólo quiero verlo. Esto está bien. Y la densidad. Bueno, salgamos al World Outliner. Oigan, encendido y apagado para ver. Y creo que esto está bien por ahora. Entonces que sea así y siempre podemos ajustarlo. Entonces vamos a pasar a o en realidad ya creamos un volumen post-proceso en las últimas lecciones. Por lo que haciendo click en el volumen de post-proceso. Ahora, el volumen post-proceso, podemos cambiar el aspecto de la imagen igual que en Photoshop o editar el look del juego o de la imagen. Aquí puedes editar el look del juego sería post-proceso. Y con el post-proceso, por ejemplo, aquí tenemos florecer. Se puede aumentar o disminuir en la floración. Y para florecer, creo 0.4. Entonces un poco por debajo. Poco poco por debajo del estándar, porque el estándar es 0.6. Y la exposición nos sentamos, ahora podemos agregar efectos de imagen en este momento, punto cero para esto es la viñeta. Para que veas si lo incremento, ahí se convierte en un borde negro alrededor de los bordes. Y creo que lo pondré a 0.2. Ahora el balance de blancos podemos ajustar. Entonces, por ejemplo, la temperatura puede ser un poco fría. Ya lo puedes ver. Hace calor si lo incremento y se llama si lo disminuyo. Entonces este es el estándar y entonces podemos disminuirlo un poco, tal vez 5,800. Y haciendo click entender puedo aumentarlo para hacerlo un poco más rojo y tal vez haciéndolo menos frío. Por lo que cinco mil novecientos cero punto cero nueve. Sólo una ligera diferencia aquí. De acuerdo, Entonces este es nuestro nivel ahora mismo. Y lo que podemos hacer en global, podemos cambiar todos estos. Puedes cambiar la ganancia si está demasiado oscuro y siempre cambiarla. Pero ahora mismo creo que se ve bien. Y eso no lo necesitamos. Se puede jugar con la oclusión ambiental y el desenfoque de movimiento y así sucesivamente. Entonces creo que esto está bien por ahora. Y déjame ver si está bajo tierra. Está buscando en el trabajo. Esto se ve bien. De acuerdo, Entonces esto es lo que tenemos hasta ahora. Esto se ve genial. Y podemos trabajar con esto. Y déjame revisar la niebla y ver si la necesitamos o si es demasiado fuerte o no antes de continuar. Vamos a sólo pequeñas ceromonedas, sólo un pequeño efecto. Orina el VAB. Y ahora tenemos este nivel con esta iluminación hasta el momento. Entonces creo que antes de continuar, podemos sumar o aumentar un poco la saturación antes de continuar. A ver cómo se ve. Saturación y ver si la incremento un poco. Por lo que 1 a uno o 1.05. Y disminuyendo el poco de niebla, el punto cero. Punto cero uno va así. De acuerdo, entonces ahora tenemos la iluminación hecha para nuestro juego. Y antes de terminar el video, Vamos a seguir adelante y añadir un volumen de importancia de masa ligera. Entonces aquí y eso crea dentro de volúmenes, tienes algo llamado importancia de masa ligera del volumen. Y esto sólo define lo que es importante para que la iluminación se renderice. Y sólo queremos que esto cubra todo nuestro nivel. Por lo que haciendo clic en este y puedes cambiar la configuración del pincel. Por lo tanto, aumentando el tamaño solo para que se ajuste a todo el mapa. Y no tiene que ser específico. Por lo que sólo necesita cubrirlos. Voy a hacerlo un poco más grande, algo así. Entonces ahora la masa ligera va a renderizar aquí. Y para construir la iluminación para hacerla correcta y construirla y más limpia. Puedes seguir adelante y dar click en construir y construir todos los niveles ahora mismo solo tengo un nivel sin embargo, dando click en eso y empezará a construir, bien, Ahora ese edificio está completo, y este es el look final de la nivel. Y si necesitamos ajustar algo más adelante, por ejemplo, no nos gusta tanto la saturación. ¿ Estamos? Queremos hacerlo más cálido o algo más? Hagámoslo en el futuro. Pero por ahora creo que esto es bueno. Y pasemos a la siguiente lección. 46. Cómo configurar el personaje: Ahora mismo es el momento de configurar el personaje. Entonces este es el personaje que tenemos, hemos importado en las últimas lecciones. Entonces este llamado maniquí ODS. Vamos a usar a este personaje y vamos a configurarlo para que esté listo para nuestro juego. Entonces sigamos adelante y un lado de la carpeta de contenido y haga clic con el botón derecho en ella, hagamos una nueva carpeta llamada blueprints. Y por cierto, puedes mover todas estas carpetas del mercado dentro de un mercado. Yo sólo voy a hacer una nueva carpeta llamada marketplace. Y déjame seleccionar todas estas carpetas del mercado y ponerlas dentro del mercado. Probablemente me voy a llevar un poco de tiempo. Entonces mirando en movimiento aquí. De acuerdo, Ahora se ha movido a todas las carpetas, a la carpeta del mercado. Y se puede ver estas carpetas no se eliminaron por sí mismas porque también las puedo ver dentro de la carpeta del mercado. Por lo que este es un libro a veces con Unreal Engine y tienes que dar clic en Eliminar. Y si no lo elimina, Veamos si lo diluye. Antes de hacer clic en Eliminar Londres, realidad haga clic derecho en esta carpeta de contenido y haga clic en directores de lectura fijos. Y va a arreglar directores de resumen. Y déjame seleccionar los de nuevo fuera de la carpeta del mercado y hacer clic en Eliminar. Y ahora se quitan. Entonces a veces hay que arreglarlo, leer directores. Son carpetas o archivos que no puedes ver. Y así este también. Y éste no puedo borrar. Entonces tendría que reiniciar el motor y usted, si nunca elimina aquí, también puede eliminarlo de su navegador y navegador de archivos fuera del motor. Pero por ahora, que sea así, está bien. Eliminemos estas carpetas de contenido del motor haciendo clic aquí y haciendo clic en Mostrar contenido del motor. Y ahora desaparecen. No me molestaré con esto por ahora. Por lo que ahora dentro de los planos, Vamos a hacer clic con el botón derecho y hacer clic en Clase de Blueprint. Y para crear nuestro personaje, tenemos que crear el personaje aquí. Antes en el juego anterior, usamos Po1. Y esto se debe a que nuestro personaje era sólo una pelota que rodó por ahí. Pero ahora tenemos un personaje real, como dos brazos, dos le gusta caminar por ahí. Y para esto necesitamos un personaje real, no sobre, no podemos hacerlo con sobre. Entonces creando un personaje y llamémoslo BP. Bp, base de caracteres BP. Entonces ahora esta es la clase base del personaje. Y te voy a mostrar algo. Aquí. Puede hacer clic con el botón derecho y hacer clic en Crear clase de blueprint hijo. Ahora, a partir de esta clase principal de Blueprint, que es la base de personajes, vamos a hacer dos planos infantiles, uno llamado bp, base de jugadores. Y haz clic de nuevo en la base de personajes y haz la clase Create Child Blueprint y llámala base enemiga BP. Y ahora te preguntas qué va a hacer esto. A por qué no simplemente hacemos clic derecho y creamos una nueva clase de blueprint y creamos un personaje y simplemente lo llamamos base enemiga o enemigo y creamos un nuevo personaje llamado jugador. El motivo por el que lo hacemos así, como hacer clic derecho y crear un niño es porque a veces se quiere editar algo para todos. Por ejemplo, aquí, si el enemigo, necesita algunas ediciones y la base del jugador necesita algunas ediciones. Y ambos necesitan la misma edición. Tienes que entrar aquí, editar algo, y luego tienes que ir dentro de la base de jugadores y editar algo. Y en lugar de hacer lo mismo una y otra vez, simplemente puedes ir dentro de la base de caracteres y editar algo. Y cuando lo edites aquí, lo editará en todos los niños. Entonces ahora estos dos, si sostienes el mouse sobre él, puedes ver la clase padre como la base de caracteres para ambos. Entonces si agregué algo aquí en la configuración, por ejemplo, si desmarco esto, lo desmarcará para ambos. Se puede ver aquí ahora tienen una estrella. Significa que algo cambió. Entonces esto es algo bastante guay. Si necesitamos cambiar algo por todo, simplemente podemos ir dentro de la clase base. Si necesitamos cambiar algo específicamente para el jugador, podemos añadirlo dentro de la base de jugadores. Y la base enemiga no se verá afectada. Porque la base enemiga es el hijo del personaje basado en, no la base de jugadores. De acuerdo, entonces ahora tenemos una base de personajes en cualquier rebase, una base de jugadores. Por lo que desde la base de jugadores hacemos clic derecho y creamos niños Clase de Blueprint a partir de ésta. Y esta la vamos a llamar máquina de BP. Entonces nuestro personaje se llama máquina, al igual que Terminator. Imagínese si se termina o jugando alrededor. Y puedes hacer clic derecho aquí y hacer una nueva carpeta. Voy a llamar a este enemigo, y voy a hacer una nueva carpeta llamada jugadores son sólo Blair. Y puedes seguir adelante y mover la base del jugador y la máquina dentro del jugador y mover la base enemiga dentro de los enemigos. Y nos centraremos en los enemigos más adelante. Y voy a dejar que el basado en caracteres esté aquí fuera. Entonces ahora en lugar del jugador, ahora tenemos la base de jugadores y tenemos el personaje. Podrías haberla llamado jugador bp. Por ejemplo. Solo quería llamar a mi máquina de personajes igual que si es terminator o terminator BP. Pero si editas algo dentro de la base de jugadores ahora, también se editará dentro de la máquina porque la máquina es hijo de la base de jugadores. Entonces esto es algo bastante guay. Si necesitamos editar algo para todo, simplemente podemos volver atrás y editar algo en la base de personajes y afectará tanto a los enemigos como a los jugadores. Y por ejemplo, cuando hacemos algo que es, bueno, los jugadores, por ejemplo, si hago algo aquí dentro de base de jugadores y tengo muchos personajes. Digamos que aquí creé muchos niños. Tengo muchos personajes diferentes. Imagina que si estás jugando a Fortnite y tienes muchas pieles, eso, y básicamente tienes muchas habilidades. Aquí tienes tres pieles. Pero quiero hacer algo que sea similar para todos ellos. Por ejemplo, si entras en este muro, morirás. Entonces no vas a programar este código dentro de aquí. Porque quiero que suceda por todas estas clases de tres planos que hice, todas estas pieles, pieles quincenales. Y la forma en que lo haces como simplemente codificarlo en base de jugadores, porque todos estos son hijos de esto. Y si haces código en sólida, buena base de jugadores, hará la lógica o afectará a todos estos otros tres, que son los hijos de esta base de jugadores. De acuerdo, entonces vamos a borrarlo. Y en realidad no quise dejar esa máquina de BP. Entonces así como esto. Y ahora voy a entrar a la base de jugadores. Y en realidad déjame ir dentro de las carreras de bucle ahora en la base de caracteres, voy a quitar los arranques con tick habilitado. Y esto es solo por rendimiento. Entonces sólo compilando ahorro, Eso es todo en base de caracteres. Dentro de base de jugador aquí en la malla. En realidad quiero agregar una cámara porque necesitamos ver al personaje desde una vista de arriba hacia abajo. Por lo que haciendo click en esta malla aquí. Este es el personaje por cierto. Y aquí puedes ver que es casi igual que el actor. Podemos agregarle componentes. Y al igual que el porno que hicimos, el punto, agregamos una esfera. Y aquí en carácter, puedes ver que realmente estás recibiendo algo llamado malla. Y esta malla es en realidad el personaje. Para que puedas agregar el personaje que estás usando. Por lo que puedes agregar este personaje aquí. Y también tienes movimiento de personajes. Y aquí puedes editar el movimiento general. Por ejemplo, la aceleración, la gravedad. Se puede editar el caminar, se puede editar el salto y la caída. También puedes editar algo con el multijugador aquí, con la natación, cómo eres, qué tan rápido estás nadando y así sucesivamente. Por lo que tienes muchas opciones de movimiento dentro de este personaje. Y cuando haces un juego, tienes que entrar aquí y equilibrar todas estas cosas. Por lo que tienes que hacer único a tu personaje con este componente de movimiento. Y aquí dentro de malla agregamos el personaje y también podemos asignar un blueprint de animación para animar al personaje, lo cual también haremos en la lección posterior. Y tienes un componente de flecha. Te muestra qué, ¿Cuál es el frente de esta ventana gráfica. Por lo que el personaje debería estar enfrentando de esta manera. Esto es lo que está contando. Y luego tenemos una cápsula y ésta es igual a la caja Trigger que hicimos antes. Podemos hacer que los eventos a partir de este ON comiencen solapamiento justo nosotros, igual que lo que hicimos en el juego anterior. Y en la base de jugadores, puedes editar una gran cantidad de ajustes. Tienes Configuración de clase y por defecto. Y aquí abajo, todos ustedes ya saben lo que pueden crear. Variables y macros, funciones y demás. De acuerdo, así que empecemos aquí. En lugar de hacer clic en la malla, Vamos a seguir adelante y añadir un resorte en. Al igual que lo que hicimos con la esfera con un balón que hicimos previamente. Entonces esto es igual que el micrófono de boom que ves en las noticias y en la televisión. Y luego le agregas la cámara. Por lo que esta pluma, brazo de pluma o un brazo de resorte está sujetando la cámara. Y ahora puedes dar click en el resorte en. Y puedes hacer click y rotarlo. Y creo que lo giraré hasta 70 grados. Y ahora puedes elegir a qué distancia debe estar la cámara de esta longitud objetivo. Probemos 600 y sólo lo cambiaremos. Si nosotros, si pensamos que está demasiado cerca. Vamos a compilar y guardar. Ok, y en realidad volvamos aquí y cerremos esto. Voy a jugador y aquí. Y así esta es la base de jugadores. En realidad sólo voy a ver si edité en el equivocado ahora. Esto fue correcto. Sí. Esto fue en el jugador Bassanio a la cámara. Pensé que lo hacía en el basado en caracteres. Y la razón por la que no quieres agregar la cámara en la base de personajes es porque si la agregas dentro de aquí, también lo hará, también estará disponible para la clase enemiga. ¿ Y por qué necesitarías una cámara para los enemigos? No vas a controlar a los enemigos. Entonces es por eso que lo hacemos en la base de jugadores en su lugar. Entonces en lugar de una máquina, si entro aquí. Recuerda, la máquina es un hijo de esta clase de blueprint. Entonces si entro aquí, click en Abrir editor de blueprint completo. Ya se pueden ver las cámaras aquí. Y esto se debe a que se trata de un plano infantil de la base de jugadores. Entonces todo lo que creas en la base de jugadores, aunque sean variables, podrás acceder a ellas en la máquina de BP porque es un niño. De acuerdo, entonces aquí en la malla, necesitamos agregar el personaje. Entonces sigamos adelante y busquemos al personaje dentro del mercado. Odes maniquí, maniquí de malla de carácter. Y los personajes aquí. Desplázate un poco por aquí y encuentra aquí esta malla esquelética. Y aquí puedes arrastrar en el personaje. Entonces, maximizémoslo y visualicemos. Entonces este es el personaje. Hagamos clic en la herramienta de arte o un clic E2 para la herramienta de rotación. Gírelo para que sean fases a esta flecha. Está en el frente y ahora entra, en la vista izquierda o en la vista frontal, eso depende de ti. Voy a la izquierda. Y entonces aquí puedes arrastrar hacia abajo al personaje, así que en realidad está en el suelo aquí. Voy a desactivar el chasquido. Puedo moverlo sin problemas y simplemente moverlo lo mejor que puedas aquí. Entonces es éste es el suelo moviéndolo hacia abajo. Al igual que esto. Voy a volver al modo perspectiva. Por lo que ahora el personaje está en medio. Y no te preocupes por esto por ahora. Vamos a compilar y guardar. Y lo último que queremos hacer es hacer clic en esta máquina, los valores predeterminados de la clase. Y dentro de aquí, Veamos si el movimiento es correcto. Ellos usuario de la rotación del controlador, tu LEA puede desmarcar este. Y todos estos pitch, guiñada y roll. Estos son los X, Y, y Z. Así se llaman. Se puede ver que la rotación, el exceso de rollo frío, el dado se llama pitch y DZ se llama guiñada. Y esto es lo que va a heredar del controlador. Entonces, cuando presionas tu teclado y te mueves, va a heredar el movimiento de estos pitch guiñar y rodar. Pero no queremos heredar ningún movimiento. Cuando nos movemos en el juego de vista superior, solo queremos mover al personaje sin mover la cámara. Entonces esto se ve correcto, y sólo voy a asegurarme de que todo se desplaza aquí abajo lo es. Y vayamos en la malla esto para ver si algo necesita cambiar. Está todo bien. Por lo que dentro del brazo de resorte, puedes quitarlos, hacer pruebas de colisión. Y qué es la prueba de sexo de colisión como si estuvieras mirando aquí abajo en el personaje y el personaje o algo se interpone en el camino, la cámara en realidad será empujada hacia abajo debido a este artículo que lo empuja lejos. Pero queremos quitar esto para que la cámara no se vea afectada por nada en el mundo. Y vamos a quitar la configuración de la cámara, heredemos pitch, guiñar y roll porque no queremos moverlo. Por lo que debería ser así todo el tiempo. Sí, eso se ve bien. Y dentro de cámara, probablemente no necesitemos cambiar nada. Dentro del movimiento del personaje. No obstante, vamos a escuchar en los ajustes de rotación, puedes tomar este, orientar la rotación al movimiento. Entonces cuando te muevas por el personaje, estamos, giraremos dependiendo de dónde hayas hecho clic. Por lo que presionar D lo hará de cara a la derecha. Y esto es lo que queremos del juego de arriba abajo. De acuerdo, entonces ahora tenemos este movimiento. Y si quieres rotar más rápido, por lo que cuando caminas por ahí puedes aumentar este número. Entonces pongámoslo en 600 por ahora solo para que gire más rápido. Y todo lo demás se ve correcto. Entonces vamos a guardar todo, compilar, guardar. Y recuerda siempre puedes hacer clic en estos tres botones. Ir a ahorrar en compilar y éxito solamente. Y esto lo hará si compilas y dice éxito así, no tienes que guardar porque guarda automáticamente. Por lo que ahorra que quieras hacer click. De acuerdo, entonces ahora vamos a cerrar este. Y ahora tenemos, si volvemos a los planos y al lado del jugador, ahora tenemos esta base de jugadores. Podemos hacer algún código en que afectará a todos los jugadores si tenemos muchos. Y entonces tenemos algo específico. Por ejemplo, esta máquina. E imagina que puedo tener otro personaje. Puedo tener un personaje que es otra máquina, sólo un humanoide normal. Y puedo ir dentro de este personaje humano, capturar y agregar mi malla. Porque ahora agregamos esta malla dentro de este niño azul, Clase Blueprint. Y por lo tanto, si podemos crear un niño ahora aquí, también, si queremos sumar más jugadores, podemos seguir adelante y pinchando en la malla y añadiendo una nueva malla si así lo deseamos. De acuerdo, así que eliminemos este, y eliminemos nuestro personaje falso que usamos antes. Entonces ahora puedes ver, ahora realmente tienes la cámara. Se puede hacer clic con el botón derecho y hacer clic en piloto. Y puede ver cómo se ve si presionas F 11 para maximizar la ventana gráfica y haciendo clic en g para quitar todos estos, puedes ver lo cerca que está la cámara y está bastante cerca. Pero sin salir de la cámara, sólo voy a hacer doble clic aquí y dar clic en. Déjenme hacerlo en realidad desde la base de jugadores. No quiero cambiar la configuración desde aquí. Yo quiero cambiar, porque si lo cambio aquí dentro, sólo afectará este plano. Si tuviéramos múltiples jugadores, seguirían pareciendo así. Por lo que quiero hacerlo en la base de jugadores, dando click en brazo de resorte y que sea 900 y ver cómo se ve. Sí, esto se ve mucho mejor. Por lo que 900 y la longitud del brazo objetivo para el brazo de resorte. Guardémoslo todo. Y todo se ve correcto. Vamos a cerrarlo. Guárdalo todo. Y esto es todo lo que necesitábamos hacer por el personaje. Por lo que ahora en la siguiente lección, vamos a seguir adelante y hacer el controlador Demode y jugador antes de hacer cualquier movimiento. 47. Modo de juego y controlador y jugador: Vamos a crear el Modo de Juego y bajo controlador de jugador. Entonces volvamos a los planos. Rápidamente haga clic con el botón derecho y haga clic en Clase Blueprint. Adelante y crea un controlador de jugador. Y este se va a llamar PC. Puedo llamar a control no polar. En realidad, solía llamarlo el nombre del juego. Por lo que este se llama huelga de clones. Un PC es para controlador de jugador. Y déjame volver a hacer clic derecho y crear un modo de juego llamado GM clon strike. Y cuatro. Para el modo de juego, en realidad se puede crear el modo de juego múltiple. Entonces si tienes un modo de juego, digamos que estás haciendo un juego de mesa. Entonces estás haciendo damas o ajedrez, o serpientes y escaleras o aun así ver, o algo por el estilo. Tienes que crear múltiples modos de juego para esos. Entonces si tienes un modo de juego para ajedrez, tienes un modo de juego para damas. Tendrás un modo de juego para Serpientes y Escaleras. Tendrás un modo de juego para cuando dibuje, no sé, cualquiera que sea los juegos que tengas, tendrás múltiples modos de juego. Entonces en este momento solo tenemos este solo juego y solo tenemos este modo de juego único. Y también puede tener múltiples controladores. De acuerdo, entonces ahora tenemos esto y lo siguiente que queremos hacer es realmente queremos configurarlo. Por lo que va adelante y edita dentro de la configuración del proyecto. Y aquí tienes algo llamado mapas y modos. Por lo que al hacer clic en mapas y modos, se puede, se puede cambiar ese modo de juego predeterminado. Por lo que tu Modo de Juego Personalizado aquí. Y dentro de aquí, también puedes cambiar los predeterminados aquí. Entonces en la clase de fuente predeterminada o una Alice cambia a máquina BP. Esta es la capa que realmente queremos engendrar. Y o el controlador, cambiémoslo a la huelga de clones de PC. Y para los mapas aquí, los mapas predeterminados, hicimos el mapa llamado main. Entonces voy a cambiar el editor Startup Map 2 mean. Y de nuevo, mapa por defecto para mí. Entonces ahora cuando abras el, el editor, no vas a empezar en ese nivel vacío todo el tiempo. Ahora en realidad vas a empezar aquí. Entonces vamos a guardar todo. Y para asegurarme de que esté funcionando, quiero entrar al modo de juego. Y aquí a la derecha en los predeterminados de clase. Quiero comprobar que mi controlador es de clon de PC strike y un jugador es máquina de BP. Y esto es correcto, y aquí no queremos hacer nada. Esto está bien. Dentro del control de la vejiga más grande revisando todo. Y esto también se ve bien. No necesitamos hacer nada dentro de aquí. Y luego lo último aquí, dentro de la configuración mundial. Aquí tienes también algo llamado anulación del modo de juego y tienes, tienes que recordar cambiar esto más, ese modo de juego no funcionará dentro de este nivel. Por lo que al hacer clic en él y cambiarlo a golpe de clon GM, al hacer clic en estas flechas solo para asegurarse de que los controladores de flujo clon de PC golpeen, y el Peón predeterminado que se generará es la máquina de BP. Y por cierto, la cosa que creamos un clic puro y creamos una clase de blueprint. Puedes ver aquí creamos un personaje. Entonces, ¿por qué se llama aquí? ¿ Por qué se llama estanque? Porque el punto es lo que usamos en el último juego, en el último juego que creamos. Pero ahora mismo estoy imprimiendo un personaje y aquí hay una ventaja. Un personaje es un tipo de porno. Entonces esto en realidad también está sobre, por lo que este es un tipo de vínculo. Este es el cable. Por qué se llama aquí. Y el personaje funcionará aquí porque el personaje es en realidad un tipo de cono. De acuerdo, Entonces esto es lo que tuvimos que ver con el Modo de Juego y el controlador de jugador por ahora. Tan muy básico. Y sigamos adelante a la siguiente lección. 48. Agrega movimiento de jugador: Ahora podemos hacer el movimiento por el personaje. Entonces para hacer el movimiento, primero, necesitamos algunos insumos. Y al igual que hicimos con el primer juego, seguir adelante dentro de la edición e ir dentro de la configuración del proyecto. Y dentro de la entrada, se puede escuchar crear mapeos de acceso. Entonces voy a crear uno o dos, en realidad uno llamado avanzar. Entonces es cuando avanzamos y retrocedemos. Entonces esto es y, así es como lo llamo yo. Por lo que en realidad es sólo avanzar y retroceder. Y esto es derechos de movimiento y se mueven sexualmente de derecha e izquierda. Entonces echemos un vistazo a estas ventosas. Y puedes hacer click en este botón, click en la W de tu teclado, o puedes encontrarla aquí. Eso depende de ti escribiendo tecla S, por ejemplo, o S. No puede encontrar la clave, así que haz clic en S y encontrarla. Y aquí, la forma más fácil, simplemente haciendo clic en este clic en el botón D del teclado y haciendo clic en el botón aquí. Entonces hagamos este minús1. Por lo que seguir adelante es uno que va hacia atrás, minús1 que va a la derecha como uno que va a la izquierda es minús1. Se lo puede imaginar igual que en una gráfica, más y menos. Por lo que las mappings de acceso se utilizan para el movimiento aquí. Estos son los mapeos de acceso y el mapeo de acciones que vamos a utilizar más adelante. Esto es, por ejemplo, si hace clic en un botón, por lo que si hace clic en E para abrir puertas, si hace clic en el botón izquierdo del ratón para disparar a su arma y así sucesivamente. Entonces estos son sus clics de botón, unos pocos, un espacio para saltar. Esto también es un mapeo de acciones. Entonces ahora creamos esto hacia adelante y hacia la derecha, y vamos a crear otros movimientos más adelante. mí, me gusta crear cosas cuando las necesito. Entonces no solo sigo adelante y creo 10 mappings de acción diferentes. Y tal vez no estoy usando la mitad de ellos más tarde, así que solo los creo cuando los necesito. Por ahora los hemos creado y me gusta hacer el movimiento dentro del controlador de laboratorio. Por lo que haciendo clic en el controlador del jugador aquí, haciendo clic en abrir editor de blueprint completo, completo. Eliminemos todo esto por ahora. Entonces aquí podemos hacer clic derecho y podemos hacer el avance que lo llamamos. Y aquí este es el evento que necesitamos. Entonces esto es lo que sucede cuando hacemos clic en W para avanzar o estimar el movimiento hacia atrás. Y el otro se llamaba MOOC, ¿verdad? De acuerdo, entonces ahora hemos avanzado y correcto, y lo que necesitamos para movernos aquí. Recuerda que en el juego anterior usamos torque es torque, que es un tipo de fuerza que movimos nuestra pelota alrededor. Pero aquí en realidad vamos a decir agregar entradas de movimiento y eliminar lo sensible al contexto. Y se puede ver aquí es algo llamado una función llamada agregar entradas de movimiento. Y esto es lo que vamos a hacer es que sólo voy a hacer clic aquí y volver a hacer clic en lo sensible al contexto antes de que lleguemos. Entonces, copiemos este también y lo hagamos aquí. Conectemos ahora los valores del eje dentro del valor de escala. Aunque, cuando enchufemos w, Este será 11 con ácido fólico, éste será menos uno, pero esto controlará el movimiento. De acuerdo, entonces ahora necesitamos ese objetivo. Y el objetivo es por supuesto el jugador. Queremos agregar movimiento al jugador. Y es también por eso que a veces haces esto y justo en las entradas de movimiento y no ves nada. Y esto es porque hay que sacarlo del blanco. Por ejemplo, si tuviéramos el personaje y arrastramos hacia fuera y escribimos en la entrada de movimiento, en realidad aparecerá. Pero si lo haces así sin el objetivo, sólo será una búsqueda general. Y estás buscando una sensible al contexto. Entonces algo que se relaciona con este evento y nada se está mostrando como por qué lo quito y lo agrego. Pero si te arrastran desde el objetivo y buscas la entrada de movimiento de agregar, lo conectará automáticamente a esto y lo encontrará. De acuerdo, entonces necesito el objetivo, que es el personaje aquí. Entonces el objetivo es el personaje. Y en realidad lo es, déjame ahorrar. Y esta es la base de jugadores que necesitamos. Por lo que necesitamos la base de jugadores. Y no hay como el jugador, todos estos son hijos eternos de la base de jugadores. Entonces si solo tomamos éste, todos ellos tienen la misma entrada. Por lo que necesitamos una referencia a esta base de jugadores. Y la forma en que hacemos esto, recuerden en el juego anterior, tenemos que comunicarnos entre planos usando Blueprint Interface. Entonces esto es lo mismo aquí. Y vamos a repasar y crear una Interfaz de Blueprint. Entonces haga clic derecho. Y hagamos una nueva carpeta llamada interfaces. Dentro de aquí vamos a hacer clic derecho hacer planos, Interfaz de Blueprint. Y a ésta la voy a llamar int player base. Porque esto es específico para la base de jugadores. Voy a hacer doble clic y hacer una función aquí llamada gets layer base rep. O también puede simplemente llamarlo. Yo sólo voy a llamarlo get player, referencia de jugador. Simplemente no para que sea demasiado largo. Y aquí voy a hacer una salida. Y la salida va a ser la pieza o BP. Oops, base de jugadores bp. Tienes que hacer referencia a lo que quieres tener la referencia. Y en este caso es base de jugadores bp. Sólo voy a llamarlo el jugador variable. Por lo tanto Compila y Guarda. Y ahora tenemos que abrir la base de jugadores para editar. Haga clic en la base de jugadores. Eliminemos todo esto por ahora. Dentro de la base de jugadores, hay que ir a la Configuración de clase. Y recuerda que tienes que añadir la interfaz antes de que funcione. Por lo que buscando base de capa int y agregándola, puedes ver las interfaces realmente aparecen aquí. Por lo tanto Compila y Guarda. Hagamos doble clic en este derecho sin fin, arrastrémonos y escribamos yo mismo. Ahora se está preguntando qué es esta referencia, esta referencia de fila en sí, estamos dentro de base de nube. Y por tanto, ahora sabe que el jugador al que te refieres es en realidad base de jugadores. Esto es lo que significa yo. Se refiere a resolver. Entonces lo que podemos hacer ahora dentro de aquí, recuerda que la base de jugadores es un tipo de personaje. Para que puedas ver o la base de caracteres de clase padre. Y si vamos dentro de la base de caracteres, la clase padre es carácter. Entonces lo que necesitamos hacer dentro de aquí, dentro del controlador de jugador. Hagámoslo sexualmente en la jugada de inicio. Pero lo que podemos hacer aquí es decir que consigue carácter o consigue un buen carácter de jugador. Y esto es lo que podemos hacer porque la obra, el personaje Bayes es el tipo de personaje como el padre clases al personaje. Entonces consigue el personaje jugador. Y ahora tenemos que hacer referencia a este jugador específico al que queremos llegar, y queremos llegar a la base de jugadores. Esto es a lo que estamos capacitados para referirnos. Y recuerden hicimos esta función a la que podemos referirnos. Entonces ir aquí y decir se pone gráfica de capas y es un mensaje porque es una Interfaz de Blueprint. Hagámoslo. Comienza el evento de juego aquí. Por lo que cuando empecemos a jugar el juego, llamará a esto. Y el jugador aquí es ahora esto porque recuerda que escribimos yo aquí. Es por ello que sabe que este buen jugador ref es en realidad éste. Aquí podemos acceder a todas las cosas en el interior del jugador. Ahora aquí tenemos el personaje, tenemos la capa REF, y vamos a crear, hacer clic derecho en esto y decir Promocionar a variable. Y llamemos a este jugador sobre. Entonces ahora tenemos una referencia al punto jugador, que es éste. Y antes de hacer esto, realmente hagamos un nodo válido. Entonces decir get player character, entonces decir es válido. Entonces se va a preguntar, conectemos esto así. Entonces ahora se va a preguntar, conseguir el personaje jugador. ¿ Es válido este personaje jugador? Si lo es, entonces adelante y haz esta referencia. Si no es válido, entonces retrasa 0,2 segundos. Y luego trató de disparar de nuevo esto y ver si es válido. Por lo que podemos moverlo aquí arriba. Y esto se hace porque a veces el personaje aún no se engendra. Por ejemplo, me refiero mucho a Counter-Strike. Imagínese en huelga de gabinete a través. Acabas de unirte al servidor y se supone que debes seleccionar un equipo, un antiterrorista o un terrorista. Y si aún no has seleccionado un personaje, en realidad no estás dentro del juego, por lo que no tienes personaje de jugador, sigues en el modo espectado y estás seleccionando un personaje. Por lo tanto esto no será válido, por lo que te esperará. Se adelantará y se retrasará en 0.2 segundos. Y cuando esté completo, cuando se complete este retraso, vamos a seguir adelante e intentar disparar de nuevo y ver si, si eres un válido. Y si aún no has seleccionado a un personaje, se irá de nuevo y se retrasará en la tierra yacía de Ontario. Seleccionas un personaje y seguirá adelante y creará una referencia a tu personaje. De acuerdo, entonces ahora este personaje que tenemos, ahora podemos decir arrastrar fuera de esta pluma. Y aquí puedes ver consigue rotación de control. Entonces estamos consiguiendo la rotación del control. Entonces cuando haces clic en w, sabe que tu rotación es de esta manera. Si haces clic en D en el teclado, te conoce. El control es de esta manera y así sucesivamente. Entonces estás obteniendo la rotación de este control. Y aquí decimos get forward vector. Esto se debe a que queremos avanzar. Esta es la dirección que estamos enfrentando, consigue el vector de avance. Y el otro es llegar directo al vector. Y ahora podemos enchufarlo aquí. Y así es como lo hacemos. Entonces si compilamos y ahora necesita un objetivo, claro que soy yo por conseguir. Entonces el objetivo es solo mostrar o en realidad puedes simplemente seguir adelante y conectarlo así, pero se ve un poco desordenado, así que quiero crear algo nuevo. Pero antes de hacer esto, De hecho, vamos a arrastrar esto por aquí. Vuelve a conseguir el punto. Puede hacer clic derecho y hacer clic en Convertir a validado obtener. Y así como éste, se va a comprobar si el personaje es válido porque no lo eres, no quieres hacer el movimiento si tu personaje no ha engendrado, no tiene sentido. Entonces se va a comprobar ¿es válido el personaje? Si lo es, adelante y haz la entrada de movimiento. El objetivo es sólo un cuadrado. Entonces esto es lo mismo que conectar este aquí. Entonces esto es lo mismo conectándolo aquí. Y yo voy a hacer lo mismo aquí se va a comprobar si el personaje es válido antes de que haga algo aquí. De lo contrario te dará un error y dirá: Oye, tu personaje no es válido. ¿ Cómo se supone que haga este movimiento? Entonces esto es lo que evitamos, evitamos algunos errores. Y permítanme hacer doble clic para agregar nuestro nodo de redireccionamiento solo para hacerlo un poco más limpio y moverlos aquí abajo. Entonces ahora vamos a compilar. Y me olvidé, lo siento, siempre olvido el objetivo aquí. Guardemos Todo y haga clic en Play. Y ahora va a decir error. Y déjame, Hay BP personaje en primera persona por alguna razón, cancelarlo en realidad puede ver qué es eso. Vamos a seguir adelante y dar click en Navegar. En realidad quería ver qué es eso. Y esto está dentro del nivel tutorial, lo cual no tiene sentido porque realmente no lo necesitamos. Pero permítanme hacer clic en elimina aquí. Y en realidad voy a eliminar toda esta carpeta en primera persona. Vamos a borrarlo. Realmente no lo necesitamos. Guardemos todo y pinchemos en play. Y caímos por el suelo. Y esto no se supone que suceda. Esto porque no lo estamos, no hemos agregado un jugador vuelve a iniciar circuito sólido y dar click en Crear. Haga clic en inicio del jugador. Esto es lo que necesitamos L, Así que vamos a caer aquí desde arriba. Entonces este va a decir mal tamaño si lo tienes bajo el suelo así. Entonces sólo moviéndolo un poco hacia arriba. Algo así. Y cuando golpeas Play, te puedes ver, ahora nos estamos moviendo. Entonces esto es impresionante. Doy click f 11 a pantalla completa para que veas que te estás moviendo. Y eso es lindo. Entonces lo siguiente es que podemos agregar algo de animación para ello, así que en realidad está corriendo por ahí. Y por ahora, solo quiero mostrarles un error. Nosotros lo hicimos y yo lo hice. En realidad, no tiene nada que ver contigo. Por lo que al hacer clic en la máquina BP, se puede ver aquí realmente agregamos el cambio de estos ajustes mediante el uso de la rotación del controlador. Estás dentro de la máquina de BP, pero se supone que lo hagamos dentro de la base de jugadores porque se necesita aplicar a todos los personajes que crea y no solo a este. Entonces voy a escuchar en la clase los valores predeterminados, toma esta otra vez. Fuera de la malla. No hay nada dentro del brazo de resorte. Voy a volver a tomar todos estos tres. Y dentro del movimiento del personaje, voy a bajar a los ajustes de rotación. Y estoy tomando esto de nuevo y haciendo este 360 igual que antes. Eso. Hagámoslo realmente a través de la base de jugadores. Entonces éste es el correcto. Ese es mi error. Van a quitar esto dentro de los valores predeterminados de clase, el, su interior del brazo de resorte quitó la prueba de colisión y estas hereda. Y en el movimiento de la planta, Bajemos y hagamos la rotación, que está aquí. Haga clic en esto y haga este 600. Aunque sólo un pequeño error. El Alaska juega y asegúrate de que funcione y lo hace. Y sigamos adelante a la siguiente lección. 49. Animaciones de Retargeting: De acuerdo, así que sigamos adelante y veamos cómo retardamos las animaciones. Y antes de eso, en realidad hice una carpeta dentro de activos, carpeta metacaracters. Y dentro de aquí arrastré esta malla aquí. Entonces aquí estaba dentro del maniquí y maniquí ODS y carácter y malla. Y estos, en realidad arrastré dentro de mis propios activos Characters Folder y los llamé máquina SK, o ésta es la Malla Esquelética. Y el activo de la física es la máquina k y el esqueleto de la máquina para el esqueleto. Entonces tengo estos aquí solo para que esté más organizado. De acuerdo, Así que ahora retardemos las animaciones. Y recuerda que importamos animaciones desde el mercado e importamos este pack de iniciación de animación. Por lo que al hacer clic en él, se puede ver un montón de animaciones. Y todas estas animaciones, necesitamos agregarla a nuestro propio personaje porque éste es solo el personaje por defecto de Unreal Engine. De la forma en que hacemos esto, tenemos que retardar la animación. Entonces primero tenemos que ver qué nuestras animaciones vamos a usar? Entonces lo que necesitamos para nuestro propósito es la cadera del rifle ocioso. Y también puedes buscarlo aquí. Entonces es rifle de béisbol. Tendrás mejores posibilidades de encontrarlo. Y aquí puedes encontrar la cadera del rifle aldol. Por lo que haces clic derecho en él y el activo de animación retarget y duplicado. Pero sólo quiero explicarte rápidamente lo que significa. Por lo que todas estas animaciones, están ligadas a un esqueleto. Entonces al igual que aquí en el personaje, tenemos un esqueleto para nuestro personaje. Todas las animaciones están vinculadas a esqueletos. Entonces aquí en el maniquí ODS, nuestra carpeta de maniquí, también tenemos animaciones que venían con él. Y en realidad los va a duplicar sólo en realidad van a ver, gracioso. No creo que los necesite. Pero puedes hacer doble clic sobre él y puedes ver cómo se ve. Y estos son para nuestro personaje. Por lo que estas animaciones están vinculadas para nuestro personaje, para nuestro esqueleto. Están usando el esqueleto. No obstante, esta animación startup X, no están usando nuestro esqueleto. Están usando este esqueleto dentro de malla de maniquí uniforme y tienen este esqueleto el cual está usando esta malla estándar. Bueno, entonces así es como tú, por qué necesitas llegar a objetivo, porque necesitamos usar nuestro propio personaje. Y la forma en que lo haces, adelante y busquemos la animación que necesitamos. Y empecemos con esta cadera de rifle ídolo. Entonces el rifle ocioso, haga clic con el botón derecho en él. Retarget activo de animación y duplicar activos de animación y retarget. A pesar de hacer click en esto, este espectador saldrá. Y este es el espectador donde seleccionas a qué esqueleto quieres apuntar dos. Y ahora mismo se puede ver nada está apareciendo. Esto se debe a que a veces hay que desmarcar este dicho mostrar sólo esqueletos compatibles. Y ahora puedes ver todos los esqueletos en tu juego. Y estas son, por ejemplo, armas. También tienen esqueletos. Tenemos a los enemigos. Sea lo que sea que descargamos, esto es algo de Él para o lo que sea. Entonces tenemos un montón de esqueletos para cosas aleatorias, pero queremos retardar a estas máquina SK, Así que nuestros propios personajes esqueleto. Y luego solo puedes hacer clic en objetivos RE. Y ahora ha retardado la animación. Entonces si pasas a la carpeta de contenido aquí y a la carpeta de contenido base, puedes ver tu animación aquí la ha retardado, y ahora ésta está en nuestro personaje. De acuerdo, así que hagamos esto por el resto. Por lo que también necesitamos un avance. Entonces buscando rifle, y yo voy a tomar este rifle salto adelante. Entonces si haces doble clic en él, puedes ver es correr hacia adelante. Esto es lo que necesitamos. También necesito una animación de muerte. Entonces si me quito este rifle, por lo que ahora tengo seleccionada la jarra delantera. Y si sostengo Control y también puedo dar click en esto, ese tres. Por lo que ahora tengo ambos seleccionados y puedo hacer clic derecho, hacer clic derecho y leer objetivos. Eliminar la búsqueda de compatibilidad para máquina SK. Nos vamos a sentar y leer objetivos. Ahora si vuelvo al contenido, se puede ver que tenemos un montón de animaciones ahora que podemos usar para nuestro personaje. Y tenemos aquí un inactivo, tenemos un salto hacia adelante, pero también necesitamos un fuego y recargar. Entonces pasemos al pack de iniciación de animación, rifle derecho. Y busquemos aquí y recarguemos la cadera del rifle. Éste, y el otro está disparando. Por lo que este fusil de fuego cadera. Entonces estos dos de aquí, haga clic derecho, leen objetivos. Quita esto, busca el esqueleto. Y adelante y retardar. De acuerdo, entonces ahora puedes ver que estoy viendo todo. Esto se debe a que estoy buscando aquí, es buscar en carpetas antiguas. Entonces quitándolo, puedes ver que ahora tenemos todas estas animaciones que podemos usar para el personaje. Y voy a ir aquí en la carpeta de activos y los personajes hacen clic derecho hacer una nueva carpeta llamada animaciones. Y dentro de aquí voy a arrastrar todas estas animaciones dentro de esta carpeta Animaciones. Y esto es más organizado. Y qué puedes hacer si quieres hacerlo más organizado aquí en la carpeta Blueprints, puedes establecer un color y puedes cambiar cualquier color, tal vez azul para los planos. Al igual que esto. Y ya puedes ver ahora tenemos una azul, una azul. Entonces si estás mirando por aquí, puedes localizarlo fácilmente. Y hasta puede hacerlos todos, Todos azules así si quieres. De acuerdo, entonces ahora tenemos las animaciones dice. Tenemos las animaciones listas y retargeted. Y así fue. Y si necesitamos más animaciones, siempre podemos seguir adelante y retardar un poco más. Entonces esto es todo por ahora. Y sigamos adelante en la siguiente lección. 50. Crear un espacio de fusión: Ahora que tenemos la animación está lista, sigamos adelante y creemos un espacio de mezcla. Y el espacio blaze y blend es simplemente juntar las animaciones para que podamos usarlo en un blueprint de animación, que crearemos más adelante. Entonces sigamos adelante dentro de los planos y dentro de jugador, y vamos a imprimirlo aquí porque es Player Specific. A clic derecho aquí, animación, y luego elija el o el espacio de mezcla 1D. O pinchando sobre él, tenemos que seleccionar qué esqueleto queremos usar, y queremos usar nuestro propio esqueleto llamado máquina SK. Entonces pinchando en esa, y llamémoslo BS para espacio de mezcla. Y lo voy a llamar trotar porque esto es sólo el trabajo derivaría caída. Por lo que podemos tener espacios de mezcla del personaje trotar el personaje caminando es otro espacio de mezcla. El personaje, déjame pensar. El sprinting es otro espacio de mezcla. Por lo que tenemos un espacio de mezcla para cada movimiento. Y por ejemplo, para trotar. manera realista, esto debería llamarse rifle de jarra, porque tenemos un rifle de jogging. Y también puedes tener un trote BS sin rifle. Entonces solo llamando a un chiste. Pero ahora mismo estamos ho sosteniendo un rifle, así que llamándolo fusil jogs. Al hacer clic en este espacio de mezcla, puedes ver que tienes este nuevo visor. Y haciendo esto un poco más grande, se puede ver que tenemos un eje horizontal y esta es la velocidad de movimiento. Por lo que le llama velocidad de movimiento. Y esta velocidad de movimiento, el valor mínimo es 0. Esto está bien. Podemos, tenemos la velocidad de 0 y nos quedamos quietos. Y la velocidad máxima, pongamos 600 y siempre podemos cambiarlo más tarde si queremos aumentarlo. Todo lo demás está bien. Entonces aquí, aquí abajo puedes ver tenemos una gráfica y aquí es donde pones tus animaciones. Y si pones las animaciones, puedes ver a tu personaje moviéndose. Y a la derecha tienes todas estas animaciones. Entonces ahora lo que queremos usar es la cadera ociosa que retardamos. También lo puedes encontrar dentro de animaciones aquí donde lo pones, puedes arrastrarlo o rasgar y algo más fácil de encontrarlo. Y aquí a la velocidad de movimiento, se puede ver aquí abajo en este eje está la velocidad de movimiento de 0 a 600. Entonces ahora a las 0 necesitamos el inactivo porque no nos estamos moviendo. Entonces estamos arrastrando este ídolo y poniéndolo encima de aquí. Ahora puedes ver a los entrenadores ralentí a la velocidad 0. Entonces esto tiene sentido. A velocidad de 600, queremos que la sangre debería estar corriendo. Entonces aquí, Jacques, adelante, lo vamos a poner aquí. Entonces ahora cuando mantienes pulsado Shift, puedes mover esto y puedes ver, realidad puedes previsualizar la animación si mantienes pulsado shift y mueves esto, este puntero, así es como se verá el personaje. De acuerdo, así que esto es genial. Esto es todo lo que necesitamos hacer. Muy sencillo. Haga clic en Guardar y haga clic en Cerrar. Por lo que ahora dentro del jugador del Brooklyn, un jugador, tenemos el espacio de mezcla llamado rifle de broma. 51. Azulón de animación: Ahora tenemos listo el espacio de mezcla. Por lo que ahora estamos listos para crear el blueprint de animación. Entonces sigamos adelante. Dentro de la carpeta de jugadores, ya estamos aquí, dentro de jugador. Vamos a hacer clic derecho. Acceda a la animación y haga el blueprint de animación 0. Al hacer clic en ese, tenemos que seleccionar qué tipo de esqueleto queremos usar y queremos usar nuestra propia máquina llamada Escape. Entonces seleccionando ese esqueleto, haciendo clic en Ok, y aquí podemos llamarlo y MVP para blueprint de animación. Y podemos llamar a éste para jugador. Entonces esto es para nuestro jugador. Por lo que haciendo doble clic en este blueprint de animación, se puede ver que nos metemos en una gráfica y esto parece complejo, pero en realidad es muy fácil. Se puede ver aquí a la izquierda, igual que la clase de blueprint, tenemos las macros, variables, funciones, y todo eso. Por lo que esta zona es para ver esto. Ahora, tenemos este adelanto y aquí podemos ver cómo se mueve el personaje. Y dentro de aquí tenemos el Gráfico de Eventos o gráfico de animación. Perdón. Tenemos un gráfico de eventos donde codificaremos igual que hacemos en las clases en el blueprint. Tenemos el Gráfico de Eventos y también tenemos el gráfico de animación. Entonces esta es una nueva gráfica de lo que las animaciones. Y a la derecha se pueden ver diferentes animaciones, al igual que cuando creamos el espacio de mezcla. De acuerdo, Entonces estas son las vistas previas de animación. Y todo esto está bien por ahora. De acuerdo, así que esto es todo lo que necesitas saber por ahora. Y luego para crear nuestra primera animación, tenemos que crear una máquina estatal. Así que haga clic derecho escribiendo Estados máquina. Y puedes ver aquí podemos agregar una nueva máquina estatal. Esta máquina estatal, voy a llamarla movimiento local, hola movimiento. Y podemos recolectar conectado este, no recoger éste. Podemos conectar este. Y podemos hacer doble clic en esta máquina estatal que creamos. Y dentro de aquí vamos a hacer el movimiento. Entonces simplemente lo que queremos hacer es que queremos hacer el trote. Entonces aquí, adelante y arrastra hacia fuera y puedes o agregar un conducto y un estado puede hacerlo es igual que un conector que puedes hacer para limpiar el código. Seguirán adelante y agregarán un estado. Y el estado que queremos sumar son trotes. Entonces, vamos a escribir chiste. Hagamos doble clic en este estado. Y aquí hay que insertar la animación. Entonces sólo volver a para que sepas lo que está pasando. Y la misma advertencia porque aquí no hemos hecho nada, así como esto. Vamos a compilar y guardar. Entonces creamos una máquina estatal, conecté a esta pose. Este es el resultado. Y vamos a hacer doble clic en esta máquina estatal y agregamos el estado. Y dentro del estado, el estado necesitamos sumar la animación de drogas. A pesar de que aquí hicimos un espacio de mezcla. No vamos a añadir este trote, o lo haríamos, podríamos hacer esto y el jugador saltaría hacia adelante. De lo que queremos agregar esta jerga de espacio de mezcla porque no queremos trotar cuando tenemos este talón de 0. Entonces vamos a tirar de eso y estaba conectado. Y se puede ver que tenemos algo llamado velocidad de movimiento. Y si hago doble clic en el espacio de mezcla, recuerda, la velocidad de movimiento es ésta. Entonces, como sea que llames, se mostrará aquí en esta variable. Entonces esta es la velocidad de movimiento que tenemos que sumar. Con la velocidad de movimiento es de 0. El jugador se va a quedar quieto. El movimiento de velocidad de 600 o máximo, Va a estar en movimiento. Y necesitamos enchufar la velocidad de movimiento hasta que el jugador viejo o animación tilda cuál es la velocidad de movimiento actualmente. De acuerdo, entonces ahora lo hemos conectado. El movimiento de velocidad es 0. Y se puede ver si escribo 600 y compilo se va a ejecutar. Pero queremos calcular esto dinámicamente dependiendo de lo rápido que estés corriendo. Entonces para hacer esto, hay que ir en el Gráfico de Eventos y hacer un poco de código. Y éste es uno sencillo. Aquí, hay que escribir inicializar. Y tienes un evento llamado Blueprint inicializar animación. Y esto es igual que el juego de inicio en sus actores de plano. Y esto es simplemente una jugada de inicio. Cuando comienza a reproducirse la animación, ¿qué quieres hacer? Al igual que una obra de inicio en todo el autor Clases de Blueprint. Tomemos este, prueba Get Pewn Owner. Tomémoslo aquí arriba. Y aquí podemos decir que es válido. Entonces, ¿este peón es válido aquí? Entonces como, como éste válido, si el punto es válido. Entonces si has creado tu personaje y el personaje realmente existe en el nivel, Vamos a hacer clic derecho remoto a una variable y llamarlo capa encima. Esto si es válido. Entonces hagamos doble clic para hacer un nodo de reruta y hacerlo. Hacerlo estructurado. Entonces si la capa está realmente dentro del nivel, así que si lo es, el personaje aquí es válido. Si ha engendrado dentro del nivel, adelante y crea una variable de este vínculo. Si no es válido, Vamos a retrasar por 0.2 segundos. Y cuando esté terminado, Vamos a volver a conectarlo aquí y allá sea válido. Y lo que esto hace es que si aún no se ha creado el personaje, va a seguir adelante y retrasar 0.2 segundos. Y cuando esté completo, va a ejecutar esto como válido una y otra vez y otra vez hasta que tu personaje sea realmente válido y creará la variable. De acuerdo, entonces ahora tenemos una variable, ahora tenemos este Peón de Jugador fue arrastrarlo hacia fuera. Y aquí tenemos que escribir velocidad porque queremos obtener la velocidad de movimiento. Recuerda, tenemos que conseguir la velocidad de movimiento del personaje que estamos obteniendo la velocidad. Y recuerda en la velocidad de movimiento, si volvemos al estado de jock aquí arriba, lo necesitamos en una variable de flotación. Entonces esto es un flotador, la variable verde aquí para crear un nuevo, whoops, no una función con un líder ahí otra vez, crear una nueva variable aquí. Recuerda las verdes son las carrozas. Entonces un flotador es simplemente un número. Un compilar aquí es simplemente un número con decimales. Ahora voy a borrar este y dejarme volver a la gráfica de camioneta. Entonces este es un vector ahora mismo. Y para llegar a la velocidad a un flotador, sólo tenemos que escribir longitud. Entonces estamos obteniendo la longitud, longitud de este vector. Entonces consiguiendo la longitud. Ahora esto es un flotador y esta es la velocidad de movimiento. Por lo que vamos a hacer clic derecho promover a variables y decir velocidades de movimiento. Ahora vamos a conectarlo. Y ahora se va a calcular su velocidad de movimiento. Ahora no queremos, no queremos ejecutar este código porque este código se va a ejecutar destick y corriendo en tick, lo que significa que va a ejecutar cada fotograma. Y no queremos ejecutarlo cada fotograma si su personaje aún no ha generado. Pero porque, ¿por qué lo haríamos nosotros, esto sería un desperdicio de, de memoria. Entonces sigamos adelante y saquemos aquí un peón de jugador. Hagamos clic derecho y digamos Convertir a validado get. Llévala aquí abajo. Por lo que ahora nos conectamos cuando la pantalla porno de jugador sobre aquí es válida. Después sigue adelante y calcula la velocidad de movimiento. Esto significa que si el jugador ha engendrado, adelante y haz esto. Si no, no hagas nada, y no tenemos que conectar nada. Por lo que se detiene aquí. Se comprueba si esto es válido. Si lo es, entonces irá adelante y lo hará. De acuerdo, entonces Compilar y Guardar. Y ahora sigamos adelante y a un lado del estado de jarra, y ahora les tenemos velocidad de movimiento. Entonces, vamos a arrastrar esta variable y vamos a ponerla dentro de aquí. Y se puede ver la velocidad de movimiento ahora está conectada. Vamos a compilar y guardar. Y ahora debería estar funcionando. Pero ahora tenemos que conectar este blueprint de animación con el jugador. Entonces vamos a cerrar todo. Hagamos click en el jugador. Entonces la base de capas, porque queremos afectar a todos estos jugadores. Imagina si tuviéramos muchos jugadores, muchos personajes, lo siento, si tuviéramos muchos personajes, queremos la misma animación corrida para ellos. Haré clic en la base de jugadores y en realidad lo agreguemos dentro de la base de jugadores. Por lo que dentro de la base de jugadores, puedes hacer click en Malla. Y dentro de malla, puedes mirar aquí en el modo de animación. Y el clic en esto, use blueprint de animación. Esto es correcto. Y usar qué nubes de animación quieres usar? Queremos utilizar los jugadores NBPA que acabamos de hacer. Vamos a compilar y guardar, y esto debería funcionar. Entonces, si vas dentro de la máquina de BP, la ventana gráfica ahora puede ver que tu jugador se está moviendo en realidad. Y esto se llama ahora, ahora el jugador se mueve. Y esto es bastante guay. Entonces sigamos adelante y pinchemos en Play y veamos qué pasa si tenemos algún error. Por lo que pinchando en los movimientos. Se puede ver que el planeta se está moviendo y todas las animaciones están jugando. Si nos quedamos quietos, no estamos haciendo nada. Si nos movemos, se están moviendo. Y cuando hacemos clic en Escape o no obteniendo ningún error. Entonces esto es muy guay. Ahora si quieres girar más rápido o más lento, puedes ir adelante dentro de la base de capas y puedes ir dentro del movimiento del personaje. Y aquí abajo en la rotación que cambiamos antes, si lo disminuyes, rotarás más despacio. Y si lo haces más alto tu vista girará más rápido. Y también dentro del plano de animación o dentro del espacio de mezcla. Aquí puedes cambiar este tiempo de interpolación. Este tiempo de interpolación es lo rápido que va del estado de inactividad al estado en funcionamiento. Por lo que puedes ver si lo incremento de manera insanely alta, doy clic en Play. Cuando corro, se puede ver que se está deslizando y se va al estado en marcha. Cuando toco y corro, es bueno. Porque quieres parar, Va a dar vuelta lentamente de nuevo al estado ocioso. Si corro, se va a ir al escenario de carrera. Si me detengo, Va lentamente de nuevo al estado de inactividad. Para que puedas jugar con este. En ocasiones tu personaje se desplaza y puedes seguir adelante y añadir solo algunos valores. Se puede ajustar la velocidad, ajustando la interpolación. Y ahora mismo creo que 0 es bueno. Entonces solo te ves bien, así que está bien. De acuerdo, Entonces este es nuestro personaje moviéndose. Y lo siguiente que podemos hacer, tenemos todo tipo de cosas que tenemos que hacer. Tenemos que adjuntar el arma, tenemos que disparar el arma, tenemos que hacer los enemigos y demás. Entonces sigamos adelante. 52. Attaching el arma: Hola a todos y bienvenidos de nuevo. Por lo que ahora hemos configurado a nuestro personaje y ahora podemos movernos. Y se puede ver aquí y moverse y eso se ve bien, pero sólo quiero hacer un poco de ajuste. Por lo que quiero rotar un poco Foster antes de pasar al siguiente tema. Entonces, hagamos clic en la capa de planos. Y en la base de jugadores, Bajemos en el movimiento del personaje y bajemos a la rotación, y déjame hacerlo 700 en lugar de 600. Y lo siguiente, creo que el personaje se está deslizando un poco al caminar. Entonces aquí en la animación de caminar, si hacemos click en el trote, se puede ver aquí este es el paseo que hicimos antes. Aquí para la animación running, si haces clic hacia abajo esta llamada broma hacia adelante, puedes aumentar la escala y puedes ver que está corriendo más rápido. Si aumenta la escala de la misma. Whoops, no el, no el ocioso, lo siento, el, este, la animación corriendo. Por lo que quiero aumentarlo retinoides uno. Y quiero que sea 1.1.2 apenas un poco más rápido de lo que era inicialmente. Entonces así es como haces animaciones más rápidas si tu personaje se deslice o tu personaje es un personaje pequeño y necesita correr más rápido que un personaje normal para que parezca más natural. Entonces ahora mismo la velocidad de las normales así, y podemos hacerlo un poco más rápido. Justo así. Probémoslo antes de irnos y continuar. Sí, creo que solo mirando un poco mejor y también podemos rotar más rápido. De acuerdo, esto es mucho mejor. Entonces sigamos adelante y adjuntemos su arma ahora que tenemos al personaje. Y la forma en que hacemos esto es que vas dentro de la malla. Entonces vamos por el camino más fácil. En realidad puedes ir aquí en el personaje. Y vamos a abrir esto, esta malla aquí, la malla de carácter que nosotros, añadimos aquí. Y aquí dentro puedes ir dentro de estos Árbol Esqueleto. De acuerdo, Entonces con este árbol esqueleto, queremos adjuntar el arma. Y antes de hacer eso, realidad vamos a previsualizar una animación. Y queremos previsualizar, Vamos a previsualizar la cadera del rifle ocioso. Entonces está de pie así y podemos añadir el arma. Detengamos esta línea de tiempo para que no queremos que se anime. Y queremos adjuntar el arma al, a la derecha aquí. Por lo que puedes ver aquí cuando haces clic en un sobre él, estás, estás eligiendo algunos huesos. Entonces estos son huesos. Y este es tu esqueleto. Por lo que puedes ver aquí cuando tomas la herramienta de rotación, puedes girar el esqueleto. Y a veces se puede hacer esto en realidad para modificar animaciones por si su animación se ve mal. Se puede ver aquí ahora se ingiere animación DIBL. Pero ahora vamos a dar click en Control Z. Y lo que queremos hacer es dar click en este hueso o seleccionarlo aquí, la mano de aquí que queremos hacer clic derecho y queremos añadir un socket. Por lo que un socket es solo un, un soporte que podemos usar. Entonces solo un soporte vacío. Y este socket, vamos a presionar F2 para renombrarlo y llamarlo S para socket. Y lo voy a llamar arma. Por lo que éste será el que sostiene el arma. Y voy a hacer clic derecho en este y puedes agregar un activo de vista previa. Y el que vamos a previsualizar se llama K. Y éste, K es 74. Tú. Y no tengo ni idea de por qué. Se llama KA Estoy bastante seguro que se llama AK 70 para ti y no K por alguna razón fuera de ellos. Vamos a dar click en este. Y ya puedes ver ahora voy a disminuir las cámaras. Tan rápido. Ya puedes ver ahora agregamos el arma. Por lo que al hacer clic en este socket, tienes el socket seleccionado. Voy a rotar esto de alguna manera, así 90 grados de esta manera. Y lo voy a mover de una manera que en realidad esté sosteniendo el arma. Va así y trató de hacerlo lo mejor posible para que se viera creíble. Por lo que esta arma no está hecha para este personaje. Y lo que quieres hacer cuando estás creando tu propio juego. Quieres que el artista de armas te preguntes quepa a la warp en tu personaje que tienes. Tan hecho a medida. Entonces estamos tratando de hacer nuestro mejor año. Y probablemente no sea visible desde arriba hacia abajo, así que es OB Voy a ser bueno para algo como esto. Y lo está sosteniendo un poco a la izquierda, tal vez. Algo así. Creo que esto es un, esto es lo suficientemente cerca. Entonces esto está bien. Esto es lo mejor que podemos hacerlo. Por lo que ahora el arma está pegada y su mano está en el gatillo y se ve bien. Entonces. De arriba hacia abajo, de todos modos no lo vas a ver. Lo vas a ver así. Está bien. Por lo que ahora hemos agregado esta toma de armas. Puedes seguir adelante y en realidad hacer clic derecho y hacer eliminará todos los activos adjuntos. Al igual que esto. Recuerda el que agregaste es solo una vista previa. Entonces no es el arma. Acabas de previsualizarlo solo para que podamos mover este socket para que en realidad esté conectado correctamente. Así son, no están conectados correctamente, pero está en el lugar correcto. ¿ Cuándo lo usamos? Entonces ahora este es el arma. Podemos seguir adelante y cerrar este esqueleto o en esta malla. Y ahora lo que podemos hacer es ir dentro de nuestra, nuestra carpeta de blueprint y dentro de aquí, ir dentro de jugador y hacer clic en la base de capas. De acuerdo, Así que dentro de la base de jugadores necesitamos agregar el arma. Entonces necesitamos un componente por aquí, así como tenemos esto, medir el personaje, vamos a tener el arma. Por lo que al hacer clic en Agregar y buscar malla esquelética. Por lo que hay dos tipos de medidas. Hay una malla estática y hay una malla esquelética. Y lo que es una malla esquelética, es todo lo que tiene una animación. Para que puedas, te imaginas si tienes un pentagrama en un, el juego de RPG, el staff, si no es un inmediato ni nada más, es solo un bastón que estás sosteniendo en la mano y estás lanzando hechizos. Esta será una malla estática. No obstante, si tienes un arma y debiste haber conseguido, por ejemplo, un AK-47, La parte trasera de la misma se va a mover y así sucesivamente. Entonces si, si partes de las armas se mueven animadas, será Skeletal Mesh, al igual que el personaje aquí está, está animado. El personaje anda por ahí y por lo tanto es una malla esquelética y no una malla estática. De acuerdo, entonces vamos a arrasar una malla esquelética porque el arma está animada. Entonces aquí llamémoslo arma. Y éste está dentro de malla. Por lo que puedes ver aquí si hago clic ahí o desaparecerá porque es un niño de malla. Y la razón por la que es, la razón por la que necesitábamos dentro de aquí es porque aquí a la derecha, podemos seleccionar el socket al que necesitamos adjuntarlo. Si éste fuera aquí afuera. Y si no estaba pegada dentro de malla, no podemos encontrar ningún enchufe y esto no va a funcionar. Por lo tanto, el arma necesita estar dentro de año de malla para que funcione para que podamos encontrar el zócalo. Entonces en este momento no podemos encontrar ningún socket porque realmente no tenemos un personaje aquí. Pero vamos a añadir un personaje para la vista previa. Haciendo click en esta malla y buscando nuestro VP y máquina o máquina de escape. Ahora agreguemos esta malla solo para revisión y vamos a rotarla rápidamente, 90 grados para que esté mirando hacia adelante. Voy al interior de la vista izquierda. Y éste realmente no importa demasiado. Yo solo quiero previsualizar mi arma aquí. Entonces, por lo tanto lo estoy haciendo funcionar así. Y aquí, haciendo clic en arma ahora, ahora tenemos la malla, y este es un hijo de la malla aquí. Y por lo tanto podemos dar click en socket y podemos encontrar este circuito por aquí. Por lo que ahora está apegado al arma S. De acuerdo, Así que digamos y esto es todo lo que teníamos que hacer aquí mismo. Entonces ahora déjame volver atrás y cerrar esto. Y puedes ver aquí, si hago doble clic en esa máquina BP y abrí el editor de blueprint completo. Ya puedes ver ahora tengo a este niño llamado arma. Y la razón por la que lo hicimos dentro de base de jugador es porque si hacemos más personajes, igual que antes con el ejemplo que usé antes, si tienes múltiples personajes, por ejemplo, skins quincenales, tienes quizá diez de ellos aquí. Todos ellos tendrán ahora a este niño llamado el arma. Entonces si lo hiciste específicamente dentro de aquí, no aparecerá para todos los demás personajes que se parecerán. Y por lo tanto, tendrías que codificar el mismo código una y otra vez diez veces, y eso no lo necesitamos. Por ello, por eso creamos hijos de clases de blueprint. Por lo que al entrar de máquina de BP, haciendo clic en arma, ahora podemos adjuntar un arma a esto, a esta malla aquí. Entonces si busco k 47 nuevo, y creo que usamos esta, la y. así que pinchando sobre ella. Y se puede ver aquí ahora las armas adjuntas a nuestro personaje lo están sosteniendo. Y también está animado y es, está apegado al personaje. De acuerdo, así que antes de decir, esto era una malla esquelética. Te puedes imaginar a veces cuando disparas un arma, este gatillo aquí a un costado, nos moveremos hacia atrás así para hacer un tema. Y por lo tanto esto es Animado. También cuando recargas el arma. Entonces cuando quitas este clip y pones uno nuevo dentro, eso también es una animación. Y por lo tanto, cuando se trata de un arma animada, necesita ser una Malla Esquelética. De acuerdo, entonces ahora tenemos esta arma apegada a, y vamos a dar click en el arma justo antes de jugar al juego. Déjame hacerlo en realidad en la base de jugadores. Por lo que se actualiza para todo. Haga clic en el arma y bajar y encontrar fue encontrar colisión. Tan solo asegúrate de que no tenga otra colisión. Chocará con nuestro personaje y causará problemas. Y además, desactivemos la gravedad. Realmente no necesitamos gravedad para esta arma. De acuerdo, así que ahora puedo seguir adelante y dar clic en Jugar. Y aquí cuando hago clic en Play, yo a pantalla completa, ya puedes ver que tengo un arma y puedo moverme y está apegado a mi personaje. De acuerdo, así que esto fue todo por adjuntar el arma al personaje. Y también necesitamos disparar las armas. Entonces antes de que hagamos esto, sigamos adelante y armemos un enemigo, al que podamos disparar con la web más adelante. 53. Cómo configurar el Enemigo: Está bien. Antes de que podamos continuar con su arma, sigamos adelante y armemos una clase enemiga. Entonces aquí en los planos dentro de los enemigos, recuerda que creamos y carpeta Enemigos, y creamos previamente y clase base enemiga. Por lo que este es hijo de un hijo de carácter base. Por lo que creamos basado en caracteres, hicimos clic derecho y creamos al hijo de la misma. Y aquí hay una base de amina, igual que hicimos para la base de jugadores. Entonces con la base enemiga, imagina si tienes muchos enemigos y tal vez muchos de ellos tienen el mismo código. Realmente no quieres hacer el mismo código para todos ellos, pero quieres codificarlo dentro de la base enemiga. Entonces es como si estuviera codificado para todos ellos. Funciona para todos ellos. De acuerdo, entonces tenemos esto en una base y el MPC que queremos hacer o el enemigo que queremos hacer. Descargamos algunos enemigos dentro del mercado. Por lo que al entrar de la carpeta del mercado, descargamos este Infinity Blade adversarios del motor o del mercado, lo siento , y dentro del enemigo, hay muchos enemigos, pero el uno que quiero usar se llama me, ver si puedo encontrarle este. Ayudas magistrales. Por lo que quiero usar este gruñido maestro como enemigo. Se ve intimidante y aterrador y los necesitamos. Entonces haciendo clic atrás en la carpeta de enemigos, voy a hacer clic derecho aquí y crear un niño de esta clase. Yo lo voy a llamar BP subvenciones. Déjame entrar a la base enemiga, abre el editor de planos completo. Tenemos una malla esquelética aquí. Y solo para ver si tenemos que editar algunas cosas básicas aquí. Y por ahora, no, realmente no necesitamos algo, así que vamos a cerrarlo. Vamos a conceder y a configurar al enemigo. Entonces haciendo clic en la malla, encontremos al gruñido. Entonces buscando a Grunt. Y es éste que se llama Master grant is k Master grant. Por lo que pinchando sobre ellos. Ahora vamos a rotarlo para que esté mirando hacia adelante así. Siempre puedes mirar esta flecha para verte lo que va hacia adelante. Y vamos a moverlo hacia abajo tal y como lo hicimos antes. Desde la vista de la izquierda, podemos hacer esto o vista de la derecha, eso depende de ti. Y sabíamos que esta cápsula para encajar a este personaje porque esta cápsula es lo que vamos a disparar y va a detectar que lo has cerrado. Por lo que voy a aumentar un poco los aspectos más destacados. Por lo que moviéndose hacia abajo y trató de que encajara aquí. Sólo un poquito más. Y esto es sólo un juego de prueba, por lo que no tiene que ser cien cien por ciento específico. Y si te preguntas que sí, puedes hacer detección en la propia malla Al igual que cuando disparas la malla específicamente, detectará y no esta cápsula. Pero esto es sólo un iniciador o simplemente un proyecto simple. No queremos ir demasiado complejos. Pero de manera realista cuando haces un tirador en primera persona. Entonces esto no lo es, esto no es demasiado crítico para si shooter de arriba hacia abajo, pero si haces un shooter en primera persona como Counter-Strike y tienes que disparar a este enemigo. No quiero disparar aquí y golpear al enemigo. Entonces esta cápsula, si se oye, todos tenían a su enemigo. Pero luego un tirador en primera persona, no quieres disparar aquí además de que el jugador y el pleural se atropellan. Quieres ser muy específico e incluso golpear cuando golpeas por aquí y no golpeas cuando golpeas aquí a su lado. Para que puedas detectar las balas a través de la propia malla. Pero tomará mucho más configuración. Y esto no es demasiado crítico para el arriba-abajo. Claro, entonces vamos a usar la cápsula. Y en el futuro haré un sistema cada vez más complejo. Entonces, trabajemos con esto por ahora. Y la altura, no quiero ajustar la altura. Ya tienes unas buenas alturas. Entonces va a ajustar la cápsula o el radio sólo un poco. Creo que esto está bien, algo así. Por lo que cuando disparemos la bala , llegará a esta zona, a esta zona cápsula. De acuerdo, así que vamos a compilar y guardar. Y eso es todo lo que necesitábamos hacer para configurar el personaje. Entonces en la siguiente lección, sigamos adelante y hagamos el Plan de Animación. 54. Proyecto de animación Enemy: De acuerdo, Ahora que tenemos el personaje de configuración, sigamos adelante y hagamos algo de animación para este gruñido. Entonces haciendo clic derecho, al igual que el personaje va a animación y creando un blueprint de animación. Entonces haciendo click en esto, y tenemos que seleccionar el esqueleto. Entonces voy a buscar subvenciones. Y voy a seleccionar este esqueleto llamado Masdar gruñidos dando click OK. Y voy a llamar a los gruñidos de Animation Blueprint y MVP. Ok, entonces ahora tenemos este gruñido. Y por cierto, si te preguntas qué es un esqueleto, acaso solo quiero estar seguro. El esqueleto es éste y cada personaje tiene un esqueleto. Por lo que cada personaje que importas dentro de Unreal Engine tiene un esqueleto. Y puedes ver aquí si hago clic alrededor, si puedo golpear algo, no puedo, a menos que los haga visibles. Pero puedes ver aquí ahora tenemos estos esqueletos. Entonces este es un esqueleto. Cada, cada personaje que importas tiene un esqueleto. Por lo que tenemos que usar, te pide usar un esqueleto específico cuando haces un blueprint de animación. Y vamos a ocultar esto de nuevo dentro de huesos de carácter y seleccionados solamente. También puedes seleccionar los huesos por aquí. Entonces esto es lo que es un esqueleto. Es todo personaje tiene un esqueleto que, eso, que necesita estar ahí para que el personaje se mueva y así sucesivamente. Entonces esto es lo que hace el animador, y el animador será personaje regular y animará al personaje por ti. Y volvamos a los enemigos. Este, el blueprint de animación que creamos. Voy a hacer doble clic en él. Y aquí, al igual que el personaje, vamos a hacer una máquina estatal. Y voy a hacer clic en F2 y llamarlo movimiento local, que simplemente significa movimiento. Y voy a conectarlo compilar. De acuerdo, así que dentro de aquí, ahora mismo viendo advertencia porque no hay nada, voy a dar click en él y necesitamos hacer un nuevo estado. A éste lo podemos llamar jog, pero de manera realista está ocioso. Rocioso trotar o caminar o como quieras llamarlo. Entonces eso depende de ti. Por lo que pinchando sobre él, necesitamos, ahora necesitamos algo de animación. Necesitamos enchufar una animación, y en realidad necesitamos crear un espacio de mezcla porque garantizan que el personaje va del modo inactivo al modo de marcha. Siempre puedes arrastrar algo aquí. Por ejemplo, este modo inactivo aquí y, y conectarlo y compilar porque ahora el personaje está inactivo. Pero el problema con esto, si no creas un espacio de mezcla, realmente no puedes tener más de una animación. Sólo se puede poner una animación. Y así si queremos que el personaje esté ocioso cuando está parado así y luego moviéndose cuando te vea. Tenemos, entonces significa que necesitamos dos animaciones diferentes con las que entonces significa que necesitamos un espacio de mezcla. Entonces sigamos adelante y haga clic derecho y animación. Espacio de mezcla 1D. Y déjalo, seleccionemos la escala. Yo sólo iré a buscar becas, becas maestras de SK, esqueleto, éste. Y llamémoslo para BS para espacio de mezcla. Y llamémoslo gruñidos son en realidad, llamémoslo, llamémoslo George. Está trotando o caminando. Entonces aquí en el eje horizontal, esta es la velocidad. Entonces velocidad de movimiento, voy a llamarlo. Y el valor mínimo es 0 cuando está parado, sé cuándo se mueve. Sólo intentemos 200. Tenemos que probar esto. Esto es lo rápido que lo hará, caminará. De acuerdo, Entonces esto es todo. Y eso fue en realidad. Entonces por aquí y velocidad de 0, este es el movimiento más rápido aquí abajo, velocidad de 0. Queremos arrastrar esta animación inactiva y tirarla hasta aquí. Por lo que ahora la velocidad de 0, estará al ralentí y a la velocidad de 200, correrá hacia ti. Por lo que aquí el músculo de ganancia extra, gruñido caminan hacia adelante. Entonces él va a caminar hacia adelante aquí. Entonces si sostengo Shift y muevo mi ratón, puedes ver así es como transitan. Entonces él se va a mover y tú vas a parar. Y se va a mover si corre detrás de ti. De acuerdo, Así que quiero hacer esta animación un poco más rápida. Por lo que aquí en el monstruo grunt walk forward animación, voy a aumentar la escala de tasas en 1.2. Quién va a caminar un poco más rápido. Entonces la emisión es un poco más rápida. De acuerdo, así que guardemos esto y sigamos adelante y usemos este espacio de mezcla. Entonces vamos a cerrarlo. Y aquí ya podemos tomar este espacio de mezcla. Puedes tomarlo desde aquí o puedes tomarlo desde aquí. Por lo que tomando este espacio de mezcla y enchufándolo y compilando, ahora necesitamos una velocidad de movimiento. Entonces vamos a decirle qué movimientos, pero lo es, y esto es 100% como el personaje. Entonces volvamos a la gráfica de entonces por si no te acuerdas. Escribamos, inicialicemos. Y por cierto, siéntete libre de hacerlo tú mismo y luego viendo esto si quieres desafiarte. Pero si, si no recuerdas demasiado bien, porque es la primera vez que tratamos de hacer con Sin preocupaciones. Programación. Después de todo, a veces solo necesitas hacerlo una y otra vez y otra vez. Y al final solo recuerdas que puedes hacerlo mientras duermes. Por lo que aquí vamos a utilizar el evento Blueprint inicializar animación. Esto es de nuevo igual que el juego de inicio en las clases normales de blueprint. Entonces, cuando inicies la animación, toma esto, intenta, consigue el Peón Dueño. Estos son los pons, Este es el enemigo Po1. Y toma esto y di que es válido. Entonces es el enemigo, ¿es este gruñido dentro del nivel como es válido? ¿ Está ahí? Si lo es, ¿hacer algo? Si, si no, llegaremos a eso más adelante. Así que haz clic con el botón derecho en esto, intenta conseguir Peón Owner y ascendido a una variable y llámalo pod NME. Entonces si el enemigo es válido, si está dentro del mapa, adelante y crearlo en una variable llamada enemiga sobre. Si no es válido, el V no está dentro del mapa, derecha, para retrasar este blueprint de animación y ejecutarlo. Intentó ejecutarlo de nuevo y ver si es válido. Por lo que va a ir dentro de este bucle hasta que el enemigo esté dentro del nivel. Y entonces creará una variable cuando esté dentro del nivel. De acuerdo, entonces ahora tenemos este peón. Ahora aquí abajo podemos arrastrar este vínculo. Y luego nosotros porno. Y aquí podemos decir, podemos hacer clic derecho y convertir a un validado conéctate aquí. Entonces ahora estamos diciendo, ¿es válido este porno enemigo? ¿ Está ahí? Él es. Creó. Si lo está, adelante y haz este código. Si no lo es, No hagas nada porque realmente no queremos hacer este código. Esto se está ejecutando en tick, lo que significa que corre muchas veces por segundo o por fotograma, lo siento. Entonces por ejemplo, 60 cuadros por segundo. Esto va a correr muchas veces. Y por lo tanto realmente no queremos ejecutar este código a menos que los enemigos realmente dentro del nivel, porque no tiene sentido seguir ejecutándolo sin que el jugador sea nivel insoluble o el enemigo, lo siento, no el jugador. De acuerdo, Entonces, ¿este peón es válido? Si lo es, adelante y haz algo. ¿ Qué queremos hacer? Lo que nosotros, simplemente queremos hacer es que estamos tratando de recordar obtener la velocidad de movimiento. Entonces voy a arrastrar hacia fuera y decir conseguir velocidad. Por lo que ahora tenemos la velocidad de lo poco importante. Y para que sea una variable flotante, tenemos que hacer igual que el carácter vector length 0. Tomar la longitud del vector lo convertirá en una variable flotante, que es simplemente el número de decimales. Y éste podemos hacer clic derecho y promover a una variable y decir velocidad de movimiento. Ya podemos llamar, conectarlo a como válido. Y ahora tenemos la velocidad de movimiento. Entonces vamos a compilar y todo se ve bien. Volvamos al estado de inactividad aquí, y sumemos la velocidad de movimiento. Al igual que esto. Bueno, vamos a compilar y si quieres probarlo, siempre puedes hacer clic en la variable de velocidad de movimiento y puedes establecer el valor predeterminado a otra cosa. Entonces, por ejemplo, puedes establecerlo en 200, que es nuestro valor máximo. Y se puede ver que está caminando ahora. Si su velocidad de movimiento es 0 ya no está funcionando. Por lo que ahora este plano de animación está funcionando y él puede caminar y tenemos la velocidad de movimiento. Y más adelante le vamos a sumar algunas cosas más. Entonces, por ejemplo, si el jugador muere o si el enemigo da dados, necesitamos una, una animación moribunda. Pero por ahora esto está bien. Asumémoslo juntos cuando hagamos el arma y el daño y demás. Entonces, está bien, así que volvamos aquí. Y por aquí queremos ahora aplicar nuestro Plano de Animación. Por lo que haciendo doble clic en la beca BP. Aquí, podemos dar click en Malla. Y dentro de esta malla podemos seguir adelante y en la clase de animación y animación, podemos asignar nuestro Blueprint de Animación, gruñido de Blueprint que hicimos. Y si volvemos a la ventana y Componer y Guardar, puedes ver aquí que ahora nuestro personaje se está moviendo usando el blueprint de animación que acabamos de crear. De acuerdo, Entonces esto se ve genial y eso es todo lo que teníamos que hacer. Podemos arrastrar a este personaje y se puede ver cómo se ve. Si hago clic en Play, caminamos por ahí y se puede ver que este es nuestro personaje el que se está moviendo. De acuerdo, Entonces esto fue, esto fue todo para esta conferencia o lección. Y sigamos adelante. 55. Lanzar el arma: Bienvenidos de nuevo a esta lección. Entonces ahora sigamos adelante y hagamos la lógica de disparo. Entonces, cuando disparas un arma, algo pasa. Y para ello, vamos a repasar y pinchar en el jugador. Otro jugador, los planos y haciendo clic en el controlador del jugador. Recuerda que todos tenemos todas nuestras entradas o el movimiento dentro del controlador del jugador. Y quiero hacer todo el movimiento aquí. Por lo que al hacer clic en el ratón un botón, dispararás su arma. Entonces esto también va a estar aquí al igual que lo que hicimos aquí con el avance y avanzar a la derecha? Te acuerdas que los hicimos dentro de la configuración del proyecto. Y vamos a hacer click en W para seguir adelante y así sucesivamente. Tenemos que hacer uno para disparar el arma. A pesar de que, minimizando esto, vuelvo a la Editar configuración del proyecto. Dentro de entrada. Voy a crear un mapeo de acciones. Y la diferencia entre ejes y acción es eje es el, puedes imaginar ahí está el movimiento que es continuo. El acto es, por ejemplo, si tu fuego su arma, si saltas, si interactúas con cosas como saquear armas o cargar objetos y así sucesivamente. Por lo que sólo hace clic en un botón. De acuerdo, entonces para esto, llamémosle fuego un arma. Y para disparar su arma, simplemente puedes hacer clic en esto y volver a hacer clic en el botón izquierdo del ratón si quieres asignarla. Y eso fue eso en realidad. Entonces si necesitamos más cosas, podemos seguir adelante e ir aquí. Probablemente necesitemos algo de recarga, pero hagámoslo más tarde. Entonces por aquí dentro del controlador del jugador, ahora podemos escribir comprador qué bin, y puedes ver tu evento que acabas de crear. Y aquí queremos disparar su arma. Entonces lo que quiero hacer es cuando haga clic, quería disparar su arma. Y quiero hacer el código dentro de la base de jugadores, porque esto será, esto estará disponible para todos los jugadores que tenga. Entonces si hago diez jugadores, todos ellos necesitan poder disparar un arma, y por lo tanto, no lo hago dentro de máquina de BP. Yo quiero hacerlo en especie de base de jugadores. Por lo que todos los jugadores tienen este código. Por lo que quiero hacer un evento llamado arma de fuego aquí, que puedo llamar aquí cuando presiono el ratón, botón izquierdo del ratón. Por lo que quiero seguir adelante y hacer eventos personalizados. Y para hacer esto, vamos a repasar y hacerlo dentro de la interfaz, Blueprint Interface. Por lo que ya, ya hicimos uno aquí llamado la base de jugadores. El interfaz Solíamos obtener la referencia a este jugador, y la usamos dentro del controlador del jugador aquí. En una lección anterior, creamos el controlador del jugador y conseguimos al jugador y le hicimos una referencia. Y esto es lo que estamos usando aquí. Por lo que ya tenemos esta interfaz. Sigamos adelante y pinchemos en Agregar y fundir. Entonces aquí, agregando la función, ahora podemos llamar a esta función humedal de fuego. Y no tiene que coincidir con el nombre de éste. Yo sólo lo llamo como sea. Incluso puedes llamarlo arma de fuego o firewalls son solo fuego lo que sea. Entonces vamos a compilar y guardar. Y esto va a ser un evento. Recuerda, si estás dentro de una Interfaz de Blueprint, si no tienes ninguna salida, este será un evento. No obstante, si tienes una salida, por lo que si hago doble clic en este, si tengo una salida, no será un evento, será una función. Por lo que podemos ver aquí esta es una función ahora porque tiene una salida. Este, éste no tiene salida y por lo tanto es un evento el cual es amarillo. De acuerdo, entonces ahora puedo usar esto como evento. Entonces voy a escribir fuego un arma. Y puedes elegir este llamado evento disparar un arma. Y se puede ver aquí esta es una función de Interfaz de Blueprint por este icono. Entonces ahora quiero llamar, quiero hacer el código aquí cuando dispares su arma dentro de la base de jugadores. Por lo que aquí dentro del controlador de jugador, quiero llamar a este evento. Quiero ejecutar este código cuando presiono el botón izquierdo del ratón. Entonces lo que voy a hacer, lo que tú quieres hacer, igual que comunicarte con planos. Esta es la base de jugadores. Solo miras aquí arriba. Este es el acarreo desde la base del personaje. Por lo que la clase padre de la base de caracteres aquí. Si lo busco, si hago clic en la lupa y hago doble clic en ella. Recuerda que la base del jugador es un hijo de la base del personaje. Por lo que dentro de la base de caracteres se puede ver la clase padre es un personaje. Y por lo tanto dentro de aquí, lo que haces es conseguir el personaje del jugador, conseguir el juego encima y así sucesivamente. Pero ya lo hemos hecho. Entonces consiguiendo el personaje del jugador, consiguiendo la referencia, y también consiguiendo el Peón del Jugador. Entonces esto es muy fácil para nosotros porque ahora el jugador apunta en realidad este. Es muy fácil llamar a este evento ahora. Entonces es por eso que lo haces así en la jugada de inicio. Y no haces esto todo el tiempo en todas partes. Simplemente lo haces aquí arriba y el Begin Play. Y entonces solo puedes usar este igual que hicimos aquí, todos los lugares. Por lo que arrastrándose de este juego sobre, ahora puede decir arma de fuego. Y puedo llamar a este llamado mensaje porque esta es una función de Interfaz de Blueprint. Por lo que ahora voy a llamar a este código cada vez que voy a hacer clic arma de fuego. Y puedes ver esto si vuelvo a la base de jugadores y solo digo imprimir string y saludar. Puedes ver aquí si hago clic en jugar en el juego, hago clic en ratón uno. Se puede ver a la izquierda, arriba a la izquierda, dice baja. Por lo que está funcionando. Está bien. Ahora hagamos la lógica de disparo dentro de la base. Entonces, ¿cuál es el disparo? Entonces, lo que es un disparo de arma simplemente se había alineado. Entonces si arrastramos aquí y escribimos un trazo de línea por canal. Entonces esto es lo que se utiliza para crear esto. Entonces disparar es justo, sólo una línea. Disparas una línea de tu personaje y fuera a la intemperie frente a ti. ¿ Cómo, cuánto tiempo quiere dispararlo? Entonces sólo para explicarlo mejor, quiero sólo explicar esta función aquí. Por lo que necesitas un punto de partida. Entonces, ¿dónde empieza esta línea? Y la línea comienza si hago clic en Jugar y hago clic si ochos. Y así puedo salir de aquí, aunque la línea empieza en el arma aquí. Entonces esta es la ubicación inicial de esta traza, y la ubicación final de esta traza está justo en algún lugar al aire libre aquí en el frente. Por lo que se puede imaginar si disparas una bala y la disparas aquí en el frente. Esta es la ubicación final por aquí. Entonces esto es lo que queremos hacer. Queremos una línea que si haces clic en el botón, leerá una línea frente a ti a lo largo de una. De acuerdo, así que sigamos adelante y hagamos esto. Entonces déjame parar el juego y déjame tomar estos objetivos son ¿cuál es la ubicación de partida? En realidad quiero hacer un componente aquí. Simplemente se puede escuchar, básicamente se puede tratar de obtener la ubicación exacta. Y entonces desde esta ubicación real se puede decir que este es el inicio. Pero solo para ser un poco más específicos, podemos hacer click en esta malla. Incluso puedes hacer clic en el arma en realidad, vamos a dar click en el arma. Y dentro de aquí, Vamos a seguir adelante y dar click en. Hagamos click en un anuncio y hagamos una escena. Entonces lo que se ve es, es sólo un componente vacío que sólo tiene traducción como esta. Entonces este, voy a llamarlo desovador de balas. Entonces lo que he visto es ver componente es solo un componentes vacíos. No se puede hacer mucho con él. Se puede ver que no se puede hacer mucho, pero se puede utilizar dentro del código y se puede utilizar para la traducción. Y esto es en realidad lo que voy a hacer. Por lo que estas balas Bono que has creado, vamos a volver a la ventanal. Vamos a moverlo un poco para que esté frente al arma. Entonces simplemente moviéndolo un poco hacia adelante, así. Y si voy a la vista frontal, sólo lo voy a mover por delante del arma. Simplemente me imagino que el arma no tiene por qué ser específica. Al igual que esto. Algo así. Y siempre podemos ajustarlo si algo anda mal. Entonces volvamos a la vista de perspectiva. Ahora tenemos a este desovador de balas. Vamos a compilar y guardar. Y con éste, ahora podemos seguir adelante y decir, ahora podemos sacar esta balas Warner. Y podemos decir Get world location. Por lo que ahora tenemos la ubicación de esta balas Bonner. Este es el inicio. Por lo que la línea comienza desde aquí, desde las balas guano de la escena. Aquí comienza con una línea. Y cuando disparamos su arma, podemos decir, tenemos que encontrar el final. Y la forma en que lo haces es tomar la rotación de esto. Por lo que escritura rotación, se puede ver algo llamado Get world rotation. Entonces tomando la rotación y tomando el vector de avance. Así que avance vector, avance vector. Entonces ahora tenemos, tenemos la rotación y tenemos el espacio hacia adelante. Y de esto en adelante, tenemos que decir multiplicar. Y podemos multiplicar este número. Vamos a hacer clic aquí en este vector aquí sólo queremos un número. Así que haga clic derecho y diga Convertir pin a float. Y podemos multiplicar este vector de avance. Entonces lo vamos a enviar al espacio como frente a nosotros, digamos 5000. Se trata de una larga distancia. Y ahora podemos decir que el final es el punto de partida. Entonces el final de esto es el punto de partida donde partiste de las balas extranjero aquí. Y terminas, dices más este número. Por lo que comienzas desde aquí, más este número. Este es el fin. Entonces así es como se hace y en realidad puedo simplemente mostrarte a ver a qué me refiero. Por lo que haciendo click. En este Draw Debug tipo para que puedas ver el forro en el juego y haciendo clic en persistente, dar click en compilar. Y vamos a hacer clic en Jugar y ver si funciona. Por lo que al hacer clic en el ratón se puede ver que dibuja una línea hacia fuera a la intemperie. Pero ahora mismo lo es, en realidad está disparando hacia un lado cuando hago clic. Y esto se debe a que la orientación del, bueno, está unido aquí está mal. Entonces puedo hacer clic en E para rotarlo, y voy a rotarlo 90 grados así. Y son 90 grados. Vamos a compilar y hacer clic en Reproducir. Y si disparo, ahora, se puede ver que estoy disparando una bala desde el desovador de balas. Y sin embargo, por mucho que lo multiplicamos por. Entonces va a disparar una línea directa y terminar en algún lugar aquí en el, al final aquí. De acuerdo, Entonces esto es lo que estamos tratando de hacer con un trazo de línea por canal. Simplemente dibujando una línea. Y sigamos adelante y organizemos esto. Entonces voy a hacer doble clic aquí. Ahí hay así nosotros, para que no se vea demasiado confuso. Y lo que podemos hacer en lugar de números de codificación dura fueron, eso no me gusta demasiado. Por lo que puedo hacer clic derecho en este y ascender a una variable. Y también simplemente llamándolo una distancia de bala, o disparando este tenso por ejemplo. Por lo que cada arma puede tener una distancia de disparo diferente. Entonces así como esto. Y ahora tenemos esto disparando un arma. De acuerdo, Entonces vamos a agregarle algo de sonido. Y me di cuenta cuando miré las armas de que en realidad no hay sonido dentro de. Déjeme ver aquí. Y así el paquete de armas FPS que descargamos y algunas de las armas no hay ningún sonido ni efectos. Entonces déjame volver aquí al deslizador de Juego Epic. Y dentro del mercado hay una llamada armas militares oscuras. Entonces si entras al mercado y buscas armas. Y aquí, déjame volver y en realidad puedo mostrarte por si acaso. Por lo que aquí dentro de arma o dentro del mercado de motores se puede, se puede escribir arma y luego dar click en el Free hit aquí. Y encontrarás algo llamado las armas militares oscuras. Por lo que pinchando en este y realmente descargado y agregado al proyecto. Por lo tanto, recuerda hacer clic en Mostrar todos los proyectos y luego seleccionar tu proyecto. Y recuerda solo seleccionar la última versión aquí y dar click en Agregar al Proyecto. Entonces ya he hecho, no he hecho sí, borrado de nuevo. Sólo para mostrarte. Por lo que pinchando sobre él, seguiré adelante y seleccionaré la última versión. Haga clic en Agregar a Proyecto, y lo agregará a mi proyecto. Y éste en realidad tiene algunos efectos para ello aquí. Entonces aquí esta es la arma militar descargada, Doug. Y si hago clic en él, puedes ver que tenemos efectos, por lo que algunos efectos visuales, y también tienes sonido. Entonces déjame entrar al sonido y mostrarte cómo agregar algunos sonidos al arma. Por lo que pinchando sobre rifled, este es el mejor que podemos usar. Y éste llamó a éste rifled be fire q. Y déjame en realidad, antes de tocar el sonido, creo que esto será muy grande para ti. Voy a hacer doble clic en él. Y dentro de aquí, voy a dar click en esta salida y bajar el volumen por aquí. Entonces permitiéndote el punto cero, creo que el punto cero tres fue uno bueno. Mira, tenemos algo de sonido. En realidad quiero quitar este crossfade. Entonces si sostengo Alt y solo hago clic en esto y mantén presionado Alt, solo voy a quitar éste. Y sólo voy a usar este escuchado por jugador. Voy a arrastrar esto y dentro del modulador y lo que es el modulador. Entonces si arrastras desde aquí, igual que los planos, arrastrando desde aquí y escribiendo modulador. Y puedes hacer éste. Y lo que esto hace es simplemente cambiar un poco el tono del sonido para que suene diferente cada vez que deberías. Mira aquí dentro. En realidad no es el mismo sonido todo el tiempo. Entonces, y se puede escuchar mucho si lo hago mucho más alto o más bajo. Pero ahora suena tonto. Entonces voy a Control Z y sólo me quedo con esto. Entonces ahora este es el sonido. Y queremos usar esto. Entonces si vuelvo a mis planos dentro del jugador y de esa base de jugadores. Entonces aquí es donde disparamos su arma. Y quiero hacerlo antes de esta traza de línea. Vamos aquí y diciendo, whoops, vamos a arrastrar esto un poco atrás. Yo lo puedo usar. Voy a decir tocar sonido. Por lo que puedes hacer o bien reproducir sonido 2D, que solo reproducirá el sonido y podrás escucharlo todo. O puede tocar sonido en el lugar, lo cual es un poco más o mucho más correcto en esta situación. Porque imagina si tienes a un jugador parado lejos de ti. No quiero el sonido para que haga. Suena como si estuvieras de pie junto a él cuando estás a 10 mil kilómetros de distancia, entonces solo quieres tocarla en este lugar donde está tu arma, donde está tu personaje, el juego el sonido en el lugar y te pide ¿ En qué ubicación quieres reproducir el sonido? Y simplemente tocarlo donde está el actor. Entonces, ¿dónde está este jugador de pie? Así que obtén una ubicación precisa. Y el objetivo es uno mismo. Y yo significa que esta base de jugador y simplemente enchufarlo aquí y ahora tenemos que añadir algunos sonidos. Entonces yendo, voy a minimizarlo y volviendo a rifle de sonido arma militar y arrastrando en este rifle, dispara q y ahora vamos a disparar un sonido cada vez que lo disparen. Entonces si hago clic en Reproducir, y ahora cuando me mueva por ahí deshacer clic, voy a tocar un sonido. De acuerdo, entonces lo siguiente que queremos hacer, antes de terminar, déjame volver al plano y abrir la base de jugadores. Ahora tenemos esta línea árboles y las líneas se eleva disparando una línea. Si Brian de principio a fin ubicación. ¿ Y qué queremos hacer con esta línea? Entonces hay algo llamado, hit, ¿de acuerdo? Hay algo que se llama FUERA. Y si dices break, break hit results. Por lo que ahora tenemos los resultados del SCID. Y si haces click en esta flecha, puedes ver todas las cosas que puedes hacer con esta línea. Entonces lo que queremos hacer es aquí en el actor jefe porque queremos golpear al enemigo. Por lo que aquí podemos decir actor ha etiquetado. Y este que usamos en el juego anterior y el juego de pelota, dijimos jugador. Pero aquí en este caso, si el actor tiene etiqueta enemiga, si esto es cierto, entonces queremos hacer algo. Voy a volver a dar clic en esta flecha para hacerla más pequeña. Y tenemos que darle a este enemigo la etiqueta enemiga porque aún no dimos ninguna etiqueta. Entonces déjame minimizarlo. Vuelve al enemigo en la base enemiga porque queremos que todos los enemigos tengan esta etiqueta. Por lo que haciendo clic en la base enemiga, abre el editor de blueprint completo. Y por aquí en los predeterminados de clase, puedes buscar etiqueta. Y puedes ver nuestra a tag click en el Plus. Y dado a éste una etiqueta y eso se llama enemigo. Entonces ahora en la base de jugadores, si el actor hit, entonces el actor que tiene una etiqueta enemiga, entonces puedes hacer algo con esto. Y puedes ver aquí, si sigo adelante y hago clic en Imprimir String o escribir cadena de impresión, y ahora puedo seguir adelante y hacer clic en Play, pero no pasará nada y lo haré totalmente un rato. Ahora si voy adelante y voy al enemigo aquí, sólo le di la etiqueta enemiga. Vamos a dispararlo. Pero se puede ver que la línea sigue siendo roja. Se supone que es verde igual que este debería algo que se pegue. Pero si no le pega a algo, todavía se va a leer. Por hits algo. Va a ser verde, pero no va a no ser verde. Y el detector enemigo. Y esto se debe a que esta línea traza, si volvemos a la base de jugadores, esta traza de línea está golpeando el canal de Visibilidad. Y lo que esto significa es que si vuelvo a la base enemiga y hago click en esta cápsula, quité esta etiqueta para poder ver todo. Y no sé si puedes expandirlo todo aquí, ampliar todas las categorías, así como esto. Y puedo bajar y aquí en la colisión, sin hacer click subrayan eso y recuerda que tienes que hacer click en la cápsula primero. Entonces esto se debe a que esta cápsula es lo que queremos golpear. Por lo que pinchando en la cápsula yendo a colisión, y aquí puedes minimizarla. Y este preset de colisión, se puede ver que hay algo llamado visibilidad y es en este momento es ignorar la visibilidad, pero esto es lo que estamos usando para golpear al jugador o al enemigo. Por lo que queremos bloquear esta miscibilidad o solaparla. Por lo que en este preset de colisión de estanque, podemos seguir adelante y dar click en Personalizado y luego hacer clic en bloque para visibilidad. Por lo que ahora vamos a compilar y hacer clic en Play. Y si voy al enemigo, lo puedes decir ahora dice hola. Y las líneas también verdes porque acabo de golpear esta NME. De acuerdo, entonces ahora esto está funcionando, volviendo al jugador, base de jugadores. Adelante y toquemos un sonido cuando tengas al enemigo. Por lo que voy a decir reproducir sonido en el lugar. Entonces, ¿cuál es la ubicación en la que quieres tocar el sonido y yo simplemente quiero tocar el sonido o los enemigos golpearon. Entonces aquí, yendo hacia abajo, dando clic hacia abajo por la flecha, hay algo llamado ubicación y aquí es donde golpea eso. Aquí es donde golpea la línea. Entonces el loci, la ubicación donde golpea la línea, quiero tocar un sonido. Y recuerda que sólo va a golpear enemigo. Entonces y que nada más adelante. Al hacer clic en compilar y jugar se puede ver aquí, oops, ni siquiera agregué un sonido. Soy demasiado rápido. Entonces sigamos adelante y agregamos el sonido. Y lo que puedo hacer es volver al rifle y hay alguien llamado, creo que éste, ten cuidado, tal vez sea demasiado alto. Este, sí, éste suena bien. Y voy a hacer doble clic en él y simplemente minimizando el sonido a 0.3, así que no es demasiado ruidoso para ti. Y voy a volver aquí y asignarle el sonido. Entonces voy a arrastrar este dentro de aquí. Y ahora puedo probarlo. Por lo que pinchando en play. Se pueden escuchar esos sonidos tocando. Y no es jugar cuando dije algo más. Pero es culpa cuando golpeo entonces en mí. Impresionante. Entonces ahora golpeamos al enemigo, pero ahora mismo no estamos haciendo ningún daño. Todavía no hemos configurado esa lógica. Y como lo último antes de terminarlo, De hecho vamos a añadir algún efecto también, por lo que se ve un poco mejor. Entonces aquí en la base enemiga o la declaran una base, lo siento, si hago clic aquí después del sonido, quiero hacer un, un efecto. Entonces lo que puedo hacer aquí es decir Lay emisor son realmente engendrados que juegan emitor engendrado adjunto. Por lo que engendra emisor adjunto y conectando esto. Entonces el emisor es sólo un efecto visual que podemos engendrar. Entonces aquí lo que podemos engendrar, ahora está diciendo, qué, ¿qué quieres responder? ¿ Cuál es el efecto? Entonces el efecto es que si volvemos al arma militar oscura dentro de su rifle están en realidad aquí arriba y los efectos, podemos añadir este, el destello del hocico. Entonces si lo arrastras dentro de aquí y adjuntas dos componentes, entonces ¿a qué quieres adjuntarlo? Simplemente podemos adjuntarlo al spawner de bala. Entonces voy a arrastrar esto hacia fuera y ponerlo encima aquí. Y adjuntar nombre del punto. Eso no importa ahora mismo. ¿ Cuál es la ubicación? Por lo que la ubicación es en realidad la misma que ésta. Y como tenemos que usar este código más veces, más de una vez, así que éste se va a copiar aquí y lo voy a poner aquí. Pero en lugar de copiar, realmente hagamos una función para que también pueda aprender sobre las funciones. Entonces si paso el cursor sobre estos dos y hago clic derecho y digo colapsado para funcionar. Voy a derrumbarlo a una función y lo voy a llamar balas. Podemos decir que recibe bala. Hola, ladrón o ubicación y rotación. No hay nada como esto. Esto es lo mejor con lo que se me ocurrió apenas rápidamente. Y podemos hacer doble clic, hacer clic en éste y moverlo hacia abajo. Es así. Entonces esta es la función, y en lugar de llamarlos valor de retorno, podemos decir ubicación y rotación. Entonces este es un nombre más limpio, más limpio. De acuerdo, entonces ahora tenemos esto pero realmente no queremos conectarlo. Nosotros sólo queremos obtener la información. Pero pinchando sobre él, podemos dar click en éste. Y aquí podemos ver puro. Entonces haciendo clic en puro, haciendo clic en compuesto Guardar, puede ver aquí fuera esto se convirtió justo como la función verde por aquí. Y esto es porque realmente no queremos conectarlo aquí arriba. No tiene sentido. Simplemente queremos obtener la ubicación y rotación. No quiero pasar por el código. Entonces ahora esto es genial. De lo que puedo hacerlo, esto es solo usar esto una y otra vez si lo encuentro. Entonces este es el mismo código ahora. Y lo que puedo hacer aquí es que puedo arrastrar esta función y en realidad usarla así. Entonces esto es bastante guay. En lugar de tener que escribir todo, puedes usarlo así. Y ahora la escala de este emisor es solo 1, 1, 1 y ubicación, tal vez necesitemos cambiarlo, mantener la posición girada. Así que mantengan bien la posición. Y aquí sólo va a decir que voy a alterar destruirme a mí mismo cuando termine el, el emisor y esto es bueno y la salida se activa. De acuerdo, entonces ahora esto es lo que tenemos. Y si hacemos clic en Play, puedes ver que ahora tenemos un efecto. Y si no te gusta la ubicación, si no te gusta la ubicación de los efectos, puedes ir adelante y dentro de la base de jugadores y puedes mover este spawner de bala porque aquí es donde engendra para que puedas muévelo un poco hacia adelante si quieres. Sí, creo que esto está bien. Entonces esto se ve bien. Y esto está mirando, vale, así que ahora tengo un efecto, tenemos un sonido. Sé que este video se está haciendo un poco largo, pero espero que sea emocionante ir, el sonido funcionando y el efecto. Es un poco aburrido sin nada. Pero ahora que tenemos la lógica de disparo para el arma terminada, podemos seguir adelante y hacerle el daño al enemigo. 56. Den y muerte: Hola, y volveremos aunque ahora vamos a hacer el daño al enemigo. Entonces para hacer esto, sigamos adelante y entremos a la base enemiga. Porque queremos hacer el daño dentro de la base enemiga. Porque no queremos hacerlo en especie de gruñón de BP. Y la razón es que queremos que todos los enemigos que hacemos reciban daños. Entonces por eso lo hacemos aquí en el, en la clase padre de estos enemigos. Entonces dentro de aquí, Vamos a borrar todos estos por ahora, estos eventos, ahorro compuesto. Y también abramos la conferencia, el jugador y esa base de jugadores. Y vamos a dar click en el gráfico de eventos aquí arriba. Entonces ahora y la última lección creamos el fuego de arma e hicimos el sonido y también el efecto. Y hicimos trazar esta línea, y estamos disparando líneas. Y aquí golpeamos al enemigo. De acuerdo, Entonces aquí lo que queremos hacer es antes, no importa, en realidad Butler lo hace. Por lo que tiene sentido antes de tocar el sonido, digamos daño aplicado. Entonces así es como dañas las clases de blueprint. Entonces los enemigos en este caso. Entonces tenemos al actor dañado. Entonces, ¿cuál es el actor dañado? Dañó al actor es justo este actor aquí en el Hit Actor. Entonces este es el enemigo al que nos dirigimos. Entonces lo voy a arrastrar y conectarme aquí. Entonces, ¿cuál es el daño que quieres hacer? Entonces el daño que quieres hacer es, por ejemplo, 25, aunque el instigador de eventos es solo una referencia al controlador. Entonces el controlador que controla lo que sea cerró el arma, y el que está disparando el arma es el jugador. Por lo que necesitamos el controlador para el jugador. Yo sólo voy a decir getline controller y eso es todo. Eso es suficiente. Déjame moverlo un poco aquí. Entonces vaya controlador de nube y los daños causados, por lo que el actor que en realidad causó el daño. Y aquí sólo voy a decir yo mismo, el jugador causó el daño, así como esto. Y entonces no necesitas hacer más. Ahora, vamos a hacer clic en Guardar compilar. Por lo que sabe que el exterior dañado es el enemigo. Porque conectamos a este Hit Actor y solo, solo pasa por esta rama si el objetivo tiene al actor o al enemigo de etiqueta. De acuerdo, entonces ahora estamos aplicando daños. Y lo siguiente dentro de base enemiga. Ahora aquí en la base enemiga, podemos decir cualquier daño y tenemos un evento llamado cualquier daño. Y puedes ver aquí si solo imprimo una cuerda, se va a saludar si es hits por esto. Entonces da click en Play. Voy a pegarle. Y dice hola a la parte superior izquierda. De acuerdo, entonces está funcionando. Por lo que ahora estamos causando daños. Entonces lo que queremos hacer es aquí en las variables. Queremos decir ayuda. Por lo que queremos hacer una variable de salud. Y este tipo va a ser un flotador porque queríamos ser un, un valor numérico con decimales. Por lo que dando click en Componer y Guardar. Y ya puedes ver ahora podemos entrar a la ayuda. Por lo tanto, vamos a establecer el valor de salud predeterminado en 100 más clump, compilarlos y guardarlos. Entonces lo que es genial de esto es que ahora mismo estás dentro de la base enemiga, por lo que estás dentro de la clase padre para estos enemigos. Entonces si voy aquí a la base enemiga es la clase padre o este gruñido. Y cuando hagas variables dentro de la clase padre, y también serán utilizables por la del niño. Por lo que esta variable de salud que hice en la base íntima estará disponible aquí para gruñidos de BP. Si abrí el editor de blueprint completo, se puede ver aquí a la derecha, en realidad tengo salud. Entonces aquí a la derecha tengo la variable Salud, que es la que acabamos de hacer. De acuerdo, Así que esto es muy guay. Todas las variables que hagas aquí aparecerán aquí. Y esto es genial porque imagina si tenemos múltiples enemigos. Ahora podemos editar la salud de estos enemigos para que puedan tener diferente salud. Entonces esto es muy cool y así es como puedes editarlos. A lo mejor tenemos un gigante y el Gigante tenemos 200 salud y dijo 100. De acuerdo, Entonces así es como lo haces. Esto es bastante guay. Por lo que cada variable que hagas aparecerá para estos, cada niño que hagas para esto desde esta clase de blueprint. De acuerdo, tan útil, solo sé 100 por ahora. Y vamos a sacar esta salud. Y con esto, lo que queremos hacer es decir menos, así restar. Por lo que esta salud menos el daño. Entonces por ejemplo. La salud es de 100 y el daño por una bala es de 25 actualmente. Entonces va a decir 100 menos 25 , van a ser 75. Entonces vamos a tomar este infierno, y vamos a ponerlo. Este es el nuevo valor para la ayuda. Entonces ahora son 75. Si disparas una vez, deberías 2 veces 2 será 50 y así sucesivamente. Entonces voy a conectar a estos dos. Y luego solo para probarlo, digamos imprimir cadena. Y con esta cadena de impresión, conectemos este valor dentro de la cadena para que podamos imprimir el valor a la pantalla. Y pongamos juego y en caso de que el enemigo y veamos qué pasa. Se puede ver caer el infierno y ahora es 0. ¿ De acuerdo? Y digamos esta base enemiga. Por lo que ahora necesitamos hacer una condición para lo que sucede cuando esto se convierte en 0. Por lo que ahora la salud está contando correctamente. Lo que quiero hacer es sacar esto y decir, si es menor o igual a 0, entonces haz algo. Y lo que queremos hacer es decirle al motor o al juego. Nosotros queremos decirle que este enemigo es eso. Entonces hagamos un evento personalizado aquí abajo. Y llamémoslo así. Y no pude haberlo hecho este evento personalizado. Podría haberlo hecho con el solo entrar y hacer una nueva Interfaz de Blueprint. Pero no creo que vayamos a necesitar más que éste. Entonces no quiero entrar y perder el tiempo en hacer una nueva Interfaz de Blueprint para la base enemiga y así sucesivamente. Pero si lo necesitábamos, Hagámoslo más tarde. Pero ahora mismo, lo que puedes hacer es solo escribir a medida y hacer evento personalizado y puedes nombrarlo cualquier cosa aquí. Entonces ahora esto que podemos llamarlo aquí. Entonces llamémoslo y digamos Muerte, llamada esta función. Entonces ahora cuando la salud esté 0 o por debajo, va a llamar a esta muerte, ese suceso. Y ahora necesitamos codificar algo aquí. Entonces, ¿qué pasa cuando el enemigo da dados? Voy a crear una nueva variable aquí y llamarla B está muerta. Por lo que B para Booleano y está muerto. Y lo voy a cambiar por el tipo de booleano. Entonces lo que es el booleano es sólo algo que es verdadero o falso, igual que aquí. Esto también es un booleano. Entonces es algo que es cierto o falso. Entonces voy a sacar esto. Voy a sostener Alt y dejarlo caer para que se ponga. Y voy a conectarlo y voy a tomarlo así que es cierto. Entonces inicialmente, este valor, si compilamos y guardamos, este valor es inicialmente falso. Los enemigos vivos. Qué, cuando lo mates, lo pondrá a eso. Y podemos hacer algo con esto. Y lo siguiente que queremos hacer es tocar una animación que queremos reproducir esa animación. Entonces digamos este personaje o esta malla aquí un segundo abajo. Y digamos Lay animación. Y lo tenemos aquí, como en él. Y ahora hay que seleccionar una animación. Entonces sigamos adelante y veamos qué animaciones tenemos. Por lo que aquí dentro de un faltante tu mercado, adversarios de cuchilla infinita dentro de enemigo. Tenemos a nuestros gruñidos maestros, y luego tenemos las animaciones de gruñidos maestros. Y dentro de aquí tenemos este, juego extra, muerte de la glándula maestra. Entonces esta es la animación de la muerte. Este es el que queremos jugar en los dados de la NMI. A pesar de que voy a minimizar un poco esto. Yo solo voy a arrastrar este aquí o puedes buscarlo. Eso depende de ti. Entonces voy a dejarlo aquí. Y no va a bucle. Sólo queríamos jugar a la vez. Bueno, vamos sólo, sólo una semilla de isla por diversión. Ahora se va a reproducir esta animación. Enfriar. Ahora tenemos nuestro problema. Todavía puedes dispararlo. Ya lo puedes ver, su lugar de nuevo. O también puedes ver aquí bloquea, necesitas un plan para pasarlo por encima. Entonces arreglemos eso. Pero lo primero que queremos arreglar es que te está bloqueando. Entonces lo que te está bloqueando es porque tomemos esta malla. Y en realidad podemos simplemente usar esta medida la misma variable. Aquí podemos decir colisión. Porque recuerda que la colisión te está bloqueando una colisión. Y se puede ver algo aquí llamado, voy a ver dónde está Set Collision habilitado. Entonces esto es lo mismo que éste. Por lo que si haces click en Malla, baja por aquí, puedes ver esta colisión. Este es el preset de colisión que tienes actualmente. Este es el uno. Y queremos ponerlo a ninguna colisión porque ya no queremos chocar con ella. Entonces no se pone ninguna colisión. No. Está bien. Bueno, vamos a crear un aquí para que se vea mejor. Y lo siguiente, recuerda también tenemos la cápsula, y la cápsula es a la que somos, estamos disparando. Este. También queremos eliminar la colisión porque la colisión está encendida inicialmente. Por lo que sacar esta cápsula y también set iniciará sesión habilitada. Haciendo clic en eso y poniéndolo a no colisión. Entonces si compilo y juego y debo el enemigo, puedes ver que ya no puedo dispararle. Esto se debe a que la colisión está desactivada. De acuerdo, Así que esto es muy guay. Y sólo para estar seguros. Entonces es, a veces es innecesario fue solo para estar seguro de que me gusta tomar este Componente de Movimiento de Personaje y desactivar los movimientos ahí para que no funcione. Especialmente esto se hace con personajes. Entonces jugadores que si vuelves a tener un multiplicador, por ejemplo, o tu jugador, con el que estás jugando, van a ser tener el movimiento desactivado solo para estar seguros de que no puedes moverte mientras estaban a esa paga. Entonces lo último, recuerda dentro, déjame volver a la carpeta Planeados y enemigos. Y aquí el blueprint de animación, especie de gráfico de eventos. Hicimos esta velocidad de movimiento. Y si el enemigo es válido, vamos a calcular el movimiento. Esto es lo que hicimos anteriormente. Y lo que quiero hacer es en realidad también agregar que si el enemigo no es eso, puedes seguir adelante y calcular. Porque aquí, ahora tenemos el está muerto que podemos usar. Y podemos decir, si el enemigo no está muerto, adelante y calcula esta velocidad de movimiento. Y ahora necesito, necesito referirme a esta base enemiga porque ahora mismo la variable está dentro de aquí. Para cualquiera podría simplemente tomar este porno enemigo porque ya tenemos una variable y decir pidió tarea 2, base enemiga. Y al hacer esto, podemos acceder porque en este momento sólo se está tomando los puntos generales. Por lo que este se llama try Get Peón Owner. Entonces se va a conseguir el porno enemigo general y sabe quién es el dueño de este vínculo. Ahora estamos, queremos, queremos acceder a los eventos personalizados dentro de aquí, dentro de esta base enemiga específicamente. Entonces por eso tomamos esto y decimos costos a, whoops, creé esto por error. Es por eso que estamos diciendo costos a, y usted está lanzando a este NMI basado específicamente. Y desde aquí se puede decir es que por ejemplo, aquí se puede tomar esta variable. Podemos hacerlo así, o podemos hacerlo a través de una Interfaz de Blueprint. Y esto, el problema con esto es que está creando referencias de Hart y es malo para el rendimiento. También puede aumentar el tiempo de carga. Entonces voy a borrarlo y vamos a hacerlo en realidad sólo a través la interfaz para que puedas conseguir práctica en eso también. Entonces esto es lo último que vamos a hacer. Por lo que al entrar de las interfaces, haga clic derecho, cree una nueva Interfaz de Blueprint y llámalo int cualquier base. Y dentro de éste, Hagamos una nueva función llamada gets enemiga ref. Tan bueno la referencia enemiga. Y vamos a hacer clic Crear y salidas y encontrar la base de VP NME. Entonces este, base enemiga de BP. Y llamémoslo, llamémoslo el enemigo. Vamos a compilar y guardar. Por lo que dentro de la base enemiga, dentro de aquí, vamos a hacer clic en Configuración de clase y luego agregar y buscar ints, base enemiga, compuesto, guardar. Y se puede ver que tenemos ahora esta función que agregamos dentro de nuestros planos en encuestas. Por lo que pinchando sobre él haciendo doble clic. Y aquí te está preguntando qué, ¿quién es el enemigo? Y el enemigo es yo? Entonces el enemigo es esta base enemiga. De acuerdo, así que ahora tenemos esto y ahora dentro del plano de animación aquí podemos realmente decir ahora en S2 este porno enemigo y decir me pone ref. Y a partir de aquí, en realidad alejemos esto. En realidad podemos hacerlo por aquí. Entonces déjame alejarlo. Entonces ahora está diciendo, ¿está el enemigo en el nivel? ¿ El enemigo es válido nosotros y el enemigo? El enemigo existe en el nivel? Sí, sí lo hace. Entonces después de esto, tú eres, queremos preguntar, ¿está muerto el enemigo? Y para hacer esto, o bien podemos sacar esto al igual que lo hice antes, pero en realidad podemos hacerlo por aquí. Esto es lo mismo y mucho más limpio creo que se pone enemigo, mi abeto, se pone enemigo áspero. Y conéctate eso. Y a partir de aquí, podemos decir que se pone. Y podemos ver aquí, aquí abajo en la parte inferior siempre están las variables y la que queremos conseguir está muerta. Está muerto. Este se consigue es que esta es la variable que tenemos aquí en la base enemiga, es eso. Entonces es éste. Y aquí podemos decir, está el enemigo muerto. Entonces si éste es cierto, no hagas nada, pero si los enemigos vivos. Entonces si el enemigo no está muerto, entonces adelante y calcula. Pero sólo para que sea más legible, esto es un poco confuso. Voy a decir arrastra esto y a decir que no. Entonces si el enemigo no lo es, entonces siguió adelante y calculó la velocidad de movimiento. Esto es un poco mejor en la lectura. Entonces no es demasiado confuso. Lo voy a armar primero, así como esto. Entonces si el enemigo, el enemigo existe y el nivel es el enemigo existe, está muerto el enemigo? O aquí está preguntando, si el enemigo no está muerto, entonces adelante y calcula la velocidad de movimiento. Entonces esto es lo que tenemos para el daño que creamos, el daño aplicado. Entonces estamos aplicando daños y en este momento estamos aplicando 25. Y esto está bien por ahora. Y también en el subsidio tenemos algo de salud que estamos así restando restando al cualquier evento de daño. Y cuando estés muerto, vas a reproducir una animación y eliminar la colisión. De acuerdo, así que esto fue todo para esta lección. Y si quieres que el enemigo desaparezca cuando los enemigos mueran, eso depende de ti. En realidad no quiero hacerlo, pero te puedo mostrar cómo hacerlo solo, si acaso si quieres eliminar al enemigo. Por lo que aquí podemos decir retraso. Por ejemplo, queremos eliminar al enemigo después de cinco segundos. Entonces digamos retrasar con cinco segundos y luego destruirlo. Entonces ahora vas a destruir al actor. Y qué es, ¿quién es el actor? ¿Cuál es el objetivo? El propio objetivo, el enemigo. Por lo que al hacer clic en Play, se pueden ver hasta cinco segundos. Se va a eliminar al enemigo o destruido o bien así así, Eso depende de ti si quieres tu juego así. Para éste, dejemos que sea para que veamos a los enemigos apilarse. Eso está bien por ahora. De acuerdo, así que esto fue todo. Gracias por mirar y pasemos a la siguiente lección. 57. Balaje Enemy: De acuerdo, entonces ahora tenemos la muerte hecha en la última lección. Entonces ahora centrémonos en engendrar al enemigo. En lugar de simplemente arrastrar al enemigo de esta manera, queremos gastar al enemigo dinámicamente. Entonces vamos a borrar este, y voy a borrar éste para que todo el nivel esté vacío y sólo somos nosotros corriendo y podemos disparar. De acuerdo, Entonces ahora mismo queremos engendrar al enemigo. Y creo que quiero hacer el desove dentro del modo de juego para que podamos hacer este enlace dentro de aquí. Por lo que hace doble clic en el modo de juego aquí. Todavía no tenemos nada hecho. Y si tienes eventos aquí, puedes seguir adelante y eliminarlos por ahora. Entonces para hacer este enlace, Vamos a seguir adelante y hacer un evento personalizado. Pero antes de que hagamos eso, hagamos una interfaz para el modo de juego. Por lo que dentro de las interfaces en la carpeta Blueprints, haga clic derecho. Ve a los planos e Interfaz de Blueprint y vamos a llamarlo End Game Mode. Deja hacer doble clic en él y obtener gráfico de Modo de Juego. Esta es nuestra función con la que empezamos, por lo que la convierte en una referencia al modo de juego. Y aquí, digamos que lo llamamos estiramiento de clones GM. Y llamémoslo modo de juego. De acuerdo, entonces ahora tenemos esta función, y lo hemos hecho muchas veces ahora. Por lo que al entrar del Modo Juego, me voy dentro de la configuración de mi clase. Estoy agregando mi Interfaz de Blueprint. Y aquí haz doble clic en la interfaz y escribe a sí misma. Entonces ahora tenemos una referencia al modo de juego si lo necesitamos. De acuerdo, y aquí también podemos hacer eventos personalizados porque ahora tenemos el juego o la interfaz. Entonces aquí en la Interfaz de Blueprint, Hagamos una nueva función y la llamemos al enemigo. Y este, enemigo es sólo un evento. Entonces vamos a compilar y guardar. Y volvamos aquí en el Modo Juego y menos ¿verdad? Engendra una amina y podrás ver el evento llamado engendro enemigo. De acuerdo, entonces ahora tenemos este evento. Lo que queremos hacer es que realmente queremos usar un temporizador. Por lo que ahora te puedo enseñar sobre temporizadores. Por lo que si lo arrastras y escribes temporizador, puedes ver algo llamado set timer por evento. Por lo que pinchando sobre él. Este es sólo un temporizador que se ejecutará. Por lo que necesitamos un evento aquí. Por lo que arrastrando de este rojo llamado evento, necesitamos hacer un evento personalizado y escribir personalizado y hacer clic en este evento add custom. Y llamemos a este enemigo fauna. Lo que se llama el Enemigo Spawner. Y déjame imprimir una cuerda para que veas lo que hace. Por lo tanto, imprime una cadena, así es como a menudo se ejecutará el temporizador. Entonces si escribo uno, esto correrá cada segundo. Voy a ponerme bucle, así que bucle este temporizador. Entonces si le pego play ahora va a decir que BAJA cada 1 segundo. Y antes de que pueda hacer eso, tenemos que llamar a este evento. De lo contrario no lo hará. Entonces aquí solo quiero llamarlo en la jugada de inicio. Cuando empecemos a jugar el juego, adelante y hacer esta acción para este evento. Entonces engendraremos enemigo. Entonces es éste, Es la llamada de interfaz. De acuerdo, Entonces ahora estamos respondiendo al enemigo. Si hago click en Play now, va a saludar a la parte superior izquierda y desaparece. Realmente no lo puedes ver, pero dice que es en realidad lo hace cada segundo. Entonces si vuelvo a mi modo de juego aquí y pongo 0.2, se va a decir Hola cada 0.2 segundos. Entonces va a saludar cinco veces por segundo. Se puede ver aquí a la izquierda, dice en baja. De acuerdo, así es como funciona un temporizador y está buceando. Y tenemos que parar en algún momento si ya no queremos darle un bucle. De acuerdo, así que queremos hacer aquí con este tiempo de espera. Queremos engendrar al enemigo. Por lo que aquí se puede arrastrar hacia fuera y decir engendro preciso de la clase. Entonces queremos engendrar a un actor. Y el actor que queremos este teléfono es nuestro enemigo. Entonces si busco gruñidos de BP, este es el tipo al que queremos engendrar. Y ahora te está preguntando, ¿ dónde engendras? ¿ Dónde quieres engendrar a este tipo? Y primero, antes de que podamos hacer esto, minimicemos aquí. Y tenemos que decirle al juego dónde puede caminar el enemigo, porque el enemigo no debe estar caminando encima de esta caja ni dentro de las paredes ni nada más. Por lo que aquí podemos seguir adelante y crear y crear en volúmenes. Tenemos algo de brillo, algo llamado volumen de rebote de malla Nav. Entonces alguna navegación para el para el enemigo o MPC o lo que sea que tengas en tu juego. Entonces, vamos a descomponer esto. Entonces es bajo tierra. Y si haces click en P, Puedes ver esta caja verde, verde. Por lo que recuerda hacer clic en P en tu teclado. Por lo que ahora tenemos esta caja y este es un digno enemigo puede caminar. Entonces voy a bajar aquí y hacerlo más grande aquí en la forma de caja, nuestra forma de pincel, puedes elegir qué tipo de forma quieres. El cuadro uno es perfecto para este ejemplo. Entonces lo voy a hacer más grande y voy a cubrir toda esta zona. Al igual que esto. Por lo que ahora el enemigo puede engendrar dentro de esta zona verde. Por lo que el enemigo no puede engendrar aquí. Si querías que el enemigo engendrara aquí, solo tenías que hacer esto más grande. Por lo que puedes ver esta caja es grande ahora y puedes ver que pueden desovar encima de aquí. Y esto es exagerando un poco. Puedo ver si puedo ver esta caja así como esta. Si quisieras engendrar aquí, podrías hacer sus libros más grandes. Pero para nosotros, hagamos 50 y esto está bien. Entonces ahora podemos decir al juego que el MPC puede engendrar en cualquier lugar o el enemigo puede engendrar más dentro de esta zona verde. Entonces volvamos a nuestros planos y al modo de juego. Y aquí podemos usar una función que se llama si tú, si escribes navegable, verás algo llamado punto de getrandom en radio navegable. Por lo que va a conseguir un punto aleatorio en esta zona navegable, que es la zona verde. Por lo que se está consiguiendo un punto aleatorio y se puede engendrar en este punto aleatorio y el origen. Ahora, ¿dónde lo haces, dónde está el origen? Entonces, ¿por dónde, por dónde quiere empezar la palabra? Y a partir de ahí vas a buscar puntos. Solo nos queremos empezar en medio del mapa, así que queremos buscar desde aquí. Y para conseguir esta área específica, déjame realmente mover este inicio jugador que tenemos una respuesta digna. Déjame simplemente moverlo en medio de la zona así como esto. Y voy a entrar de aquí y decir que se pone actor de clase. Y quiero que empiece el jugador. Conseguirán que el actor de clase se va a conseguir cualquier actor de éste, el jugador empieza dentro del mapa. Y sólo tenemos éste, sólo tenemos este arranque de jugador. Por lo que va a conseguir que este jugador arranque en el mapa. Y con esta parte de plástico, lo que podemos hacer, conectemos aquí. Lo que podemos hacer es decir conseguir ubicación del actor. Entonces esta es la ubicación que queremos, este es el origen desde el que queremos buscar. ¿ Y cuánto quieres buscar? ¿ Cuál es el radio que quieres buscar? Entonces déjame escribir cien, quinientos. Entonces es un radio grande, va a buscar para que el enemigo pueda engendrar en cualquier lugar dentro de aquí. Si lo hicieras muy pequeño, el enemigo solo engendraría justo alrededor de esta zona de desove. Entonces hagámoslo grande. Pueden engendrar alrededor de todo el mapa. Y ahora tenemos que enchufarlo, pero esto necesita ser una transformación. Entonces podemos decir esto o podemos decir transformar. Y hay algo llamado make transform. Preferiría hacer esto y luego enchufarlo en la transformación. Entonces podemos controlar la, la rotación y la escala. De acuerdo, así que esto se ve bien por ahora, vamos a compilar y guardar. Y aquí en la anulación de manejo de colisiones, queremos decir adiós para ajustar ubicación. No engendréis. Si todavía colisionando. Hay para responder, digamos enemigos san. Si uno de ellos va a chocar con otro, no queremos engendrar a un enemigo encima de un enemigo. Esto volverá a ambos. Entonces, no engendréis si el enemigo está encima del otro enemigo. Entonces no engendréis si colisionan. Se lo puede mostrar. Probemos esto. Probemos este modo de colisión y se puede ver cómo se ve. Por lo tanto, intenta ajustar la ubicación, pero siempre engendra aunque estén colisionando. Entonces probemos esto. Y esto ahora va a engendrar cada 0.2. Y vamos a darle a Play y a ver si tenemos todo bien. Entonces ahora estamos respondiendo esto, mira, ahora están respondiendo enemigos. Y ahora se puede ver aquí este enemigo chocado es encontrar, ganar el suelo, correr uno encima del otro. Y eso no queremos. Así que sigamos adelante y digamos que tratamos de ajustar la ubicación, no engendréis si todavía colisionando. Entonces si estás dentro del muro o si estás bajo el suelo, o si un enemigo está encima de otro enemigo, no engendres. Entonces vamos a hacer clic en Jugar y ver cómo se ve. Y no están chocando entre sí. De acuerdo, Entonces el sistema de desove está funcionando ahora. Y sigamos adelante en la siguiente lección y trabajemos en la animación para cuando el enemigo desove. 58. Animación Enemy: Trabajemos ahora en la animación para el desove enemigo 1D. Entonces en lugar de simplemente desovar así de la nada, quería que saltaran del mapa. Entonces vamos adelante y al lado de los enemigos. Y dentro de este blueprint de animación que hicimos antes, filtrando en ese. Y dentro de aquí, si vamos a movimiento local aquí, así que si vuelvo para que lo veas. Entonces este es nuestro, nuestro gráfico de eventos o animación haciendo clic en el movimiento local que hiciste antes. Y antes de esto, queremos hacer otro estado. Entonces haz click en el escenario y lo voy a llamar desove. Y luego después de eso vamos a ir al globo ocular y trotar. Por lo que queremos hacer el desove y doble clic y el desove. Encontré uno bueno. Alguien cayó, éste cayó. Si puedes sacar este y conectarte. Y se puede ver cómo se ve. En realidad está cayendo del cielo. Entonces si no puedes encontrarlo, entonces aquí puedes ir y armar un mercado y lo puedes encontrar en adversarios de sangre infinitos, el enemigo, el subsidio Maestro, y las emisiones. Y dentro de aquí tienes este llamado desplegable. Entonces esto es, éste es el uno. De acuerdo, entonces ahora tenemos esta animación de desove y queremos ir a este ocioso después de que hayas engendrado, no queremos que salte todo el tiempo. Y la forma en que hacemos esto es que tenemos una transición aquí. A esto se le llama la transición. Entonces si haces doble clic en esto, te pregunta, ¿qué soy yo, cómo voy a transitar, transición de desove a ocioso? Entonces de este estado a este estado, y voy a hacer doble clic en esto y escribe el tiempo restante. Y puedes ver este llamado ratio tiempo restante y hacer doble clic en éste. Por lo que va a tomar la relación tiempo restante de esta animación, la innovación desplegable. Y va a encontrar automáticamente esta animación porque ya logramos iniciar sesión. Entonces va a buscar lo que enchufaste aquí. Entonces sabe que es esta animación. Entonces si su tiempo restante es menor que, Vamos a probar 0.5 y vamos a compilar y guardar. Entonces, si el tiempo restante de esto, si la relación, relación tiempo restante es menor a 0.5 para esta animación, adelante y cambie a inactivo y trote. Entonces si hacemos clic en Play y vemos cómo se ve, está transitando un poco demasiado rápido. Entonces si vuelvo a mi blueprint de animación y un 0.2 a la derecha en su lugar. Por lo que hay que probar un valor y ver cómo se ve. Sí, así que ahora se ve mucho mejor. Por lo que ahora se puede ver el desove de animación se veía mucho mejor y se frotan, frotando desde el cielo. 59. Waves de balneario: Está bien, así que ahora vamos a crear unas olas. Ahora la animación está funcionando y están respondiendo. Pero vamos a crear algunas olas y pueden engendrar en olas. Por ejemplo, tienes nivel uno, nivel dos, nivel tres, y cada vez más enemigos se generarán cada vez que los derrotes. Entonces para hacer esto, sigamos adelante y entramos al modo de juego. Entonces esto, esta conferencia va a ser un poco más compleja, pero espero poder explicarlo lo mejor que pueda. De acuerdo, Así que aquí, en realidad hagamos clic derecho en este temporizador que hicimos antes, y vamos a promoverlo a una variable y llamémoslo tiempo engendrado. Ok. Por lo que podemos usarlo más adelante para detener el temporizador. Entonces tenemos, tenemos una variable a la que podemos referirnos si queremos detenerla. Entonces por aquí, ¿qué engendramos a este enemigo? Aquí en el Modo Juego, engendramos al enemigo en un punto aleatorio en el radio navegable. Voy a hacer clic derecho en este enemigo y llamarlo NME punto O. Ahora tenemos una referencia a esta NME engendrada, y quiero agregarla a una matriz. Entonces qué es una matriz, déjame crear una variable aquí. Entonces voy a crear una variable. Y esta variable, voy a cambiar aquí el tipo de la misma. Voy a buscar un actor. Y se puede elegir este actor y el objeto de referencia. De acuerdo, y éste, voy a llamar a enemigos. Entonces S, tenemos múltiples estanques. Y voy a dar click en este actor de aquí, este ícono. Y lo voy a cambiar a una matriz. Y se puede ver que se convierte, si lo arrastro, se convierte en estas cajas en lugar de un círculo ordinario. Y lo que es una matriz, es sólo un contenedor. Y puede contener una gran cantidad de artículos. Entonces si respondes, digamos 10 enemigos. Podemos sumar los 10 enemigos dentro de esta matriz. Entonces es solo, se puede imaginar que es como una caja. Si bien esto, esta variable normal sólo puede contener 11 referencia. Esta es como una caja y contiene, por ejemplo, 10 de éstas dentro de aquí. Entonces es como una caja y pones a todos los enemigos dentro de esta caja y tienes una referencia a ellos. Una vez que los necesitas, a veces puedes intentar hacer algo con todos estos 10 enemigos dentro de esta caja. De acuerdo, Entonces, entonces una matriz es igual que un contenedor, igual que una caja. Y puede ser cualquier cosa. Entonces, por ejemplo aquí, podría haberlo cambiado a una, un entero y una matriz entera. Y puedes compilar y guardar. Y se puede ver aquí, aquí puedo tener muchos números. Entonces es igual que una caja. Un entero o una matriz es igual que una caja con muchos elementos. Entonces, por ejemplo, si es un entero que es una variable numérica, puede contener, por ejemplo, 10 números. Depende de ti puedes agregar incluso 100 números, eso depende de ti. Entonces esto es lo que una matriz. Array es. Se trata de un contenedor de artículos. Y en este caso, queremos guardar todos estos puntos engendrados dentro de esta matriz. Y te puedo mostrar más tarde qué, cómo podemos usar eso. Entonces para agregar algo dentro de esta matriz, podemos seguir adelante y decir, se puede, por supuesto dar click en él y dar click en el plus y se puede seleccionar algo, pero déjame eliminarlo. Nosotros vamos a sumar estos. Entonces yendo aquí y escribiendo AD. Y también puedes ver si arrastras hacia abajo y vas hacia abajo a matriz de utilidades puedes ver todas estas funciones que puedes hacer para matrices. Puedes agregar, puedes borrar la matriz para que la vacías por si acaso tienes muchos elementos dentro de ella. Se puede ver si contiene un elemento específico. Se puede encontrar un artículo. Se puede ver si hay algo idéntico a lo que se va a agregar. Se puede ver la longitud de la misma, que vamos a hacer y demás. Por lo que hay muchas funciones para matrices que puedes usar. Y aquí vamos a dar click en Agregar, porque queremos agregar algo a esta caja, a esta matriz. Entonces lo que vamos a añadir es este teléfono enemigo. Por lo que puedes hacer click aquí y conectarte. Y ahora se va a sumar este porno enemigo a la matriz. Y te puedes imaginar aquí, ahora mismo va a bucle este temporizador. Por lo que va a engendrar a un enemigo cada 0.2 segundos. Por lo que va a engendrar cinco enemigos como segundos. Y todos estos enemigos, cada vez que bucle, va a sumar, agregar, agregar. Por lo que cada 0.2 segundos vamos a añadir un enemigo a esta matriz. Entonces por el, por 1 segundo, tenemos cinco enemigos dentro de aquí. De acuerdo, Entonces este es el contenedor para el que estamos agregando los enemigos. Y hagamos una variable llamada onda porque queremos hacer ondas, por ejemplo, onda 1, onda 2. Por lo que cada vez más enemigos engendrarán cada uno, cada ola. Hagámoslo en un entero porque una ola es solo un número, igual que el nivel uno, el nivel dos. Y vamos, volvamos a la variable entera ordinaria. Y ya puedes ver ahora podemos agregar un número, por ejemplo, ola 23 o nivel transitorio o como quieras llamarlo. Y cambiemos el número ahora mismo es 0 como predeterminado. Déjame cambiarlo por uno. Por lo que empezamos con la Onda 1. Y voy a sacar esta ola sosteniendo Control y cayendo. Y voy a decir longitud aquí. Entonces aquí voy a revisar la longitud. Y aquí quiero decir, es mayor o igual la longitud? Ups, mayor o igual. Punteé las llaves. Entonces si la longitud de esta matriz es mayor o igual que esta onda, entonces si el número de enemigos que acabamos de generar es mayor o igual a onda, el número de onda que es uno actualmente. Si esto es cierto, entonces adelante y detenga el temporizador. De acuerdo, Entonces el temporizador, recuerda que hicimos esta variable que podemos usar. Y lo voy a arrastrar y decir claro, claro, e invalidar temporizador Por mango. Así es como se detiene el temporizador. Entonces voy a arrancar el temporizador. Y así si la ola es una, entonces en este momento la ola es una. Si los enemigos engendrados son mayores o iguales a éste, entonces detén el temporizador. Entonces ahora mismo va a engendrar sólo un enemigo. Entonces si hago clic en Play y probé, y busqué a este enemigo, entonces podemos encontrar en cualquier lugar. Entonces sólo tengo un enemigo y no tengo más. Y si pongo este uno a cinco, ahora voy a tener cinco enemigos. Entonces están respondiendo 1, 2, y 4 o 5. Por lo que ahora tengo cinco enemigos. Entonces esto está funcionando. Entonces si eres cantidad de enemigos dentro de esta matriz que acabas de hacer. Si está por encima de este número de onda, entonces detenga el temporizador. Entonces así es como podemos controlar cuántos monstruos son enemigos que podemos engendrar. Y por ejemplo, si estás en la ola 50 o en el nivel 50, engendrarás 50 enemigos. Entonces ahora mismo vamos a cambiarlo de nuevo a uno. Ahora mismo está funcionando. Y para asegurarnos de que este número de ola esté aumentando cada vez aquí, sigamos adelante y hagamos una nueva, yo sabía lo que se llama evento aquí. Y para hacer un nuevo evento, Vamos a repasar y, y las interfaces y la interfaz del modo de juego. Y aquí podemos hacer un nuevo evento. Así que crea aquí, haz clic en función, engendra, o simplemente contador de ondas, compilar y guardar, vuelve al modo de juego y escribe contador de ondas. Y este evento llamado contador de ondas. Y así voy a tomar esta ola y decir plus, plus. Y el plus, plus es que agrega uno al valor especificado y luego configurarlo. Entonces esto es lo mismo que escribir así. Entonces si tomas uno y dices plus1, así la ola más 1, y luego la pones. Entonces este es el nuevo valor. Entonces esto es lo mismo si tú, si hiciste así y te has conectado, esto es lo mismo. Entonces en lugar de hacer todo esto, solo puedes decir plus, plus si quieres agregar uno específicamente. De acuerdo, Entonces ahora estamos sumando uno a la ola. Por lo que cada vez que detengas el temporizador, quiero agregar uno a esta ola para poder usarlo más tarde. Porque entonces van a ser dos en lugar de uno. Y la próxima vez que dispare este evento, la ola es de dos en lugar de una. Entonces aquí voy a decir contador de olas. Y es esta interfaz llamada, vale, así que va a decir más 1 y la ola será de dos. Por lo que la próxima vez que llame a este evento, van a ser dos. Pero ahora mismo no hemos vuelto a llamar a este evento. Entonces aunque juegue, no pasará nada, aunque mate al único enemigo que es eso tan aficionado todavía. Porque realmente no le hemos dicho al juego que ejecute este código. Otra vez. No hemos dicho que vuelva a ejecutar este código. Entonces lo siguiente que queremos hacer es volver a ejecutar este código. Después del enemigo, todos los enemigos y el nivel ha estado, han sido asesinados. Entonces lo que tenemos que hacer para comprobar si todos los enemigos habían sido asesinados es en realidad pasar por esta matriz y asegurarnos de que todos estén muertos. Y la forma en que podemos hacerlo es en diferentes métodos. Pero el que quiero mostrarles es cada vez que matamos a un enemigo, queremos sacar a este enemigo de esta matriz. Y una vez que esta matriz esté vacía porque eliminamos o matamos a todos los enemigos, el código volverá a correr. Y la próxima vez la ola será de dos. Porque nos encontramos aquí, la última vez que respondemos la ola. Entonces la próxima vez se va a ejecutar el código, van a ser dos, y la próxima vez van a ser tres y así sucesivamente. De acuerdo, entonces la forma en que hacemos esto es volver a LeBron en sus enemigos, y vayamos dentro de la base enemiga. Y dentro de la base enemiga, queremos crear un nuevo evento, un nuevo. Y a este evento queremos llamar quitar estanque. Entonces déjame seguir adelante y creo que hicimos en interfaz para esto, entonces somos base enemiga. Vamos adentro de aquí. Adelante y agreguemos una función. Y a este evento vamos a llamar quitar palma. Entonces lo vamos a quitar de la matriz. Por lo que al entrar de la base enemiga, llamando al evento llamado quitado el. Y éste. Y para obtener acceso a la matriz, recuerda que está dentro del modo de juego, los bonos enemigos. Por lo que necesitamos una referencia al modo esquema. Entonces en el modo de juego de referencias internas, y ya hicimos esto obtener referencia del modo de juego. Entonces volviendo a la base enemiga, y aquí quiero decir que es el Modo Juego. Y luego obtiene gráfico de Modo de Juego. Se ve así. Entonces ahora tenemos el modo de juego y nos estamos refiriendo específicamente a nuestro propio modo de juego. Y la forma en que hacemos esto es que hicimos esta función, y recuerden que escribimos yo mismo. Por lo que recuerda hacer esto más que no va a funcionar. Y aquí dentro de este modo de juego, queremos acceder al array Ponts enemigo. Entonces pons enemigo, bueno ese. Y aquí queremos quitar, por lo que arrastrando y diciendo Eliminar. Queremos quitar un artículo. ¿ Y qué queremos quitar? Queremos quitar el, el, el enemigo que acaba de ser atropellado y asesinado. Por lo que queremos quitar al enemigo muerto. Y la forma en que podemos hacer esto es simplemente seguir adelante y secarse yo mismo. Porque recuerda que ya estamos dentro de la base enemiga. Entonces aunque el enemigo al que golpeas está dentro de aquí y solo puedes decir auto porque vas a quitar a ese enemigo que acaba de ser golpeado. Tan yo. Y luego nosotros, después de eso, queremos comprobar si esta longitud. Adelante y escribir longitud. Por lo que queremos comprobar si esta matriz está vacía después de haber eliminado esto. Entonces ir a esto y decir igual o es la longitud igual a 0. Si lo es. Así que dar click en sucursal. Si es 0. Entonces sigue adelante y ejecuta de nuevo este código dentro del juego. Por lo que queremos volver a ejecutar este código. Y necesito volver a ejecutar este código. Y en lugar de ejecutarlo todo el tiempo, en realidad quiero hacer una jugada de inicio. Entonces comienza a jugar. Aquí. Voy a tomar esta referencia Demode, consiguiendo adherencia eso. Y voy a hacer clic derecho y promocionar nuestra variable y llamada Modo Juego. Y tengo una variable a, o tengo una referencia al modo de juego. Y solo puedo usar esto para conectarme a esos. En lugar de llamar a todo esto una y otra vez. Ahora tengo una referencia al mismo. Y esta referencia que luego puedo usar aquí para volver a ejecutar este código dentro del collage modo juego, ¿verdad? Por lo que ahora puedo ejecutar este código llamado enemigo jurado. Estamos volviendo a la base enemiga y escribiendo engendro, NME. Y es este mensaje único porque es una función de interfaz. De acuerdo, así que ahora va a engendrar al enemigo una vez que esta matriz esté vacía porque estás quitando esto muerto. Y después de quitar, se va a comprobar, esta matriz ahora 0, ¿esta vacía? Si está vacío, adelante y corre la siguiente ola. Entonces en este momento no lo hemos hecho, aún no hemos llamado a este evento, así que removido sobre. No lo tenemos en ninguna parte del código. Por lo que queríamos aquí jugador 1D o los enemigos 1D muertos. Y permítanme realmente hacer esto en un evento de interfaz en su lugar solo para hacerlo más limpio. Entonces déjame volver al modo de juego y la muerte seca, Compilar y Guardar. Y aquí puedo escribir profundidad y tomar esto. En realidad, déjame, oh, creo que lo hice en el equivocado. Sí, eso fue en el modo de juego. Déjame seguir adelante en la base enemiga y hacer la muerte. Y déjenme borrar este. Y ahí mismo y diciendo este evento de interfaz en su lugar, solo para hacerlo más limpio, me gusta limpiar mecánica y quitar este y llamar a la interfaz de muerte colon en su lugar. Entonces ahora tenemos este, ese evento. Y aquí en lo profundo, una vez que el enemigo dé dados, quiero quitar a este enemigo. Entonces muere el enemigo. Y luego vas a llamar a remover on. Y es una llamada de interfaz porque es un evento de interfaz. Entonces, después de que el enemigo muera, vas a sacar al enemigo de esta matriz, Componer y Guardar. Y luego se va a comprobar si la matriz es 0. Y no sé si te has perdido algo, juguemos realmente y veamos si dice error o algo así. Entonces voy a llamar a este y una vez vínculo para responder. Y déjame ver si el punto de mamá. Ahora sólo tenemos dos y si los llamo o si el sonido es demasiado fuerte. Ahora 2s vinculación aquí. Y tres. Entonces ahora está funcionando. Ahora estamos respondiendo a los enemigos. Y en realidad quiero rotar a los enemigos por lo que está mirando hacia la cámara. Creo que se va a quedar mucho mejor. Por lo que al hacer clic en el modo de juego y la rotación aquí, recuerda responder aquí los enemigos. Yo quiero hacer la rotación para la z 21 AD. Por lo que ahora se van a enfrentar a la cámara. Por lo que ahora el enemigo está frente a la cámara. De acuerdo, así que todo esto fue por estas vinculaciones. Y antes de que terminemos esto, en realidad sólo quiero divertirme también. Explosiones cuando mueren. Porque ¿por qué no? Nos encantan las explosiones. Aquí. Adelante y engendremos un emisor. Entonces antes de quitarnos encima, digamos, engendrar un espejo en el lugar y el demandado en el espejo. Y lo que queremos engendrar, solo quiero engendrar alguna explosión porque, ¿por qué no? Tiene mucho sentido. Yendo en el arma militar oscuro dentro de efectos. Hay algo llamado explosión de granada. Entonces este es el que quiero engendrar. Entonces si vuelvo a mi base enemiga, así dentro de mi base enemiga, puedo minimizar esto un poco y arrastrar esta explosión. Entonces ahora vamos a explorar el momento en que mueren. Y la ubicación en la que queremos engendrar este efecto es sólo la ubicación del enemigo en este momento. Tan buena ubicación del actor. Y la rotación y la escala está bien para destruir, y todo está bien. También quiero tocar un sonido y el sonido que quiero tocar. Vamos, vamos a escribir sonido play out ubicación. Tocemos un sonido y encontremos el sonido rápidamente. Entonces dentro de las armas de aquí, no tenemos mejor sonido, así que sólo quiero improvisar un poco. Entonces entrando del sonido y vayamos dentro del lanzagranadas. Y quiero usar esta explosión, pero antes de presionarla, creo que es demasiado ruidoso. Entonces déjame ponerlo a 0.2 y espero no volarte las orejas. Hagamos miedo de que sea demasiado alto para ti. Cuando veas este video, amarillo, déjame hacerlo 0.1 de tu puedes hacerlo más fuerte en tu computadora. Entonces déjame volver a la base enemiga. Voy a arrastrar este sonido aquí. Y una ubicación en la que queremos reproducirla es de nuevo, solo tienes que conseguir la ubicación real. Podemos copiar pegarlo. O podrías simplemente haberte conectado así y puedes hacer que se vea un poco mejor con el clima. Escribimos notas, así que eso depende de ti cómo quieres hacerlo. Hagámoslo así por ahora. Entonces ahora cada vez que los llamamos, van a explotar. Esto se ve mucho más interesante. Para que puedas ver cuántos efectos y sonido al juego. Pero esto es un poco bug y ahora este trabajo lo podemos arreglar diseñando el Merlot un poco mejor para que no tengamos este problema. Y así fue. Y en realidad, antes de terminar el video, déjame seguir adelante y bajar el volumen del tiroteo. Y creo que lo hicimos dentro del jugador, base de jugadores. Y este es el rifle. Si hago clic en el navegador. Y este es el impacto, Este es el disparo. Voy a hacer el carenado y el más bajo. Creo que es demasiado ruidoso para ti. Esto está bien. De acuerdo, entonces ahora tenemos todo funcionando. Y luego explota y están desovando, y tenemos olas y así sucesivamente. Entonces lo siguiente que queremos hacer es realmente hacer la interfaz de usuario y te dice que te preparas para la onda 1 o te preparas para la onda 2 y así sucesivamente. 60. Crear la UI de la onda cascada: Ahora que tenemos el desove funcionando, Vamos a seguir adelante en realidad y crear algo de interfaz de usuario para ello. Entonces, para hacer esto, sigamos adelante y creamos primero una carpeta. Hagamos clic derecho aquí y en su carpeta, y llamémoslo UI. Dentro de esta carpeta, Vamos a hacer clic derecho y hacer una interfaz de usuario y Widget Blueprint. Entonces así es como se crea la interfaz de usuario. Este es un blueprint de interfaz de usuario. Entonces haga clic en esto. Y aquí puedes escribir WB igual que hicimos con el juego de pelota. Y aquí lo podemos llamar onda, número de onda o onda. Sí, llamémoslo onda y haga doble clic en kits. Y aquí sólo queremos agregar un texto diciendo que aquí es donde tienes dos o tres o cuatro. Entonces, yendo adelante y arrastrando este texto y suéltalo aquí, voy a llamar a esta reparación o reparación para pesar uno. Y éste va a cambiar dinámicamente para que realmente no tengas que cambiar este texto. Yo solo quiero cambiarlo para previsualizarlo porque vamos a hacer que se codifique en su lugar. Pero sólo quiero previsualizarlo aquí. Y lo que quiero hacer es escribirlo en el medio aunque para hacerlo en el medio aquí en la justificación se puede ver se puede cambiar la ubicación y quiero hacerlo en el medio aquí. Y el punto de anclaje que quería estar en medio de la pantalla. Entonces voy a cambiar este punto de anclaje al medio aquí. Y si escribes esa posición 0, 0, puedes ver que está anclando a este aspecto punto. Entonces lo que hay que hacer es jugar con la alineación. Tan cero punto, cinco años. Entonces ahora está en el medio y luego puedes moverlo hacia abajo con la Z o el valor y. Al igual que esto. Y quiero hacer la fuente un poco más grande. Entonces entrando al fondo, haciéndolo 36, tal vez, posición como esta. Voy a cambiar el color así. Prepárese para la ola 1. Y éste podemos en realidad, vamos a repasar y la gráfica. Y lo que queremos hacer es que éste necesita exhibir cada vez que matamos a todos los enemigos, dice, por ejemplo, poderosa manera de dos. Entonces aquí dentro del código, déjame borrar todo esto y la gráfica aquí. Y déjame hacer un evento personalizado. Y a ésta se le va a llamar ola. Pantalla de onda de texto de onda. Podríamos mostrar donde detectar el texto de onda de visualización. Sí, vamos, hagamos una prueba de onda de pantalla. Y éste, vamos a decir ahora mismo que necesitamos, necesitamos la variable de texto. Porque volvamos con el diseñador. Y si hago clic en jugar aquí, aún no hemos editado a la ventana gráfica. Pero si hago clic en jugar aquí, dirá prepararte para tu vid todo el tiempo. Y no quiero hacer eso al principio. Yo quiero ocultar este texto, así que quiero cambiar la visibilidad a oculta. Y antes de hacer eso, en realidad quiero mostrarte, mostrarte esto. Entonces si volvemos al archivo, hago clic en mis planos, el controlador del jugador. Entonces recuerda que controlamos el, la UI a través del controlador de jugador en el último juego. Así es como usualmente me gusta hacerlo. Me gusta hacer la interfaz de usuario termina dentro del controlador del jugador. Entonces hagámoslo realmente también dentro de aquí. Entonces aquí en el inicio de juego, quiero crear esta UI. Voy a arrastrar aquí y decir crear widgets. ¿ Y qué querrías crear? Se quiere crear esta ola. Acabamos de crear la onda del WB. Y los jugadores propietarios sólo declaran controlador. Y ya estamos dentro del controlador de jugador, así que no necesitas hacer nada aquí. Y quiero hacer clic derecho, estoy promocionando esto a una variable así que tengo una referencia de ello, y quiero llamarlo WB wave. Por lo que ahora tengo una referencia a esta UI. Por lo que voy a dar clic en Guardar. Y aquí en lugar de solo hacer Agregar a la ventana gráfica, que veas si lo agrego a una ventana gráfica, así que no basta con crearla. Tienes que agregarla a la, a la ventana gráfica para verlo. Y si hago clic en Jugar, se puede ver que dice prepararse para un botón. Pero se va a decir cuando todo el tiempo y no hacer nada más y esto no es interesante. Entonces lo que queremos hacer es que queremos quitar esto en dos ventanilla. Entonces solo creamos esto, este Widget Blueprint, y tenemos una referencia al mismo y no lo agregamos a la ventana gráfica. Y recuerda, si no lo agregas a la ventana gráfica, no lo ves. Por lo que sólo tenemos un referente para ello. Y después de esto, voy a entrar al modo de juego. Y ahora quiero mostrarlo cada vez que empiezo una nueva ola. Y puedes hacer esto aquí antes de este temporizador, porque vas a ejecutar este código cada vez que corras una nueva ola. Entonces aquí necesito una referencia al controlador del jugador, y no recuerdo si hizo una interfaz para ello. Ahora no lo tenemos. Por lo que haga clic aquí, haga una Interfaz de Blueprint y llámalo controlador de jugador termina. Y haga doble clic en él y diga que se pone controlador áspero. Y click y salidas. Busca el controlador de jugador y creo que lo llamamos PC colonia strike ahí está. Referencia de objeto. Y llamemos a este controlador de capa variable. De acuerdo, entonces ahora tenemos este controlador de flujo. Vayamos y recordemos ir dentro del controlador del jugador en los Ajustes de clase. Y aquí, agrégalo, agrega el controlador del jugador. Y recuerda hacer doble clic en el intestino como controlar nuestra función ref y escritura auto. Por lo que ahora podemos hacer una referencia a este controlador de jugador. Entonces volvamos al modo de juego. En realidad déjame cerrar todo esto ahora mismo está demasiado abierto y creo que es demasiado confuso para algunos. Entonces vamos a abrir este modo de juego. Y este modo de juego aquí, queremos conseguir una referencia al controlador del jugador. Por lo que escribiendo buen controlador jugador. Y queríamos usar específicamente nuestro propio controlador de jugador. Entonces diciendo consigue jugador controlador F. Así que recuerda que no es éste, No es conseguir Lera si es buen jugador controlador ref. Por lo que queremos conseguir una referencia al mismo. Y aquí en el controlador del jugador, queremos usar, si vuelvo al mando del jugador, queremos conseguir esta variable porque queremos mostrarla cada ola que somos cada vez que ejecutamos este código. Entonces aquí voy a decir WB main porque esto es lo que llamamos la variable. Y dar click en él. Y voy a, voy a hacer clic derecho y convertir a un get validado solo para asegurarme de que exista. Entonces aquí, ¿es válido? Si lo es, adelante y agréguelo a las ventanillas. En dos ventanillas, lo voy a agregar a la ventana gráfica cada vez que genere una nueva onda. De acuerdo, entonces ahora se puede ver aquí si juego el juego y esencialmente molestando, porque no veo el texto en la parte superior y el enemigo tampoco ha engendrado. Y esto se debe a que volvemos al modo de juego. Esto se debe a que este widget de cuadrícula se está ejecutando al mismo tiempo que este modo de juego siendo, siendo corriendo. Por lo que no registra que esto realmente existe, y por lo tanto no será válido. Lo que no queremos, que queremos que sea válido. Entonces voy a retrasar el engendro, el retraso de escritura. Quiero retrasar la columna vertebral en 0.2 segundos. Y sigamos adelante y compilemos y guardemos y volvamos a hacer clic en Reproducir para ver si funciona. Ya puedo ver ahora dice prepárate para uno. Y si llamo al enemigo, va a decir lo mismo porque realmente no hemos cambiado el texto dinámicamente. Haz vas a decir prepárate para tu uno. Y eso no queremos. Y también recibimos una advertencia diciendo que nuestra ventana gráfica ya está existente. Entonces porque intentó agregarla nuevamente a la ventana gráfica cuando generó una nueva ola. Y también hay que arreglar eso también. Entonces agregando a la ventana gráfica, y luego crea este temporizador. Y aquí realmente queremos mostrar el texto. Entonces sigamos adelante y dentro del plano hicimos la UI. Y dentro de esta UI queremos cambiar esto dinámicamente. Entonces volviendo a la gráfica y en el evento de texto de visualización aquí queremos entrar realmente diseñador, me olvidé de hacerlo. Da click en el texto y baja y cambia la visibilidad a una oculta porque queremos, queremos que se oculte al principio. Y luego en la gráfica podemos tomar este texto porque lo que se puede ver aquí, no tenemos el texto como variable. Por lo que volviendo al diseñador, dando click en este texto, aquí arriba, puedes hacer click en esta variable. Podemos compilar y guardar. Y si vas a la gráfica, puedes ver puedes usar este texto como variable ahora. Y cambiemos el nombre para que sepamos qué es. Y lo voy a llamar texto. Wave compilará y guardará. Y ahora en la gráfica, podemos tomar esta onda de texto y podemos establecer la visibilidad a visible. Entonces cuando mostramos el nuevo texto o la nueva forma, queremos hacer visible esto. Y después de eso queremos decir Formato texto. Porque queremos hacer que el texto, queremos que este texto sea dinámico. Y la forma en que lo hacemos es cambiar el texto a algo aquí. Y después de eso vamos a tomar esta variable y decir set text y hacerlo así. Y luego vamos a fijar este texto. Puedes hacerlo de dos maneras. Para que lo puedas hacer así. O al igual que en el juego anterior, el juego de pelota, tal vez te estés preguntando por qué no lo hiciste, por qué no acabas de hacer clic en el enlace aquí y el texto aquí, click en el enlace y crear un encuadernación y simplemente cambiar el texto y enchufarlo aquí y está funcionando. Y déjame volver a borrarlo. El motivo es que si crea un enlace, así que eliminaré este enlace ahora mismo. Si crea un enlace, un enlace significa que ejecuta cada fotograma. Entonces esto es lo que es un encuadernamiento. Corre cada fotograma. Se comprueba si el texto es que realmente cambió o no. Y realmente no queremos eso. Cuando estamos jugando el juego, sólo queremos comprobar si la ola ha cambiado una vez que iniciamos una nueva ola. Por lo que esto no es bueno para el rendimiento. Si se atan todo, si se atan esto, se unen esto y entonces se tienen diez grupos diferentes. Control Z, si tienes diez textos diferentes aquí, los ata a todos y para comprobar si el, no sé, tu aguante se está bajando o lo que quieras atar esta sombra o el color del texto. Cada vez que te encuentres comprobará cada fotograma. Y esto no es bueno para el rendimiento. Por lo que es mejor simplemente establecer el texto. Este es mucho mejor rendimiento y no lo hará cada fotograma. Entonces por eso lo hago así. Esto es mucho mejor para el rendimiento. Entonces vamos a poner el texto en visible, y luego vamos a formatear el texto y decir prepararnos para la ola. Y luego vamos a escribir este corchetes rizados y un 0 en el extremo de corchetes. Y si haces click Enter, puedes ver que tenemos un número aquí. Podemos enchufar. Y puedes enchufar el número de onda aquí porque esto es lo único que está cambiando. Está diciendo que prepárense para la ola. Y luego nos va a dar el número de la ola. Y ya tenemos una serie de otras maneras. Recuerda Indie Game Mode, hicimos esta variable llamada wave. Por lo que queremos usar esto. Por lo tanto vamos a necesitar tener acceso al Modo Juego. Entonces voy a escribir get game mode. Y entonces ese es el gráfico de Modo de Juego. Entonces vamos a decir onda ya que necesitamos la variable de onda. Y voy a enchufar este número dentro de aquí. Entonces voy a organizar un poco esto. Y ahora ponemos el texto a este, este número. Entonces va a decir prepárate para la ola, y te va a decir este número. Y quiero ocultar este texto después de algún tiempo porque no quiero que esté en pantalla todo el tiempo. Entonces lo voy a retrasar unos segundos. Déjame cargar por tres segundos. Y después de eso voy a quitar los textos. Entonces tomando este texto y en realidad puedo simplemente arrastrar fuera de esto y decir establecer la visibilidad y dicha divisibilidad a oculta de nuevo. Por lo tanto, haga doble clic para hacer un nodo de reruta y hacer que se vea un poco mejor. Al igual que esto. Vamos a compilar y guardar, y guardar aquí también. Entonces aquí cuando engendres al enemigo, vas a mostrar este texto a la ventana gráfica. Y voy a retrasar esto. Entonces voy a mostrar el texto. Por lo que voy a retrasar cinco segundos antes de engendrar una nueva ola. Por lo que aquí se retrasan cinco segundos y luego eliminar este texto o este widget de la, de la ventana gráfica. Entonces voy a arrastrar fuera de esto y decir quitar parafina si se retira de los padres. Es así como lo quitamos de la ventana gráfica. Y ahora puedo hacer doble clic para hacer llegado nodo reescrito. Entonces no se ve raro así. Y tal vez necesitamos realmente dejarme hacer doble clic en esto para hacer redirigir, para ser organizado de lo contrario se puede ver, se pone desordenado muy rápidamente. Ahora vamos a compilar y guardar, y en realidad vamos a probar el código. Entonces si hago clic en play, y eso es solo yo siendo estúpido, me olvidé de ejecutar en realidad este evento llamado display wave text porque nunca lo mostramos aquí. Por lo que agregué a la ventanal. Y a partir de aquí, déjenme mover en realidad todo este código. Hagamos algo de espacio. Entonces yo también voy a esto hacia abajo, así como esto. Y aquí en realidad vamos a mover un poco esto. Y vamos a llamar a estos eventos. Por lo que ya tenemos una referencia a esta onda del WB, este Widget Blueprint. Por lo que podemos llamar a este evento desde aquí. Y aquí podemos decir que se muestra el texto de onda. Por lo que mostrar con texto. Y ahora tenemos este evento. Y déjame crear un nuevo nodo de reruta aquí. Es decir, solo haz doble clic y déjame desconectar, conectado aquí. Justo así. Por lo que ahora vamos a jugar este evento. Tan bueno. Haga clic en jugar a sus dice prepararse para uno. Voy a quitar y después de dos segundos se va a engendrar. El enemigo está en algún lugar del mapa. No sé dónde le gusta. Yo me voy a ir. Los enemigos deben decir prepárense para que lo haga. Ahora dice Prepararse para la ola 2 y 2 enemigos se generarán. Por lo tanto si tres, vale, entonces ahora está funcionando. Y en realidad quitemos esto son balas y unas líneas de bala porque ya sabemos que está funcionando ahora. Entonces bajo Blueprints, jugador, base de jugadores, y está viniendo del rastro de línea. Entonces aquí la línea trazada por canal, el modo de depuración, Hagámoslo nada de compilar y menos jugar. Y ya te puedes ver ahora no tenemos ningún alineamiento para mirar. 61. Importar fuentes personalizadas: Ahora que hemos terminado nuestra sencilla interfaz de usuario, así que hicimos esta UI de Wave. Y lo único que hicimos por ello es este texto. Y ahora esto es lo único que necesitamos para la UI de Wave. Pero lo que podemos hacer es estilizarlo con fondos de clientes y puedes hacerlo con cualquier interfaz de usuario que tengas dentro de tu juego. Aunque, normalmente quieres obtener IU personalizada o fondos personalizados solo para que tu juego sea más único. Aquí puedes ver que tengo refutación, pero en realidad no es Roboto. Yo no tengo nada. Esto es de mi juego anterior que creé. Entonces sigamos adelante y descarguemos un fondo personalizado que podemos usar aquí. Y lo que puedes hacer es que ya lo abrí dentro de Google, traté de buscar fondos de Google, y aquí podemos encontrar tres fondos. Entonces bajo los fondos de Google, haciendo clic en eso. Y dentro del URI puedes descargar cualquier fuente que quieras para tus juegos o todas estas obras. Y lo que suelo hacer aquí en especie de categorías es quitarles estos. A mí me gusta el, los estilos san-serif y serif y el grosor. Yo quería que fuera muy grueso para que se pueda ver dentro del juego. Y tal vez pueda usar, usemos los cigarrillos de este mes. O tal vez Tick 0 es cool o el Open Sans. Puedes elegir lo que quieras. Yo sólo voy a usar este. Y puedes dar click en Descargar familia. Y cuando hagas esto, se va a descargar esta fuente para que puedas mirar, así que esta es la que he descargado. Yo lo voy a extraer aquí en mi escritorio. Y sólo voy a usar este audaz y negro. No creo que vaya a los otros. Sólo estoy extrayendo esos dos. Y éste, si vuelves a abrir el motor y lo minimizas un pedacito. Y aquí vamos realmente dentro de la carpeta de la interfaz de usuario, déjame realmente hacer una nueva carpeta aquí. Así que déjame hacer un, o en realidad en lugar de la interfaz de usuario, podemos simplemente importante fuera de la carpeta de la interfaz de usuario. Pero si quieres, puedes hacer una nueva carpeta llamada textos y puedes emplear ahí. Pero yo sólo voy a arrastrar esos dentro de aquí ahora. Y entonces se va a decir: ¿Te gustaría crear un nuevo fondo de activos utilizando estos? Y solo voy a dar clic en Sí Todo entonces va a crear algunos activos de fondo para mí automáticamente va a dar click en Guardar todo. Y esto es muy fácil, eso fue todo. Por lo que ahora podemos ir dentro de esta ola, click en este fondo, y ahora puedes seleccionar lo que quieras usar. Entonces este audaz, por ejemplo, se puede ver cómo se ve. Y este es el negro que es más, más ticker aquí. Entonces voy a usar este negro y en realidad aumentemos el tamaño a tal vez 60, o tal vez eso es demasiado a 50. Y así será como se verá. Entonces si compilo y hago clic en Play, ahora, aquí es donde vamos a lucir. Ahora todavía no se ve bien porque no es demasiado visible. Entonces qué puedo hacer aquí, así que haz click en este texto. Y por cierto, puedes hacer esto más grande solo para que no se vea demasiado raro. Y dijo la posición de la x a 0, por lo que está en el medio otra vez. Y lo que puedes hacerlo por este es que en realidad puedes agregar algunas sombras. Por lo que aquí dentro del color de la sombra, se puede poner el Alfa. Entonces así es como la opacidad. Entonces haciendo clic, configurándolo en uno, entonces estás realmente tener un lanzadera. Si es 0, no tienes sombra. Por lo que pinchando en uno o escribiendo uno. Y luego el desplazamiento de la sombra, podemos ponerlo en 55. Se puede ver aquí tenemos una sombra detrás de ese sexo. Entonces tal vez 66, y no quiero que sea tan visible. O tal vez 0.5 aquí abajo son 0.3 está funcionando también. Por lo que ahora puedo compilar y dar clic en Play. Y se puede ver que ahora es más visible. Y tal vez 66 demasiado. Puedo dar click en el texto y derechos para cuatro. Y esto debería estar bien. Si lo desea, siempre puede seguir adelante y agregar un esquema aquí para que tenga algunos ajustes de esquema y pueda ver que puede agregar un esquema para sus textos. Entonces si quieres un esquema aquí, puedes seguir adelante y aplicar eso. Pero vayamos sin esbozo. Y realmente no importa. No estoy demasiado preocupado por el diseño de la UI. Puedes diseñarlo como quieras. Pero ahí sé que tenemos alguna interfaz básica dentro del juego. Y se puede ver que está apareciendo cada vez que tenemos una nueva ola. 62. Hacer el perseguido Enemy del jugador: Ahora estamos listos para hacer que el enemigo persiga al jugador. Entonces ahora mismo nuestro enemigo se queda quieto y no hace nada. Entonces ahora mismo quiero que el enemigo persiga al jugador. Entonces lo que queremos hacer es dentro de la carpeta de blueprint, podemos hacer clic derecho y crear una Clase de Blueprint. Llegó ahora vamos a crear un, un controlador de IA para que la IA pueda realmente sentir al jugador y luego pasar a lo que el jugador. Ahora, no se puede hacer un controlador AI dentro de aquí, sólo se puede hacer controlador negro para el jugador, pero se puede hacer clic en todas las clases. Y dentro de aquí puedes buscar controlador AI. Y puedes ver aquí tenemos un controlador AI. Vas a seleccionar este. Desvío multitud controlador AI está en curso a adulto haga clic en él sobre este flex la pierna. Vamos a llamarlo AIC para controlador AI y luego clon strike. Estoy tratando de mantener la misma convención de nomenclatura que ésta. Lo que quieres hacer a continuación es recordar, en realidad asignamos controlador de pantalla dentro de la configuración del mundo. Por lo que agregamos este controlador negro a nuestro propio jugador o al personaje que estamos usando. Por lo que tenemos que hacer lo mismo por el enemigo que irá dentro de la carpeta del año de los enemigos y la base enemiga. Y dentro de la base enemiga tenemos algo llamado clase de controlador PI. Y el que vamos a seleccionar es nuestro propio clon de AIC. Por lo que este es nuestro controlador AI que se utilizará. Entonces eso es todo lo que teníamos que hacer. Entonces ahora podemos cerrar esto y vamos al interior de nuestro controlador de IA que creamos. Vamos al interior del gráfico de eventos y eliminemos esto por ahora. Entonces, en lugar de agregar algunos de los componentes, tenemos que agregar algo llamado detección de palma. Aquí en la detección de éste. Entonces esto es, este es el que va a sentir nuestro personaje, va a encontrar a nuestro personaje. Se, cuando encuentre al personaje, se va a mover hacia el personaje. Entonces sólo llamarlo puntos y puntos y cantar, Eso está bien. Y aquí dentro de los ajustes para los puntos detectando todos estos valores predeterminados están bien. No necesitamos cambiar nada excepto éste. Por lo que el ángulo de visión periférica. Entonces aquí podemos escribir 180 y esto básicamente significa que va a lucir 360, 360 grados para ver si hay un jugador dentro del mapa. Y eso es todo lo que teníamos que hacer para esta detección de estanque. Por lo que compilando, haga clic en Guardar. Y aquí abajo dentro de los puntos de detección, se puede ver aquí tenemos algunos eventos que podemos hacer. Y lo que queremos hacer es que es bastante guay. También puedes hacer en aquí ruido, por lo que escucha un ruido. Pero lo que queremos hacer no se ve sobre. Entonces cuando esta IA, cuando el, cuando el gruñido tenemos dentro del mapa, cuando ve nuestros estanques. Por lo que es de carácter CSR. ¿ Qué queremos hacer? De acuerdo, entonces lo que queremos hacer es en primer lugar, queremos comprobar si esto, Este paan que el Grunt está viendo si es un personaje, también lo son los jugadores, lo siento. Por lo que podríamos tener muchos puntos. Por lo que podríamos tener muchos puntos en nuestra, en nuestra escena. Podríamos tener MPC, podríamos tener lo que sea. De lo único que nos interesa cambiar es el jugador. Entonces otra vez, tenemos que decir actor tiene etiqueta y decir jugador. Entonces si, si es el jugador que estás viendo podemos en una rama y tenemos que hacer otra cosa. Entonces voy a crear una nueva variable, y la voy a llamar peón jugador. Y lo que quiero hacer es que solo quiero por este estanque detectando cada vez que mira a tu jugador, así que mira al personaje aquí, al jugador. Va a crear esta variable todo el tiempo. Pero no quiero establecer esta variable todo el tiempo porque imagina que tienes la IA y tienes al jugador. Y la IA mira al jugador y lo sensores. Entonces la IA va a establecer este personaje todo el tiempo. Y no queremos configurarlo todo el tiempo porque una vez el personaje ha sido configurado o el jugador ha sido visto una vez, lo va a almacenar en una variable para que no tengas que configurar esto todo el tiempo. Esto no es bueno para el rendimiento y también mala práctica de programación. Por lo que creando esta variable de Peón de Jugador. Y cambiemos este tipo a peón. Y va a seleccionar este peón aquí, una referencia de objeto. Entonces ahora tenemos este juego sobre y podemos sacarlo aquí. Haga clic en Obtener. Y vamos a hacer clic derecho y hacer clic en promueve una variable o lo siento, convertir a tripa validada. Entonces ahora podemos conectar esto y va a ver si el jugador en esta variable no es válido. Entonces adelante y pongamos esta variable. Entonces lo que voy a hacer es sostener a Alt y arrastrar esto hacia fuera. Y lo que podemos hacer ahora es sacar esto y enchufarlo dentro de esta variable. Y ahora si es cierto, enchufa esto también. Y ahora puedo hacer un verdadero nodo de rock solo para que parezca menos confuso. Para que lo pueda poner aquí arriba. De acuerdo, entonces lo que está diciendo es solo explicarlo rápidamente para que no sea demasiado confuso. Estamos diciendo es que si tienes esta variable porque acabamos de hacerlo aquí, es una variable aleatoria. Si esta variable no es válida, si no está establecida en nada. Entonces ahora mismo está vacío para empezar, cuando la IA no ha visto al jugador. Si no es válido, si está vacío, si eso es cierto, adelante y establece esta variable a cualquier jugador que hayas visto en este momento. Entonces este es uno que el enemigo te ve por primera vez. Sabe que eres el jugador porque tienes la etiqueta y te va a poner dentro de esta variable. Por lo que la próxima vez, el zoológico AIC no va a hacer todo esto porque ya lo ha puesto, así que va a ser válido. Y ahora en realidad no va a disparar todo este código todo el tiempo. De acuerdo, Entonces lo siguiente que queremos hacer es realmente cambiar al jugador. Por lo que ahora has visto al jugador. Lo hemos puesto dentro de una variable, y ahora queremos perseguir al jugador. Entonces ahora tenemos que hacer otro, otro evento. Y éste tenemos que hacer dentro de la base enemiga. Entonces si minimizo esto y entro de los enemigos y de cualquier base nueva, quiero hacer un evento aquí llamado Chase player. Entonces sigamos adelante y hagámoslo dentro de nuestra interfaz. El enemigo base interfase. Y voy a dar click en Agregar y función, lo voy a llamar capa de persecución. Y vamos a compilar y guardar. Y volvamos aquí y a la base enemiga. Hagamos eventos de esta capa. Por lo que seleccionando eventos. Y ahora estamos persiguiendo al jugador. Tenemos algo llamado AI movido a. Entonces si arrastro esto y escribo ai move, entonces tenemos este ai movido a. Por lo que aquí tenemos que seleccionar el estanque. Entonces, ¿qué se mueve? Es el enemigo. Entonces esta base enemiga única. Entonces, básicamente describiendo yo aquí. Y el destino al que va, no tenemos que escribir nada aquí. El actor objetivo es el jugador. Pero, ¿cómo conseguimos aquí al jugador? Porque ahora estamos dentro del enemigo. Y la forma en que hacemos esto, creo que en realidad es la primera vez que agregamos, agregamos variables a los eventos. Por lo que volviendo a la interfaz, la interfaz base enemiga y este evento de jugador de ajedrez, en realidad podemos agregar una variable ahora dentro de la entrada. Y aquí podemos buscar en y luego seleccionar referencia de objeto de peón. Y yo sólo lo voy a llamar blancos. Este es el jugador, este es el blanco. Por lo que ahora bastante fresco dentro de la base enemiga. Ahora bien, este evento que hemos realizado, te puedes ver, en realidad tenemos esto, esta variable aquí dentro del evento. Y creo que es la primera vez que realmente agregamos una variable al evento. Y esto es bastante guay porque ahora en realidad se puede mover información a través de este evento. Porque ahora en realidad puedes enchufar este objetivo dentro de este objetivo. Pero ahora tenemos que especificar el objetivo. Y recuerda dentro del controlador de escalera AI o controlador AI aquí, tenemos que llamar a este evento llamado Ajedrez jugador, porque ahora se ha establecido la variable para el jugador. Ahora queremos cambiar al jugador, pero ahora mismo necesitamos, necesitamos una referencia a este enemigo obeso. Entonces lo que podemos hacer aquí es que tenemos algo llamado evento sobre poseer, aunque los eventos sobre poseen. Y evento sobre poseer es básicamente el juego de inicio. Entonces es básicamente la jugada de inicio, pero esto es para la IA, así es como lo hacen. Por lo que evento sobre posesiones básicamente comienzan lugar. Entonces cuando esto, cuando esta IA esté dentro del mapa, hagámoslo, en realidad hagamos solo casting aquí. Por lo que lanzar a base enemiga BP. Y ahora solo podemos hacer clic aquí y promocionar esto a una variable y llamarlo enemigo. Entonces ahora tenemos, tenemos una referencia a esta base enemiga. Y básicamente ahora podemos llamar, ahora podemos llamar a este evento aquí. Entonces déjame bajar aquí y arrastrar esta variable enemiga. Y ahora se puede decir cambiar esplendor. Y es un mensaje porque es una función interfase. Vamos a conectarlo aquí. Y ahora se puede ver que tenemos algo llamado blanco ahora. Entonces esto es en realidad tal vez sea un poco confuso porque a ese también se le llama objetivo. Pero éste es el que hicimos y ahora podemos realmente enchufar esto. Entonces el objetivo es el jugador que hemos puesto, así que el enemigo te ve. Se, te pone dentro de esta variable y ahora sois los objetivos. Entonces tenemos que enchufar esto aquí. Y esta información, el objetivo aquí, se está enviando entonces a este evento para luego pasar a este objetivo. Entonces tenemos ahora una conexión. Ahora sabe cuál es el objetivo. Y esto es bastante guay. Esa es una forma bastante guay de hacerlo. Por lo que puedes agregar entradas a eventos y puedes mover información de 11 clase Blueprint a otra. Entonces ahora tenemos este que se llama ajedrez jugador. Y ahora hay que establecer algunos radianes de aceptación. El radio y el radio de aceptación es lo lejos que estás antes de que te vea. Entonces si es muy baja, el jugador tiene que acercarse muy a la, a la IA para ser visto. Pero quizá intentemos por nuestro derecho a un 100 y veamos cómo se ve. Entonces no creo que nos falta nada a menos que tengamos un bicho y siempre es bueno probar. Entonces vamos a dar click en Play y debería perseguirte hacia abajo. Si no, tenemos un bicho y ahora tenemos un bicho. Y creo que sé por qué. Entonces si salimos, probablemente lo olvidé. Por lo que pinchando sobre los enemigos. Y dentro de la base interior. Dentro de aquí podemos hacer click en valores predeterminados de clase. Y los fallos de clase auditiva, en realidad tenemos que cambiar este de aquí para poseer IA. Por lo que el controlador de aire no está funcionando. Y porque aquí, evento on own nunca se está jugando, porque está ambientado a un lugar en el mundo y no lo estamos colocando en el mundo. Entonces voy a seleccionar colocado y mundo o engendrado y en realidad lo estamos desovando. Solo voy a dar click en esto, click en, Compilar y Guardar. Y ahora debería funcionar. De acuerdo, así que ahora cuando hago clic en Jugar y corro, en realidad no está funcionando. Aquí se puede ver el aire no nos persigue y en realidad no se quiere quitar esto del video. En realidad quiero mostrarte cómo puedes depurar estas cosas. Entonces ahora tenemos este error y ¿de dónde viene? Entonces ahora realmente quiero mostrarte cómo, cómo encuentras estos errores, porque es bastante importante, te meterás en esos con bastante frecuencia. Entonces volviendo al controlador de IA aquí, y dentro de aquí tenemos que encontrar el error. Por lo que podemos empezar aquí, un evento sobre poseer. Para que podamos escribir impresión. Y ahora se va a imprimir una cuerda. Entonces si realmente posee correctamente, va a imprimir esta cadena aquí. Haciendo click en play. Y la cadena de impresión es tan importante de usar cuando se depura para ver dónde está el error. Por lo que recuerda usar la cadena de impresión. Y se puede ver aquí arriba a la izquierda en realidad se dice hola, así que está poseyendo correctamente. De acuerdo, Entonces esta parte del código está funcionando correctamente, posee correctamente. Ahora, nunca empiezo desde el principio del código porque a veces es una pérdida de tiempo. Por lo que en realidad puedes empezar desde el final del código y ver si realmente está funcionando al final porque vas a perder el tiempo si comienzas desde el principio. Entonces ahora veamos si realmente nos va a mandar. Entonces si me acerco, no es realmente sentir al jugador. Entonces algo anda mal con este código. Entonces si vuelvo, algo anda mal dentro de este código aquí. Por lo que siempre se puede tratar de imprimir cadena y ver si realmente censura aquí desde el principio. Ahora, ahora que sabemos que no está funcionando. Y esperemos al, al enemigo. Y cuando es fuente puedes verlo dice Hola un par de veces y en realidad nos está sintiendo. Por lo que está trabajando aquí. Entonces algo anda mal dentro de este código. Y siempre podemos intentar hacer una cadena de impresión aquí después de que el jugador tenga etiqueta y se va a decir verdad. Por lo que haciendo clic en jugar y esperando a que el enemigo engendra. Y debería decir hola si está funcionando. Y lo puedes ver. Nunca dijo hola. Entonces algo está realmente mal aquí dentro de la red de código. Entonces este, nada está mal en esto, pero algo está mal en este año. Entonces esta parte del código, porque en realidad nos está sintiendo. Entonces nada anda mal aquí. Y quizá nos hayamos olvidado de añadir el tag player al jugador. Por lo que nunca reconoce al jugador. Y quizá lo olvidé. Déjame ver en realidad. Entonces si minimizo esto y entro del jugador y el jugador lo base en los valores predeterminados de clase si busco etiqueta. Sí, en realidad no tengo una etiqueta llamada jugador y tal vez olvidé que no he hecho este curso desde hace uno o dos meses, así que realmente no recuerdo que son ahora. Pero tal vez he borrado por error, tal vez en realidad no lo he hecho. Por lo que buscar etiqueta dentro de la base de jugadores, dentro de los valores predeterminados de clase. Aquí en las etiquetas de actor, puedes hacer click en el plus y escribir jugador. Entonces al igual que el último juego, y ahora tenemos la capa de etiquetas. Por lo que ahora en realidad debería reconocer al jugador. Y tratemos de dar click en Guardar y dar click en Jugar y ver qué pasa. Por lo que esperando al enemigo. Y ahora debería funcionar. Debe pasar al jugador. Y se puede ver aquí en realidad se está moviendo al jugador. Entonces este enemigo se movió hacia mí para que en realidad esté funcionando ahora. Y lo que tenemos que hacer, se puede ver cuando el enemigo llega al jugador, se queda quieto. Y aquí es donde tenemos que hacer el ataque fuera, así que en realidad estamos listos para hacer el ataque. Se puede ver que el NMI corre tras el jugador y cuando llega el jugador está parado y se supone que ataca. Y después de que ataca, necesita sentir de nuevo y pasar al jugador de nuevo. Entonces creo que está funcionando un poco demasiado rápido en este momento. Entonces lo que podemos hacer es reducir al enemigo, moviendo un poco la velocidad. Y la forma en que hacemos esto dentro de enemigos, podemos, podemos hacerlo sobre todo por los enemigos. Pero ahora mismo este movimiento, no creo que lo sea, es creo que es específico para el terreno. No creo que sea movimiento global. Imagina que tienes enemigos diferentes. Sólo necesitamos que este movimiento discriminante sea más lento. Por lo que al entrar del gruñido de BP, dentro del movimiento del personaje. Y aquí podemos reducir la velocidad máxima de caminata. Y a lo mejor queremos hacerlo también. Probemos 400 y veamos cómo es. No queremos hacerlo demasiado lento y no demasiado rápido porque tal vez se está poniendo demasiado fácil o demasiado difícil. Por lo que ahora mismo el enemigo desove y debería cambiar al jugador. Y ahora se puede ver que está persiguiendo. Y creo que esta velocidad está bien. Es, tal vez es un poco demasiado rápido todavía, pero sí, creo que esto es genial. En realidad reduciste la velocidad sólo un poquito porque se supone que es fácil empezar y luego se vuelve más difícil. Entonces tal vez lo estás reduciendo a 300 y eso es todo. Recuerda compilar y guardar y hacerlo en todos los demás. Y ahora estamos listos para hacer el ataque. 63. Atento Enemy: Está bien, así que ahora tenemos al MPC persiguiendo al jugador, y es momento de hacer algunos ataques para el MPC. Y tenemos mucho que hacer así vamos a ir. Por lo que para empezar con logo dentro de BP, base enemiga. Dentro de aquí realizamos este evento llamado jugador de ajedrez de eventos. Por lo que el MPC o la IA está persiguiendo al jugador y cuando llega al jugador, tenemos que atacar. Entonces ahora realmente queremos otro evento llamado ataque. Y recuerda que hicimos y las interfaces que hicimos la base enemiga. Entonces vamos a entrar aquí, click en Agregar y añadir una nueva función. Vamos a llamarlo jugador de ataque y Compilar y Guardar. Entonces por aquí, digamos en el jugador del SAC y haga clic en este evento. Por lo que ahora podemos hacer ese saqueador. Llamemos al evento por aquí. Entonces, cuando el PNJ se traslada al ER, ¿no se trasladaría la IA al jugador? Entonces aquí en el éxito cuando llegues al jugador. Entonces digamos jugador de ataque. Y es esta llamada de una interfaz porque es de la Interfaz de Blueprint. De acuerdo, entonces ahora tenemos a este jugador de ataque. Y aquí en el jugador de ataque tenemos que hacer algo de codificación. Y lo que queremos hacer es tocar una animación. Porque cuando estás atacando a la IA, la IA está atacando y él está tocando una animación. Entonces te mostraré algo de lo que aún no hemos aprendido. Y se llama montaje de animación. Y si lo arrastras aquí y escribes montaje, puedes ver este llamado Les montage. Y esto es lo que queremos jugar. Y parece bastante complejo, pero en realidad es muy, muy simple. Sólo tengo que explicarte y estás bien para ir aquí. Entonces en los componentes de malla esquelética, así que esto es lo que está jugando este mes edge, y esto es, este es el Enemigo que lo está haciendo. Y así necesitamos esta Malla Esquelética. Y recuerda una malla estática es sólo una, una malla. Por ejemplo, si minimizo esto, esta caja de aquí es una malla estática. Entonces es justo, una malla es simplemente el modelo. Esto es lo que un mallas. Malla Estática. Tan sólo una malla que es estática, no se mueve en absoluto. Y entonces tenemos nuestra malla esquelética. Y la Malla Skeletal es simplemente una malla, por lo que un modelo que está animado y este es el nuestro personaje. Entonces si sostienes el ratón sobre el personaje, puedes ver que se llama componentes de malla esquelética. Entonces es una malla esquelética. Se trata de una malla que está animada. Es por eso que se llama malla esquelética. Por lo que necesita conocer Malla esquelética y es solo esta malla por aquí para que puedas hacer clic y arrastrar y justo aquí, como soltarla encima de aquí. O simplemente puedes hacer clic derecho y decir malla. Y se puede ver aquí conseguir malla. Entonces esta es nuestra malla. A continuación hay que tocar cierto montaje, y tenemos que hacer un montaje de animación. Y déjame mostrarte cómo hacer uno. Por lo que dentro del mercado en, Vamos a ver aquí en infinitos, adversarios de la cuchilla infinita, enemigo fue bajar a master grants y adentro en las animaciones. Entonces el que quiero elegir, éste, el primero, el MLA ataca aquí a Malaya. Entonces voy a hacer doble clic en este. Y se puede ver que esta es la animación atacante que queremos. Por lo que queremos convertir esto en un montaje de animación. Y puedo hacer clic aquí. Y aquí arriba en la parte superior puedes ver Crear. Y luego puedes crear un anime one touch. Y anhelas que puedas ver que tienes un montaje aquí. Y lo que generalmente se les llama es una M para montaje de animación. Y sólo lo voy a llamar en SAC, así como así. Ahora tenemos un montaje de animación y puedes hacer doble clic en él. Y aquí en el montaje de animación, se puede ver que tenemos algún tipo de gráfico. Aquí. En realidad podemos codificar o simplemente notificar la animación cuando haces daño y cuando no lo haces. Entonces por ejemplo, se puede ver esta es la animación y quiero hacer daño cada vez que la animación es en este estado aquí. Entonces cuando golpea al jugador aquí, Así que por aquí a la izquierda puedes ver tenemos un montaje y tenemos diferentes grupos. Y aquí abajo en notifies, aquí es donde queremos estar. Se puede ver se puede hacer click en esto y agregar, insertar notificar pistas. Puedes agregar más pistas si lo eres si lo necesitas. Pero ahora mismo sólo voy a quitar esos. Yo solo necesito este número uno. Y dentro de esta notificar pista número uno, puede hacer clic derecho y dentro del estado add notify. Se puede seleccionar este llamado montage notify window. Entonces estamos creando esa ventana de ataque. Y puedes ver que tienes, obtienes algún tipo de ventana que puedes arrastrar aquí. Por lo que esta es la animación cuando la ventana del montaje. Y vayamos al lugar donde se quiere hacer daño. Entonces quiero hacer daño justo aquí cuando ataca. Entonces voy a mover este. Entonces este es el comienzo por aquí. Y el final cuando termines el ataque está en algún lugar por aquí. Entonces voy a arrastrar este y colocarlo por aquí. Entonces esta es esa ventana de saco y él ataca aquí. Hace daño, y termina el ataque por aquí. De acuerdo, entonces ahora lo hemos creado y esto es todo lo que necesitábamos. Por lo que podemos dar click en Guardar. Y podemos darle un nombre aquí y notas para encontrar nombre. Podemos simplemente llamarlo ataque si queremos. Y podemos darle un color si quisiéramos, Eso depende de ti. Podemos ver que cambia de color. Y dejemos esta así que voy a dar click en X para cerrarla. Y voy a volver atrás y especie de planos enemigo, enemigo, base enemiga. Y aquí en las notas de phi. Por lo que aquí queremos sumar nuestro montaje. Entonces si haces clic en esto, puedes ver que no tienes mucho para elegir, porque este es el único montaje de animación que tienes, y este es el que creamos. Por lo que puedes hacer clic en este ataque de montaje de animación. Y luego hay que elegir al dramaturgo. Y éste es uno que está bien. Y 0 aquí y arrancando sección y ceros. Eso está bien. Entonces quiero convertir esto en una variable y les diré por qué. Para que puedas hacer clic derecho y promocionar a variable y simplemente llamarlo ataque a él. Sólo lo estoy llamando animación de ataque. Por lo que esta variable es muy, muy importante que los conviertas en variables porque ahora tienes este montaje de ataque. Y si lo minimizo, y abro migrante. Y si hago click en Abrir editor de blueprint completo. Ahora se puede ver que esto es una variable. Recuerda, todas las variables que hagas dentro de la clase padre también se heredarán en la clase hijos. Recuerda que el subsidio de BP es hijo de base enemiga. Por lo que esta variable también estará disponible aquí, igual que es que el, es que booleano y la salud está disponible aquí también. Entonces ahora cuando tienes enemigos diferentes aquí, así que imagina que tienes la beca, tienes una araña, tienes un gólem, tienes un esqueleto. cada uno de ellos en realidad se puede asignar una animación de ataque diferente. Por lo tanto, recuerda hacer esos en variables, porque si no lo conviertes en una variable, no puedes liberar animaciones de ataque set difference por aquí. Pero si los tienes en variables, puedes configurar, si tienes diez enemigos diferentes, puedes establecer una animación de ataque aleatorio para cada uno de estos diferentes enemigos. Tan importante hacer de esos en una variable. en realidad puedas editarlo y hacerlo diferente en cada enemigo. De acuerdo, entonces ahora estamos atacando. Y ahora lo que queremos hacer es en notificar comenzar. Esto es si en realidad sigo adelante y voy a la carpeta del mercado. Y ahora en realidad podemos, en lugar de entrar aquí, sólo podemos buscar y él montaje. Entonces cualquier lunes cómo llamarlo y ver, esto es bastante genial escribir prefijos para que podamos buscar rápidamente y puedo entrar de aquí. Por lo que esta es la ventana de notificación. Aquí es donde empieza. Por lo que este es el principio notificado. Y aquí queremos hacer algo. Entonces lo que queremos hacer es algo llamado actores de superposición de esfera. Entonces nosotros, nos estamos solapando con actores. Es así como nosotros, cómo detectamos que estamos golpeando a algo. Tenemos una esfera que se solapa con nuestro personaje. Cuando la esfera se superpone, hemos golpeado al personaje. Y solo para mostrarte el proceso más visualmente, puedo escribir Draw, Debug sphere. Y ahora esta esfera apenas está dibujando como miedo. Y te puedo mostrar cuando atacamos. Entonces si solo elijo una esfera en la ubicación aquí, y la ubicación que tenemos que hacer, tenemos que hacer algo aquí. Por lo que pinchando en Agregar y dando click en, déjame escribir esfera. Necesitamos que los desencadenantes teman la esfera de colisión aquí. Seleccionaremos la esfera de colisión, y solo llamémosla esfera. Y aquí en realidad puedes intentar moverlo al frente. ¿ Al igual dónde están atacando los becarios? Por lo que hay que elegir dónde está atacando. Entonces tal vez en algún lugar por aquí. Y ahora podemos tomar esta esfera y decir consigue ubicación mundial. Y solo tienes que encontrar la ubicación para que puedas ponerla aquí para que sepa dónde está atacando. Aquí es donde estará la esfera. Entonces aquí puedes decir en lugar de, si no sabes cómo se llama, se llama Get World Location. Pero si no sabes cómo se llama, justo ubicación porque estás tratando de encontrar una ubicación. Es así como empecé cuando yo cuando acabo de empezar a hacer planos, acabo de reescribir ubicación. Y puedes ver esto, esta es la única opción que tienes. Obtener World Localizarlo aquí y agregarlo aquí. Y también lo hagamos aquí en la esfera de depuración. Y la esfera de depuración. Aquí se puede ver sólo es desarrollo. Entonces esto sólo está aquí para ayudarnos. Vamos a eliminar esto en un segundo, pero sólo quería mostrarte porque dibuja una esfera para que puedas ver dónde está atacando esta esfera. Entonces el radio es de 100, esto está bien. ¿ Son múltiples van a hacer el radio 100 aquí. ¿ Y con qué se va a solapar? Esto es lo que significan los tipos de objetos. Por lo que se puede arrastrar desde aquí y escribir matriz de micrófono. Recuerda cuando es un cuadrado como este y no un círculo, significa que esto es una matriz y no una variable normal. Entonces haré array y elijamos porno. Porque recuerda a nuestro personaje, el personaje jugador que tenemos es un tipo de estanque. Entonces cuando interactúa con peón, esto es lo que queremos hacer. Y esto está bien. Aquí no tienes que hacer nada y acceder a ignorar, realmente no tenemos nada. Por lo que ahora fijemos la duración de esta esfera Draw Debug para que la esfera no desaparezca al instante. Por lo tanto, vamos a ponerlo en cinco segundos por ahora, el grosor que también podemos establecer. Entonces vamos, podemos ponerlo en cinco y ver qué tan grueso es eso. Por lo que pinchando en compilar y dando clic en Guardar. Ahora esto está listo. Y si haces clic en Reproducir ahora e intentas ver la animación, probablemente no vayas a ver nada. Y te explicaré por qué. Por lo que viene aquí el GRAV-D. Se puede ver que en realidad ataca porque dibuja la esfera. ¿ De qué no se puede ver la animación y por qué es eso? Y esto probablemente está dentro de nuestro blueprint de animación porque no recuerdo que creamos esta cosa específica que necesitamos. Por lo que haciendo click en este plano de animación para la subvención. Y especie de aquí dentro de la gráfica de animación. Entonces si haces clic en el gráfico Animación aquí, y recuerda si estás dentro de algo específico, siempre puedes volver a hacer clic aquí arriba. Entonces aquí en la primera, primera ventana, tenemos que añadir algo entre la locomoción y entre la salida, pose de salida. Así que arrastrando aquí y escribiendo por defecto, o en realidad al igual que puedes escribir ranura. Y puedes elegir esta ranura, ranura por defecto. Y éste es necesario para reproducir montajes de animación. Entonces si no lo tienes, si no estás entendiendo por qué tus montajes de animación no se están reproduciendo a pesar de que el, parece que están funcionando. Es porque no tienes esta ranura por defecto de diapositiva encendida. Por lo que recuerda poner esto más, no podrás ver tus montajes de animación. Entonces si hago clic en Jugar ahora y espero al enemigo. Ahora, aquí hay un ataque debería funcionar. No sé dónde está ahí? Se puede ver que eso es hackear y ahora se está molestando un poco. Para que veas que hizo saltar a Ed y podemos arreglarlo. Pero en última instancia está trabajando. Por lo que el montaje de animación está funcionando. Entonces si volvemos dentro de los planos y amines y base enemiga aquí, dentro de aquí, quiero que entres parte de vista. Y siempre se puede tratar de ajustar esto, éste de aquí en comparación con donde realmente está atacando. Y lo que quiero hacer en lugar de hacer click en play y, y esperar todo el tiempo, en realidad quiero quitar esto. Entonces si voy y selecciono el blueprint, y si entro y el modo de juego, y vamos a quitarlo temporalmente. Entonces quiero ver dónde creé esta lógica. Y en realidad está por aquí dentro de los enemigos engendrados. Y me retrasé cinco segundos. Yo sólo lo voy a quitar aquí sólo por ahora y conectado. Y lo que quieres hacer es a veces quizás tengas miedo de olvidar volver a conectarlo. Siempre puedes seleccionarlo y dar click en C para añadir un comentario. Y a veces hago esto y hago uno rojo. Entonces yo, lo recuerdo. Aquí hay algo que debo recordar. Incluso se puede escribir un comentario de que esto debe ser reconectado. Las quejas oculares, los bonos son como instantáneamente así que en realidad puedo simplemente más rápido y él está atacando y la esfera está justo frente a ellos. Y pienso para nosotros, si volvemos a los enemigos y a cualquier base, creo que 100 está bien, pero en última instancia quiero mover esto un poco más allá porque creo que está un poco demasiado cerca. Entonces tal vez así. Y vamos a hacer clic en Jugar antepasado por última vez. Entonces esto está justo en el centro de nuestro personaje, y esto en realidad es perfecto si quieres la ubicación aquí, esto es lo que es, pero puedes intentar moverte y ver dónde encaja mejor. Entonces ahora que sabemos que el ataque es correcto, en realidad podemos seguir adelante y quitar esta esfera que está atrayendo al nivel porque realmente no queremos verla. Y también podemos tocar un sonido cuando está atacando. Para que pueda mover un poco esto. Y puedo decir sonido tardío en el lugar. Para que podamos seleccionar el sonido. Voy a arrastrarlos un poco hacia abajo. ¿ Y en cuál es la ubicación en la que queremos jugarla? Simplemente elijamos la ubicación de esta esfera también. Entonces conectándolo aquí y haciendo un nodo de reruta que va a dar click así y el sonido que queremos elegir ahora, no tenemos muchos sonidos y esto no es realmente un, un curso de sonido ni nada, pero yo solo quieren mostrarte que puedes, puedes ir a YouTube y encontrar tus sonidos. Pero recuerda cuando estoy haciendo causa es copyright todo y realmente no puedo dártelo. Así que entra en YouTube si quieres encontrar un sonido hit. Pero en última instancia, sólo vamos a usar el sonido del cuchillo aquí. Ahí hay uno que se llama el cuchillo más bajo Q. Y si pudieras tocar, puedes escuchar el sonido. Voy a bajar la cama. A lo mejor es demasiado ruidoso. Peoria, no quiero que suene molesto en este curso. Y voy a volver a la base enemiga. Aquí, vamos a seleccionar la noche. Creo que se llama más bajo, este, cuchillo más bajo. Así que ya se hizo un sonido enorme como agradable para nosotros. Y ahora cuando haces click en Play, ahora nos está haciendo cool. Otra cosa que quiero hacer es, es que en realidad quiero que la animación de ataque sea un poco más rápida porque creo que es demasiado lento. entrar del detalle de activos aquí en el montaje, realidad se puede cambiar la escala de tarifas. Esto es lo rápido que se está reproduciendo la animación. Entonces esta es la tasa normal. Y si escribo tres, puedes ver que está jugando demasiado rápido. Y sólo quiero escribirle, creo que dos es un buen número. Vamos a hacer clic en Jugar de nuevo y ver cómo se coloca. Sí, así que ahora es un poco, un poco mejor así que está atacando, pero tenemos un buck, saltando buck y tenemos que arreglarlo. Entonces el problema que estamos viendo cuál es el salto cuando él, después de que está atacando es básicamente si volvemos a los enemigos y el plano aquí dentro del movimiento local, hicimos este desove. Entonces desove es básicamente donde está saltando aquí, saltando desde el cielo. Y qué, lo que en última instancia está sucediendo es cuando ataca, en realidad está reproduciendo este blueprint de animación. Entonces estamos especie de engendrarlo de nuevo. Por lo que reproduciendo esta animación otra vez. Y esto podría no funcionar para este caso. Entonces tal vez tengamos que eliminar este desove. Por lo que puedes hacer click en Eliminar, puedes eliminar este señalador y simplemente conectando el ídolo. Y lo que queremos hacer ahora en lugar de tener el desove jugando aquí en el blueprint de animación, podemos simplemente reproducirlo como una animación separada dentro de la, la clase blueprint. Entonces si volvemos a la base enemiga, y aquí, hagamos una jugada iniciada. Ya tenemos uno en realidad. Por lo que aquí en los eventos comienzan a jugar. De hecho, agreguemos esta animación. Entonces si solo tomamos esta malla o simplemente puede escribir Play Animation y crea la malla automáticamente para ti. Por lo que si escribes Play Animation y puedes seleccionar esta, puedes ver que crea esta variable de malla para ti. Por lo que tomando esta animación de juego y hay que seleccionar qué animación quieres reproducir. Y creo que se llama algo con desplegable. Entonces por serif para dropdown, Es éste llamado exogamia Master grant bajó. Por lo que pinchando en esa y ahora puedes compilar y ver qué está pasando. Entonces si hago clic en jugar y ya sabes, lo que quiero hacer en realidad es dentro del modo de juego, voy a aumentar el, el número de onda. Entonces haga clic en ola, para que engendremos muchos de ellos para que podamos ver qué está pasando. Cuando traté de desarrollarme, lo hago así para no tener que esperar todo el tiempo y perder el tiempo. Entonces da click en Play. Se puede ver lo que está pasando. El roce hacia abajo desde el cielo. Pero se están moviendo al instante. Y ahora se puede ver que hay animaciones con micrófono. Y esto es porque si volvemos a los enemigos aquí, la base enemiga, si volvemos a la base enemiga, ahora está haciendo esta animación de gota, pero no queremos que se mueva de inmediato. Entonces vamos a sumar un retraso. Y me enteré, me enteré de que 1.3 segundos es un buen número aquí. Siempre puedes probar y ver qué es un buen número. Y después de que tocamos la animación, recuerda que esta malla se está ejecutando actualmente en un Blueprint de Animación. Entonces si voy al gruñido y en la malla se puede ver que se está ejecutando en este blueprint de animación de uso. Este es el plano en el que nos estamos ejecutando. Por lo que hay que recordar volver a asignar esto. Por lo que en este momento sólo se está jugando en animación. Y luego tienes que salir de aquí y decir Establecer modo de animación. Al igual que esto. Porque si vuelves a la medida, ésta se llama modo de animación. Por lo que queremos configurar este modo de animación para usar blueprint de animación. Esto es lo que queremos en última instancia. Y ahora debería funcionar. Pero de nuevo, tenemos que gustarnos ahora mismo está persiguiendo al jugador de inmediato y no queremos eso. Para que veas que está cayendo bien. Y luego es caminar es correcto. Pero están cayendo y luego están enfrentando a ese jugador de inmediato. Pero queremos, queremos que caigan primero para que no se estén deslizando en el suelo. Entonces recuerda que creamos el jugador de gusto dentro del controlador de IA. Entonces haga clic en ese. Se puede ver a éste llamado jugador de ajedrez. Entonces esto es lo que hicimos aquí con la detección del estanque. Y no queremos cambiar al jugador de inmediato. Vamos a retrasar un poco. Por lo que retrasándolo en 1.3 otra vez, pondrás 1.3 segundos, así como esto. Y ahora debería funcionar. Entonces si hacemos clic en Play, y ahora se están moviendo. Entonces se puede ver la caída primero antes de que realmente, antes de que realmente se muevan hacia nosotros y atacen. Entonces ahora tenemos un pequeño bicho. puede ver que están nerviosos como cuando estábamos girando. Una tonelada de generación de distancia. Y otro error es que cuando están atacando, en realidad ya no se están moviendo. Por lo que se quedan quietos. Entonces arreglemos primero que no vuelvan a atacar. Por lo que haciendo clic en la base enemiga del enemigo, hicimos el ataque aquí abajo. Por lo que el montaje de juego. Tenemos que hacer algo cuando el montaje está realmente completo. Entonces tenemos que perseguir nuevamente al jugador. Así que arrastrando aquí y diciendo jugador de Chase. Entonces es éste de aquí. Y vamos a seleccionar jugador de ajedrez. Escucha como la interfaz llama aquí. Por lo que vamos a perseguir nuevamente al jugador después de que termine la animación. Y recuerda seleccionar a qué jugador perseguir otra vez esto estará muy confundido porque la próxima vez va a atacar. Si dejas esto sea si no tienes nada aquí conectado, no va a saber qué atacar. Por lo que recuerda conectar esto de nuevo. Por lo que en realidad puede romperse desde aquí. Y puedes conectarlo aquí abajo. O otra cosa si quieres hacerlo más limpio, este jugador de ataque, en realidad puedes agregar una entrada de peón aquí. Entonces si vuelves a la interfaz, si la tengo abierta, no lo hago. Entonces si voy a las interfaces de blueprint y base EMI, y hago clic en el jugador de ataque aquí puedo hacer una variable haciendo clic aquí abajo en la entrada, en realidad no en la salida. Y la entrada, puedo hacer un pon, referencia de objeto variable. Y solo puedo llamarlo objetivos, Compilar y Guardar. Y en la Embase se puede ver ahora tenemos este objetivo y vamos a conectar este objetivo por aquí. Entonces ahora está un poco más limpio. Y puedo hacer doble clic en él para que se vea un poco más limpio aquí, así como esto. Entonces no es demasiado confuso así. Y ahora en realidad puedo arrastrar este objetivo hasta aquí. Entonces puedo hacer doble clic en él y ponerlo aquí arriba. Al igual que esto. Entonces esto es, puedes hacerlo así o en realidad puede arrastrar esto hasta aquí, eso depende de ti, pero esto podría ser un poco más limpio de hacer. Por lo que ahora, los enemigos realmente van a atacar de nuevo después de que es, nos habían atacado por primera vez. puede ver que están atacando y en realidad va tras nosotros otra vez. De acuerdo, entonces ahora está funcionando. Pero puedes ver cuando se están moviendo, están nerviosos, están temblando. El enemigo está temblando y no es porque tengan miedo, es porque tenemos un bicho. Se puede ver aquí, están como que se están molestando cuando se están moviendo. Y tenemos que arreglar esto. Está dentro de los enemigos y de la base enemiga. Y así si aquí en los valores predeterminados de la clase, tenemos este llamado use controller rotation eres. Y lo que en última instancia está pasando es que en realidad moviendo o controlando por dos cosas diferentes. Se está controlando por el tu y se ha ido consiguiendo controlado por lo que es la rotación del enemigo. Entonces si deshabilitas esta rotación, tu, si la deshabilitas, y compilas y guardas. Y volvamos al movimiento de personajes. Y dentro del movimiento, Bajemos. Y aquí, si puedo encontrarlo. Este llamado Orient Rotación al movimiento. Entonces al seleccionar eso, y esto debería solucionar el problema. Entonces si hacemos clic en Jugar ahora, y ahora, bajemos o caminemos por ahí. Ahora puedes ver que no están nerviosos, ya no tienen miedo, y se están moviendo correctamente. Y cómo debería ser. 64. Aplicar daños al jugador: De acuerdo, Así que ahora el, se hace la animación de ataque y la NBC o la IA está atacando. Ahora puede hacer algún daño al jugador. Por lo que volviendo a la base enemiga, se abre en mi segunda Manchuria. Entonces si lo traigo aquí arriba, esta es la interfaz. Y lo hicimos un jugador de etiquetas. Por lo que ahora queremos aplicar algún daño. Y ya lo has hecho antes. Entonces si tú, si quieres probarte tú mismo, puedes hacerlo. Y aquí queremos hacerlo juntos. Por lo que aquí en la esfera se superponen actores. Entonces hicimos éste. Recuerda que nosotros, solapamos el Po1 y cuando el punto se superpone a esta esfera, significa que el on ha sido golpeado por el enemigo. Entonces aquí, el valor de retorno, si sostienes el ratón sobre él, dice a través si hubo una superposición que pasó los filtros, falso de lo contrario. Por lo que va a ser cierto si el NMI o la AI está golpeando al jugador. Por lo que realmente puedo arrastrar fuera de esto y dar clic en B Para rama. Entonces ahora podemos decir si el, si hay una superposición con el porno, entonces si la capa ha sido golpeada, podemos hacer algo con esto. Por lo que sí podemos aplicar ese filo. Por lo que cada vez que el jugador es golpeado, podemos aplicar daño. No queremos hacerlo así. Entonces si elimino esto así, no queremos hacerlo así porque de esta manera siempre vamos a dañar al jugador aunque el jugador no sea golpeado. Y es por ello que en realidad estamos agregando este booleano para comprobarlo. Si realmente hay una superposición y si hay una superposición con el estanque. Y dice que hubo una superposición que pasó los filtros. Y ahora mismo el filtro es este estanque. Por lo que cuando el jugador es golpeado, aplicamos daño. Y el actor dañado es el jugador. Y en realidad tenemos una referencia al jugador por aquí. Recuerda que hicimos este objetivo aquí. Por lo que en realidad puedo arrastrar de esto y ponerlo dentro de actor dañado. Y para hacerlo más limpio, puedo hacer doble clic aquí y hacer que el nodo de reruta de cuidado. Y tenemos, necesitamos hacer uno más grande aquí. Justo así. A lo mejor podemos arrastrar esto más atrás así. Entonces está más limpio. Y aquí en el daño base, ¿cuánto daño quieres hacer? Y este, puedes fijar aquí un daño, un número estático. Pero algo mejor que hacer, realidad podemos convertirlo en una variable. Porque recuerda, si tenemos muchos enemigos, si tenemos enemigos diferentes, queremos hacer daño diferente por cada enemigo. Entonces no queremos que la araña, la subvención, el esqueleto, y así sucesivamente todos hagan 25 daños. A lo mejor su esqueleto es muy débil y sólo hace cinco daños. Por lo que podemos hacer clic aquí y promocionar esto a una variable y llamarlo. Podemos llamar al enemigo daño o al daño. Sólo voy a llamarlo daño. Y puedo arrastrarlo hasta aquí. Por lo que ahora esta variable de daño, ya que está en la clase padre, las clases hijo también heredarán a esta variable. Entonces si vas dentro de los valores predeterminados de clase, en realidad podemos elegir cuánto daño hace este gruñido ahora. Entonces tal vez queremos que la marca haga con 25 daños. Y si hacemos un nuevo enemigo, en realidad podemos cambiar esto por el nuevo enemigo. Por lo que ahora los beneficiarios haciendo 25 daños. Y, y recuérdalo, recuerda cambiar esta L Sue, tendrás 0 dañados por defecto. Entonces cambiándolo a 25. También puedes elegir la salud de la beca si quieres. Y ahora tenemos este daño aplicado. Entonces, ¿qué aplica esto el daño hecho? Se puede reproducir un sonido que cuando el jugador es golpeado. Así que reproduce el sonido en la ubicación. Y la ubicación en la que queremos reproducir el sonido es básicamente la ubicación de la esfera aquí. Entonces vamos a arrastrar desde este nodo re-wrap y lo voy a conectar a una dislocación por aquí. Y voy a mover esto un poco hacia abajo. También, éste y éste. Entonces está un poco más limpio. Puedo hacer doble clic aquí y hacerlo así. Y déjame bajar esto así como así. Entonces ahora vamos a tocar un sonido y lo que hay debajo, queremos tocarlo. Ahora, estoy improvisando un poco en los sonidos porque no tenemos muchos. Entonces voy al interior de la EPS y de las armas y no esta en realidad. Dentro del arma militar, oscuro y dentro de sonidos. Voy a ir en especie de escopeta. Y dentro de aquí, voy a elegir este que se llama cuerpo de impacto escopeta. Y voy a reducir el sonido sólo para este curso. Entonces no es molesto para ti. A lo mejor 0.25. Y así este sonido que en realidad voy a usar. Entonces si vuelvo y abro mi, creo que cierro como mi base. Entonces yendo aquí, abriendo base NMI NMI. Así como esto, sólo voy a buscarlo. Impactos de arma de tiro. Este, impacto escopeta, cuerpo. P Creo que fue éste, sí. Está bien. Entonces estamos tocando un sonido ahora cuando el jugador es golpeado, y también quiero engendrar algunos efectos. Entonces es un poco más interesante. Por lo que los efectos de desove juegan emisor o no, Laplace engendra en metro, más bien en la ubicación. Entonces desove un VFX, tan efecto visual en un lugar. Y ahora podríamos fijar la ubicación a esta esfera. Entonces el, el, el VFX, los efectos visuales, aparecerán en esta ubicación de esta esfera aquí. Pero a veces el jugador puede estar un poco lejos de la esfera y se ve un poco demasiado barato. Y es mejor encontrar la ubicación del jugador y realmente jugar los efectos del jugador. Entonces para ello, no tenemos una variable para el jugador. Por lo que vamos a decir consigue personaje jugador así como este. Y ya hicimos una función de interfaz. Una función de interfaz. Recuerda dijimos Get Player ref. Este es el que hicimos. Y podemos conectar esto. Y como jugador, podemos decir conseguir ubicación del actor. Y ahora tenemos la ubicación del jugador muy fácilmente. Y ahora podemos conectarlo. Y ahora tenemos que jugar un efecto. Ahora, el efecto que quiero jugar es algún efecto de Granada, y es sólo un poco de humo. Entonces si vuelvo aquí y encuentro dentro del arma militar oscuro en efectos, y quiero usar, Probemos este destello de hocico de granada. Entonces puedo arrastrar este flash de hocico de granada, y puedo arrastrarlo dentro de aquí. Puedes buscarlo aquí. En realidad es, está por aquí. Es muy fácil de encontrar, o puedes arrastrarlo y soltarlo encima de esto. Entonces ahora está ahí. Y yo para el que haga esa escala un poco, un poco más grande. Entonces a, a, a efecto tonalidad es doble como el tamaño medio y todo lo demás está bien. Ahora vamos a hacer clic en Jugar y ver qué, cómo se ve. Entonces al responder, sí, así que ahora está haciendo un sonido golpeando la bengala. El último que queremos hacer es que queremos aplicar este daño a la capa superior. Por lo que queremos ir dentro de planos, dentro de jugador y en la base de jugadores. Ahora necesitamos hacer un nuevo evento llamado cualquier daño. Evento, cualquier daño, porque ahora estamos aplicando el daño. Aquí. Estamos aplicando daños. Y ahora cuando aplicemos el daño, disparará este evento por aquí. Para que pueda escribir la cadena de impresión para que pueda verla. Vamos a hacer esto en la siguiente lección. Pero ahora puedes ver que es saludar cada vez que en realidad estoy recibiendo el suyo. De acuerdo, así que ahora tenemos esto hecho, y ahora vamos a superar y hacer la salud para el jugador. 65. Salud del jugador: Añadamos ahora algo de salud para el jugador. Por lo que ahora podemos ir dentro de la base de jugadores. Y aquí realmente hicimos esto y en caso de daños. Entonces ahora hagamos algo de salud. Entonces creando una variable aquí, mirando el Plus, llamándolo salud. Y podemos cambiar el tipo para flotar porque es un valor numérico que queremos. Y esta salud, podemos establecer la salud predeterminada para el jugador es 100. Y ahora podemos arrastrarlo hasta aquí y conseguir ayuda. Y podemos decir menos. Y podemos menos la salud que es de 100, ¿sería, el daño del gruñido? ¿ Y recuerdas los daños por el gruñido? Si vuelvo aquí y los enemigos gruñen, el daño por el suelo es de 25. Entonces si, si el jugador es golpeado por el gruñido, va a decir 100 menos 25. Y entonces tenemos que fijarlo. Por lo que sosteniendo Alt y arrastrándolo. Y ahora lo podemos establecer, entonces nueva salud será 75 porque 100 menos 25 equivale a 75. Y si el jugador es golpeado a esta segunda vez, ahora el, la salud es 75 menos 25, entonces va a ser 50. Entonces así es como, cómo lo haces. Entonces tienes la variable de salud u menos el daño de la misma, y luego la pones de nuevo a este nuevo valor. De acuerdo, Entonces ahora tenemos la salud hecha. Y si quieres verlo funcionando correctamente, realidad podemos simplemente escribir y enhebrar y podemos imprimir el valor de esta ayuda para que veamos caer el valor. Y puedes hacer click en jugar. Y si estamos llegando aquí, se puede ver que está bajando y siendo 0. Ahora el ayudante va a, Va a menos números y tal vez realmente no quieres eso. A veces se le puede molestar si hace eso. Y por eso podemos usar un nodo llamado Almeja. Entonces si hago clic aquí y empuje abrazadera, y hay que seleccionar el para el flotador. Y esto se debe a que nuestra variable de salud es de tipo float, por lo que no es un entero. Por lo que tendría más sentido seleccionar este con el flotador. Y puedo desconectar esto y simplemente moverlo un poco aquí. Por lo que ahora la Salud que es 100 menos 25 será 75. Y este valor puede en realidad aquí. Y el valor mínimo para esto aquí, para este valor, valor de salud, el mínimo es 0. No queremos bajar la salud por debajo de 0. Y el máximo que elijas que tal vez tu juego eres, eres jugador puede tener 200 y la salud son solo 100. A lo mejor puedes tener 500, eso depende de ti. Pero ahora mismo, nuestro jugador solo tiene 100 como máximo, por lo que sólo podemos ponerlo en 100. Y ahora podemos establecer este valor aquí. Entonces lo que va a pasar aquí es que el jugador está dañando y se está dañando por 25 a lo largo del tiempo. Y cuando el jugador tiene 0 salud y se está dañando, nuevo, nunca va por debajo de 0 más. Entonces va a ser 0 todo el tiempo. Por lo que ahora puedo compilar, clic, Guardar y hacer clic en jugar. Y en realidad tengo que imprimir el valor que olvidé. Entonces imprimiendo así. Y ahora podemos imprimir este valor y ver qué pasa. Por lo que pinchando en play. Y me estoy dañando. Y se puede ver que está diciendo 0 todo el tiempo. Entonces ahora no puedo caer por debajo, por debajo de 0 en la salud. De acuerdo, Así que eso fue todo por la salud. El siguiente que podemos hacer es en realidad trabajar en la muerte del jugador. 66. Muerte de jugador: De acuerdo, entonces ahora podemos crear al jugador en la muerte. Entonces ahora lo que queremos ir dentro de la base de jugadores y jugadores, y aquí con esto, cualquier daño y nos hicimos el infierno. Y ahora digamos aquí 1D salud es 0. Entonces si es igual, ahora puedo seleccionar este igual. Si es igual a 0, puedes hacer click en B para hacer una sucursal. Y si esto es igual a 0, queremos que el jugador muera. Por lo que queremos hacer un nuevo evento llamado muerte. Y pasemos a la Interfaz de Blueprint para la base de jugadores. Y aquí queremos hacer una nueva función llamada capa que Vamos a compilar y guardar. Y por aquí llamemos a capa y muerte. Y es una llamada de interfaz aquí. Y ahora realmente hagamos el evento aquí. Entonces Jugador muerte. Ahora hacemos el evento. Entonces cuando el, cuando la salud de 0, se va a lanzar en este evento. Entonces estamos, en realidad vamos a codificar la funcionalidad de muerte, muerte dentro de aquí. Entonces primero, quiero hacerlo booleano y hacer de este booleano llamado B está muerto. Entonces al igual que hicimos aquí en la base enemiga, si vuelvo a enemigos y base enemiga, recuerda que hicimos este booleano está muerto. Y siempre es agradable tener un booleano como éste. Entonces esto es para el jugador y podemos arrastrarlo hacia fuera y conectarlo y ponerlo en verdadero. Por lo que inicialmente, es falso por defecto porque el jugador está vivo y cuando el jugador muere, podemos ponerlo en verdadero. Es eso. Entonces en este momento no lo estamos usando para nada, pero lo vamos a hacer en un poco. Pero esto siempre es agradable de tener y se puede controlar las cosas cuando el jugador es eso. De acuerdo, Entonces desde aquí, cuando el jugador es que realmente queremos tocar una animación. Entonces voy a decir arrastra aquí y decir Play Animation y elegir este para la malla. Ahora puedo arrastrar esto hacia abajo y ahora podemos reproducir una animación. Y recuerda si vuelvo a la carpeta de Activos que tengo y las animaciones de personajes, tenemos estas animaciones retargeted que realidad retargeted en el inicio de este curso. Y tenemos a éste que se llama muerte. Por lo que en realidad podemos usar este. Y si vuelvo a mi plano, puede minimizar un poco esto y en realidad puedes buscarlo. Pero también puedes tomar esto y soltar esto encima y se aplicará. Por lo que ahora estamos tocando una animación de muerte. Y recuerda apagar la colisión porque cuando estás muerto, no necesitas chocar con nada. Se quiere desactivar esta colisión. Por lo que arrastrando fuera de esta malla y diciendo Establecer colisión. Por lo que este Set Collision Enhabilitado, quiero configurarlo a ninguna colisión, tomando este Componente Cápsula. Y también queremos desactivar esta colisión para ésta. Por lo que ahora hemos desactivado todas las colisiones. Y a continuación quiero tomar el movimiento del personaje y quiero desactivar el movimiento para que el jugador no pueda, o el, el, el jugador puede subir, presionar a, W, D, y S y moverse. Entonces estamos inhabilitando todo movimiento. Y voy a hacer doble clic aquí para hacer un nodo de reencaminamiento. Por lo que ahora tenemos esta funcionalidad abajo y vamos a dar click en Play y ver qué pasa. Entonces minimizo aquí y te están golpeando. Entonces ahora te estás muriendo. Todavía te está aplastando, incluso a tu papá, y te estás muriendo una y otra vez porque están cansados de la vista. Sí, les he estado disparando todo por supuesto. Y ahora te van a matar varias veces. De acuerdo, entonces ahora esto es, esto ha terminado y vamos a arreglar el, el enemigo matándote varias veces. Y esto es porque no le hemos dicho al enemigo que quieres dejar de atacar. Y ahora en realidad podemos usar este booleano muerto que hicimos. Por lo que dentro de la base enemiga. Recuerda que hicimos este llamado jugador de ajedrez. Y su IA se moverá hacia ti y cuando estén cerca de ti, te atacarán. Entonces por aquí realmente queremos decirle a la, la IA que sólo debe atacar si el jugador está vivo. Puedes usar esto. Podemos usar este booleano para hacerlo. Entonces nosotros, realmente no tenemos una variable para el personaje. No tenemos referencia, pero puedo decir personaje de git player. Y hicimos una interfaz, se pone la ira del jugador para éste, hicimos una función de interfaz. Y aquí podemos decir es que. Entonces ahora realmente podemos usar este booleano aquí. Y ahora solo por legibilidad, me gusta escribir nueces. Y luego haciendo esta rama por aquí. Al igual que esto. Entonces ahora está diciendo si el jugador no está muerto, entonces ataca. Pero si el jugador es que no hacen nada. Eso es lo que está diciendo ahora mismo. Si organizo un poco esto, y ahora debería funcionar. Si decimos entonces haga clic en Play. Ya puedes ver cuándo te están atacando ahora. Ahora te están atacando y van a parar cada vez que estés muerto. 67. Reloading de armas: Está bien. Ahora es el momento de hacer alguna carga real para el arma que tenemos. Surette Ahora estamos podemos disparar munición ilimitada y realmente no queremos disparar tiempo ilimitado, así que hagamos algunas recargas. Entonces esto es muy sencillo porque ya estás hecho la mayoría de las cosas. Entonces si volvemos a los planos dentro de jugador y de la base de jugadores. Y aquí en la base de jugadores hicimos este evento de arma de fuego. Y aquí encontramos el arma. Lo hicimos al inicio del curso. Y para este, en realidad queremos comprobar si el jugador tiene munición suficiente para disparar el arma. Por lo que puedes intentar hacerlo tú mismo si quieres. Creo que se puede hacer eso por lo que hemos aprendido hasta ahora. Y si no, hagámoslo juntos ahora mismo. Entonces para empezar con hacer la munición y recargar, tenemos que hacer una nueva variable llamada munición. Y esta vez tiene que ser un entero porque MO es un valor numérico y realmente no necesitamos decimales, así que enteros, el correcto. Y ahora podemos tomar esta variable munición y podemos decir menos menos. Así que menos menos, dice Uno del valor especificado, luego configúrelo. Entonces cada vez que invitamos al arma, en realidad va a decir minús1 en esta variable. Entonces vamos a restar una bala cada vez. Y podemos hacer click en esta variable munición, compilar y guardar. Y digamos menos que el valor predeterminado a 15. Por lo que el arma tiene 15 balas por defecto cuando iniciamos el juego. Entonces ahora podemos hacer una cadena de impresión, para que veas cómo se ve. Se puede Guardar Imprimir Cadena y conectar este valor aquí para que podamos imprimirlo a la pantalla. Y siempre es bueno hacer una cadena de impresión para que realmente puedas ver lo que estás haciendo durante el desarrollo. Por lo que puedo dar click en jugar. Y cada vez que disparo, voy a bajar a balazos. Pero ahora puedes ver realmente puedes ir en números menos. Y no queremos ir y menos números. Entonces tenemos que arreglar eso. Y la forma en que hacemos esto, al igual que antes, tenemos que usar una abrazadera para que pueda arrastrar por encima de esto y buscar laboratorio y este. Y se puede establecer el valor máximo en 15 porque tenemos un máximo de 15 balas. Y puedes establecer el mínimo a 0 para que nunca vaya por debajo de 0. Ahora tenemos que comprobar si el jugador tiene suficientes balas para disparar. Entonces podemos decir, si esta cantidad aquí es, si es mayor que 0, entonces adelante y dispara así. Por lo que tienes que conectarlo aquí. Entonces si el jugador tiene más balas que 1000, el jugador puede disparar. Pero si tienes 0 o menos, no puedes hacer nada. Por lo que puedo tratar de jugar aquí y puedo mostrar 15 veces. Y ahora puedes ver que estoy dando click pero no puedo dispararles. Y esto está funcionando. De acuerdo, entonces esto está funcionando ahora y tenemos que hacer la recarga ahora. Y para hacer la recarga, puedes seguir adelante y escribir la jerarquía. Pero esto es una mala práctica. De nuevo, ¿recuerdas lo que dije desde el inicio del curso? Es si codificaste valores como este desde el teclado, el jugador no podrá cambiar este valor en el menú Ajustes durante el juego. Así que al igual que si haces la tecla W para correr hacia adelante, el jugador no puede cambiar esta tecla W por otra cosa y el menú Ajustes. Por lo que es una mala práctica codificar las teclas del teclado así. Es mejor hacerlo a través de los ajustes del proyecto, justo, igual que lo que hicimos con el movimiento. Entonces voy a editar y hacer clic en la configuración del proyecto. Dentro de aquí tenemos esta entrada y en realidad hicimos ese movimiento aquí también el arma de fuego aquí. Entonces hagamos uno nuevo y digamos una recarga. Al hacer clic en este botón y hacer clic en la tecla R del teclado, lo asignaremos automáticamente. Y ahora podemos volver a la base de jugadores. Y podemos decir recargar y Osiris una clave de evento de acción que sólo haría. Y esta es la recarga. Por lo que ahora queremos recargar y recargar. Queremos poner la munición mala 215. Entonces esto es muy fácil. Simplemente arrastras esto y configuras esto en 15. Al igual que esto. Entonces esto es en realidad todo lo que está haciendo. Y también quieren reproducir una animación. Va a parecer estúpido si no jugamos nada. Por lo que necesitamos tocar un montaje de animación. Para que pueda sacar esta malla y decir, y M montaje y jugar este montaje aquí. Y puedo ponerlo aquí arriba y conectarlo. Por lo que ahora tenemos que tocar un montaje de animación. Y en realidad quiero jugarlo cuando esté completo. Entonces cuando termines de poner el cargador dentro del arma, va a poner al animal en 15, así como esto. De acuerdo, entonces tenemos que tocar un montaje de animación, así que tenemos que hacer uno para la recarga. Y si vuelvo a las animaciones, a los activos, personajes animaciones, tenemos este llamado Reload rifle hip. Para que pueda hacer clic derecho en este y decir Crear, crear cualquier montaje. Al igual que esto y podemos llamarlo recarga de daemon. Ahora, puedo volver a mi plano aquí y puedo buscarlo. Y no tenemos que buscar mucho porque no tenemos muchos. Entonces este, cualquier montaje recarga. Y puedo dar click en Guardar aquí. Y recuerda al igual que para el gruñido, el montaje de animación no va a mostrar. Ahora estoy dando clic en R y en realidad estoy recargando. Pero no pasa nada. Y recuerden esto es porque tenemos que ir dentro del, el jugador aquí y dentro de los planos de animación. Y dentro de aquí van dentro de la gráfica de animación. Y en el gráfico de animación, tenemos que poner esta ranura aquí. Inundaciones ranura por defecto. Y si no tienes eso, no estarás viendo tus montajes de animación. Por lo que tienes que conectar esto. Y si haces clic en Reproducir ahora, puedes ver que se está recargando. El problema ahora es que si camino y recargo, Se va a deslizar. Por lo que queremos mezclar la animación de running y la animación de tiro juntos. Y la forma en que hacemos esto, es muy simple. Entonces aquí en el montaje de animación o India y el Blueprint de Animación, lo siento. Pero el jugador, queremos usar algo llamado mezcla pura derecha. Ves algo llamado mezcla en capas por hueso. Por lo que al hacer clic en esa, puedes mezclar dos poses juntas. Entonces si desconecto esto aquí, quiero fundir esta pose base. Entonces esta es nuestra animación de running. Este es el movimiento local por defecto que tenemos. Y déjame conectarlo aquí. Y lo segundo que queremos aprender a fundir es si copio esto y lo pego aquí y lo conecto aquí. Entonces quiero, quiero fusionar la animación de running junto con esta animación de running y recarga. Entonces la forma en que hacemos esto es que se mezcla por hueso. Por lo que hay que elegir por aquí. Si lo arrastro aquí en la configuración de capas, haces clic en esta flecha aquí, y haces clic en este índice. Y ahora puedes dar click en este plus. Y aquí hay que seleccionar un nombre de hueso. Entonces, ¿desde dónde quieres mezclar? Y tal vez te estás preguntando ¿cómo sé el nombre del bot? ¿ Cómo sé eso? Y la forma en que lo sabes es si vas dentro de los personajes de activos y haces click en tu máquina de isquium. Entonces esta es la máquina que tenemos dentro de aquí. En realidad se pueden ver estos huesos. Por lo que si haces click sobre ellos, puedes ver dónde estás. Y en realidad está aquí arriba. Si esto no aparece para ti, tienes un panel de detalles de activos aquí arriba y un esqueleto tres. Y en este Árbol Esqueleto que subes, tal vez en realidad no quiero este esqueleto aquí. También podrás verlo. Por lo que al hacer clic en estos huesos, se pueden ver los huesos del personaje. Y quieres elegir un hueso donde quieras mezclar esta animación. Y quieres mezclarlo. Aquí se puede ver este se llama espina uno, y éste se llama columna dos. Y ésta es en realidad de la que queremos mezclarla. Para que puedas, puedes elegir tu propia columna vertebral de la que quieras mezclarla desde donde se vea bien. Pero básicamente la parte superior del cuerpo es donde está sucediendo la recarga y la parte superior del cuerpo es de aquí. Entonces esto es tal vez demasiado alto. Entonces yendo a pesar, se va a recargar el final. Al igual que se va a ver lo mejor aquí, creo. Entonces. Siempre podemos probarlo y ver si se ve bien o no. Por lo que tenemos que seleccionar este hueso llamado columna 0, 2. Ahora si vuelvo al Blueprint de Animación y hago click en este. Ahora podemos en el nombre del bot podemos escribir hueso, nuestras cirugías de columna comprando 0, 2, y la profundidad de mezcla que queremos establecer en una. Y la rotación del espacio de malla se mezcla. Entonces la rotación, queremos mezclar eso también. Y ese verso en realidad lo es, así que vamos, probémoslo mirando Play. Y ahora cuando elijo, puedo dar click en Recargar. Y se puede ver es recargar mientras estoy corriendo y en realidad se ve bastante decente. De acuerdo, entonces ahora eso está funcionando y lo último que podemos hacer es realmente agregar un efecto de sonido. Ahora si vuelvo a jugador, base de jugadores, ahora podemos agregar un sonido con bacterias para la recarga y para el efecto sol en lugar de hacer cada año. Por lo que siempre puedes entrar aquí y decir reproducir sonido esa ubicación, y puedes hacer el sonido de recarga, pero también puedes hacerlo más específico y puedes hacerlo a través del montaje de animación. Entonces si vuelvo aquí y hago clic en activos, personajes, animaciones, y dando click en este montaje de animación. Al igual que la animación de ataque para la subvención, en realidad podemos hacer el sonido de recarga desde aquí en lugar de reproducir el sonido desde aquí. Entonces si hiciéramos esto a través del código, el sonido, ¿qué tocaría desde aquí en realidad? Y eso no queremos. Queremos que se escuche la revista. Cuando lo está sacando aquí. Y lo que podemos hacer aquí es que siempre podemos hacer una ventana de notificación. Por lo que podemos decir en 9, 25 empezar, se puede tocar el sonido. De lo que también podemos hacer otra cosa. Por lo que podemos hacer clic aquí, hacer un add notifique, y luego podemos decir reproducir sonido. Por lo que ahora realmente puedo hacer clic en esto y reproducir el sonido que queremos. Y si volvemos a minimizar esto, y volvemos a arma militar oscura y sonidos. Tenemos el rifle que usamos, y aquí podemos usar la suma. Entonces lo que podemos hacer aquí es esta recarga. Por lo que voy a dar clic en él y minimizar o bajar el volumen. Ahí está así. Y voy a usar esto recargado, bueno recargar, Insertar. Y soy mínimo o bajando el volumen otra vez. Al igual que esto. Entonces voy a usar estos dos y tocar el sonido en realidad amarillos. Usemos los dos. Entonces déjame volver a abrir mi montaje de animación. Entonces si hago clic en el sonido aquí y solo lo minimizo un poco para poder ver cómo se llamaba el sonido de llegada. Entonces si vuelvo a rifle, puedo usar este cubo de recarga para sacarlo del removido del cargador del arma. Entonces puedo arrastrar esto y ponerlo dentro del sonido aquí. Ahora se puede escuchar es en realidad, en realidad se puede oírlo. Y ahora queremos tocar otro sonido, uno está poniendo esta revista dentro del arma aquí para que pueda hacer clic derecho aquí y hacer clic Añadir notas o archivo reproducir sonido. Y haciendo clic en esto de nuevo, ahora en realidad puedo arrastrar esto, recargar Insertar aquí. Entonces ahora oigámoslo. De acuerdo, Entonces otro realmente los mejores sonidos sonoros que tenemos, pero está funcionando. Y a lo mejor queremos hacerlo aquí en realidad, tal vez sea demasiado pronto, así como esto. Igual que eso. Entonces así es como puedes hacerlo y realmente puedes hacer caminar. Los enemigos están caminando, suena como cuando golpeas el piso, cuando el jugador está caminando. También puedes hacer eso agregando sonidos. Por lo que cuando está en sus pasos están golpeando el suelo, puedes agregar una nota y notificar y sumar reproducir un sonido para que esté golpeando el suelo. Entonces podemos hacer eso así también. Pero no creo que agreguemos sonido ni pondremos pasos para este juego porque siempre estamos agregando algo de música y no se escuchará. Entonces así es como haces la recarga. Y podemos tratar de dar click en la X aquí y guardar todo. Y ahora podemos tratar de dar click en Play. Si estoy oyendo. Y no tengo más balas y puedo dar click en nuestro OK, así que todo está funcionando ahora y puedo disparar de nuevo. Y ya no puedo hacerlo. Puedo dar click en R. Vale, así que esto está funcionando. Y eso fue todo lo que teníamos que hacer para la recarga. 68. Diseñar la UI principal: De acuerdo, Entonces básicamente estamos terminados con el juego. Y más adelante intentemos limpiar el código y tal vez agregar algo para el juego que nos falta. Entonces por ejemplo, música en el juego. Pero por ahora básicamente estamos terminados con los fundamentos del juego. Y ahora hagamos algo de UI. Por lo que la primera interfaz de usuario que vamos a hacer es la interfaz principal. Entonces para la salud del jugador de la munición y así sucesivamente. Para que lo veas en pantalla, porque en este momento sólo tenemos una cadena de impresión. Y una cadena de impresión. Realmente no se puede ver como para el jugador cuando sueltas el juego, el jugador, la cadena de impresión es solo para el desarrollo por lo que el jugador no puede verlo. Entonces ahora vamos a agregar algo de interfaz de usuario para que en realidad puedas ver que estás retenida, puedes ver tus munición y así sucesivamente. De acuerdo, y así para hacerlo, volvamos a la carpeta de interfaz de usuario que hicimos. Y aquí, Vamos a hacer clic derecho e ir dentro de la interfaz de usuario y crear un blueprint widget. Y llamémoslo WB hizo. Entonces esta es la principal interfaz de usuario que tendremos. Entonces ahora vamos a diseñarlo. Haga doble clic en él, y aquí en el diseñador, puede. Ahora lo que queremos hacer primero es que necesitamos una frontera o el jugador, por lo que un retratos. Y luego necesitamos la Barra de Salud, y necesitamos el nombre del jugador. Ahora ya he subido algunos activos para ti en el y bajo sitio web para que en realidad puedas descargar estos activos. Y lo que queremos hacer es minimizar este Widget Blueprint. Y déjame abrir mi carpeta y solo importemos todo. Entonces haz click en esto y todo el camino hasta aquí. Creo que la estrella que obtenemos la estrella es del juego anterior, así que realmente no la necesitamos. Y sólo hagamos una nueva carpeta aquí llamada activos. Dejemos todo dentro de aquí. Entonces voy a arrastrar esos y dejarlos caer en ensalada aquí. Justo así. Entonces lo que queremos hacer dentro del Widget Blueprint que tenemos abierto. Queremos usar esta imagen como el retrato o ésta en realidad para los robots. Entonces lo que queremos hacer es usar una imagen aquí. Entonces usando una imagen y ésta podemos cambiar. Pero recuerda que tienes que pensar en la interfaz de usuario, como qué, ¿qué estás tratando de crear? Entonces estamos tratando de crear esta frontera. Estamos tratando de crear el nombre del personaje. Y abajo está la Barra de Salud. Y si necesitas estos activos juntos, realmente no puedes simplemente entrar aquí y poner la imagen y luego tienes el texto como nombre. Ya hay que van a ser elementos separados. E imagina más adelante si quieres cambiar tu IU, vas a cambiar la colocación de estos. Entonces no quieres cambiar la colocación de esto y luego tienes que cambiar la colocación es y luego la colocación de la Barra de Salud, te va a llevar mucho tiempo. Vas a perder mucho tiempo. Es por ello que en realidad podemos ponerlo dentro de cajas horizontales y cajas verticales. Entonces si intento con la caja horizontal, así que si la pongo dentro de aquí. Por lo que ahora tenemos esta caja horizontal podemos poner elementos dentro de. Para que podamos empezar con la imagen. Entonces si busco imagen y la pongo aquí en la caja horizontal y veo ahora tenemos la imagen. Y entonces puedo poner, ahora, se puede, por ejemplo, poner texto y se puede ver cómo se ve. Ahora en realidad está poniendo el texto, por ejemplo, el nombre del robot, este lado del nombre del jugador aquí al lado del retrato. Entonces ahora estás en realidad sólo tienes que mover esta caja horizontal para mover todo junto en lugar de mover cada elemento cuando estás tratando de ajustar las cosas. Ahora, necesitamos un nombre y una barra de salud justo debajo de la otra. Y en lugar de simplemente poner una textura, tenemos que poner primero una caja vertical. Por lo que poniendo un bichos verticales encima de la caja horizontal. Por lo que ahora se puede ver esta es la caja vertical en realidad dentro de la caja horizontal. Y ahora podemos poner un nombre en la parte superior y la Barra de Salud en la parte inferior. Por lo que agregando un texto a esta vertical, bugs como este, podemos buscar progreso y agregar esta barra de progreso. Y podemos dejarlo encima de los bichos verticales aquí también. Entonces ahora se puede ver que tenemos estos elementos, pero no se ve bien porque realmente no los hemos diseñado. Por lo que si hace clic en este cuadro vertical aquí, realidad puede hacer clic en Rellenar. Entonces ahora va a llenar toda la caja vertical aquí. Entonces este es el tamaño de la misma. Entonces si haces click en Auto, solo va a llenar esto aquí para dar click en Phil va a poner aquí lo mismo que en realidad puedes hacer con la imagen. Por lo que puedes hacer click en él y dar click en Fill si quieres saber que van a dividir este cuadro horizontal en la mitad. Por lo que la mitad de la imagen y la mitad es esta caja vertical. Y puedes probarlo. Esto, esto es bastante difícil como cuando tú, cuando no estás acostumbrado a trabajar con la interfaz de usuario. A veces es bastante difícil darse cuenta de que hay que usar auto aquí o hacer clic en Fill. O la imagen simplemente debe ser también y no llenar y así sucesivamente. Pero tratemos de insertar a las imágenes y en realidad podemos conseguir, será más fácil. Entonces estas cuadras aquí. Por lo que al hacer click en esta imagen primero, voy a dar click en este pincel. Y aquí en realidad podemos agregar la imagen. Entonces si hago clic en esto, sí, tenemos demasiadas cosas, así que es mejor solo arrastrarlo. Entonces voy a arrastrar esta imagen de robot encima aquí arriba, así como esto. Y ahora tenemos esto. Ahora puedes ver este es el tamaño de la imagen y no, y yo edito el tamaño. En realidad no está cambiando nada. Y esto es porque estábamos usando el cine. Si yo auto juvenil, se puede ver cómo se ve ahora. Y ahora en realidad se puede cambiar el tamaño. Entonces usemos auto para este. Entonces en última instancia solo puedes ajustar esta imagen aquí y puedes ver aquí desde el efecto como en la caja horizontal. Y si lo escala ahora, Se va a escalar con esto, con este año. Entonces se va a escalar la imagen. Y esto se debe a que tienes alineación vertical. Si hago clic en la parte superior aquí y en realidad reduzco el tamaño, se puede ver que en realidad está reduciendo el tamaño. Pero si tienes esta alineación vertical en relleno aquí verticalmente, realmente no importa qué tamaño cambies aquí. Entonces recuerda, estos son muy importantes. El tamaño, si está lleno o no, o si está alineando vertical u horizontalmente. Por lo que esto es muy importante para jugar. Y creo que está bien que me alinee verticalmente aquí. Entonces si reinicio esto y solo reduzco esto a algo, y déjame simplemente reducir el tamaño de esta caja horizontal. Entonces lo voy a empujar aquí arriba y simplemente al final traté de jugar con lo grande que va a ser esto. Entonces tal vez algo así. Y en consecuencia, en realidad puedo hacer clic en la imagen aquí y reducir el tamaño x. Y solo quiero que se vea bien para que no sea elástico ni nada. Entonces así como esto. De acuerdo, entonces ahora tenemos que jugar con el texto aquí y llamémoslo Sr. robot. No sé, nombre muy creativo. Y en realidad podemos cambiar esta fuente aquí a esta Montserrat que usamos antes. Entonces aquí, señor. Robot. Y lo que podemos hacer con esto ahora es que puedes ver que es, es, está muy cerca de esta imagen, así que queremos empujar un poco el texto. Por lo que al hacer clic en esta vesícula bichos, tienes algo llamado relleno aquí arriba. Y este relleno, se puede pensar, ¿de dónde quieres empujarlo? Entonces quiero empujarlo, empujarlo desde la izquierda. Entonces voy aquí a la izquierda y escribo diez por ejemplo, podemos ver que se ha lavado. Y a veces me gusta ver cosas sin estas líneas discontinuas para poder verlas mejor. Por lo que voy a dar click en esto aquí. Esto habilita o deshabilita las líneas discontinuas. Para que lo veas así. Y creo que lo voy a empujar más lejos. Entonces tal vez sea onesie. 20 es mejor para mí así como esto. Y puedo dar click en esta barra de progreso. Ahora tenemos que poner esta barra de progreso a algo. Y en realidad para este caso, vamos, vamos a añadir una sombra. A lo mejor no es visible dentro del juego. Entonces voy a escuchar en la sombra molesto. En realidad podemos, antes de hacer eso, aplicemos la sombra. Entonces aquí en el color de la sombra, tenemos este Alfa, y así es como visible e invisible es. Entonces 0 es invisible. Y si escribes uno, las sombras visibles. Y se puede ver que es muy, muy leve. Y en realidad podemos hacer el, hacerlo más grande cambiando el desplazamiento de sombra a 33, por ejemplo, se puede ver ahora tenemos sombra. Entonces ahora tengo Mr robot y siempre se puede agregar una alineación, por lo que un esquema. Por lo que esta configuración de esquema aquí, puede cambiar el tamaño a uno, por ejemplo. Ahora tenemos este texto y luego puedes dar click en esta barra de progreso. Y hagamos algo con esto. En primer lugar, tenemos que hacer clic en el estilo aquí, y vamos a añadir una imagen y una imagen de fondo. Y la imagen de fondo, en última instancia quiero que sea este color oscuro. Entonces voy a arrastrar esto dentro de la, este de aquí. Y ahora es correcto. Ahora se puede ver que el color está mal a pesar de que se ha configurado correctamente. Y si bajas aquí y la barra de progreso, así que si te desplazas hacia abajo, tienes este relleno, color y opacidad. Y sólo voy a dar clic en esta flecha, así que en realidad va a ser blanca otra vez, no quiero que sea yo no quiero que sea azul. Entonces, ¿por qué está bien para mí? Porque si lo coloreas con diferentes colores, aquí va a quedar mal. Por lo que tenerlo el color blanco predeterminado aquí. Y ahora podemos establecer la imagen de relleno y la imagen de marquesina. Entonces esto, estos son los de carga en la barra de progreso. Y básicamente la salud para mí es roja. Entonces voy a arrastrar esto dentro de la imagen de este relleno aquí y dentro de la imagen de marquesina, así como esto. Y ahora se puede ver si vuelvo a lo que encontramos aquí, el por ciento, si lo aumento, ahora se puede ver En realidad está aumentando y disminuyendo la salud. Ahora esto es bastante guay. Tenemos una barra de carga ahora son nuestra barra de progreso más bien. Ahora se puede ver que el color sigue un poco equivocado. Entonces esto es muy oscuro. Este no es del mismo color que éste. Entonces tenemos que cambiar eso y este es básicamente el color otra vez. Por lo que al hacer clic en este tinte, se puede ver esta es la imagen de fondo que tenemos y las licitaciones negras y no queremos eso, queremos que sea blancos por defecto. Entonces voy a aumentar este año y hacerlo blanco. Y puedo verte ahora tenemos el color correcto en realidad. Entonces esto se ve un poco demasiado enorme. No queremos que sea tan grande aquí. Entonces voy a dar click en esta alineación aquí para que veas si cambias la alineación, va a cambiar. Y básicamente también hay que cambiar el tamaño de la imagen. Entonces aquí en la Y, tal vez si estás en 50 y también tienes que hacerlo abajo para estos. Y se puede ver que disminuye. Nuestro 50 es 2, tú seguirías, así que quizá yo quiera, si vuelvo aquí, tal vez volvamos a 25. 25 estaría bien. Entonces voy a cambiar todo a 25 años, así como esto. Y cuando quiero hacer ahora es hacer este un poco más grande porque esto es muy pequeño. Por lo que al hacer clic en esta barra de progreso, puedo hacer clic en esta alineación horizontal. En realidad puedo llenarlo a toda esta zona así como así. Y podemos moverlo hacia abajo si quieres. También puedes moverlo en la parte inferior aquí si quieres. Pero solo recuerda si lo estás moviendo al fondo, puedes ver que no pasa nada. Esto se debe a que hay que dar click en Fill. Tan importante jugar con el tamaño aquí, el relleno y estas alineaciones. En realidad pongamos todo el asunto en el medio. Por lo que pinchando en el cuadro vertical, en lugar de hacer clic en esta alineación vertical, voy a dar clic en el medio aquí, así que todo está en el medio. Y siempre podemos alejar a estos dos el uno del otro para que pueda dar click en el texto. Y aquí en el relleno en la parte inferior. Por lo que quería desearlo lejos del fondo. Voy a escribir 20 o 10, 15. Sí, esto se ve mucho mejor. Entonces vamos a usar este año. Y ahora se pueden ver los porcentajes funcionando y esto se ve bien. Muy bien, así que esta fue la imagen de los personajes principales aquí, y tal vez sea demasiado enorme. Tenemos que probarlo en el juego, pero esto está bien por ahora. Entonces a continuación tenemos que hacer la UI por el enemigo. Entonces de nuevo, puedes usar una caja horizontal, y esto es muy sencillo. No necesitamos un bar de salud. Vamos a usar esta caja horizontal. Y por cierto, si quieres cambiar los nombres aquí, así es más visible o más organizado para ti. Puedes hacer click en esta caja horizontal y puedes cambiar el nombre aquí arriba, tal vez HB por bugs horizontales, y solo puedes llamarlo jugador. Por lo que ahora se puede ver de qué se trata. Y para este lo puedes llamar enemigo HB. Y para esta caja horizontal enemigos, quiero ponerla aquí al otro lado de la pantalla aquí. Y de nuevo, queremos añadir una imagen para los retratos. Y queremos agregar algún texto. Justo así. En realidad quiero cambiarlos. Cambiarlos aquí para que la imagen esté a la derecha y el texto esté a la izquierda. Y de nuevo, queremos dar click en este pincel y añadir esta imagen aquí, la imagen 4k. Y el siguiente, éste, este texto va, esto va a ser dinámico. Entonces esto te va a decir cuántos enemigos tienes en el mapa. Entonces digamos 15 por cuatro. Ahora, esto va a cambiar dinámicamente. Entonces en este momento solo escribo un número para visualizar cómo se ve ahora mismo. De acuerdo, Entonces esto se ve un poco, un poco raro. Entonces vamos a hacer click en llenar aquí. Entonces da click en Rellenar y podemos dar click en el cuadro horizontal y realmente jugar alrededor con él. Entonces algo así. Y yo sólo puedo ajustar la imagen aquí así como esto. Y siempre se puede establecer al lado de las capas en edad y en realidad se puede tratar de hacerlas del mismo tamaño aquí. Entonces si lo incremento así así, y es así, está bien, esto se ve bien. Entonces solo queremos hacer algo muy, muy sencillo. Entonces algo así. Y quiero hacer el texto. Entonces este texto aquí está bien. Es, es 2004 y tamaño este es 24 también. Podemos ponerlo en el medio aquí y la alineación central verticalmente. Y podemos cambiar el texto a Montserrat audaz. Podemos agregar algo de sombra. Entonces 33, igual que antes de poner el Alfa a uno. Y aquí podemos un esbozo. Por lo que el contorno podría ser uno aquí. Y ahora tenemos este texto. Ahora podemos cambiar, podemos empujarlo aquí para que pueda dar click en el texto. Y en el relleno a la derecha, queremos alejarlo de los derechos. Para que pueda escribir 20. Justo así. Se puede ver que empuja esta imagen, está bien. En realidad, también voy a querer cambiar el tamaño de la misma. Creo que es demasiado pequeño. A lo mejor 40, así. Y podemos intentar que debamos alejarnos así de nuevo, solo redimensionar la caja horizontal otra vez. Entonces algo así. Ahora tenemos el número y la imagen. De acuerdo, así que esto está bien por ahora. Recuerda que vamos a añadir la funcionalidad en la siguiente lección. este momento solo estamos diseñando. Y lo último que queremos hacer es en realidad la munición y recargar. Entonces aquí abajo en la parte inferior, quiero que se muestre la munición. Y lo que básicamente quiero una imagen de fondo. Y quiero el ícono de bala, y quiero la cantidad de balas. Quiero buscar una superposición. Y así es como lidias con las imágenes de fondo. Pones una superposición como esta. Voy a arrastrar esta superposición desde aquí y arrastrarla hasta abajo aquí para poder verlo así. Pones una superposición y luego le pones una imagen encima. Y luego la superposición es básicamente, se puede. Lei, lei imágenes y artículos encima uno del otro. Eso es justo lo que significa. Y esta imagen, quiero llenar toda la superposición. Por lo que voy a dar clic en esta alineación horizontal y alineación vertical. Ahora está llenando toda la superposición. Puedo cambiar esta imagen aquí, la imagen de fondo a este color negro o este botón oscuro. Pero en mirar cosa. Entonces cambiándolo aquí, poniendo la imagen encima de aquí. Ahora puedes ver que este es el fondo para ello. Y lo que puedo hacer con esto es si solo lo redimensiono y hago que se vea un poco mejor. Ahora, lo que puedo hacer es poner el icono encima de aquí. Queremos el ícono de bala y queremos la cantidad de balas. Por lo que queremos una caja horizontal. Entonces buscando una horizontal, dejándola caer encima de la superposición. Ahora podemos buscar imagen, dejándola caer encima de la caja horizontal. Y también queremos el texto encima del cuadro horizontal, así como esto. Y de nuevo, para la caja horizontal, en realidad podemos hacer la alineación vertical y horizontal así como esto. Ahora podemos hacer, podemos hacer click en la imagen e insertar el icono aquí. El icono de las balas en la parte superior de esta imagen aquí. Y para este texto, podemos cambiarlo de nuevo. Dos meses llegaron en negrita. Al igual que esto, en realidad puede cambiar este texto para decir, por ejemplo, ocho de cada 15. Y lo cambiaremos dinámicamente más adelante. En este momento sólo quiero escribirlo para poder verlo visualmente. Y esta es la cantidad de balas que tienes y la cantidad de balas que hay en tu revista en total, como con lo que empezaste. Y este ícono. Ahora, ahora mismo se está llenando horizontal y verticalmente, y eso no quiero. Entonces voy a dar click en estos dos de aquí. Y ahora podemos ajustar estos tamaños aquí. Para que puedas ajustar el tamaño y ver qué te queda bien. Y no quiero algo demasiado grande. Entonces algo así aquí. Y éste también. Puedes ponerlo en el medio y puedes agregar algo de relleno a la izquierda. Entonces diciendo 15 por ejemplo. Por lo que no está demasiado cerca del ícono aquí. Y ahora puedes hacer click en este cuadro horizontal. Y en realidad en lugar de llenarse horizontal y verticalmente, puedes ponerlo ahora a mediados de este año. Entonces lo estamos poniendo en medio de esta superposición. Ahora puedo cambiar el tamaño de esta superposición e intentar que se vea bien. Ahora agreguemos algo de sombra aquí. Creo que se va a quedar un poco mejor. Entonces en el color de la sombra corriendo uno aquí, y puedo escribir 22, así que sólo un poco de color ligero. Y también una superposición o un contorno. Escribiendo uno aquí. Entonces algo así. Y se puede ver que el icono está mirando un poco fuera aquí. Entonces esto es lo que tienes que hacer en Photoshop. Tienes que añadir sombras y así sucesivamente. Pero esto está bien por ahora para nosotros. Y si quieres estilizar tu IU, por ejemplo, solo puedo mostrarte un ejemplo. Si quieres estilizarlo un poco, tal vez se vea un poco aburrido de fondo. Y esta superposición, recuerda que puedes poner cosas encima de la otra para que pueda añadir otra imagen aquí en la superposición. Y en lugar de ponerlo aquí en la parte inferior, en realidad puedo ponerlo aquí arriba, justo debajo o justo encima de la caja horizontal. Y puedo llenarlo horizontalmente y en realidad alinearlo en la parte inferior aquí. Y puedo agregarle este cuadrado rojo. Y ahora puedo reducir el tamaño en la y, así puedo reducirlo. Y la acción en realidad sólo hace una pequeña línea aquí. Entonces esto es sólo una cosa pequeña, fresca, estilizada. Simplemente lo puedo tener como mi interfaz de usuario así. Y puedo mover esta superposición y en realidad tratar de redimensionarla. Y como sea que te guste, así como esto. Creo que esto se ve bien ahora. Entonces este es el menú que tenemos. Tenemos al jugador y al infierno, tenemos la cantidad de enemigos que están dentro del nivel. Y tenemos la cantidad de balas para cuando dispares. 69. Función UI principal: Muy bien, entonces ahora que estamos terminados con la interfaz de usuario principal, sigamos adelante y codificemos la funcionalidad dentro de ella. Entonces lo que queremos hacer, Volvamos a la UI y como activos precisos y la UI hará clic en el WB principal. Entonces esta es la interfaz de usuario principal que diseñamos. Y dentro de aquí. Y empecemos con la Barra de Salud. Entonces vamos a codificar esta barra de salud, y en realidad quiero cambiar el nombre de la misma para que sepamos qué es. Entonces voy a lo suelo llamarlo Praga o barras de progreso, pero esto es sólo mi convención de nomenclatura. Puedes hacerlo como quieras. Praga y yo sólo lo voy a llamar salud o salud jugador es así. Y yo voy a ir dentro de la gráfica. Entonces en la gráfica, aquí es donde realmente codificamos la funcionalidad. Por lo que esto es conocido por ti. Esto es igual que el jugador controla nuestro modo de juego o cualquier clase de Blueprint que tengamos. Aquí es donde codificamos la funcionalidad. Por lo que voy a pasar el cursor sobre todos estos, seleccionarlos y dar clic en Eliminar solo para eliminarlos. Y puedes ver que tienes algunas variables para los ítems que has creado. Y básicamente estas imágenes, realmente no las queremos como variables porque no las vamos a usar. Entonces si quieres limpiar tu código o limpiar, limpiar tu proyecto, puedes hacer click en estas imágenes y puedes ver en la parte superior dice que es variable y estas nunca van a cambiar en el juego. Entonces voy a eliminar esto es variable y este fondo aquí. Por lo que tienes algún trabajo de limpieza cuando estás haciendo el proyecto, yo también voy a dar clic en este ícono. Y un compuesto guardar. Y puedes volver atrás y está un poco más limpio de mirar. Entonces lo que básicamente quieres hacer es si sacas esta barra de progreso y la pones aquí, la variable. De lo que quieres hacer, si haces click en la barra de progreso, básicamente quieres cambiar eso este por ciento. Por lo que queremos cambiar este porcentaje dependiendo de la cantidad de ayuda que tenga el jugador. Entonces ahora mismo lo voy a poner a 0 o en realidad a 100. Por defecto, aunque esta es la sombrilla 1 y este es el por ciento. Entonces si voy aquí y digo si me arrastro de esto y digo por ciento, se puede decir que dice Establecer por ciento, esto es lo que básicamente queremos hacer. Y quiero hacer un nuevo evento aquí. No pude hacer una nueva Interfaz de Blueprint solo para el menú principal, pero no quiero, van a ser demasiadas Interfaces de Blueprint y en realidad nunca las hacen para los menús. Entonces aquí solo puedo hacer un eventos personalizados y podemos llamarlo sets. salud del jugador va así. Y podemos conectarlo. Y básicamente queremos una entrada aquí. Si hago click en él, quiero agregar una entrada. Y llamémoslo ayuda. Y quiero ser, quiero que sea un flotador aquí. Y puedo conectarlo aquí en la Salud. Entonces va a mostrar la ayuda. Y lo que básicamente queremos hacer ahora es que queremos establecer la salud de los PLOS dondequiera que el jugador se esté dañando. Entonces si minimizo esto y en realidad puedo hacer clic en el jugador y la base de jugadores. Recuerda, en el espacio pleural, en realidad vamos a escribir esto. Esto se ve un poco desordenado y necesitamos una lección, en realidad demasiado limpieza. Por lo que hicimos este llamado cualquier daño. Y aquí los jugadores consiguiendo golpes y dañados. Entonces este es el nuevo valor de salud que establecemos y en realidad queremos mostrar esta salud sobre el valor en el menú. Pero primero agreguemos el menú a la pantalla, por lo que la interfaz principal, principal. Por lo que me gusta agregar mis menús a través del controlador de jugador aquí. Entonces haciendo clic en el controlador del jugador, y dentro del gráfico de eventos, tenemos este inicio de juego, y todos estamos realmente agregamos esta UI de Wave. Por lo que en realidad también quiero agregar la interfaz de usuario principal. Entonces aquí diciendo crea widgets. Y dentro de aquí podemos seleccionar el principal del WB. Y puedo hacer clic derecho y promocionar a una variable, llamarlo WB main. Y lo puedo agregar al puerto de vista de inmediato. Por lo que puedo ver y arrastrar de esto y decir a viewport. Vista al igual que esta. Y si compilo y guardo y hago clic en Play, ya te puedo ver. Tenemos la interfaz de usuario principal dentro de la pantalla, y ahora tenemos algunos errores. Se puede ver que no se está alineando correctamente y esto siempre es bueno agregarlo a la pantalla para que podamos ver cómo se ve. Y podemos arreglar esto con bastante rapidez. Entonces si vuelvo a la carpeta UI aquí abajo, haciendo clic en la interfaz de usuario principal, y vuelvo al diseñador. En realidad puedo hacer clic en esta caja enemiga y horizontal. Y en realidad tenemos que cambiar este ancla. Entonces esto es lo que olvidé. Tengo que cambiar este ancla a este lado de la pantalla. Ahora, en realidad puedo mostrarles lo importantes que son estos anclajes. Porque es aquí donde debería estar la IU, como cuando minimizas la pantalla y cambias el tamaño. Y para éste, el ancla debería estar aquí abajo. Al igual que esto, puedo compilar y hacer clic en Play y en realidad puedes ver ahora se están alineando correctamente. Tan muy importante fijar los anclajes correctamente. Ahora la interfaz de usuario se está mostrando y todo se ve bien. Los tamaños. ¿De acuerdo? Ahora lo que queremos hacer es volver al jugador aquí, base de jugadores. Ahora queremos establecer el porcentaje aquí en la gráfica. Queremos establecer este porcentaje, por lo que establece la salud del jugador dentro del principal del WB. Ahora tenemos una referencia a esto. Ahora dentro del controlador de jugador, acabamos de crear esto. Entonces lo que necesito hacer dentro de la base de jugadores aquí, quiero hacer una jugada de inicio si ya no tenemos una y no queremos guardar empezar a jugar. Y aquí podemos decir que se pone controlador de jugador. Y con éste, podemos decir que consigue jugador controller href. Ya hicimos esta Interfaz de Blueprint hace algunas lecciones. Y podemos conectar esto. Y desde aquí realmente podemos obtener acceso a este principal del WB. Entonces aquí solo puedo hacer clic derecho en esta ley de control de placa y promoverlo a una variable. Y puedo llamarlo controlador de jugador, así como esto. Y ahora tenemos una referencia a este controlador. Entonces esto ahora es muy fácil. Podemos bajar aquí, tomar este controlador de flujo, y ahora podemos usar el WB principal, obtener este WB principal. Y desde aquí en realidad podemos llamar a este evento de un colono euro salud. Por lo que podemos decir establece la salud del jugador así. Y déjame quitar o no quitarme, pero mueva esto por aquí. Y tenemos que conectar esto primero a través del código. Y podemos conectar este valor de salud dentro de aquí también. Entonces algo así. Y en realidad puedo ponerlo aquí arriba para que se vea mejor y tratar de organizarlo lo mejor que puedas. Entonces algo así. Por lo que ahora en realidad estamos estableciendo este valor para la salud. Ahora recuerda si vuelves a la principal del WB aquí, y bajas a la barra de progreso aquí. Y bajas al por ciento. Recuerda que el por ciento va de 0 a uno, No va de 0 a 100. Entonces esto es algo en lo que tienes que pensar porque ahora mismo tu salud es de 100. Y esto significa que es uno aquí en el, en el bar. Por lo que necesitamos dividir el número que este tiene por 100 porque cuando se tiene 100, la salud en realidad es 1 y no 100. Entonces aquí, volvamos a la gráfica aquí. Y en la salud, quiero dividirlo por 100 antes de que realmente lo pongamos dentro del porcentaje aquí, así como esto. Y ahora si guardo aquí y doy clic en play y veo qué está pasando. Te puedes ver cuando nos golpeaban, ahora estamos perdiendo 25 de salud, perdiendo de nuevo. Y ahora estoy muerto. Entonces ahora en realidad está funcionando como se supone. A continuación, queremos contar la cantidad de enemigos en el nivel. Y recuerda, en realidad puedo ir dentro de los planos y dentro del modo de juego. Dentro de aquí hicimos esta variable llamada poetas NME, y en realidad está sumando a todos los enemigos. Lo hicimos hace algún tiempo. Puedes referir hacia atrás si no lo recuerdas. Pero básicamente hicimos una matriz que reúne toda la cantidad de enemigos que tenemos en el nivel. Entonces básicamente necesitamos la longitud de esta variable. Entonces si vuelvo a mi UI y UI principal aquí, puedo dar click en este número. Y este lo puedes llamar en realidad cantidades TXT, NME. Y recuerda tomar esto es variable porque no es una variable como predeterminada. Entonces haga clic en este componente Guardar, y aquí en el gráfico y ahora verlo como una variable. Hagamos un nuevo evento y evento personalizado. Vamos a llamarlo establecer montos NME. Y aquí queremos usar esta variable de texto que puede tomar aquí abajo. Y si escribes texto, puedes ver un par de cosas que puedes hacer. Y básicamente queremos establecer el texto, así que seText así y conectado. Y básicamente queremos ponerlo a la cantidad de enemigos. Lo que podemos hacer aquí es que básicamente podemos agregar un nuevo insumo, igual que lo que hicimos aquí. Otra cosa genial que puedes hacer es que realmente puedes arrastrar esto y ponerlo encima del evento. Y en realidad lo puedes ver. Ultimate crea automáticamente una variable para ti. Y llamemos a sus cantidades enemigas. Si puedo deletrear así. Y queremos llamar a este evento a través de la base enemiga. Entonces si vuelvo al enemigo y alguna base por aquí, tenemos esta llamada quitada, porque cada vez que matas al número de enemigos aquí, va a disminuir en uno y queremos ponerla dentro del botón Eliminar. Por lo que dentro de aquí, necesitamos una referencia al controlador del jugador. Entonces solo lo voy a sumar aquí, en realidad, justo después, después de los modos de juego, voy a mover un poco esto. Y en lugar de aquí decir obtiene controlador de capa, y luego obtiene capa. Controlador ref, al igual que esto. Y aquí queremos hacer clic derecho promueve una variable, llámala laboratorio en polar. Y ahora tenemos una referencia al controlador del jugador. Y puedo acercar esto un poco más. Y lo que podemos hacer ahora que tenemos una referencia a lo que puedo hacer ahora es bajar al vínculo Eliminar. Y aquí puedo llevar el controlador del jugador y puedo tomar la referencia a la interfaz principal. Y desde aquí, ahora puedo llamar al evento llamado set it ME cantidad. Entonces por aquí, voy a decir set en ME cantidad. En realidad voy a mover todo hacia abajo para que tengamos más espacio con el que trabajar. Al igual que esto, moviendo todo hacia abajo. Y puedo mover esto aquí arriba. Y ahora tenemos más espacio con el que trabajar. Y puedo empujar esto, pero más lejos. Y ahora podemos establecer la cantidad enemiga y ¿qué es entonces la cantidad? Es básicamente la longitud de esta variable aquí, esta matriz. Entonces puedo tomar esta longitud y en realidad ponerla dentro de aquí. Y va a convertir automáticamente el entero a un texto y lo pondrá a través de esta información. Ahora, puedo tratar de dar click en Play y ver qué pasa. Para que podamos jugar. Ahora, básicamente estoy diciendo 15. Y creo Tololwa. Ahora está diciendo 14. 13 y en deuda porque me destrozaron. Y creo que es un poco bicho desde el principio. Modificar, cambiar el número aquí. Entonces si voy a principal y cambio este número aquí, me cambia a, digamos 12. De acuerdo, mira ahora diciendo 12. Y si debería uno socializando 14 ahora, y esto no es correcto porque recuerden desde el principio en realidad no estamos fijando la cantidad de pons aquí, los estanques enemigos, porque sólo lo estamos poniendo cuando matamos a uno. Entonces tenemos que hacerlo desde el principio también. Entonces dentro del modo de juego, cuando engendramos a estos enemigos, en realidad queremos, queremos añadirlo aquí donde sumamos a los enemigos. Entonces recuerda hacer eso aquí también. Para que yo pueda subir aquí y empezar a jugar y hacer lo mismo, conseguir controlador de jugador. Para que veas que estamos haciendo lo mismo una y otra vez. Y tenemos que hacer eso para configurar el código. Pero una vez que está configurado, en realidad podemos usarlo mucho más rápido que antes. Entonces diciendo controlador de jugador aquí, teniendo esta variable, ahora podemos usar esta variable aquí abajo, tomando este controlador negro, teniendo una referencia a la interfaz de usuario principal. Y desde aquí podemos decir la cantidad enemiga establecida. Por lo que establece montos NME. Puedo arrastrar esto aquí abajo y puedo ponerlo aquí. Puedo mover esto un poco más lejos. Entonces así como esto, y de nuevo, usamos la longitud de la misma y podemos arrastrar esta longitud y ponerla dentro de esta cantidad. Y tenemos que mover esto un poco más lejos para que no esté apilado uno encima del otro. Al igual que esto. Organizémoslo en un poco cuando digas que es correcto. Entonces da click en compilar y podemos dar click en Play. Ve que ahora está sumando la cantidad de enemigos. Y un bug que puedo ver es si hago clic en Play, realidad lo puedes ver diciendo 0 y hago clic en play, en realidad no 0. Es decir 12, la cantidad que en realidad fijamos, si hago clic en Play, podemos verlo dice 12 antes de que cuente. Entonces este es un pequeño bug que tenemos y solo podemos ir dentro de la principal aquí y hacer clic en este número y escribir 0 para empezar. Pero ahora otro error que tenemos, se puede ver que la imagen es una especie de ser empujada cuando el contador está pasando. Entonces lo que en última instancia está pasando es si volvemos al principal del WB y hacemos clic en este número, En realidad es porque está cambiando este número y está empujando esta imagen todo el tiempo, que está cambiando, así como así. Y realmente no queremos hacer eso. Y podemos alinear esto, esta imagen aquí, la alineación horizontal a la derecha. Y ahora podemos dar click en este relleno. Y aquí puedes ver ahora si cambiamos el tamaño esto no va a empujar la imagen a menos que esté muy cerca de lo que está, solo podemos redimensionarla un poco más lejos, así como esto. Y en realidad puedes poner esto derecho a 0 y salir. Entonces el texto, el relleno de texto. Por lo que ahora puedes ver en realidad podemos simplemente cambiar el número y no afectará esta imagen. Y volvamos a poner eso de nuevo a 0. Pongámoslo quizá un poco más cerca. Y si compilamos y hacemos clic en play aquí, se puede ver que ahora está contando sin molestar la imagen aquí. De acuerdo, entonces lo último que nos falta es la cantidad de munición aquí abajo. Por lo que al hacer clic en este texto, puedo cambiar el nombre a TXT y bajo, así como así, y Componer y Guardar. Y al igual que antes, volvamos a la gráfica. Hagamos un eventos personalizados y llamémoslo dicho munición. Y aquí podemos sacar estas variables para que no la hayamos convertido en una variable. Entonces si hago clic en él y hago clic en la variable S, puedo dar click en la gráfica, echa un vistazo a esta munición aquí. Y puedo decir set text igual que antes. Entonces SetText. Y básicamente aquí queremos establecer cuántas balas tienes en este momento y cuántas balas tienes en total. Y para ello, tenemos que usar algo llamado formato texto. Dar formato al texto porque queremos que el texto cambie dinámicamente. No queremos que sea estático al igual que este año. Y realmente no podemos hacerlo así porque este es un solo número y esto es, esto es muy fácil de trabajar. Pero ahora tenemos en realidad dos números. Tenemos éste y éste para cambiar dinámicamente. Por lo que tenemos que usar un texto en formato. Y en este, para lo que está cambiando dinámicamente, que escribir un corchetes rizados escribiendo 0 y luego escribir el corchete rizado cerrándolo. Y luego tienes que escribir el texto para lo que quieras escribir. Y ahora solo quiero esta barra aquí porque quiero, quiero esta rebanada aquí. Y luego quiero de nuevo aquí el texto dinámico. Porque puedo, solo puedo entrar ahí derecha 15, como un texto estático. Pero tal vez tendría otra arma y en realidad podemos hacerla dinámica. Entonces haciendo de nuevo este corchetes de color, puedo escribir uno aquí en lugar de 0. Y ahora podemos ver ahora tenemos dos variables Podemos sumar. Entonces si cualquier variable que agrego aquí se mostrará aquí, y cualquier variable que agrego aquí se mostrará aquí. Ahora puedo conectar esto al texto así. Y ahora en realidad podemos sumar estos al evento. Entonces para el evento, el MO es básicamente un entero. Entonces voy a crear nuevas variables aquí. Y a la que se le va a llamar munición actual, y a la otra se le va a llamar max AML. Y tendremos que cambiar estos en un entero. Entonces si conecto esto al M0 actual y puedo vincular esto al max m l así como esto. Por lo que los MOs actuales se van a mostrar aquí y el máximo va a ser, para mostrarse aquí. Entonces lo que puedo hacer ahora es que tengo que llamar a este max en este set MO en algún lugar. Y tengo que hacer eso en la base de jugadores porque en la base de capa IP, recuerden que hicimos esta variable munición. Y si voy aquí, tenemos esta variable que hicimos llamada munición. Y en realidad llamemos a este M0 actual. Entonces voy a cambiar el nombre de éste. Llamémoslo actual M0. Y también necesitamos uno llamado max M0 va así. Y podemos cambiar a un entero y el MO máximo es de 15, y el M0 actual, también podemos empezar con 15 para empezar. Entonces el máximo aquí, en realidad podemos arrastrar este entero ahora y ponerlo aquí. Por lo que llamarlo máximo munición y el mínimo es 0. Entonces lo que podemos hacer ahora es que en realidad podemos arrastrar esto aquí. Antes de hacer este cheque por aquí, podemos arrastrar esto y necesitamos llamar a este evento de munición set desde la interfaz principal. Ahora ya tenemos una referencia al controlador del jugador. Nosotros hicimos eso. Por lo que en realidad podemos arrastrar esto y decir principal. Y ahora podemos decir armar munición, prenderlos. Y en realidad podemos usar esto. Y vamos a conectarlo por aquí. Entonces conectándolo. Y ahora podemos decir ¿cuál es la AML actual? El munición actual Es este Memoránime tiene aquí mismo. Y la munición máxima es justo este MR que tenemos justo aquí. Entonces ahora se ve correcto. Y déjame organizarlo un poco para que no sea demasiado desordenado aquí. Al igual que esto. Entonces si compilo, guardo y puedo dar click en Play, puedes ver ahora mismo está diciendo 815 porque no hemos establecido la munición inicial. Pero si hago clic, se puede decir sexual correcto. Ahora es correcto. Y puedo golpear 0 y ahora puedo dar click en Arch recargar. Y ahora puedo ver cuando recargo, No es mostrar nada pero cuando llené está mostrando así que tenemos que arreglar eso. Entonces si vuelvo al jugador, base de jugadores aquí, India, empiezo a jugar. En realidad tenemos que establecer la AML también. Entonces aquí puedo tomar esto, copiar esto, y pegarlo aquí. Y puedo conectarlo así como así. Poner la munición máxima y la demo actual. Entonces tenemos que comprobar eso, justo cuando empezamos a jugar. Y también tenemos que hacerlo cuando recarguemos. Por lo que dentro de la recarga, dijimos esto, este animal de aquí. Entonces podemos copiar esto por aquí y pegarlo aquí abajo. Y lo que podemos hacer está conectado y en el actual MO, puedes conectarlo aquí y en el anaeróbico máximo y conectado aquí. Por lo que ahora debería funcionar como se supone. Entonces si hago clic en Guardar y hago clic en jugar, dice 15 de 15 como se supone. Y ahora mismo tengo 0 y si recargo, va a volver a 15. Entonces ahora está funcionando como se supone. 70. Diseñar el juego sobre la UI: Por ahora estamos listos para crear el juego sobre UI. Y para este, adelante en la carpeta UI y vamos a hacer clic con el botón derecho y hacer un nuevo Widget Blueprint. Vamos a llamarlo w, se acabó el juego. Y ahora puedo hacer doble clic en él. Y lo que básicamente quiero hacer para la interfaz de usuario de GameOver es básicamente tener un texto diciendo que has muerto en la onda 13, por ejemplo, y luego tener un botón debajo de ella diciendo volver al menú principal. Cosas tan muy sencillas. Ahora, ya que necesitamos un texto y un botón debajo de él, básicamente necesitamos un bichos verticales. Por lo que buscando caja vertical, lo puedo agregar aquí. Y ahora podemos encontrar un texto. Y ahora podemos, estamos tentados a simplemente poner un botón aquí abajo, porque si solo lo arrastro hacia abajo para que en realidad lo puedas ver mejor visualmente. Entonces si arrastro esta vesícula con micrófono aquí abajo, y ahora necesitamos un botón aquí abajo debajo de los textos, pero este botón también tiene texto encima. Entonces en realidad necesitamos una superposición antes de añadir el botón. Entonces ahora que tenemos la superposición, podemos agregar el botón así encima de la superposición, y luego podemos poner el texto encima de la esfera. Entonces ahora tenemos un botón y un texto uno encima del otro. Y este botón, podemos dar click en él. puede ver que es muy pequeño en este momento. Y esto se debe a que necesitamos llenarlo horizontal y verticalmente. Y ahora cuando elimino estas líneas discontinuas para que podamos verlo mejor porque tienes un botón y tenemos un texto encima. De acuerdo, Entonces el diseño en el que podemos enfocarnos en un poco, pero ahora empecemos con este texto aquí. Por ejemplo, has muerto en la ola 13. Y este será un texto dinámico dependiendo de la ola que hayas alcanzado. Entonces ahora mismo está justo ahí para nosotros visualmente. Y podemos cambiar el texto a Montserrat audaz. Podemos cambiar el tamaño a tal vez 13 en lugar de 24. Y podemos añadir una sombra. Entonces aquí abajo en el color de la sombra, podemos poner el Alfa a uno. Y en el y aquí, sombra offset x e y, podemos ponerlos a tres para que la sombra sea más visible. Y podemos poner el tamaño del contorno aquí. Podemos ponerlo a uno, así como esto. Entonces ahora tenemos este texto. Y a continuación necesitamos este botón por aquí. Entonces puedo hacer esto más grande, así como esto. Y para este botón, si hago click en él ahora, puedes ver aquí ahora podemos añadir el estilo del botón. Entonces el estilo normal del botón, en realidad quiero volver a la UI y los activos. Y quiero usar este botón azul por aquí. Tan azul, botón cuadrado azul. Para que lo pueda poner encima de aquí. Y ahora se puede ver que es, es un poco de color diferente y esto está pasando, nos pasó antes de la barra de progreso. Y esto se debe a que el color aquí está mal. Entonces el tinte aquí, en realidad quiero que sea totalmente, totalmente blanco aquí. Y otra cosa que puedes ver, se ve muy raro aquí todavía. Y esto se debe a que lo está dibujando como una caja redondeada. Se puede tratar de elegir cuadro en su lugar o elegir un borde o imagen. Pero ahora mismo, elijamos una caja y fijemos el margen en 0.2. Ahora podemos ver que se ve más correctamente ahora. Y sigue siendo muy enorme. Y esto se debe a que en realidad está llenando tanto horizontal como verticalmente. Se puede tratar de ponerlo en el medio si se quiere. Y puedes cambiar el tamaño de este, este botón aquí. Entonces a algo estás satisfecho con ello. Entonces tal vez algo como esto. Y si quieres hacer este botón, sombra de botón menos, básicamente puedes aumentar y disminuir este margen. Y cuanto más lo disminuyas, menos será. Entonces algo como esto en realidad se ve, se ve bien. Entonces este es el botón y en realidad podemos alinear este texto en el medio también. Por lo que puedo alinearlo horizontalmente en el medio. Y para este texto, también puedo ponerlo en el medio, vertical y horizontalmente. Entonces está en medio de este botón. Por lo que ahora puedes intentar jugar con lo grande que quieres que sea este botón. Y algo así estaría bien. Pero veamos qué tan grande será este texto. Entonces si estamos justo aquí, vuelve al menú principal, algo así. Y podemos cambiar esto a Montserrat audaz. Podemos tal vez disminuir el tamaño de esto a 18. Sí, 18 está bien. Y quiero poner una sombra igual que antes de poner esto a 22, tal vez no a 33 o 34 años. Probemos eso. Ahora eso es demasiado. Por lo que el 22 y el desplazamiento de la sombra y el contorno pueden ser uno igual que antes. Y en realidad podemos cambiar la sombra para que sea 0.5 en su lugar. 0.81 es el único que trabaja. De acuerdo, así que esto está bien por ahora. Y lo que podemos hacer es ahora quiero cambiar el tamaño del botón un poco más, algo así. Entonces ahora tenemos este botón y podemos alejar esta superposición de este texto. Entonces aquí en el relleno desde arriba, podemos empujarlo desde arriba, tal vez 20 píxeles como este. Al igual que esto. Y ahora tenemos esta caja y puedes ver otra cosa que puedes hacer si quieres que sea más dinámica. Para que veas que es dinámico de esta manera. Entonces cuando lo redimensionas de esta manera es dinámico, pero cuando lo redimensionas de esta manera, no es dinámico. Para que en realidad puedas hacer eso. Y eso me gusta aún más que, que sólo estar decidida. Por lo que normalmente trato de hacer que toda mi interfaz de usuario sea dinámica. Y esto es porque hay que alinearlo aquí verticalmente en la parte inferior. Por lo que esta superposición, y luego tienes que dar click en Rellenar. Entonces ahora puedes ver que en realidad es dinámico aquí así como aquí. Y lo que suelo hacer en lugar de dos, hago clic en esta superposición y en realidad elimino este relleno. Entonces no me gusta usar este relleno si realmente puedo salirme con la suya. Por lo que ya puedes intentar cambiar el tamaño de esta caja. Y se puede ver, en realidad se puede hacer esto sin el relleno ahora. Por lo que me gusta hacerlo de esta manera. ¿ Y cómo lo colocamos en medio de la pantalla? Por lo que tenemos que colocar este ancla dando click en este ancla dando click en el medio. Y si lo estás, si estás justo aquí en la posición 0, 0. Ahora se puede ver que en realidad está anclando a esto, este punto de pivote por aquí. Y esto se debe a que la alineación aquí, hay que jugar con las alineaciones. Entonces este es el eje x y tiene que ser 0.5 y la y tiene que ser 0.5 también. Por lo que ahora esto lo alineará en medio de esta caja. Por lo que ahora está en pleno medio de la pantalla. Si quieres, siempre puedes dar click en el texto y darle un color pequeño si quieres hacerlo un poco más a esto, al zapato, me gusta esto tal vez. Y estoy dando click en OK, y ahora tenemos este botón. Y otra cosa es que puedes hacer click en este texto aquí arriba y tal vez puedas hacerlo un poco más rojizo. Y ahora tenemos nuestro juego sobre UI. 71. Función sobre la UI del juego: Ahora estamos listos para agregar alguna funcionalidad a esta interfaz de usuario que hemos creado. Y básicamente pasemos a la gráfica. Y antes de hacer esto, realidad hagamos click en este texto aquí, y llamémoslo onda de texto. Y éste, vamos a dar click en el botón y llamarlo botón menú principal. Y a éste podemos llamar texto menú principal. Entonces ahora tenemos un poco de organización aquí. Por lo que compilar, guardar y hacer clic en esto, has muerto texto de la UI y hacer clic en esto es variable porque queremos que sea una variable. Por aquí en la gráfica, están en la ER, en la gráfica. En realidad podemos eliminar estos, estos eventos. Y podemos tomar nuestra UI de Wave y dar click en SetText. Y de nuevo, tenemos que usar un texto de formato para éste. Entonces hagamos un evento personalizado y llamémoslo juego sobre ola por ejemplo. Y podemos establecer este texto. Y lo que podemos hacer con esto es que podemos escribir el texto en formato. Podemos conectar este texto aquí. Y ahora lo que queremos decir es que básicamente quiero copiar mi texto aquí y pegarlo aquí. Por lo que has muerto en la ola 13. Y en lugar de escribir 13, podemos escribir los corchetes rizados, escribir 0 y escribir este final, corchetes rizados, haciendo clic en interior. Ya puedes ver esto. Y éste es básicamente el texto. Entonces si hago clic en este evento personalizado y hago clic en Crear entradas y lo configuro en texto. Y yo lo llamo onda de varianza. Al igual que esto. Y puedo dejarlo aquí. Y básicamente recuerda, no tenemos un número de la onda actual y en realidad te voy a mostrar, hecho vamos a trabajar con ella primero para que veas lo que está pasando. Entonces ahora tenemos, tenemos esto aquí y necesitamos poner este juego sobre ola en algún lugar del código. Ahora podríamos seguir adelante y volver a nuestro modo de juego. Recuerda en el modo de juego, tenemos, este es en realidad el controlador de jugador y el modo de juego. Por lo que yendo dentro del modo de juego, tenemos aquí este contador de olas. Por lo que podemos usar este para acceder realmente a la información. Y podríamos simplemente ponerlo aquí, el contador de olas, y podríamos establecer el código aquí. Pero esto también es mala práctica porque realmente no queremos establecer texto. Nosotros queremos, no queremos poner este texto cada vez que tengas una nueva ola, solo necesitamos verlo cuando hayas muerto. Entonces es por eso que realmente quiero hacerlo cuando el jugador está muerto. Entonces aquí, cuando tenemos la muerte de Jugador, aquí, tiene más sentido hacerlo aquí porque este código sólo se ejecuta una vez cuando el jugador es que no queremos ejecutar este código todo el tiempo y ponerlo a pesar de que no lo vas a necesitar. Entonces es mejor hacerlo aquí cuando el jugador va a morir. De acuerdo, así que hagámoslo aquí. Y primero, pasemos al controlador del jugador y en realidad agreguemos esto aquí. Por lo tanto crea widgets. Y vamos a crear el GameOver vino aquí. Y vamos a promoverlo a una variable y llamarlo WB juego terminado. Y realmente no necesitamos agregarla a la ventana gráfica porque sólo necesitamos agregarla cuando el jugador está muerto. Entonces vayamos a la base de jugadores. Y aquí ya tenemos una referencia de controlador de jugador. Entonces aquí al final en realidad quiero tomarlo y decir juego del WB terminado. Y ahora podemos acceder a nuestro, volvemos aquí. Ahora podemos acceder al juego sobre ola. Por aquí. Voy a decir juego sobre ola, así como esto. Y básicamente también necesitamos una referencia al modo de juego porque en realidad necesitamos contador de ondas aquí. Entonces si voy al modo de juego, necesitamos esta variable de contador de ondas. Entonces en realidad quiero crearlo aquí arriba. Entonces después del controlador de jugador y, y antes de la munición, quiero decir conseguir el Modo de Juego y obtener gráfico de Modo de Juego. Y aquí podemos conectarlo y luego promoverlo a una variable y llamarlo. Modo de juego. Va así. Ahora puedo conectar el código y ahora tenemos una referencia al modo de juego. Entonces básicamente hecho aquí, lo que queremos hacer es decir, consigue modo de juego. Esta, esta es la variable, o simplemente podría haberla arrastrado desde aquí. Y aquí se puede decir ola. Entonces queremos la variable de onda y la variable de onda. Puedes enchufarlo aquí, pero esto en realidad va a estar ahí. Habrá un pequeño insecto, tenemos que decir menos uno. Porque recuerda aquí en la ola, en el modo de juego, aquí cada vez que engendramos una amina. Entonces esta es la ola actual que estamos engendrando enemigos. Vamos a decir aquí al final, vamos a decir el contador de olas. Y el contador de olas va a decir plus, plus. Entonces, a pesar de que estamos en la onda 1, realidad estamos contando esto y configurándolo para que la onda dos. Entonces en la onda uno, estamos engendrando enemigos. Y al final de este desovador enemigo, estamos viendo más 1. Entonces esta ola en realidad va a ser dos porque un examen que engendramos, estamos listos para engendrar olas para el nivel 2 y el lunes en este enlace ha terminado para la onda 2. En realidad va a poner esta variable a Wave 3 y simplemente guardarla ahí hasta que hayamos matado a todos los enemigos. Y luego va a engendrar enemigos para la tercera semana. Entonces básicamente en realidad es decir Wave 2. Entonces tenemos que decir minús1 si necesita ser correcto aquí. Entonces le voy a restar uno aquí. Y básicamente eso es lo que quiero hacer. Y solo conéctalo aquí. Y va a convertirlo en un texto en lugar de un entero. Y ahora tenemos esto, dijo esto correctamente. Y entonces tenemos que añadir esto a la vista. Por lo que arrastrando de esto y digamos Agregar a Ventana, porque ahora realmente vamos a querer mostrarlo. Pero antes de mostrarnos, en realidad también tenemos que quitar la interfaz de usuario principal de la ventana gráfica porque no queremos generar esta interfaz de usuario de GameOver y la interfaz de usuario principal. Entonces lo que puedo hacer es intentar hacerlo así. Cállate un poco. Y aquí también puedo decir esta IU principal, cigarrillos principal UI y decir quitar de los padres, quitado de los padres. Y podemos eliminar esta IU principal antes de añadir este juego sobre la interfaz de usuario, se ve así. Entonces no es demasiado confuso. Por lo que estamos quitando la interfaz de usuario principal antes de poner el juego sobre la interfaz de usuario en la parte superior aquí. Y básicamente podemos hacer click en Play y ver qué pasa. Entonces jugando aquí, y estoy jugando a matar, voy a morir. Ya puedo ver ahora en realidad tenemos la interfaz de usuario de GameOver. Pero ahora te darás cuenta de que no puedes, no tienes un ratón para hacer clic en nada y puedes arreglarlo. Entonces volviendo a la UR, el código aquí, la base de jugadores, aquí queremos, desde el controlador de jugador, hay algo. Si vuelvo al controlador del jugador en los valores predeterminados de la clase y veo algo llamado show mouse cursor. Y esto es en realidad lo que queremos hacer. Entonces si reviso desde este controlador de jugador, o en realidad, lo llevaré aquí otra vez, así que no se está poniendo demasiado desordenado. Estoy tomando el control de placa o referencia. Digo que muestre a mi ratón. Por lo que este conjunto muestra cursor del ratón. Y quiero mostrar el cursor del ratón así como esto. Y esto es en realidad todo lo que teníamos que hacer. Y también estamos teniendo otra caja. Entonces si hago clic en Play, puedo ver que soy yo corriendo por ahí. Me estoy destrozando hasta la muerte. Y ahora puedes ver, en realidad puedo ver a mi ratón y puedo dar click en esto aquí. Se puede ver que el botón se está molestando un poco. Y yo en realidad, también lo puedo mostrar en C y sacudió mi arma cuando estoy muerto hasta que no tenga MR probablemente pueda recargar esto y pueda disparar. Por lo que también tenemos que comprobar que no se puede disparar cuando estás muerto. Y la otra cosa es que este botón se está molestando. Entonces vamos a repasar y arreglemos el botón primero. Entonces en la UI y el GameOver y el diseñador, Así que este botón por aquí, tenemos que aplicar lo mismo a los hovered impresionados, este es el problema aquí. Entonces ve, pasando a los activos y sólo arrastrando y la imagen Hoover y en imagen deprimida. Puedo mezclarme así. Y puedo quitar el tinte igual que antes, tanto el Hubbard como oprimido dan click en la tierna, quitándola. Y básicamente cuando pasas el ratón sobre él, quiero hacerlo un poco más oscuro para que veas que estás rondando. Y cuando estés presionado aquí, quiero que sea un poco más oscuro. Tenían esto más y efecto click. De acuerdo, Entonces esto es todo lo que teníamos que hacer y en realidad también tenemos que ajustar este tamaño de imagen. Puedo copiar de cuidado de rifle, y puedo hacer clic derecho y pegarlo encima de este hovered. Y esto presionó así. Entonces otro bicho aquí con el botón. Entonces si hago clic en jugar y me matan, trataré de enseñarte algo nuevo aquí. Para que podamos ver, puedo pasar el cursor sobre este botón. Pero cuando me muevo sobre el texto, En realidad no está reaccionando. Es sólo alrededor de este texto. Y este es otro trabajo. Podemos simplemente arreglarlo en un rato. Por lo que pinchando en el juego por aquí. Por lo que el error aquí no es detectado. Por lo que para ti da click en el texto y vas aquí abajo. Es por esta visibilidad, se llama visible. Si haces click en este, ninguno hit comprobable. Entonces esto significa que esto no le gusta. El sexo realmente no importa. Realmente no necesitamos dar click en este texto. Este texto está justo ahí, son asmáticos. Esto es lo que ningún hit comprobable significa. Para que puedas ver realmente puedo encima de este texto aquí, así como esto. Ahora lo es, está funcionando correctamente. Ahora está diciendo que este juego sobre widget que agregamos a la ventana gráfica ya está en la pantalla. Lo último que queremos arreglar como en realidad el jugador disparando. Entonces hagámoslo aquí antes de que lo olvidemos. Y básicamente está aquí en el fuego. Entonces si subo aquí y tenemos este evento de incendio, y lo que queremos hacer es solo comprobar si el jugador está muerto o no. Por lo que ya hemos tenido esta deuda booleana y podemos decir sucursal. Entonces si el jugador es que si es cierto, no hagas nada más que solo por legibilidad, me gusta escribir nueces. Entonces si el jugador no está muerto, podemos seguir adelante y disparar. Al igual que esto. Todo debería funcionar si hago click en Play. Y ahora matándome. Se puede ver que en realidad no puedo disparar el arma. Y otra cosa que me estoy dando cuenta, cuando pasas por alto esta caja, hay un mínimo borde negro alrededor de ella, y eso no quiero. Y en realidad tenemos que cambiar esas dos cajas igual que la normal de aquí. Entonces voy a cambiar este bichos redondos en una caja y esta ronda bugs y Toolbox, y esto es para el estado hovered y prensado. Entonces voy a cambiar este margen. Solo puedo copiarlo bien con copiar y pegarlo encima de estos márgenes, así como así. Y ahora debería ser arreglado y todo debería estar funcionando como se supone. Entonces ahora cuando nos están matando, puede ver que todo está funcionando y que los botones se ven bien. Y tal vez necesito hacerlo a pantalla completa para que veas lo que está pasando. Entonces cuando estaba trabajando y podemos dar click en volver al menú principal, pero en este momento no tenemos un menú principal y básicamente vamos a añadir este botón MainMenu. Una vez que hemos creado un menú principal. 72. Crear el fondo de menú principal: Está bien, entonces esta es una lección más interesante. Aquí realmente vamos a diseñar el menú principal. Por lo que quiero hacer un fondo 3D antes de añadir cualquier botón. Y sólo para hacerlo un poco más rápido, Pasemos a mapas. Y básicamente el menú principal es su propio mapa. Por lo que en realidad estamos haciendo el menú principal fuera de este mapa. Así es como se suele hacer. Por lo que podemos hacer clic derecho en este mapa de mentalidad. En realidad podemos simplemente duplicarlo porque quiero este entorno aquí. Para que puedas hacer clic derecho en duplicarlo y llamarlo Mapa menú principal. Y básicamente tenemos este menú principal, podemos hacer doble clic en él, puedes guardar seleccionado. Y desde este menú principal, realmente no necesitamos esta navegación. Entonces haga clic en este volumen de límites de navegación, podemos eliminar eso. Y básicamente todo está bien. Por lo que este refundir malla Nav. Podemos borrar eso también. Y básicamente todo lo demás está bien. Y lo que queremos hacer es sólo una pequeña escena cinematográfica. Entonces queremos al personaje. Entonces llevemos a este jugador aquí, esta, esta máquina. Para que pueda colocar a este tipo aquí y el nivel. Y puedo, en lugar de usar el Blueprint de Animación, en realidad puedo usar un activo de animación. Por lo que realmente podemos elegir nuestra propia animación para lo que realmente queremos hacer con ellos. Y básicamente lo que quiero hacer con él está en los activos aquí en las animaciones de personajes y en su rifle de recarga como y ponerlo aquí dentro de esta animación. Y se puede ver aquí esta es entonces la posición inicial. Y básicamente puede cambiar esta posición inicial. Para que se pueda ver, se puede hacer una escena cinematográfica a partir de esto. Y básicamente, sólo quiero que se vea así. Entonces luciendo bastante cool y el fondo. Y aquí tratemos de crear una cámara cinematográfica. Entonces básicamente puedo ir aquí en el create, en cinemática. Y podemos crear este llamado actor de cámara de signos. Por lo que queremos crear esto. No sé dónde está, Está aquí abajo. Entonces podemos arrastrarlo es solo moverlo para que podamos tenerlo aquí. Y básicamente podemos rotarlo 90 grados así. Y en realidad lo que puedes hacer, o vamos, intentemos primero ajustarnos así. Y lo que puedes hacer es hacer clic derecho en él y dar click en piloto. Por lo que pilotar significa que vas dentro de la cámara. En realidad puedo controlarlo así para que puedas escribir para moverlo bien tu teclado. Y si quieres que algo sea muy específico, en realidad puedes cambiar los valores por aquí. Para que puedas ver, también puedes arrastrar y cambiar los valores por aquí. Entonces básicamente quiero que los botones estén aquí a la izquierda. Entonces quiero que el personaje sea mayormente a la derecha aquí. Entonces algo así. Y en realidad queremos que estén cerca aquí. Y lo que básicamente puedes hacer en realidad, quiero cambiar esta película digital a una DSLR porque una DSLR hace un mejor efecto de desenfoque empatado para seguir ajustando hasta que esté satisfecha con ella. Y creo que algo así. No tenemos que hacerlo súper hardcore. Simplemente podemos hacerlo así. Y ahora estoy satisfecho. Y básicamente lo que puedes hacer es hacer click en esto aquí, el enfoque manual. Puedes intentar cambiarlo y ver dónde tú, dónde quieres enfocarte. Pero antes de hacer esto, realidad puedes hacer clic en este Draw Debug, porque cuando lo disminuyas, puedes ver realmente dónde se está enfocando. Y básicamente quieres enfocarte en este personaje aquí. Entonces arrastrando esto hasta aquí así. Y ahora puedo eliminar esta depuración. Y se puede ver que en realidad se está centrando en este personaje ahora. Entonces si hago clic en G para eliminar todos estos iconos y líneas y ver así es como se ve en este momento y se ve bastante cool. Y puedes hacer click en F 11 para ver cómo se ve en pantalla completa. Entonces este es nuestro trasfondo. Y puedes básicamente, si quieres, puedes agregar algo también en segundo plano para que puedas hacer click en el jugador a él aquí y en el fondo. Justo así. Y de nuevo, puedes usar una animación personalizada y puedes hacer clic en las animaciones de personajes de activos. Y podrías hacer click en esta jarra. Entonces está corriendo a algún lugar. Justo así. Y básicamente puedes usar esto como tu pantalla principal de UI. Entonces este es el menú principal y básicamente solo queremos que aquí se muestren los botones. De acuerdo, entonces ahora podemos inyectar esta cámara. Y si tienes miedo de mover esta cámara, porque ahora es correcta y perfecta. Puedes hacer clic derecho en esta cámara en la transformación. Puedes hacer click en Bloquear movimiento de actor. Entonces ahora realmente no se puede arrastrar por error. Aquí no se puede mover por error. Entonces esto es bastante guay. Y básicamente en la edición, en la configuración del proyecto, ahora podemos ir dentro de mapas y modos. Y en el editor Startup Map, puedes arrancar en el mapa principal como este es el mapa de lucha, este es el mapa del juego. Pero el juego Default Map. Quieres que el jugador inicie en el menú principal. Por lo que hay que seleccionar el menú principal Mapa para el juego Predeterminado. 73. Diseñar el menú principal: Sí, ahora estamos listos para crear los botones para el menú principal y aquí podemos hacer click derecho dentro de la carpeta y crear en las interfaces de usuario las cuales blueprint, llamémoslo menú principal. Ahora entremos aquí y éste va a ser bastante rápido Y en lugar de aquí básicamente queremos botones, queremos un botón para iniciar el juego y queremos un botón para salir del juego. Entonces básicamente primero necesitamos una caja vertical para poner estos botones y luego necesitamos una superposición porque los botones tienen texto encima de ellos. Entonces necesitamos un botón y el texto. Entonces esta superposición aquí, en realidad puedo tomar esta caja vertical, hacerla más grande, arrástrela hacia abajo y pongamos un botón encima de ella y pongamos un texto encima de este botón. Entonces básicamente puedo copiar esto, pero vamos a darle estilo como un solo botón y entonces realmente podemos copiar este botón. Ahora podemos cambiar el punto de anclaje de esta caja vertical porque quería estar en el medio aquí, a la izquierda, así como así y podemos ajustar la posición más adelante. Entonces primero estoy dando click en este botón aquí y lo estoy llenando vertical y horizontalmente. Entonces puedo ver todo el botón aquí y justo como lo que hicimos antes. Vayamos a los activos aquí y para el botón de inicio del juego, quería ser azul así. Por lo que puedo arrastrarlo dentro del estado normal aquí. El estado de Harvard y el estado prensado. Entonces ahora tenemos este botón y voy a cambiar todos estos colores aquí. Los tintes blancos y blancos así y blancos como este año, así como así. Y para el estado de Hobart lo voy a hacer un poco más oscuro. Entonces cuando pasemos el ratón sobre él, va a estar más oscuro. Y cuando lo presiones va a estar aún más oscuro aquí. Entonces tenemos esto más y presionar efecto Ahora de nuevo, voy a cambiar la caja Redondeada a una caja y escribiendo 0.4 aquí, voy a copiar este margen y pegarlo encima del margen aquí. Entonces cambiemos este por una caja. También Este también. Y enfrentemos aquí el margen para ello también. 0.4 y 0.4. De acuerdo, entonces ahora en realidad podemos ajustar el tamaño de este botón, no creo que deba ser tan grande. Entonces básicamente lo que podemos hacer es ajustar la X. R D, Y. Lo siento, así podemos ajustar la Y. Aquí. Y para este texto, también puedo ponerlo en el medio, así que pinchando sobre el texto, puedo centrarlo vertical y horizontalmente y puedo cambiarlo dos meses, ¿eso es audaz? Y éste? Piensa que podemos reducir el tamaño 2 18. Y tratemos de escribirlo con mayúsculas. Entonces voy a decir iniciar juego así. Y básicamente podemos cambiar el desplazamiento de sombra a dos y dos y uno derecho en el alfa. Entonces en realidad podemos ver la sombra aquí y para los ajustes de contorno, solo voy a escribir uno. Entonces ahora lo podemos conseguir un poco mejor y siempre puedes cambiar el color aquí solo para que coincida un poco mejor que antes y al igual que antes de hacer clic en el texto y bajar, recuerda cambiar la visibilidad a non hit comprobable. Por lo que realmente podemos hacer click a través de este texto y ahora puedes hacer click en este botón e intentar ajustar el tamaño como quieras. Entonces este tamaño de botón aquí y creo que éste está bien. Entonces lo que puedes hacer es hacer clic derecho y copiar esto, pegarlo encima de la Harvard y también pegarlo encima de este estado mamario. Ahora lo que puedes hacer en lugar de recrear primero este botón, realidad cambiemos el nombre de esto. Entonces lo voy a llamar botón de ganancia de punto y el texto, voy a llamar texto, iniciar juego y ahora puedes hacer click derecho y duplicar esto excesivamente. Entonces ahora tienes dos botones y para este segundo botón puedo llamarlo botón sale. Y este es texto se va. Y ahora puedes hacer clic en este texto y cambiarlo aquí en la parte superior, puedes cambiar el texto para dejar así o salir del juego o salir del juego. Eso depende de ti. A lo mejor quiero escribir juego para dejar de fumar, eso es más explicativo y lo que quieres hacer aquí, en realidad quiero cambiar el color así que quería ser este rojo. Por lo que puedo arrastrar y soltar aquí encima de esta imagen roja. Entonces solo hacer un respaldo un poco más grande en dejar caer esto en esta imagen aquí, en todos los Estados así. Y luego tengo que ajustar el tamaño y puedo dar click en el segundo botón aquí y puedo copiar el tamaño del mismo. Yo quiero quiero que sea exactamente del mismo tamaño. Entonces haciendo clic en este botón y puedo pegar este tamaño encima de todos estos estados, así como así. Ahora tengo dos botones y lo que básicamente puedes hacer aquí es otra vez queremos hacerlo dinámicamente para que pudiéramos entrar aquí y dar click en el acariciamiento en la parte superior y escribir tal vez 40. Y se puede ver que es una parte como esta y se ve bien. Pero recuerda que me gusta me gusta que mi ui sea dinámico. Entonces quitando este mezquino, solo quiero adjuntar este botón aquí. Yo quiero alinearlo verticalmente aquí en la parte inferior y dando click en Phil así que ahora está en la parte inferior y lo que puedes hacer es hacer click en el cuadro vertical y ahora en realidad solo puedes ajustar el dimensionamiento a través de esta caja vertical. Entonces ahora solo estoy acercando y tratando de ver cómo se ve y algo como esto se vería genial. Ahora queremos que este botón esté en el medio aquí, así que escribiendo 00 en esta posición, puedes verlo ancla aquí. Entonces básicamente en el eje Y queremos que esto sea 0.5 y ahora está perfectamente en medio de la pantalla. Ahora vamos a alejarlo un poco de esta frontera de aquí. Entonces voy a mover la exposición aquí y simplemente moverla a un lado, así que está bastante aquí y ahora esto es todo lo que tenemos que hacer para el menú principal. 74. Funcionalidad UI del menú principal: Vamos a crear ahora la funcionalidad de la interfaz de usuario principal. Y ahora si entramos en los planos, básicamente aquí en los mapas, creamos un nuevo mapa para el menú principal. Y básicamente lo que tenemos que hacer, en realidad necesitamos un modo de juego separado y un controlador de capa separado. Porque cuando haces un menú principal, en realidad tiene su propio juego, Modo de juego y controlador de jugador. Entonces escribamos, haga clic aquí y vayamos a Clase de Blueprint. Haga clic en Controlador de capas. Y llamémoslo PC MainMenu. También hagamos clic con el botón derecho en mirar en Clase de Blueprint y haciendo clic en el Modo de Juego y llamando a un menú principal de GM. Ahora lo que tenemos que hacer, Ahorremos aquí. Y si vamos a la Configuración del Proyecto aquí y entramos dentro de los mapas y modos. Básicamente, en realidad necesitamos cambiar este modo de juego predeterminado. Ahora es en realidad el menú principal y no este golpe de GM aquí. Entonces si hago click en el menú principal y en el menú principal de GM, y aquí necesitamos cambiar el controlador de jugador también al menú principal de PC y el Peón Predeterminado que quieras tener. En realidad no queremos ningún estanque. Entonces voy a dar click en ninguno porque no tenemos ningún personaje en el menú principal. De acuerdo, Así que ahora eso está terminado. Yo voy a ahorrar. Y también quieres asegurarte de que estás dentro del museo y dentro de los mapas. Y haces doble clic en este menú principal. Entonces estás dentro de aquí. Tan solo asegúrate de no estar dentro del mapa. Significa a veces puedes cometer un error y pensar que este es el menú principal. Pero haz doble clic en este menú principal para que estés dentro de aquí, y esto es lo que realmente diseñamos previamente. Por lo que dentro de este menú principal, puedes hacer clic en la configuración del mundo. Y por aquí, puedes cambiar el modo de juego aquí. Por lo que podemos cambiarlo al menú principal de GM. Y solo asegúrate de que el controlador de jugador sea el menú principal de PC y el porno predeterminado sea ninguno. Y lo que quieres hacer ahora es básicamente cuando hacemos clic en Play, puedes ver ahora que estamos dentro de la nada. Pero si hacemos click en play y podemos arreglar esto más tarde aquí, cuando hacemos clic en Play, solo voy a mover la velocidad de la cámara un poco hacia arriba para poder moverme rápidamente en este nivel. Entonces lo que queremos aquí cuando hacemos clic en Play, en realidad queremos ver esta cámara. Por lo que queremos ver a través de esta cámara para poder ver el fondo de nuestro menú. Y la forma en que hacemos esto, recuerda, si quieres algo específico para un nivel, realidad puedes codificar en lugar de hacer una clase de blueprint, puedes codificarlo dentro del Level Blueprint. Entonces voy a abrir eso. Y dentro de aquí podemos eliminar este evento enfermo, y vamos a utilizar este evento start place. Entonces, ¿qué pasa cuando comienzas a jugar este nivel aquí? Entonces lo que queremos usar aquí es establecer objetivo de vista con Blend. Y puedes hacer clic derecho y decir conjuntos ver objetivos. Y ahora no lo puedes ver aquí. De lo que tienes para eliminar este sensible al contexto. Y cuando haces eso, puedes ver esta función aquí. Entonces haciendo clic en esa función, voy a hacer clic derecho y volver a ponerme sensible al contexto por si acaso me olvido. Y lo que quieres hacer a continuación es que quieras hacer click en esta cámara aquí en el nivel. Porque recuerda dónde estás, cuando estás dentro del Plano de Nivel, en realidad puedes crear referencias a elementos dentro del nivel si haces clic en ellos. Por lo que al hacer clic en esta cámara, puedo volver a entrar del bucle Level Blueprint. Puedo hacer clic derecho y mientras tengo esta sensible al contexto activado, puedo crear una referencia a mi cámara. Por lo que ahora puedo conectar esto aquí. Y puedo conectar mi cámara como los nuevos objetivos. Y este objetivo por aquí es básicamente la pérdida de control de jugadores. Puedo arrastrar hacia fuera y decir obtiene controlador de capa, así como esto. Y ahora se va a, a mirar a la cámara cuando empecé a jugar el juego. Entonces si hago clic en Play now, puedes ver que en realidad está buscando a esta cámara. Y ahora tenemos que arreglar esto. Y se puede ver cuando me detengo, en realidad me está dando errores. Y la razón por la que está dando, dándome Eros es porque en realidad estoy usando la máquina de escape aquí. Si voy a planos y jugador, básicamente coloqué estos aquí y el nivel y estamos usando esos. Y recuerden, estos en realidad son de base infantil de jugador. Y está tratando de ejecutar este código aquí. Está intentando ejecutar este código y el mismo error, no he dicho AML. Y esto se ha convertido, porque estamos usando un controlador de jugador diferente. Este controlador no es el que estamos usando el menú principal. Entonces lo que tenemos que hacer ahora básicamente es que podemos ir dentro de un jugador aquí y podemos legítimamente esta base de jugadores bp. Y vamos a duplicar este. Y déjame llamarlo EPA, jugador bp. En realidad estoy llamando en el menú principal de la máquina VNP. Entonces este, sólo lo estamos usando con el propósito del menú principal. Para que pueda arrastrarlo y colocarlo en el nivel y algo fresco para que no tengas que rehacer el trabajo. Puedes hacer click en este personaje. Se puede copiar esta ubicación. Por lo que haciendo clic derecho Copiar. Se puede hacer clic en el segundo carácter y se puede hacer clic derecho y. Y pega este personaje encima de él y haciendo clic de nuevo en este viejo personaje, incluso puedes copiar su rotación. Puedes hacer click en este nuevo personaje, pegar en la rotación y puedes ver que están de pie en el mismo lugar. Por lo que ahora en el World Outliner, puedo hacer clic en esta máquina para poder seleccionarla rápidamente. Y solo puedo hacer click en Eliminar, y eso es todo. Entonces ahora tenemos esto, este jugador de aquí o esta máquina de aquí. Podemos de nuevo, al igual que antes, utilizar el no un blueprint de animación, sino un activo de animación. Y puedo salir a mis animaciones y poner esta animación de recarga así como esta. Y creo que esta posición inicial estaba en 0.5. Y podemos quitar esta línea aquí. Por lo que ahora puedes ver que no tiene armas y necesitamos agregarle un arma. Entonces si vuelvo a jugador y este menú principal de la máquina BP que acabamos de hacer, voy a eliminar todo este código. Realmente no necesitamos ningún código para este. Pero liderando el código, puedes eliminar todas estas variables. Eso está bien. Al igual que esto, incluso elimine esta función aquí. Y también puedes en la Configuración de clase, realidad puedes eliminar esta interfaz. Entonces da click en Sí, No queremos ninguna interfaz. Y así así, así que Compila y ahorra. Y ahora te está dando un error. Yo quiero ver qué es. En realidad está dentro de esta buena función f jugador. Yo puedo eliminar esa también, Compila y Guardar. Y ahora está limpio. Entonces lo que queremos hacer aquí es dentro de esta arma aquí puedo hacer click en ella y puedo seleccionar mi, creo lo que se llama KA por alguna razón, k 47 nueva y Así que ahora tiene el arma y podemos compilar y ahorrar más cerca. Y ahora está funcionando igual que antes. Entonces tenemos que hacer lo mismo por este tipo de aquí. Puedo eliminarlo y puedo simplemente pegar en este personaje del menú principal girado 90 grados y cambiar esto a un activo de animación en su lugar. Y ahora puedo entrar en mis animaciones y seleccionar esta animación de trote. Y sólo dándole un poquito de trote aquí. Y simplemente muévalos por ahí. Da click en esta cámara para ver cómo se ve. Y quiero moverlos un poco adelante así. Por lo que incluso puedes hacer clic en este personaje aquí. Por lo que volviendo al jugador y menú principal aquí, incluso puedes quitar esta cámara si quieres porque realmente no estás necesitando esta cámara, por lo que también puedes quitarla. Nosotros movemos esta cámara y el arma que necesitamos para que todo se vea bien. Entonces al hacer clic en Play now puedes ver en realidad esto se está jugando, así que tengo que hacer clic en él y quitar este avión aquí. Ahora, cuando haces clic en jugador, esto realmente está funcionando. La cámara también está funcionando. Y además, lo más importante, no estamos recibiendo ningún error en absoluto si hacemos click en escape y dejamos esto aquí. Entonces todo está funcionando con este menú principal. Entonces, sumémoslo a la pantalla. Y básicamente, para este menú principal, hicimos estos, estos modo de juego y controlador de jugador. Entonces recuerda que quiero hacer el menú dentro del controlador de jugador. Por lo tanto, haciendo doble clic en éste. Y en el Gráfico de Eventos, podemos eliminar el evento enfermo y comienzan a jugar. Podemos decir crear widgets. Y solo quiero crear el menú principal. Por lo que seleccionando el menú principal del WB. Y desde aquí podemos promoverlo a una variable viendo menú principal del WB. Y aquí podemos decir Agregar a la ventana gráfica porque solo queremos agregarla a la ventana gráfica de inmediato cuando entremos al menú principal. Entonces cuando hago clic en Play now, puedes ver en realidad tenemos el menú principal y nuestro fuego lo hacen a pantalla completa por lo que se ve correcto. Ahora tenemos este menú principal. Ahora tenemos que mostrarles el cursor del ratón. Y puedo volver al controlador de laboratorio aquí. Y básicamente lo que podemos hacer, en lugar de ponerlo dentro del código, en realidad puedes simplemente entrar dentro de la configuración de clase, en realidad los valores predeterminados de clase. Y aquí puedes tomar el cursor show mouse, así como esto. Entonces ahora si hacemos click en Play, puedes ver, realidad puedes ver el cursor aquí y yo puedo seleccionar botones. De acuerdo, Entonces vamos a codificar alguna funcionalidad en esos botones. Y, y esto es muy sencillo. En realidad no tenemos mucho que hacer aquí. Entonces si vuelvo a la UI y hago doble clic en mi menú principal que creé. Puedo dar click en este botón Salir. Y si me desplazo hasta aquí abajo, puedo dar click en esto sin hacer clic, dando click en el plus, hace un evento para ti. Incluso puedo borrar estos. En realidad no los necesitamos por ahora. Entonces deshacer click, ¿qué quieres hacer al hacer click en botón? Así que en realidad puedo simplemente escribir salidas y en realidad hay algo llamado Quit game. El siguiente que quiero hacer es cuando hago clic en este juego Start aquí, quiero abrir el nivel de juego. Entonces lo que puedo hacer es bajar otra vez, dando click en esto sin hacer clic. Y lo que quieres hacer aquí es básicamente decir Nivel abierto. Y puede abrir nivel por nombre. Entonces así es como tú, cómo te mueves al siguiente nivel para que puedas abrir un nivel. Y el nivel que queremos abrir, si entras en los mapas, queremos abrir esto llamado Mapa principal. Por lo que aquí en el nombre del nivel puedes escribir Mapa principal. Y ahora si compilo y guardo y hago click en Play, click en este botón. Se puede ver que en realidad estamos dentro del mapa principal y estamos jugando el juego. Vale, Así que recuerda que en realidad hicimos la interfaz de usuario de GameOver. Entonces hicimos este descremada sobre u i, pero nunca terminamos este regreso al menú principal porque no teníamos un menú principal. Y básicamente lo que queremos hacer con este, si haces click en esto y te desplazas hacia abajo y das click en el plus para lo sin hacer clic. Aquí realmente queremos decir Nivel abierto. Y básicamente quieres abrir el menú principal. Tan loco, menú principal, creo que así lo llamamos. Entonces si vuelvo y tienes que llamarlo así aquí. Entonces todo lo que tienes en gorras, tienes que escribir gorra, así que tienes que escribir todos los símbolos y así sucesivamente. Entonces llamándolo exactamente como se llama aquí. Entonces ahorrando, y ahora debería funcionar. Entonces si hago clic en jugar, inicio el juego. Y yo estoy dentro de aquí, y que nos maten y veamos qué pasa. Ahora puedo dar click en volver al menú principal. Y ahora estamos de vuelta a nuestro menú principal. Entonces ahora tenemos un bicho muy pequeño diciendo que se acabó el juego. Este es el Widget Blueprint ya fue agregado a la pantalla. Entonces estamos agregando esto a la ventana gráfica, pero nunca lo estábamos quitando. Y esto es entonces decir, ya lo he agregado a la pantalla. ¿ Por qué tengo que hacerlo de nuevo? Entonces esto lo puedes arreglar en realidad. Recuerda que hicimos esto dentro del jugador y en la base de jugadores. Entonces básicamente aquí cuando el jugador muere, estamos sumando este juego. Entonces en este lo estamos agregando a la ventana gráfica, pero nunca lo estábamos quitando. Y básicamente podemos realmente quitar esto por aquí. Entonces en realidad en la gráfica, cuando abro este nivel, justo, justo antes de abrirlo, en realidad puedo quitarlo de las vistas. Y lo que puedo ver aquí es arrastrado y decir Quitar de la vista, quitado de los padres, no de la ventana gráfica, quitado de los padres. Y lo que quiero quitar es básicamente celular. Entonces no necesito un objetivo porque ya estamos dentro de la venía. Entonces básicamente quiero quitarlo del padre y luego abrir este nivel aquí. Entonces si hago clic en Play now, y vamos a cerrar esto, hago clic en play, y doy clic en este Start Game. Y juguemos y dejemos que muera. Y estoy muerto. Y puedo dar click en este regreso al menú principal. Y ahora si hago click en escape, puedes ver que ya no estamos recibiendo este bug. 75. Efectos de sonido UI: De acuerdo, así que ahora agreguemos algunos efectos de sonido para los botones en la interfaz de usuario. Entonces volvamos aquí a la UI, y empecemos aquí desde el principio. Entonces el juego sobre uno aquí. Recuerda que tenemos un botón aquí. Por lo que al hacer clic en este botón, en realidad puedes, si te desplazas hacia abajo ahora, podrías ir en la gráfica y decir que al hacer clic en este botón, puedes reproducir un sonido. Así que toca el sonido. Y hasta el momento hemos estado usando el sonido de reproducción en el lugar. Y aquí es cuando se quiere generar un sonido en un lugar determinado. Por ejemplo, si un enemigo te ataca, quieres engendrar ese sonido como los jugadores que son los enemigos atacando. Pero si simplemente quieres un sonido, como un sonido de esta interfaz de usuario, basta con decir reproducir sonido y reproducir un sonido 2D. Entonces esto es para la UI, pero no pudimos hacer uno aquí y colocar el sonido aquí. Pero lo que realmente podemos hacer, Unreal Engine ya ha codificado en funcionalidad aquí. Entonces si haces clic en el botón y puedes, puedes bajar aquí, realidad puedes ver algo llamado sonido presionado y sonidos de Harvard. Por lo que en realidad podemos agregar sonidos aquí en lugar de ponerlo dentro del código. Entonces puedes ponerlo dentro del código, pero no creo que sea una buena práctica. Es decir, ¿por qué lo harías tú cuando cuando están literalmente tenerlo colocado aquí, básicamente, he importado algunos sonidos aquí. lo que en el material del curso encontrarás todos, encuentra todos estos sonidos. Ahora aquí básicamente podemos minimizar estos. Y no creo que tengamos una carpeta de audio o audio aquí, y no lo creo. Entonces lo que puedes hacer es hacer clic derecho en esta carpeta de contenido, click en Nuevo, y solo lo estoy llamando audio. Y dentro de esta carpeta de audio, puedo abrir mi carpeta de materiales del curso. Y aquí vamos a ver qué vamos a usar. Entonces vamos a usar esta música clon strike, la música del menú principal. Esta es una música de bola de velocidad que usamos antes. Y el botón de clic de botón sobre la profundidad, lo vamos a agregar más adelante. El nuevo oleaje, el hotel no es algo que estemos usando aquí. Ese era el viejo juego, el juego de pelota. Y la estrella es para el juego de pelota. Por lo que estos que van a usar y se pueden arrastrar los hacia abajo dentro del audio. Y ahora mismo para el menú principal donde básicamente queremos hacer o no menú principal. Por lo que básicamente la UI, queremos hacer clic en este botón pasar el ratón, haga clic derecho en él. Y aquí puedes crear una cue de sonido. Así que crea cola y llámalo SC para sonar cue. Y puedes llamarlo carpeta de botones. Y hagamos otra pista de sonido. Por lo que este botón hizo clic en el botón click, puedes hacer clic con el botón derecho en crear cola y llamarlo botón click. Se va así. Entonces vamos a usar esto para poder escuchar cómo suenan. Y puedes hacer clic en la interfaz de usuario, abrir el juego sobre la interfaz de usuario de nuevo. Y ahora lo que puedes hacer es en realidad hacer click en este botón y puedes bajar para presionar el sonido Hoover y terminar un sonido Hoover. Se puede escribir Wilbur, y deberíamos ver el sonido que acabamos de hacer. Y aquí puede hacer lo mismo. Si dices click, puedes elegir este solo click de botón que acabamos de hacer. Ahora, ahora esto está funcionando. Básicamente, tienes que hacer esto con toda la interfaz de usuario. Entonces yendo en el menú principal, no tenemos botones. Por lo que al salir de esto, ir en el menú principal, haga clic en este botón. Y lo mismo aquí. Si haces clic con el botón derecho del ratón gustando esto, justo encima, seleccionando esto y haciendo lo mismo, tal vez puedas copiarlos en realidad, en realidad puedes copiarlo aquí. Ateo. Y con este solo podemos buscar sobre Alice, seleccionar esto. De acuerdo, así que esto también está funcionando ahora. Y en la ola realmente no tenemos nada aquí. Entonces esto fue en realidad todos los botones de la interfaz de usuario que podríamos agregar porque realmente no tenemos más botones que, eso hace sonido aquí. 76. Música de juego: Por lo que ahora sumemos algo de música al juego. Y para empezar, en realidad tengo algo llamado. Entonces si pasamos al audio que importamos, en realidad tenemos este llamado MainMenu music y podría ser demasiado alto. Ten cuidado. Sí, Así que esta música del menú principal quiero usar para que pueda hacer clic derecho y volver a crear una cola. Y este llamado menú principal Sun Q. Y sólo podemos llamarlo música de subrayado. Yo sólo quiero saber que esto en realidad es música y no una conducta de efecto sonoro como esta. Y para este curso solo quiero bajar el volumen para que no sea demasiado alto. O simplemente te gusta esto, esto es, esto suena bien. Y lo que puedes hacer aquí, en realidad lo hice burbuja azul. Ahora esto no era burbuja de bucle inicialmente, acabo de descargar algo de música sin derechos de autor de YouTube. Y lo que puedes hacer es hacer click en él y en realidad puedes seleccionar este llamado bucle. Entonces ahora en realidad está en bucle para siempre. Y lo hice funcionar dentro de Premiere Pro. Yo sólo lo hice en bucle. Entonces ahora en realidad puedes escuchar esto para siempre. Entonces lo siguiente es éste, m clon ataca. Entonces esta es la música de pista clon. Este de aquí puedo hacer clic con el botón derecho crear sonido-cue y SC, y podemos llamarlo un clon strike music. Sí, al igual que el cesionario puede hacer doble clic. Y por el bien de este curso, nuevo, voy a bajar el volumen. Por lo que tu oreja no se está quemando. A lo mejor 0.3. Y puedes incluso, puedes, puedes hacer que el volumen sea más alto en tu computadora, eso está bien. Y de nuevo, puedes hacer clic en la burbuja de bucle porque en realidad es, lo hice bucle para siempre, así como así. Y ahora en realidad podemos tocar el sonido aquí. Por lo que puedes hacerlo en el modo de juego o en el controlador de jugador, o el abierto y el Plano de Nivel y hacerlo desde aquí. Entonces básicamente ya que es específico para este nivel, en realidad puedo simplemente abrir los planos de este nivel. O tampoco está mal si quieres entrar al modo de juego aquí y en realidad solo jugarlo desde el principio, empieza aquí, pero depende de ti. Eso es, nada anda mal aquí. Entonces entrando en el Level Blueprint, sólo voy a jugarlo desde aquí. Por lo que voy a decir reproducir sonido 2D. Y desde aquí solo puedo seleccionar mi, puedo decir música y puedo seleccionar mi música de menú principal. Ahora esto está funcionando si haces click en play. Y lo siguiente que quiero hacer es entrar en Mapas, abrir aquí el mapa principal. Y de nuevo, en los planos Level Blueprints, puedo decir reproducir sonido 2D, y puedo buscar música y tocar mi colonia, música strike. Entonces si lo juego desde aquí, éste también está funcionando. 77. Finalización del juego: Está bien, así que ahora casi estamos terminados y casi estamos en la línea de meta, pero aún tenemos que hacer cosas muy pequeñas que harán que el juego sea aún más impresionante. Y siempre son estos pequeños detalles que haces al final los que harán que tu juego sea aún mejor y mejor. Por lo tanto, sumemos estas cosas finales. Y lo que creo que debemos hacer es añadir un efecto de sonido de onda. Entonces cuando cambias la onda, hay un efecto de sonido. Y básicamente esto está dentro del modo de juego. Entonces si vamos en el modo de juego aquí, blueprint y dentro del modo de juego para el clon strike. Entonces básicamente tenemos a este desovador enemigo, el enemigo engendrado. Y siempre podemos, puedes ver aquí realmente estamos mostrando la UI de Wave. Siempre podemos tocar este sonido por aquí. Por lo que antes de poder tocarlo, obviamente tenemos que ir dentro del audio. Y la que vamos a usar se llama New Wave. Para que podamos hacer clic con el botón derecho y crear un sonoro, llamarlo New Wave, y puedo tocarlo. Entonces este sonido, vamos a colocar algún sonido de helicóptero y vamos a tocarlo. Déjame ver dónde tiene más sentido. Y en realidad podemos simplemente jugarlo aquí. Entonces aquí podemos decir tocar sonido a D Así pues porque realmente no queremos tocarlo en un lugar determinado y es solo un sonido 2D. Y podemos buscar una nueva ola y podemos seleccionarla desde aquí. A continuación, queremos volver a poner aquí nuestro retraso. Entonces recuerda que desconectamos este retraso porque en realidad queríamos probar el juego sin el retraso. Por lo que no esperábamos cinco segundos cada vez que probábamos un nuevo mecánico. Entonces lo voy a volver a conectar y eliminar este de aquí y armar el código, poner abajo este feo, este nodo auxiliar o AV, así como así. Y a continuación queremos dar click en esta ola y volvamos a ponerla de nuevo a la onda número uno aquí. Entonces, para que lo siguiente que podemos hacer es que podamos tocar un efecto de sonido cuando el jugador muera. Y tengo algo gracioso si aún no lo has averiguado. He descargado el sonido de muerte de Metal Gear. Creo que podemos hacer algo divertido con esto. Así que vamos a hacer clic derecho y crear una cue de sonido de esto y llamarlo sc depth. Voy a bajar el volumen. Creo que es muy alto, así que voy a bajarlo al punto cero tres. Entonces este músculo, tu sonido. Podemos hacerlo más fuerte. Igual que eso. Y quiero tocar este sonido siempre que nuestro jugador dé dados. Por lo que puedo entrar en planos, clic en jugador y abrir esta base de jugadores aquí. Y si bajamos a esta muerte aquí, podemos básicamente después de inhabilitar la colisión y el movimiento. Y aquí tenemos este juego sobre UI. Antes de querer mostrar esta UI, en realidad quiero reproducir el sonido aquí, así que voy a alejarlo un poco. Y aquí voy a decir jugar sonido 2D. Entonces básicamente lo mismo que estamos haciendo una y otra vez. Y aquí voy a buscar la muerte. Y ahora se va a tocar este sonido def. Pero básicamente lo que quiero hacer aquí, en realidad quiero retrasar esta UI porque quiero reproducir el efecto de sonido. Y después de eso, podemos mostrar la interfaz de usuario. Y creo que si tratamos de retrasarlo cinco segundos y C son seis segundos y ver que si se siente natural porque quiero que se reproduzca el sonido de la muerte antes de mostrar la UI. Y lo último que queremos hacer, realidad tenemos un error al recargar en el juego porque recuerden, comprobamos que el jugador no es eso cuando estamos disparando. Entonces cuando estamos muertos, no podemos disparar el arma. Y en realidad tenemos que hacer lo mismo aquí. O cuando recargamos porque en realidad podemos recargar mientras, mientras estamos muertos. Entonces en realidad voy a copiar esto y puedo mostrarles cómo lo limpiamos en la siguiente lección aquí. Entonces ahora, ahora está diciendo que si no estás muerto, en realidad puedes recargar. Entonces si eres una nota que no puedes recargar. Ahora, otro libro que tenemos aquí es salvaje. Estás recargando. En realidad se puede disparar su arma. Por lo que en realidad podemos disparar su arma. Puedes hacer click en el ratón un arma demasiado lejos salvajemente estás recargando, y no queremos hacer eso. Eso parece un poco tonto. Entonces vayamos aquí y hagamos un nuevo booleano. Y llamémoslo B está recargando. Ahora podemos tomar esta recarga al principio, será falso. Y ahora cuando hacemos clic en la recarga y se ve aquí, comprueba, está el PLR muerto, sabe que el jugador no está muerto. Entonces por aquí después de este cheque aquí, podemos poner esto recargando aquí, así como así. Y ahora el jugador se está recargando. Entonces en el jugador no está recargando. Podemos subir aquí y decir, podemos llevarnos esto aquí y decir locos. Entonces 1D capa no es eso. Y podemos arrastrar fuera de esto y decir, y cuando el jugador no está muerto y el jugador no está recargando, entonces podemos disparar. Entonces tenemos dos cheques aquí que tenemos que hacer antes de disparar. Y básicamente ahora podemos desconectar esto y podemos conectar esto y en su lugar. Y por aquí tenemos, en algún momento tendremos que poner esto falso porque después de que hayas terminado de recargar, ya no estás recargando. Entonces es después de esta jugada, este montaje ha terminado, dijiste DMO, colocaste esta munición. Y luego al final, voy a tomar esto y poner la recarga en falsa. Y básicamente lo que queremos hacer también aquí, otro libro que puedes ver aquí es que el jugador puede realmente spam la recarga. Y no queremos que el jugador abarque la recarga. Entonces, básicamente, queremos tomar este año así así, para que en realidad pueda copiar todo este asunto. Y eliminemos esto aquí, y pongámoslo aquí. Así que me pregunto PLR no está muerto y el jugador no está recargando ya. Entonces podemos seguir adelante y dar click en Recargar. De esta manera el jugador no tiene el potencial de simplemente hacer clic en nuestro tiempo más antiguo y simplemente seguir spamming que recargar animación. Entonces ahora éste lo arregla. De acuerdo, entonces el último bicho que tenemos, creo que es el último. Probé el juego unas cuantas veces por unos 15, 30 minutos. Y uno de los bichos es un bicho raro. Y aquí, si volvemos a los enemigos y en la base enemiga. Entonces básicamente aquí en la base, tenemos a este jugador de ataque y básicamente esta caja fuera. Entonces si esto se está jugando justo antes, si el gruñido, la IA, y la IA en realidad te estáatacando la IA, y la IA en realidad te está al mismo tiempo que estás matando al SE II. Este va a jugar y en realidad va a pegarle a U, pesar de que los Ais que te enseñaron a querer hacer es sólo tomar éste y decir, si el enano no está muerto, entonces puede atacarte. Entonces tomando esto y escribiendo B y comprobando si el subsidio no está muerto. Entonces si el suelo no está muerto, puedes seguir adelante y atacarte. Entonces en realidad voy a probar el juego. Entonces si hacemos click en Play, ahora, tocamos esta música y puedo dar click en Inicio. Y tenemos este efecto de sonido de onda. Les tenemos música tocando, Tenemos la IA y está contando una. Y si se lo digo, vamos a la semana dos, vale, así que voy a dejar que me maten aquí. Entonces ahora me va a matar. Y palabras que también fueron las serpientes y el hecho y tú has guiado con dos. Y esto en realidad es con dos y podemos volver al menú principal. Y aquí estamos. Y podemos dejar el juego si quieres volver a jugar. Si lo deseas. 78. Limpiar el código: De acuerdo, entonces ahora estamos terminados con el juego y es muy importante limpiar tu código porque te imaginas si no limpias tu código después, digamos un mes, dos meses, tres meses, no vas a saber lo que has hecho. Si no comentas nada. Además, si contratas a otro programador y él necesita trabajar al lado, a tu lado, probablemente no vaya a saber qué has hecho si no comentas nada. Y también si tu, si tu código no está limpio, es muy difícil de leer y también para ti. Tan muy, muy importante, pesar de que hemos terminado de nuevo, muy importante que limpies tu código. Entonces empecemos por ellos, desde el principio. Comencemos desde el modo de juego para el golpe de clon. Entonces voy a hacer doble clic aquí. Y por lo general acabo de empezar desde arriba. Por lo que tenemos este empezar a jugar. Tenemos el retraso, y tenemos los enemigos engendrados y el controlador de jugador aquí referencia. Entonces lo que me gustaría hacer es realmente mover este controlador de jugador a esta parte aquí desde el principio, porque no quiero retrasar antes de crear esta referencia, no tiene sentido. Tiene sentido retrasar o responder, pero no por hacer esta referencia. Eso no tiene sentido. Y lo que suelo hacer es comentar mi código para que puedas sobre todo el seleccionar todo esto, click en C para hacer un comentario. Entonces recuerda dar click en C. Y aquí puedes, por ejemplo, ¿verdad? Pero podemos jugar, escribo, me gusta escribir empezar a jugar. Sí, queriendo, sólo voy a decir engendrar enemigo. Justo así. Se puede llamar creación de jugador, referencia de controlador o creación de referencias. lo que suelo usar el inicio de juego es crear referencias a cosas al igual que el controlador del jugador. Ahora has creado un comentario y ahora también es fácil moverse si quieres. Y esto se ve mucho limpio ahora. Y también puede, si haces clic en esto aquí, puedes cambiar el color aquí. Entonces si quieres empezar a jugar para ser un color específico, puedes hacerlo. Y escuchaste esto llamado show bubble cuando se hizo zoom. Por lo que puede tomar un boleto aquí. Para que puedas ver esta burbuja cuando te alejes. Y luego puedes desmarcarlo si no quieres verlo así. Ahora solo voy a dejarlo estar y solo voy a dejar que el balón esté aquí. El siguiente es el enemigo engendrado. Y retocando un sonido aquí, nos referimos al controlador del jugador. Y este controlador de jugador, en realidad no necesitamos referirnos a él ahora porque ya tenemos este set player controller. Entonces voy a borrar esto. Y en realidad podemos simplemente usar esta referencia aquí. Entonces voy a sostener Control, arrastrarlo hacia fuera y acaba de conectarme aquí abajo. Y eso es en realidad todo lo que teníamos que hacer. Entonces puedo acercarme esto ahora. Justo así. Ahora estamos agregando esto a la ventanilla. Estamos mostrando el texto de onda, retrasando y borrando. Sí, así que esto está bien. Y voy a entrar en ella y decir engendrar enemigos, temporizador, mostrando Wave, UI. Justo así. Y puedes llamarlo como quieras. Entonces en este momento solo estoy improvisando lo más rápido que se me ocurre. Y aquí abajo tenemos a los desovadores de Enemigos. Por lo que los engendradores enemigos unen a los enemigos a través de este temporizador aquí. Y lo que queremos hacer aquí, este código por aquí de get actor de clase, estás respondiendo, respondiendo a estos gruñidos aquí, esta es la lógica enemiga engendrada. Y lo que quiero hacer es que en realidad sólo voy a seleccionar todos estos aquí. Voy a hacer clic derecho. Y aquí se puede decir colapso para funcionar. Entonces vas a hacer una función. Por lo que funciona Calypso y te puedes ver están dentro de una función. Y este solo puedes llamar, por ejemplo, engendrar, enemigo sobre. Algo así se engendran gruñido, eso depende de ti. Y este valor aquí. Si haces clic en él, puedes hacer doble clic en esta función ahora y puedes ver que todos estos están dentro de una función. Entonces si muevo esta nota de retorno para poder ver cómo se ve. Y alejo esto de éste. Esto está dentro de una función ahora. Entonces este es el nodo de entrada. Aquí es donde se inicia la función y tienes tu código y este es el nodo devuelto. Entonces este es el principio y este es el final, este es el nodo devuelto. Por lo que ahora tienes una función y sexualmente luciendo limpio. Ahora no necesitas ese código largo dentro de tu gráfica principal. Si solo lo conviertes en una función , también aparece aquí a la izquierda. Y si quieres crear una nueva función, solo tienes que hacer clic en este signo más aquí y podrás crear tu propia función. Y cuando quieras terminarlo, puedes escribir un retorno y puedes agregar este nodo de retorno. Y puedes tener tu código entre aquí. Ahora haciendo clic en este nodo de retorno y tu entrada aquí, puedes hacer diferentes variables para ellos y puedes crear cosas políticas. Entonces voy a dejar esta función aquí. Entonces ahora tenemos esto dentro de una función y llamamos estanque enemigo desove, y el nodo devuelto, no quiero que se llame. El valor de retorno no tiene sentido para nosotros. No nos da ningún valor. A éste solo le voy a llamar enemigo, enemigo sobre. A lo mejor hay así. Y si sobre, y tiene más sentido tener este nombre. Un valor de retorno. Entonces este es el porno enemigo que tenemos aquí. Y el final de Upon, lo estamos poniendo a una variable llamada porno enemigo. Entonces si me acerco todo esto ahora, así como eso. Y aquí estamos agregando los pons a la matriz. Entonces voy a mover esto en realidad van a mover estos aquí, Ls. Déjame mover estos y ver qué pasa. Entonces voy a mover estos, éste. Puedo volver atrás. Ahora puedo, sólo puedo llevarme a estos dos aquí. Ahora puedo hacer clic en ver y decir agregar NME en a matriz. Y este sólo podemos entrar aquí y decir display o un set, set, asignación enemiga, o la interfaz de usuario por ejemplo. Y ese era un mal nombre, pero puedes llamarlo como sea. Pero básicamente estamos estableciendo el, el número en la interfaz de usuario cuántos enemigos has generado. Y aquí podemos mover esta lógica. Entonces esto, estos dos de aquí, no pertenecen aquí. Para que podamos moverlos. Puedo sostener Control y seleccionar esos. Y podemos sacarlos de aquí. Y éste, sólo puedo ponerlo aquí porque no hay mucho espacio. Y éste en realidad solo está comprobando cuántos has engendrado. Al igual que eso, porque estamos teniendo este contador de olas. Entonces estamos deteniendo lo contrario. Ya no estás desoviendo. Tenemos esto ahora. Y aquí abajo se puede decir, añadir uno a la forma en que la variable. Y sólo voy a dar click en esto. Entonces da click en Control seleccionando todos estos comentarios. Voy a quitar las burbujas y en realidad voy a seleccionarlo todo. Ahora da click en C y diciendo engendro, lógica de NME, así como eso. Por lo que ahora están todos en este maestro, comenta maestro, viendo engendro en lógica inmune. Y hasta puedo darle un color, algo así si quiero. Y ahora se ve mucho más limpio de lo que teníamos antes. Ahora lo que podemos cerrar esto, pero también puedes, puedes limpiarlo más. En realidad, lo que puedes hacer es aquí a la izquierda tienes estas, estas variables que has creado. Si haces click en una variable, puedes ver aquí a allá, a allá, ¿verdad? Tienes categorías y aquí realmente puedes darlo, darle una. Entonces aquí, ahora mismo se llama default. Puedes hacer las tuyas si haces doble clic aquí y solo puedes escribir referencias por ejemplo. Y se puede ver que hace una categoría aquí viendo referencias. Por lo que ahora en realidad podemos sumar todas las referencias juntas. Y así es como limpias tus variables también. Ejemplo puedes hacer click en el estanque enemigo y solo puedo llamarlo propiedades NME por ejemplo. Y simplemente puede apoderarse de este enemigo también, arrastrarlo hacia arriba y ponerlo dentro de las propiedades enemigas. Por lo que ahora podemos ver las propiedades enemigas y dentro de aquí. Y tienes todas tus otras variables. Por lo que puedes poner estos en, en categorías también. Ahora vamos a compilar y guardar este y vamos a cerrarlo. Y pasemos al controlador del jugador. Aquí estamos. Estamos haciendo una referencia al peón jugador. Entonces estamos creando todos estos widgets. En realidad voy a seleccionar todos estos widgets aquí. Y voy a hacer clic con el botón derecho y hacer clic en colapsar para funcionar. Y sólo voy a llamarlo crear widgets, así como así. Y ahora tenemos éste. Y aquí solo voy a decir Begin Play, crear en referencia, y crear widgets como ese. Ahora eso está limpio también. Y aquí abajo tenemos los movimientos del jugador. Entonces voy a hacer un comentario y decir: Sí, puedes darle un mejor nombre, pero solo le estoy dando uno rápido para que no haga que el video tome una eternidad. Y aquí solo puedes decir arma de fuego al presionar la tecla del ratón. Hace así. Entonces ahora esto se ve limpio también. Y de nuevo, puedes limpiar estos aquí. Por ejemplo, hago clic en este, solo puedes llamarlo interfaz de usuario o widget de blueprint o widget de interfaz de usuario o donde quieras llamarlo. Y puedes arrastrar estos dentro de ella así como así. Y eso se ve limpio. Y ahora podemos poner este en una capa. Queso Robert, o en realidad esto es una referencia, por lo que es barrack llamándolo referencias. Y puedes ponerlo dentro de aquí, así como así. Entonces ahora está muy limpio también, así que puedo compilar y guardar aquí y dentro de la base de jugadores, solo voy a buscar rápidamente si tenemos algo crítico que necesitamos cambiar. Y de lo contrario no quiero que este video sea demasiado largo, pero solo estoy viendo si podemos aprender algo nuevo aquí. Y por aquí, por ejemplo, esta arma de fuego, estamos comprobando si el jugador está muerto y si el jugador está recargando. Y si no, puedes seguir adelante y disparar el arma. Entonces básicamente puedes hacer esto un poco más pequeño y no el cambio más grande, pero puedes hacerlo más pequeño y tal vez más limpio. Por éste está muerto, no está muerto. Puede hacer clic derecho en él y colapsarlo en una función. Y puedes llamarlo está vivo o ejemplo. Porque si no estás muerto, básicamente estás vivo. Entonces está vivo y no necesitas esto como esta función aquí, te voy a enseñar algo nuevo llamado puro. Entonces si haces click, si haces click en la función y haces click en este significado puro, puro, lo que significa que realmente no quieres conectarlo a través de estos pines aquí. ¿ Y por qué no quieres conectarlo a través de estos pines? Esto se debe a que no estás configurando nada, ninguna información nueva. Ahora si estás configurando nueva información al igual que lo estamos haciendo aquí, esto es establecer nueva información. Realmente no estamos configurando ninguna información en esta función. Si vas dentro de esta función ahora que nos colapsamos, solo estamos comprobando si el jugador está muerto o no. Entonces solo estamos tomando este booleano si es cierto o falso. Por lo que realmente no lo estamos configurando en verdadero o configurándolo en falso. Por lo que realmente no necesitamos conectarlo por aquí. Y si tienes funciones como esa, puedes hacer click en el significado puro y puro si ahora compilas y guardas, está funcionando. Y puro solo significa que realmente no necesitas estos alfileres. Solo quieres la información aquí y puedes usarla. Entonces esto es lo que significa puro y debes hacer puras tus funciones para que no se conecten por aquí. Si no pones nada. Entonces si solo quieres algo de información, puedes seguir adelante y hacer eso. Ahora, por ejemplo, con este, si tuviera que poner esto en puro, no podría porque realmente estás poniendo información aquí. Pero por aquí no estás realmente configurando información. Simplemente estás tomando algo de información y quieres revisar algo. Al igual que con este se está recargando. Yo solo puedo recolectar laboratorios. Esto a una función y llámelo no está recargando. Y puedo dar click en Tu aquí. Y así como eso. Otra cosa es que tienes algo llamado const. Entonces si haces click en esta flecha aquí, puedes hacer click en esta const y básicamente en esta constante, lo que significa. Significa que esta información aquí que tenemos dentro de aquí, puede provenir de otra fuente. Entonces, por ejemplo, digamos, digamos que esto estaba dentro del controlador del jugador. Así que tuve que tomar el controlador de flujo y realmente puedo conectarme por aquí. Y esta es la función que, que lo tenía. Entonces realmente no queremos hacer eso porque esto es sólo una función que pertenece a esto aquí, así que no tiene ningún sentido. Entonces voy a eliminar este contras, pero sólo para que lo sepas, puedes agregar objetivos a estas funciones puras son funciones RREF puras. Se pueden agregar objetivos básicamente si provienen de otros planos, igual que lo que hacemos aquí. Tomamos esto y lo llamamos de otros planos. Entonces vamos a quitarlo. No tiene sentido en este caso. Entonces ahora el código es todo. Es más pequeño y es un poco mejor entender auto-ensamblar. Y el padre está vivo y subir no está recargando. Puedes seguir adelante y disparar su arma. Por lo que puedes hacer eso y en realidad puedes seguir adelante y reemplazar este sitio. Se pueden eliminar estos en realidad. Y la razón por la que no me limité a tomar todo esto y convertirlo en una función es porque a veces se necesita esto no está muerto solo. Y no quiero hacer más funciones de las necesarias. Voy a borrar esto y solo conectarme. Esto está vivo y no se está recargando. Fue así. Por lo que puedes hacerlo mucho más limpio así y puedes reemplazarlo hacia abajo. Aquí. Creo que hicimos el verano sí, creo que en realidad estaba en los enemigos, así que no fue una lágrima. O vi antes de terminar esta lección, en realidad quiero mostrarles que este es un proyecto en el que he estado trabajando solo por diversión. Ya puedes ver estas son todas las animaciones que tengo. Y esto es básicamente un juego de FPS multijugador. Y esto no es Unreal Engine 4 porque el multiplicador aún no está implementado en Unreal Engine cinco en este momento, estoy grabando este video. Entonces no quería mostrarte cómo limpias tu código también. Para que puedas ver desde un proyecto más grande lo bonito que es si has limpiado tu código. Para que veas si entro de la base de jugadores, dentro de aquí, igual que lo hicimos. Yo soy, me refiero a este modo de juego. Lo estoy poniendo como referencia. Estoy creando un controlador de jugador. Y tenemos este movimiento de capa. Para que veas que he comentado todas estas cosas por ahí. Cosas que no he comentado por aquí. Y se puede ver que estoy trabajando en alguna ranura de granada y soltar luz y así sucesivamente. Y estos, aún no he terminado, así que realmente no he comentado nada. Yo sólo sigo trabajando aquí. Pero básicamente todas las cosas que están terminadas, por ejemplo, el movimiento del jugador. Ya puedes ver lo he comentado todo y es tan bonito. No he estado en este proyecto desde hace unos seis meses o nueve meses porque he tenido tantas cosas que hacer y he querido hacer cursos y mi vida real. Entonces no llevo aquí casi un año y es tan fácil entender lo que meto aquí, sus propios ojos, es el caminar aquí, así que puedo ir aquí a ver el caminar y ver lo que he hecho. Y puedo ir aquí y ver que estos son los árboles de línea como estamos, estamos disparando. Pero en este, en este caso, lo usamos en tiroteos para disparar dentro de nuestro, nuestro ejemplo. Pero también puedes usar trazas de línea para recoger artículos. Entonces en realidad esto se hace. Por ejemplo, si hago clic en play aquí, básicamente estoy dando un trazo de línea para detectar qué arma es subterránea. Y en realidad se puede hacer eso. Linearemos rastros, así que es bastante guay. Entonces cuando golpee el arma, va a hacer algunas cosas. Pero básicamente recuerda, recuerda comentar tu código, haz lo que puedas para limpiarlo. Se puede ver aquí lo he puesto, incluso he puesto las funciones dentro de, dentro de estas categorías. Por lo que al hacer clic en las funciones, en realidad puedes agregarles dos categorías así de estas funciones. Y este está en frota este multijugador, realmente no puedo agregarlos en categorías. Entonces por eso están aquí afuera. Y básicamente, estas son todas las, todas las variables. Y puedes ver lo desordenado que se puede poner si tienes todas estas variables y esto, ni siquiera he empezado el juego. Todavía tengo mucho buggy y sigo en el inicio del desarrollo. Entonces puedes ver aquí, tenemos tantos componentes aquí y esto es solo el comienzo. Y te puedes imaginar si desarrollas un año, qué desordenado va a ser esto. Entonces básicamente, solo limpia tu código y se va a poner muy desordenado si no lo haces.