Unreal Engine 5: cómo hacer Mario | Greg Wondra | Skillshare

Velocidad de reproducción


1.0x


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

Unreal Engine 5: cómo hacer Mario

teacher avatar Greg Wondra, Unreal Authorized Instructor

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.

      Video de promoción del curso

      1:31

    • 2.

      Crear proyecto

      7:59

    • 3.

      Crear nivel

      7:34

    • 4.

      Configuración de la cámara del jugador

      6:30

    • 5.

      Cámara personalizada del jugador

      12:35

    • 6.

      Movimiento del jugador

      9:42

    • 7.

      Salto del jugador

      6:04

    • 8.

      Efecto de salto del jugador

      7:39

    • 9.

      Capas de ajuste de capas en 2D

      5:56

    • 10.

      Widget de traducción 2D

      3:13

    • 11.

      Salto en la plataforma (parte 1)

      7:11

    • 12.

      Saltar en una plataforma (parte 2)

      16:22

    • 13.

      Plataforma móvil

      15:20

    • 14.

      Plataforma de lanzamiento (parte 1)

      19:25

    • 15.

      Plataforma de lanzamiento (parte 2)

      16:33

    • 16.

      Componentes de pasamonedas

      8:50

    • 17.

      Guion para recoger monedas n.º 1

      5:01

    • 18.

      Controlador de reproducción

      3:26

    • 19.

      Guion para recoger monedas n.º 2

      18:20

    • 20.

      Concorrencia con el sonido de la pastilla de moneda

      3:49

    • 21.

      Barra de fuego (parte 1)

      18:31

    • 22.

      Barra de fuego (parte 2)

      19:57

    • 23.

      Diseño de HUD

      17:46

    • 24.

      Pantalla HUD

      2:38

    • 25.

      Enlaces HUD

      8:36

    • 26.

      Biblioteca de funciones de blueprint

      4:50

    • 27.

      Interfaz de blueprint

      1:47

    • 28.

      Widget de visualización de puntos BP

      2:38

    • 29.

      Widget de visualización de puntos de animé

      8:58

    • 30.

      Clase de actor de exhibición de puntos BP

      9:07

    • 31.

      Función de agregar puntos

      2:13

    • 32.

      Base de bloque

      12:13

    • 33.

      Bloque rompible

      13:52

    • 34.

      Moneda en bloque

      11:39

    • 35.

      Moneda en bloque

      12:26

    • 36.

      Bloque falso rompible (moneda en el interior)

      16:17

    • 37.

      ¿Bloqueo? (Moneda en el interior)

      1:35

    • 38.

      Bloque de moneda invisible

      9:54

    • 39.

      Caja de monedas con bloques

      11:44

    • 40.

      Flor de fuego en bloque #1

      13:48

    • 41.

      Flor de fuego en bloque #2

      5:49

    • 42.

      Transformación de un jugador de flores de fuego

      18:55

    • 43.

      Plano de bola de fuego

      7:03

    • 44.

      Dispara bolas de fuego (básico)

      13:02

    • 45.

      Dispara bolas de fuego (avanzado)

      17:48

    • 46.

      Componentes del bloque base y funciones

      5:40

    • 47.

      Bloqueo de niños y actor infantil

      2:45

    • 48.

      Plano de acción de la cámara

      2:03

    • 49.

      Recursos de feedback forzado

      2:21

    • 50.

      Materiales y sonidos del bloque P

      4:41

    • 51.

      Plano de bloque P

      8:13

    • 52.

      Script en bloque P (parte 1)

      15:44

    • 53.

      Script en bloque P (parte 2)

      4:59

    • 54.

      Corrección de errores en el bloqueo P (parte 1)

      6:22

    • 55.

      Corrección de errores en el bloqueo P (parte 2)

      9:16

    • 56.

      Corrección de errores en el bloqueo P (parte 3)

      3:59

    • 57.

      Plan de Goomba

      12:08

    • 58.

      Reproductor de daños de Goomba

      6:44

    • 59.

      Destruir a Goomba mediante Stomp

      15:45

    • 60.

      Destruye a Goomba con Bola de fuego

      4:21

    • 61.

      Patrullero de Goomba (parte 1)

      6:05

    • 62.

      Patrullero de Goomba (parte 2)

      14:46

    • 63.

      Goomba Seeker

      10:08

    • 64.

      Plano de tubo de deformación

      11:33

    • 65.

      Script de construcción de tubos de deformación

      6:23

    • 66.

      Entradas de tubo de deformación

      7:26

    • 67.

      Script de Warp Pipe #1

      11:42

    • 68.

      Script de Warp Pipe #2

      10:52

    • 69.

      Script de Warp Pipe #3

      11:19

    • 70.

      Conexiones de tubos de deformación

      7:07

    • 71.

      Plan de acción del modo de juego

      6:12

    • 72.

      Plan de punto de control

      10:21

    • 73.

      Script de punto de control

      12:21

    • 74.

      Script de respawn del modo de juego

      9:09

    • 75.

      Secuencia de muerte de un jugador n.º 1

      9:34

    • 76.

      Secuencia de muerte del jugador n.º 2

      9:52

    • 77.

      Secuencia de muerte y bloque P

      6:03

    • 78.

      Actualizar las vidas de los jugadores

      11:41

    • 79.

      Peligro de muerte instantánea

      5:14

    • 80.

      Plano de la macha de bandera

      17:55

    • 81.

      Script de pole de bandera n.º 1

      15:55

    • 82.

      Script de pole de bandera n.º 2

      12:19

    • 83.

      Script de pole de bandera n.º 3

      9:52

    • 84.

      Script de pole de bandera #4

      10:49

    • 85.

      Script de pole de bandera #5

      14:42

    • 86.

      Plano de configuración de niveles

      9:26

    • 87.

      Script de configuración de nivel n.º 1

      10:24

    • 88.

      Script de configuración de nivel n.º 2

      12:29

    • 89.

      Script de configuración de nivel n.º 3

      7:00

    • 90.

      Ajustes de nivel y bloque P

      5:43

    • 91.

      Ajustes de nivel y el polo de bandera

      10:07

    • 92.

      Polo de bandera y el bloque P

      4:48

    • 93.

      Transición de nivel

      16:21

    • 94.

      Nubes

      16:17

    • 95.

      Piezas de nivel

      6:47

    • 96.

      Accesorios de nivel y afinación de la cámara

      11:58

    • 97.

      Nivel del menú principal

      2:14

    • 98.

      Diseño del menú principal

      10:52

    • 99.

      Guion del menú principal

      10:31

    • 100.

      Widget de animaciones del menú principal

      12:16

    • 101.

      Interacción con el controlador del menú principal

      3:03

    • 102.

      Diseño del menú de pausa

      7:35

    • 103.

      Script del menú de pausa

      13:32

    • 104.

      EXTRA: sprint del jugador

      5:11

    • 105.

      EXTRA: dilatación del tiempo de la flor de fuego

      3:12

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

368

Estudiantes

3

Proyectos

Acerca de esta clase

Si alguna vez has querido codificar tus propios juegos pero no tienes ninguna experiencia ni sabes por dónde empezar, ¡entonces este es el curso para ti!

En el interior, el diseñador y educador de videojuegos, el Sr. Wondra te enseña todos los conceptos, habilidades y técnicas básicas necesarias para dominar Unreal Engine 5 y crear un proyecto de juego simple.

En esta clase aprenderás a hacer lo siguiente:

  • Cómo configurar y crear un proyecto en Unreal Engine
  • Cómo construir un nivel en 2D con objetos 3D
  • Cómo configurar una cámara de desplazamiento lateral
  • Cómo configurar la mecánica de movimiento de un personaje
  • Cómo crear objetos interactivos con Blueprint Scripting
  • Cómo crear potenciadores y habilidades especiales del jugador.
  • Cómo implementar la IA del enemigo simple
  • Cómo crear un sistema de puntos de control
  • Cómo hacer un respawn de un jugador
  • Cómo crear una HUD que funcione
  • Cómo crear menús interactivos
  • Cómo crear una forma dinámica de implementar los "Ajustes de niveles" (hacer cosas como la personalización de la música y los límites de tiempo por nivel en un abrir y cerrar de ojos)
  • Cómo arquitectar un proyecto de juego dentro de la configuración de proyectos de Unreal

¿A quién está dirigida esta clase?

En resumen, TODOSEstudiantes jóvenes y mayores (¡de 12 a 70!) y los desarrolladores de juegos AAA han tomado y encontrado un valor inmenso en este curso.  Los estudiantes comunes son los siguientes:

  • Para principiantes (¡nunca antes programados!)
  • Desarrolladores de Unreal existentes (que quieren aprender estas herramientas)
  • Conversiones en Unity
  • Educadores (que buscan un plan de desarrollo de juegos para sus clases) 

¡Vamos!

Con el conocimiento adquirido en estas lecciones de video, tendrás los conocimientos y las habilidades necesarios para empezar a crear tus PROPIOS proyectos de juegos.  ¡No puedo esperar a ver lo que creas!

Conoce a tu profesor(a)

Teacher Profile Image

Greg Wondra

Unreal Authorized Instructor

Profesor(a)

Hello! I'm Greg but most of my students know me as "Mr. Wondra." I'm an active game designer and Unreal Engine Authorized Instructor.

As a kid growing up in rural Wisconsin I dreamed of leaving the corn fields and cow pastures to one day become a video game designer. For 12 years I LIVED that dream! I've designed titles for 2K Sports, KingsIsle Entertainment, and Nickelodeon and have had rare lifetime opportunities such as directing LeBron James and Derek Jeter in motion capture sessions.

My design credits include:

- Wizard 101 (PC)

- Lost Planet 3 (360, PS3, PC)

- MonkeyQuest (PC)

- Sports Champions (PS3)

- Major League Baseball 2K5, 2K6, 2K7, 2K8 (various consoles)

- SpongeBob Moves In (Mobile)

- Grub ... Ver perfil completo

Level: All Levels

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. Video promocional de cursos: En este curso, vamos a aprender a usar Unreal Engine Five para diseñar y escribir un juego de estilo Mario con desplazamiento lateral Mi nombre es Greg Andro. Durante los últimos 20 años, he trabajado tanto como diseñadora de juegos profesional como maestra. A lo largo de los años, he enseñado a miles de estudiantes satisfechos el patio del diseño de juegos, tanto en línea como en el aula física. En esta, aprenderemos a crear camionetas, plataformas móviles, plataformas hinchables, bloques interactivos, enemigos, power-ups, pipas, puntos de control, respuestas, ajustes de nivel, un Hud, menú principal, menú Paz Casi todo lo que necesitas para comenzar a hacer cualquier proyecto de juego. Este curso es para todos, desde el joven aspirante a diseñador de juegos hasta el profesional de la industria de la temporada, y cualquier persona en el medio Empezaremos desde el principio, asumiendo que no sabes nada. Al final, este curso servirá como un valioso recurso. Puedes hacer referencia una y otra vez, ver lo que eres capaz de aprender y crear. Te reto a que pruebes este curso y veas si no es el mejor bang por la experiencia educativa que hayas tenido. Nos vemos por dentro. 2. Crea proyectos: Muy bien, vamos a empezar aquí creando un nuevo proyecto dentro del lanzador de Epic Games. Ahora debería señalarse en el Epic Games Launcher, tenemos seleccionada la opción Unreal Engine A la izquierda, y al otro lado de la parte superior aquí, tenemos seleccionada la pestaña de la biblioteca. Entonces ahí es donde estoy ahora dentro del lanzador de Epic Games para acceder a diferentes versiones del motor, o para agregar una nueva versión del motor, puedes hacer clic en este botón amarillo más aquí mismo. A la fecha de hoy, tengo 5.21 Esa es la última versión del motor Sin embargo, tenga en cuenta que en el futuro, Unreal siempre tiene versiones más nuevas, más recientes y mejores del motor que puedes usar para hacer este proyecto Solo usa lo que sea la última versión, pero voy a estar usando 5.21 para estar creando este proyecto Ahora para crear nuestro proyecto, voy a dar clic en este botón Iniciar. Y eventualmente, se te debería presentar esta ventana del navegador de Unreal Project Siempre y cuando no tuvieras ya un proyecto existente y no estuvieras cargando ese último proyecto al inicio, básicamente, actualmente no tenías marcada esta casilla. Aquí puedes ver mis proyectos existentes. Debajo de mi proyecto reciente en el que he trabajado, vamos a estar haciendo un proyecto de juego. Así que sigamos adelante y seleccionemos juegos. Por aquí, puedes elegir el tipo de plantilla de proyecto con el que te gustaría comenzar. Para ello, vamos a estar usando la plantilla de tercera persona para ayudarnos a comenzar de manera que estemos controlando un personaje de tercera persona. Esto va a ser un proyecto de plano. Nuestra plataforma objetivo va a ser de escritorio. Queremos mantener todo como está aquí, rastreando. No vamos a estar realmente enfocándonos en nada de ese tipo de cosas para este proyecto. Puedes verificar eso o no, pero en aras de asegurarnos de que nuestros proyectos se carguen de manera oportuna, voy a dejar eso fuera de la ubicación del proyecto. ¿Dónde quieres que esto se almacene en tu computadora? Voy a dejar el mío en mi unidad y voy a tener mi proyecto llamado Platformer Ahora no puedes tener ningún espacio aquí. Los guiones bajos solo servirán. Pero si agregas un espacio, te va a gritar. Y una vez que tengas el nombre de tu proyecto y tus juegos de ubicación, tercera persona, sigamos adelante y hagamos clic en Crear. Ahora, una vez que eso haya terminado, eventualmente se le debería presentar una ventana como esta. Bienvenido a Unreal Engine. Deberías ver el nombre de tu proyecto aquí arriba en la parte superior derecha. Ahí está, plataforma. Y sólo voy a hacer un par de cosas aquí por motivos de calidad de vida. Voy a entrar debajo de una ventana aquí en el extremo superior izquierdo, haciendo clic en ventana, y voy a cargar un layout. Quiero hacer el diseño clásico de la UE cuatro. Ese es el que prefiero y creo que es lo mejor para principiantes también. Al hacer clic en esto, el editor va a reiniciar. Y lo que hizo es que presentó este navegador de contenido aquí abajo. Vamos a estar hablando de diferentes partes del editor a lo largo de todo este proyecto. Pero el navegador de contenido es esencialmente tu cajón de golosinas que puedes usar para construir tu nivel aquí mismo, este es nuestro nivel inicial El nombre de nuestro nivel inicial es mapa de tercera persona. Estaremos creando el nuestro propio, pero eso es lo que se te presenta con un nivel inicial. Ahora algo más que me gustaría hacer de inmediato es seguir adelante y crear algunas carpetas aquí abajo en nuestro navegador de contenido que van a ser específicas de este proyecto. Sólo voy a sacar esto un poco a colación. Puedes agarrar estas ventanas. Sólo pon mi ratón aquí mismo. Y voy a colapsar donde dice Starter Content. Voy a hacer clic en mi carpeta Contenido, hacer clic derecho sobre esta, y voy a crear una nueva carpeta. Voy a seguir adelante y llamar este Platformer y presionar Enter Después voy a hacer click derecho sobre mi carpeta Plataforma. Y voy a crear un par de carpetas más. Haga clic derecho en nueva carpeta, esta primera se va a llamar audio. Voy a hacer click derecho de nuevo en la carpeta de la plataforma, Carpeta nueva, y voy a escribir click de nuevo en mi carpeta de plataforma y voy a llamar a esta Texturas. Ahora personalmente me gusta tener mis carpetas fácilmente identificables en cuanto a qué carpeta estoy trabajando. Entonces voy a escribir click en mi plataforma o carpeta y voy a agregar un color para esto Al ir a establecer color, voy a hacer algo así como un color verde odioso porque realmente va a destacar Ahora quiero agregar algo de contenido a estas carpetas. Ahora, sumado a este proyecto, alguna carpeta de contenido, texturas, fuentes y carpetas de audios a la moda de archivos zip Tengo estos en mi sección de descargas ahora mismo solo para mostrarte este proceso. Estas son las carpetas de las que estoy hablando ahora, estas son carpetas con cremallera Para extraer las golosinas del interior, todo lo que tendrías que hacer es hacer clic derecho en cualquiera de estos y simplemente elegir Extraer todo Una vez que haces esto, la carpeta con cremallera comienza a verse así Carpeta interior de. Aquí es donde vas a encontrar las golosinas. Empezaré con texturas aquí. Sólo voy a mantener pulsado el control y la rueda del ratón hacia abajo para poder hacer click izquierdo y arrastrar. Solo voy a resaltar todos estos, ahora voy a hacer click izquierdo y arrastrar todos estos, 31 de estos, a mi carpeta Texturas. Una vez que veas ese botón más, podrás soltarlo y empezará a sumar todos esos. Los importará a todos. Los vamos a estar usando a lo largo del proyecto. Entonces voy a hacer lo mismo con mis fuentes. Tener mi carpeta de fuentes seleccionada. En este momento puedes ver el camino aquí mismo. Alternativamente, puedo ir al juego de plataformas y simplemente puedo dejarlos caer directamente en esa carpeta Voy a volver aquí a Descargas Fuentes. Voy a resaltar todos estos click izquierdo y arrastrarlos a fuentes. Se va a decir, ¿te gustaría crear un nuevo activo de fuente para todos estos? Sólo vamos a decir que sí, apliquemos a todos y hagamos clic en sí. Bien. Entonces voy a volver a mi plataforma o carpeta. Una vez más, voy a volver a mis archivos de audio. Haga doble clic aquí. Voy a encontrar algún audio relacionado con este proyecto. Hay un montón de archivos de audio, podemos agregar más a medida que avanzamos aquí. Y quién sabe, puede que ni siquiera usemos todos estos, pero esto nos va a poner en marcha. Haz clic con el botón izquierdo y arrastra esto a la carpeta de audio. Y te darás cuenta para todos estos diferentes archivos, hay un asterisco junto a todos ellos que demuestra que aún no se han guardado. Para guardar todos estos, todo lo que tenemos que hacer aquí es hacer clic en este guardar, todo lo que dirán, ¿quieres guardar todos estos activos que acabas de agregar? Vamos a decir que sí. Entonces justo como una buena medida aquí, vamos a salvar nuestro proyecto. Si nos encontramos bajo archivo, podemos hacer un archivo guardar todo también. Ahora nuestro proyecto está todo guardado y ya estamos bien para irnos. Ahora solo para dar la vuelta a las cosas que hemos creado nuestra plataforma o proyecto. Si tuviera que regresar al lanzador de juegos épicos y luego volver a la sección de biblioteca Unreal Ahora podemos ver que tenemos nuestro proyecto de plataforma aquí mismo, aunque sin ninguna imagen en miniatura Pero para volver a tu proyecto, digamos que íbamos a cerrar eso de nuevo, todo lo que necesitaríamos hacer es venir bajo Unreal Engine Library y podrías doble clic en esto para relanzar Bien chicos, eso lo va a hacer para este video. Te veremos en la siguiente. 3. Crea nivel: Bien, vamos a comenzar con nuestro proyecto aquí creando un nuevo nivel, así como configurando la cámara de desplazamiento lateral para nuestro personaje Entonces, cuidemos primero el nivel. Y podemos crear un nuevo nivel en lugar de nuestro mapa predeterminado en tercera persona viniendo en el extremo superior izquierdo donde dice archivo. Vamos a elegir un nuevo control de nivel más n te llevará allí también. Esa combinación de teclas de acceso rápido aquí. Tenemos un par de plantillas que podemos elegir. Voy a elegir este nuevo nivel básico. Voy a seleccionar eso porque quiero tener un fondo de cielo. Y voy a crear, ahora en el momento en que haga esto, vamos a cambiar de nuestro mapa de tercera persona y a un nivel Sin título Ahora se llama Sin título porque no lo hemos guardado. No le hemos dado nombre. Podemos guardar nuestro nivel haciendo clic en este icono de disco aquí mismo. Nos va a preguntar una ubicación donde nos gustaría guardar este nivel. Bueno, vamos a pasar por debajo de nuestra carpeta de plataforma. Yo sólo voy a ampliar eso. Voy a dar click en donde dice plataforma. Vamos a crear una nueva carpeta. Voy a llamar a esto Niveles. Con mi directorio de niveles de plataforma seleccionado, voy a llamar a este nivel, solo lo voy a llamar LV subrayado 01 para el nivel uno, seguir adelante y dar clic en Guardar Y en el momento en que hacemos esto, ya se puede ver en la parte superior izquierda, esto ahora se conoce como subrayado de nivel 01 Ahora algo más que me gustaría hacer de inmediato es configurar mi proyecto para que si tuviera que cerrar aquí irreal y luego abrirlo de nuevo, digamos mañana, que automáticamente por defecto se abriría este nivel una vez más Ahora la forma en que se encuentra, actualmente va a abrir ese mapa en tercera persona. Si tuviéramos que cerrar el motor y volver a abrirlo, ¿dónde podemos cambiar eso? Bueno, en nuestro proyecto Settings es donde podemos elegir qué mapa se abre por defecto. Cuando abrimos el editor, un par de lugares para acceder a la configuración de tu proyecto. Uno está en el extremo superior derecho aquí, y voy a hacer un poco de zoom hacia arriba en eso momentáneamente Eso es justo ahí. Además, puedes acceder a él entrando en tu menú Ventana, Justo aquí arriba. Déjame salir de ahí. Ve también. Lo siento, no ventana. Me refería a editar. Queremos entrar en Editar y queremos elegir Configuración del proyecto, no Ventana. Y aquí vamos. Tenemos la configuración de nuestro proyecto, y si entro en Mapas y Modos, permítanme acoplar la configuración del Proyecto a lo largo la parte superior aquí. Mapas y modos. Aquí tenemos nuestro editor start up map. Actualmente está mapeado a nuestro mapa en tercera persona. Sigamos adelante y cambiemos eso a B. Sólo voy a desplazarme hasta el nivel 01. Ahora no hay botón de guardar ni nada aquí, así que solo puedes cerrar esto. Y eso hará que cuando intentes abrir tu proyecto mañana, se abra al nivel uno por defecto. Bien, lo siguiente que quiero encargarme es remodelar un poco nuestro nivel aquí para que sea más de una Ahora mismo, esto es de naturaleza muy cuadrada. Entonces, lo que quiero hacer es cambiar de mi perspectiva aquí a una vista de arriba hacia abajo. Y lo que realmente voy a hacer ahora mismo es clic en este botón en la parte superior derecha, aquí mismo, es como que tiene el icono de la cuadrícula. Quiero acceder a mi vista superior aquí. Ahora mi vista superior está en una vista de estilo wireframe. Y solo voy a dar click aquí mismo para maximizar esto. Y luego alejar el zoom con mi rueda de desplazamiento. Si tuviera que seleccionar esta cosa púrpura aquí mismo, esa es esa plataforma gigante que vemos de nuevo en nuestra perspectiva. Entonces, si tuviera que minimizar eso momentáneamente. Aquí está esa plataforma gigante de la que estoy hablando ahora cuando estamos trabajando en este nivel de desplazamiento lateral desde una vista de arriba hacia abajo Quiero que esto fluya esencialmente de izquierda a derecha. Entonces todo lo que voy a hacer es simplemente voy a apilar esta plataforma para que quede un poco más delgada y más larga Lo que puedes hacer es seleccionar tu plataforma, si presionas la barra espaciadora, alternas entre el modo de movimiento, el modo de movimiento, el modo de rotación, modo de rotación y el modo de escala. Y los tres botones te intercambiarán aquí arriba en la parte superior de tu Viewport Me gusta usar una barra espaciadora para alternar entre estas. Ahora voy a ir al modo escala y voy a agarrar esta manija verde aquí. Y yo sólo voy a apretarle esto, algo así No voy a ser súper preciso con eso entonces con mi asa roja, sólo voy a alargar esto un poco. Esencialmente, queremos que nuestros jugadores comiencen de nuevo aquí y luego se muevan hacia la derecha. Esto es desde una vista de arriba hacia abajo. Ahora minimicemos nuestra vista de arriba hacia abajo. Ve aquí mismo, iremos a nuestra vista en perspectiva. Quiero dejar esto en la vista de cuatro paneles ahora mismo. Se puede ver desde una vista de arriba hacia abajo que, ese mango verde está apuntando hacia abajo. Entonces eso significa que en mi vista en perspectiva, para que una especie de coincida con esta vista de arriba hacia abajo, solo voy a mantener presionado el botón derecho del mouse y usar W, S y D para algo así ir en este ángulo justo aquí que coincide un poco con lo veo en el panel superior. Bien, así es como vamos a trabajar. Voy a pantalla completa esto ahora. Y ahora lo que quiero hacer es que quiero colocar lo que se conoce como actor de inicio de jugador a la izquierda aquí. Para significar el lugar en el que quiero que aparezca mi jugador, una vez que hagamos clic en el botón de reproducción Para ello, necesitamos un actor de inicio de jugador. Esto se puede encontrar en el panel de actores del lugar. Ahora bien, si no tienes el panel de actores del lugar aquí mismo, tal vez saliste de él, algo así Puedes venir aquí mismo, Tienes el panel de actores del lugar. Y con esta pestaña seleccionada la pestaña básica, podrás encontrar un jugador start actor. Solo sigue adelante y arrastra esto a nuestra parte de vista. Sólo voy a presionar la tecla para traer mi herramienta de movimiento. Y si lo traigo al aire así, puedo presionar la tecla de fin, esa es la tecla END ubicada junto a tu tecla de borrar para ajustarla al suelo. Ahora voy a ser bastante específico sobre dónde quiero que esto se coloque en el plano Y. Ese es el plano verde aquí mismo en mi panel de detalles donde puedo encontrar todos los diversos detalles relacionados con mi actor seleccionado. Voy a establecer la ubicación y, la ubicación verde ahí a cero. Entonces solo voy a seleccionarlo, presionar cero y luego presionar Enter. Y mira lo que les pasa a mis jugadores. Actor de inicio, va a saltar a esa ubicación. Eso va a ser lo suficientemente bueno por ahora. Ahora bien, si me muevo hacia arriba a mis jugadores inicio actor, puedo ver esta flecha azul justo aquí, es decir, que indica la dirección nuestro personaje va a estar enfrentando cuando engendren en el nivel Ahora bien, si tuviera que hacer clic en el botón verde de reproducción justo aquí arriba, puedes ver que mi personaje ha engendrado alrededor de esa ubicación Ahora solo estoy manteniendo pulsado el botón derecho del ratón y desplazándolo alrededor. De hecho, una vez que hayas hecho clic en la ventana gráfica, si solo mueves el mouse, vas a poder desplazar la cámara así Ahora, para una plataforma de desplazamiento lateral, esto no es ideal para un juego de plataformas de desplazamiento lateral Queremos que la cámara retroceda y queremos que la cámara se ordene, bloqueada en esta vista lateral. Entonces eso es lo que vamos a estar cuidando el próximo año. 4. Configuración de la cámara del jugador: Ahora, cuando engendramos en el juego, justo entonces, nos engendramos como el personaje en tercera persona en la ubicación de inicio de nuestros jugadores Ahora la razón por la que nos engendramos como personaje en tercera persona es porque ese es el carácter predeterminado que estamos usando Para esta plantilla en particular. Estamos usando la plantilla de tercera persona. Ahora esto se puede encontrar dentro de la configuración de nuestro proyecto, y puedes acceder a tu Configuración del proyecto en la parte superior derecha, aquí mismo, donde dice Configuración. Si hago clic en Configuración y voy a mi Configuración del Proyecto, tenemos una sección a lo largo del lado izquierdo conocida como mapas y modos. Y si selecciono eso, podemos encontrar nuestra clase de peón predeterminada, esa es la clase de personaje, si se quiere, que estamos controlando en nuestro juego como el personaje en tercera persona Y podemos navegar hasta este activo haciendo clic en este icono de carpeta aquí mismo. Eso buscará ese activo en el navegador de contenido. Lo haré haciendo click izquierdo sobre él. Y puedes ver dónde reside este activo en las carpetas en la carpeta de planos de tercera persona de todo el contenido Ahora vamos a hacer algún trabajo dentro de aquí para comenzar a ajustar nuestra cámara de personajes. Entonces hagamos doble clic en esto para abrirlo. Al abrir esto, estamos predeterminados en esta pestaña gráfica de eventos aquí mismo Aquí es donde reside todo el script, donde reside todo el código relacionado con este personaje. Vamos a ignorar esto ahora mismo y saltar a nuestra pestaña Viewport En nuestra pestaña Viewport, podemos ver todos los diferentes componentes que conforman este blueprint Tenemos nuestro modelo de personaje, que está representado por este componente de malla. También tenemos esta cámara. Esta es la lente a través de la cual actualmente estamos viendo a nuestro personaje. Nuestra cámara está actualmente conectada a una cámara, boom. Lo que en realidad se conoce como un componente de brazo de resorte. Podemos decir esta relación de apego cada vez que veamos esta sangría Ahora mismo, la cámara de seguimiento está unida a nuestra cámara, boom. Ahora lo que queremos hacer aquí es hacer algunas modificaciones a nuestra cámara, boom. Nuestro componente de brazo de resorte. Se te ocurre este componente de brazo de resorte conocido como nuestra cámara. Boom, ese es el nombre de este componente como palo selfie. Actualmente, lo que queremos hacer es que queremos sacar este selfie stick hacia atrás. Ahora recuerda, nuestra cámara está unida a nuestra cámara. Boom. Aquí actualmente la longitud del brazo, la longitud de nuestro auto stick es de 300 unidades irreales Queremos alargar esto un poco. Tengo algunos valores en mente aquí para varios parámetros. Vamos a poner esto en 1,500 y al presionar Enter, vamos a ver que nuestra cámara ya está muy atrás, no queremos tener nuestra cámara detrás de nuestro personaje, la queremos a un lado aquí. Así que vamos a desmarcar un par de casillas justo aquí debajo de la configuración de la cámara Vamos a desmarcar heredar tono y heredar guiñada. Actualmente, si tuviéramos que jugar nuestro juego, déjame volver a entrar y jugar muy rápido. Voy a hacer click en mi Viewport. Ya ves que estoy muy por detrás de nuestro personaje ahora porque puse ese selfie stick muy atrás. Estoy pinchando en mi ventana gráfica y puedo cambiar la guiñada de nuestra cámara Eso es la izquierda y la derecha, así como el terreno de juego, el arriba y abajo. Y no quiero hacer eso. Quiero tener la cámara esencialmente bloqueada justo por aquí. Voy a presionar escape, saltar fuera de aquí. Y voy a desmarcar heredar tono y heredar ya. Ahora bien, si tengo que volver a entrar y jugar, y me hacen clic dentro de mi ventana gráfica, en realidad no puedo modificar la posición de nuestra cámara Lo estamos encerrando en su lugar. A continuación, quiero sacar esta cámara a un lado. No quiero que se quede atrás. Lo que voy a hacer es que voy a cambiar la rotación de nuestra cámara. Boom. Justo aquí en la rotación, la rotación z. Quiero establecer esto para que sea negativo 90. Pulse Intro. Y ya puedes ver que salta la cámara por aquí, algo así como esa vista lateral. Entonces ahora si hago clic en Reproducir y hago clic en mi Viewport, puedes ver que ahora rastrea a nuestro personaje Ahora nuestros controles W, AS y D van a ser un poco torpes De hecho, van a estar un poco al revés. No te preocupes. Vamos a arreglarlo aquí en un momento. Pero hay un par de otros ajustes de cámara que quiero encargarme ya que ya estamos aquí. Una cosa que quiero hacer es que quiero habilitar alguna pata de cámara. Entonces, una vez más, con nuestro brazo de cámara, ese componente de brazo de resorte seleccionado, queremos marcar esta casilla para habilitar la pata de la cámara. Ahora normalmente no quieres una cámara de piernas piernas, pero si es demasiado apretada para seguir a nuestro personaje, puede ser un poco discorante. Entonces esto va a suavizar el movimiento de las cámaras apenas un poco Observe que una vez que encendamos esto, va a habilitar un valor de velocidad de pierna de cámara. Voy a dejar esto a las diez ahora mismo, pero a medida que avanzamos a lo largo de este curso, sepa que se puede jugar con esto para tener más o menos pata de cámara Y otra casilla de verificación que quiero desmarcar es esta prueba de colisión Ahora actualmente está comprobado y voy a dejarlo encendido por un momento para mostrarte lo que hace esto. Voy a saltar de nuevo a mi nivel muy rápido y no tienes que seguir junto con esta parte. Sólo voy a demostrarlo. Voy a traer un dragón cubo, déjalo caer aquí. Y simplemente voy a presionar la barra espaciadora un par de veces y crear esta especie de bloqueador de primer plano, si se quiere Así que vamos a tener nuestro personaje corriendo a la izquierda o a la derecha aquí y nuestra cámara va a ser bloqueada de ver a nuestro personaje aquí. Con esto hacer comprobación de colisiones. Hacer prueba de colisión. Comprobé si iba a hacer clic en reproducir y voy a presionar el WK para seguir adelante Mira lo que le pasa a nuestra cámara. Va a saltar al frente así. Eso es un poco discorante. Si no quieres ese efecto, lo que podemos hacer es con esa cámara, boom, seleccionada. Desmarquemos eso para que cuando juguemos, la cámara ahora solo va a ir así No va a saltar frente a esa pared. Eso va a ser útil en caso de que construyamos algún tipo de decoración en primer plano mientras construimos nuestro nivel Bien, sigamos adelante y guardemos este activo. Y eso lo va a hacer todo por este video. En el siguiente video, vamos a incorporar alguna personalización a nuestra cámara para que puedas convertirla en lo que quieras, personalizarla a tu gusto. Te veremos ahí. 5. Cámara personalizada para jugadores: Bienvenidos de nuevo a todos. Ahora que tenemos nuestra cámara de desplazamiento lateral en su lugar, vamos a personalizarla un poco Voy a sumergirme de nuevo en mi plano de personaje en tercera persona aquí mismo Aquí está el camino para eso en caso de que saltes hacia abajo, Plano en tercera persona, personaje en tercera persona Y vamos a empezar aquí añadiendo algunas variables. Las variables guardan los datos a los que podemos acceder dentro de los scripts. Y voy a agregar un par de diferentes tipos de variables aquí, comenzando por venir bajo variables, presionando este botón más. Vamos a agregar una llamada puede ajustar la cámara en tiempo real. Entonces voy a agregar otra variable, y voy a llamar a esta Camera Distance from Player. Voy a cambiar esto de una variable booleana, que contiene datos verdaderos y falsos, a un flotador Un float es un número con un decimal, 0.2 tipos diferentes de variables que vamos a estar sumando. En esta, voy a agregar otra variable, y esto va a llamarse cámara X offset. Ahora lo que podemos hacer aquí es que podemos hacer clic derecho sobre esta variable y podríamos elegir crear una nueva. Pero sólo voy a duplicar esta. Control plus D es la tecla de acceso rápido para eso. A éste se le va a llamar Y offset. Y por eso elegí duplicarlo. Porque solo voy a estar cambiando un poquito del texto aquí con ese seleccionado, voy a hacer el control D para duplicar eso. Y esto se llamará desplazamiento Z. Vamos a poder compensar esto en cualquiera de las distintas direcciones, Y o Z. Y luego duplicaré este control más D, aunque voy a sobrescribir todo este nombre Se va a llamar cámara de velocidad de pierna. Bien, y con todas estas variables, voy a dar click sobre estos íconos del globo ocular Ahora lo que esto hace es para cada uno de estos, cuando hacemos clic en este icono del globo ocular, y actualmente tengo la velocidad de la pierna de la cámara como mi variable seleccionada sobre en el panel de detalles Comprobando ese globo ocular hace que esta variable sea editable por instancias De igual manera, si tuviera que hacer click en esto, van a ver que ese globo ocular ya está cerrado Dos formas diferentes de hacer que tus variables sean editables por instancias, haz clic en esto o haz clic en el globo ocular Entonces, si vuelvo a hacer clic en esto, ese globo ocular vuelve a estar encendido ¿Qué significa eso? Bueno, lo que eso significa es que esta variable ahora estará disponible para editarla cuando volvamos a estar dentro del editor. Y vamos a echar un vistazo a eso aquí en un momento. Ahora voy a estar usando estas variables dentro de un script. Voy a escribir aquí en un momento. Pero antes de hacer eso, quiero darle a estas variables un valor por defecto. Y antes de que pueda hacer eso, como vemos en el panel de detalles, necesito compilar nuestro blueprint antes de darle un valor por defecto Entonces, vamos aquí en la parte superior izquierda y compilemos nuestro plano Comenzando con nuestra variable superior, ¿ esta podemos ajustar la cámara en tiempo real Voy a dejar eso como desmarcado. Para la distancia de cámara del jugador, voy a establecer esto en 1,500 Notarás que ese valor va a coincidir con nuestros auges de cámara, longitud del brazo objetivo Seleccionando de nuevo nuestra variable, voy a ir con desplazamiento de cámara. Vamos a establecer que sea cero cámara Y offset. Voy a dejar eso como cero desplazamiento de cámara. Voy a poner esto en 150. Y luego la velocidad de la pierna de la cámara, voy a poner esto en diez. Ahora te darás cuenta de mi cámara la velocidad de la pierna aquí, el valor de diez, Eso va a coincidir con mi cámara, boom. Este componente de brazo de resorte, va a coincidir con este valor aquí mismo. Velocidad de la pierna de la cámara. Y sí quería desfasar mi cámara en la dirección Z en 150. Así que vas a ver eso en juego aquí en tan solo un momento. Bien, con esas variables en su lugar, saltemos de nuestra pestaña Viewport a nuestro gráfico de eventos y pongamos algunas de estas variables para usar Ahora quiero hacer cada fotograma, quiero actualizar la posición de nuestra cámara cada fotograma. Entonces voy a usar un tick de evento. Mantenga pulsado el control y la rueda del mouse hacia arriba para acercar el gráfico aquí. El botón derecho del ratón se desplazará alrededor de este injerto. Al hacer clic derecho, voy a escribir en eventos tick. Ahora bien, esto dispara de todos los cuadros. Y lo que voy a hacer es que voy a arrastrar aquí y traer un nodo de sucursal. Lo primero que vamos a hacer antes continuar más allá de aquí es verificar una condición. La condición que quiero verificar es poder ajustar la cámara en tiempo real. Puedo arrastrar y soltar esto justo en el pin de condición para conectarlo automáticamente así. Si esto es cierto, queremos hacerle algo a nuestro brazo de resorte. Voy a traer nuestro componente de brazo de resorte, que se llama cámara, Boom. Vamos a arrastrar esto para conseguirlo. Voy a arrastrar fuera de la rama verdadera aquí y escribir la ubicación relativa establecida. Quiero hacer esto por mi cámara, boom. Y se puede ver aquí entre paréntesis, muestra el boom de la cámara Entonces, si tuviera que traer este nodo de función, mira esto, traería mi cámara, boom, enseguida. Ahora, ya lo había traído. Yo sólo quería demostrar que podrías hacer eso. Pero voy a eliminar esto. No tenía que hacerlo. Yo también podría haber borrado esta tripa. Y vamos a enganchar esto como objetivo. Esto es lo que queremos actualizar cada frame. Sólo voy a mover todo esto aquí arriba. Acabo de dejar clic y arrastrar estos todos aquí arriba. Ahora quiero establecer una nueva ubicación para esto. Cada fotograma voy a arrastrar hacia atrás fuera de esta nueva ubicación y escribir make vector. Queremos poder actualizar la posición X, y, y Z de esta. Cada fotograma voy a arrastrar en la cámara X offset en la X, la cámara Y offset en la Y, y el offset en la Z. Puedes moverlos. Cómo quieres organizar esto, todo bien. Ahora vamos a continuar el flujo de ejecución aquí. Haciendo algo más que establecer la posición de nuestra cámara. Boom. Aquí voy a traer nuestra cámara de velocidad de pierna. Si arrastro esto y lo libero puedo obtenerlo o configurarlo, quiero obtener esa información contenida dentro de esa variable. Entonces voy a arrastrar fuera de aquí adentro, en realidad no voy a arrastrar ahí dentro. Voy a arrastrar en nuestra cámara, boom. Vamos a arrastrar fuera de aquí y escribir velocidad de la pierna de la cámara. Queremos establecer la velocidad de la pierna de nuestra cámara. Entonces, lo que esencialmente estamos diciendo aquí es, oye, nuestra cámara, boom. Queremos poder actualizar la velocidad de la pierna de nuestra cámara con cualquier valor que esté aquí. Entonces nos estamos comunicando. Básicamente estamos diciendo hola cámara, boom. En lugar de tener este default de diez, hagámoslo cualquiera que sea este valor. Actualmente son diez. Pero vamos a poder ajustar eso. Vamos a mantener este flujo de ejecución. Entonces lo siguiente que quiero hacer es que quiero arrastrar fuera de mi cámara, Boom. Una vez más. Y quiero traer la longitud del brazo objetivo. Quiero poder volver a establecer la longitud de nuestro brazo objetivo. Si tuviera que seleccionar nuestro componente de brazo de cámara aquí, este componente de brazo de resorte, tenemos esta longitud de brazo objetivo. Actualmente está fijado en 1,500 Vamos a mantener ese flujo de ejecución yendo justo aquí. Y puedo actualizar este cada fotograma enchufando nuestra cámara ¿Dónde está la distancia de la cámara del jugador, justo en esa entrada? Este va a ser nuestro guión final. Solo voy a enmarcar esto A continuación, voy a hacer click izquierdo y arrastrar una selección de marquesina alrededor de todo este tipo, la tecla C para traer una caja de cometa y voy a llamar a esto te permite temporalmente personalizar temporalmente la configuración de tu cámara Bien, sigamos adelante y compilemos nuestro plano para asegurarnos de que nuestro código aquí se vea bien Ahora voy a seguir adelante y jugar aquí. Pero quiero volver a mi mapa principal aquí, mi editor de nivel principal. Y tenga en cuenta que lo soy. Acabo de hacer clic en estos tres puntos jugando en mi ventana gráfica seleccionada Y la razón por la que estoy haciendo esto es porque ahora estoy jugando se acabó en el outliner Lo que verás es en esta fuente naranja amarillenta, tenemos nuestro personaje en tercera persona Esto muestra un generado en Asset una vez que jugamos nuestro juego. Cualquier cosa en Orange Oye acaba de aparecer en. Una vez jugamos nuestro juego. Ahora puedo seleccionar nuestro personaje en tercera persona en el panel de detalles. Vas a notar algo abajo. Tenemos una categoría en la sección all llamada default. Y aquí están todas esas variables que acabamos crear y exponer a nuestro editor de niveles. Eso es lo que ha hecho esa instancia editable, checkbox, ese ícono del globo ocular Ha hecho que todas estas variables aquí sean accesibles en el editor. Y ahora lo que podemos hacer es actualizar nuestra posición de cámara aquí en vivo mientras jugamos el juego. Ahora recuerda nuestro personaje en tercera persona, actualmente estamos cerrados para avanzar más allá de aquí. Sólo si podemos ajustar la posición de la cámara en tiempo real si esta variable es verdadera, y por defecto tenemos esta es falsa. Entonces voy a verificar esto primero porque de lo contrario ninguna de estas ediciones aquí abajo haría nada Voy a comprobar esto y lo que vas a ver es inmediatamente que la cámara se desplazó hacia arriba. Y ahora podríamos modificar cualquiera de estos valores, como la distancia de la cámara con respecto al reproductor, simplemente yendo a click izquierdo y arrastrando. Y una vez que libere, se puede ver que actualiza eso. Podría configurar esto para que sea algo así como 500 presione Enter, actualícelo así que esto lo está actualizando en vivo. Al hacer clic en este botón de retroceso, volverá a su valor predeterminado. Realmente puedes tener una idea cuánta personalización tenemos para esta cámara en particular. Intente configurar el desplazamiento Z de la cámara a 400, presionando Enter, la desplaza hacia arriba. Mucha personalización aquí de cómo quieres configurar esto, Y, sigamos adelante y pongamos eso en 200, presiona Enter, etcétera Establezca esto en 222, presione Enter. Puedes cambiarlo de esa manera. Lote de personalización fina. Sin embargo, notarás que una vez que dejes de jugar aquí y vuelvas a tus planos y hagas clic en tus diversas variables, ninguno de esos valores se actualizó realmente Todos son iguales a lo que los estableceríamos por defecto. Ahora bien, la razón por la que etiqueta esto te permite personalizar temporalmente la configuración de tu cámara es porque si estás cambiando la configuración de tu cámara aquí y dices que te gusta algún cambio, déjame igual que mi personaje en tercera persona, una vez más, quieres que la distancia sea 1,000 Lo que necesitas hacer es recordar estos valores o copiar estos valores para que una vez que dejes de tocar tu y volver a tu personaje en tercera persona, puedes poner un nuevo valor predeterminado. Entonces solo para aclarar una vez más, cuando estás jugando a tu juego y estás actualizando cualquiera de los valores asociados a tu cámara, eso solo es temporal hasta que dejes de jugar tu juego. Y una vez que dejes de jugar a tu juego, si te gustan esos valores, debes actualizarlos aquí dentro del propio editor para que esos cambios se lleven a cabo de forma permanente. Al bien, ahí vamos. una linda cámara personalizada, hazla lo que quieras. Eso lo va a hacer por este video. Te veremos en la siguiente. 6. Movimiento de jugadores: Bien, bienvenidos de nuevo a todos. En este video, nuestro objetivo es afinar los conceptos básicos de cómo se mueve nuestro personaje jugador dentro de nuestro juego. Para ello, vamos a estar trabajando dentro de nuestro personaje BP en tercera persona. Así que haz doble clic en ese activo para abrirlo. Y solo quiero hacer algunos ajustes a nuestro script de entrada de cámara y nuestro script de entrada de movimiento. Ahora cable script de entrada de cámara. Bueno, si tuviera que saltar y jugar ahora mismo, no voy a tocar mi mouse para nada y uso la tecla Wkey y la tecla S. Obviamente, estos controles no son correctos, y estoy usando W, S y D, no tienen razón, pero mi personaje se mueve sólidamente en una dirección u otra Sin embargo, si tuviera que golpearme el ratón, y sólo voy a chocar un poco mi ratón aquí, lo estoy moviendo de derecha a izquierda, y ahora estoy usando esas teclas. Se ve que me está desanimando un poco, corriendo en ángulo Lo que está sucediendo en este momento es este script de entrada de cámara está afectando la dirección de nuestro personaje. Debido a que esto todavía está enganchado para arreglar esto, todo lo que tenemos que hacer es acabar con este guión. Podría borrar todo esto. Sin embargo, sólo voy a mantener presionada la tecla Alt, Ol, y luego clic izquierdo y eso va a recortar ese cable Ahora bien, si iba a saltar y jugar, y utilizo esas teclas W, S y D , por mucho que mueva mi ratón, mi personaje se va a mover sólidamente en una dirección u otra Ahora obviamente no se están moviendo en la dirección correcta. Eso va a ser para que lo arreglemos a continuación. Para eso, vamos a bajar a nuestra sección de entrada de movimiento. Ahora tenemos actualmente dos tipos de entradas establecidas, una para izquierda, derecha y adelante hacia atrás. Sin embargo, esto es un poco engañoso ya que nuestro guión hacia adelante hacia atrás aquí es en realidad lo que queremos usar para ir a la izquierda y a la derecha. Este poco de guión de aquí mismo, vamos a matar. Y esto se debe a que simplemente vamos a estar preocupándonos nuestro personaje se mueva de izquierda a derecha a lo largo del eje X. Y no tenemos que preocuparnos se muevan en todas direcciones, No tenemos que preocuparnos por ese eje Y. Así que vamos a acabar con esto. Vamos a acabar con esto también. Un par de estos re rutean nodos aquí abajo. Y esto es un poco de pirateo, pero haré todo lo posible para describir exactamente lo que pretendemos hacer aquí Solo nos importa cómo nos estamos moviendo a lo largo del eje x. Dejé esto intencionalmente enganchado por una razón. Ahora cuando estamos dentro de un juego, tenemos nuestro joystick de control izquierdo en un joystick, por ejemplo, podemos pensar nuestro thumbstick izquierdo dividido en dos ejes Este es el eje Y, justo aquí arriba. Va recto arriba y abajo, y este es el eje X. Ahora de nuevo, sólo nos importa el eje X. Nuestro personaje va a correr de izquierda a derecha. Y eso es lo que nos importa de esta acción de entrada. Cómo estamos ingresando, y cómo estamos generando el movimiento de nuestros personajes en función de nuestra entrada movimiento de nuestros personajes en función de nuestra Esto se va a mover en la dirección x negativa, y esta va a moverse en la dirección x positiva. Queremos nuestro vector hacia adelante aquí, nuestros personajes hacia adelante dirección basada en su rotación z. Es decir, si tuvieras que trazar línea recta hacia abajo a través de tu personaje, nuestro vector hacia adelante va a ser nuestro personaje mirando hacia adelante. Ahora queremos que el valor x de nuestra entrada aquí sea la dirección real en la que se mueve nuestro personaje. Vamos a estar modificando nuestro script de tal manera que cuando activemos esta acción usando nuestras teclas a y D en el teclado. O a la inversa, si tienes un controlador conectado, vamos a estar leyendo en el valor x, que es la tecla a y D, o izquierda y derecha en un thumbstick Vamos a ser, ¿vamos en una dirección positiva o negativa? Y la dirección que queremos enviar a nuestro personaje va a estar basada en nuestros personajes hacia adelante vector. Esencialmente, a qué dirección están enfrentando. Con esta modificación aquí mismo, Esto en realidad no va a ser hacia adelante y hacia atrás, supongo que lo es, relativo a la ubicación de nuestros personajes. Pero en cuanto a cómo vamos a estar enfrentando, yendo a la izquierda y a la derecha, voy a etiquetar esto ahora como nuestra nueva izquierda, derecha. Cuando nuestro valor X es negativo, lo que significa que estamos presionando la tecla o la izquierda en el thumbstick izquierdo, vamos a ir a la izquierda en la pantalla y cuando el valor X que está siendo generado por la tecla D o derecho en el thumbstick sea positivo, vamos a mover nuestro personaje haciendo clic derecho en reproducir aquí Ya puedes ver que cuando presiono la tecla, me muevo hacia la izquierda, la tecla D se mueve hacia la derecha. Y también tengo un controlador conectado, así que solo estoy presionando izquierda a la izquierda en el thumbstick izquierdo y derecho en el thumbstick izquierdo aquí para mostrar que eso está funcionando Siguiente Quiero mostrar dónde puedes ir a jugar con algunos de tus parámetros de movimiento de personajes Y esos se pueden ajustar dentro del componente de movimiento de tu personaje que vive dentro de tu BP, personaje de tercera persona. Se pueden ajustar muchos parámetros con este componente seleccionado en el panel de detalles. No vamos a ajustarlas todas, pero vamos a ajustar algunas. Y voy a hablar de algunos de los más primarios que preocupan a muchos diseñadores. Ahora el primero que quiero ajustar va a estar muy abajo. Yo sólo voy a agarrar este deslizador de aquí. Estamos buscando el movimiento interior. Ahora solo queremos que nuestro personaje se mueva por el plano X, volviendo a nuestro nivel aquí. Una vez más, si tuviera que entrar en una vista de arriba hacia abajo, esta es una vista de arriba hacia abajo de nuestro nivel. Vamos a estar moviéndonos a lo largo del eje X. Aquí está nuestro pequeño tramposo aquí abajo, el eje X, de izquierda a derecha. No queremos movernos al primer plano o al fondo a lo largo del eje Y, el eje arriba y abajo, para asegurar que incluso cuando nos toparemos con las cosas, no podamos bajarnos de nuestra línea x ahí Lo que voy a hacer es que voy a decir constreñido un avión. Sí. Y quiero constreñir nuestro plano a lo largo del eje y No quiero poder moverme a lo largo del eje y. Ahora cuando haga esto, va a establecer este valor en uno automáticamente. Esto es esencialmente decir que no se puede mover en absoluto en el eje Y. Puedes moverte en el eje X que es izquierda y derecha, así como el eje Z que está arriba y abajo. Saltando, tal vez, moviéndose hacia abajo. Bien, así que eso está bien y bien. Lo siguiente que quiero cambiar es la configuración de rotación de nuestros personajes. Y para esto estoy buscando justo aquí arriba, ajustes de rotación de movimiento de personajes. Esta velocidad de rotación va a establecer la velocidad a la que nuestro personaje da la vuelta. Si tuviera que hacer clic en reproducir en este momento, y tuviera que hacer la llave, o la clave, se puede ver que no me vuelta súper rápido y quiero dar la vuelta más rápido que eso. Entonces voy a establecer mi tasa de rotación aquí para que sea un valor alto a lo largo del eje Z de 2,500 El eje z es ese la dirección de orientación de nuestro personaje. Imagina una línea recta hacia abajo a través de nuestro personaje. Entonces queremos girar alrededor ese eje más rápido a esa velocidad, 2,500 Así que ahora si iba a hacer clic en reproducir, presione la tecla. Se puede ver lo rápido que me di la vuelta ahí, la tecla D, etcétera Así que juega con eso a tu gusto. Asegúrese de que también tiene rotación de orientación al movimiento verificado. Si eso no está marcado, Si eso no está marcado y estás presionando A y D, vas a tener este tipo de efecto. Así que asegúrate de que también se verifique orientar la rotación al movimiento. Y ahora por último, quiero ajustar la velocidad a la que se mueve mi personaje, esencialmente qué tan rápido van. Y eso se puede hacer controlado con un parámetro llamado velocidad máxima de caminata. Es aquí en la sección de caminar de movimiento de personajes. No dejes que la palabra caminar te engañe. Esto es esencialmente lo rápido que puede ir tu personaje. Por defecto es 600. Voy a poner el mío hasta mil pero configurarlo a tu gusto. Entonces ahora si tengo que saltar y jugar, puedes ver qué tan rápido y me estoy moviendo ahora mi personaje no parece deslizarse en absoluto, ¿verdad? Ahora cuando me doy la vuelta, se detienen en una moneda de diez centavos y quiero un poco de tobogán ahí. Entonces lo que voy a hacer es que voy a ajustar mi ajuste de fricción en el suelo aquí mismo. Eso está establecido en ocho. Un valor menor va a tener menos fricción. Voy a ponerla en dos. Entonces ahora cuando salto y juego y me muevo a la derecha y luego me ajusto para ir a la izquierda, se ve que no se detiene exactamente en un solo diez centavos. Ahí solo hay un poco de tobogán. Fiddle con eso a tu gusto también. Otro que quizás quieras considerar ajustar se llama aceleración. Voy a dejar el mío como está por ahora, pero puedes encontrar ese en Movimiento de personajes Configuración general Aceleración máxima. Obviamente esa es la rapidez con la que tu personaje se va a poner al día cuando se detengan. Bien chicos, eso lo va a hacer por este, por nuestro movimiento de jugador. Los veremos a todos en la siguiente. 7. Salto de jugadores: Bienvenidos de nuevo a todos. En este video nuestro objetivo es ajustar algunas de las características de salto de nuestro personaje jugador. Vamos a sumergirnos directamente. Vamos dentro de nuestro BP, personaje de tercera persona. Dentro de aquí. Vamos a empezar una vez más con en el gráfico de eventos. Y si nos desplazamos hacia abajo, sólo voy a usar el botón derecho del ratón. Encontramos nuestra sección de entrada de salto de script que debería haber estado aquí por defecto. Ahora actualmente tengo cosas puestas como tal cuando saltamos, es decir, la barra espaciadora disparará este evento y hará que nuestro personaje salte a través de esta función de salto. De hecho saltaremos. Y si hacemos eso, y lo salto en juego y mantengo presionada la barra espaciadora, y la mantengo presionada, puedes ver que nuestro personaje sigue saltando. Y eso no es necesariamente lo que queremos. El botón en un mando Xbox, que estoy manteniendo pulsado ahora mismo. Si tienes eso enchufado, nosotros también lo haremos. Quiero hacer esto para que mi personaje solo salte cuando presionamos ese botón hacia abajo. No si lo sostengo, él sigue saltando. Una manera fácil de arreglar eso es que solo queremos saltar cuando empezamos a saltar cuando empezamos mantener presionada la barra espaciadora o el botón. Simplemente voy a cambiar esto de disparado porque constantemente estamos desencadenando este evento de salto Cuando mantengamos pulsado el botón o la barra espaciadora en un controlador, voy a mover este cable manteniendo presionado el control click izquierdo, y moviendo esto para comenzar Ahora si juego, mantengo presionada la barra espaciadora, mi personaje salta Pero para volver a saltar, tengo que soltar y luego volver a presionarlo. Eso solucionará ese problema. A continuación, todo lo que quiero hacer es ajustar algunos de nuestros personajes saltando parámetros allí propiedades. Y nuevamente, esto se puede ajustar dentro del componente de movimiento de nuestro personaje. Lo primero que quiero ajustar es la altura de nuestro salto. Y esto es un poco engañoso. Esto se puede cambiar con nuestra velocidad de salto Z. No hay solo parámetro de salto recto. Este es el tipo de aquí mismo que está controlando lo alto que está saltando nuestro personaje. Actualmente está configurado en 700 para mí, voy a cambiar esto a 1,500 Y ahora si lo salto en juego y presiono esa barra espaciadora, puedes verla. Salto mucho más alto. No obstante, la forma en que se siente saltar no solo está relacionada con esa propiedad singular. Se ve que es un poco flotante, y así quiero tenerlo un poco más ágil en cuanto a que mi personaje vuelva a bajar al suelo más Esto se puede ajustar dentro del componente de movimiento de nuestro personaje ajustando nuestro efecto a la gravedad. Esta propiedad de escala de gravedad aquí arriba menos actualmente establecida en 1.75 quiero aumentarla, que el efecto de la gravedad sea mayor en mi personaje, con un valor de 2.5 Si salto y juego, voy a tener este resultado Salto un poco más alto, pero también me están bajando un poco más rápido Así que ajusta eso a tu gusto. Ahora, otra cosa con la que también quiero jugar es si salto en el aire y luego estoy usando las teclas A y D para tratar de controlarme mientras estoy en el aire Actualmente, tengo muy poco control y generalmente me gusta cuando tengo un poco más de control de aire que se puede ajustar a través un parámetro de control de aire que está por debajo de nuestra velocidad de salto z. Ahí está el salto Z, hay control aéreo. Voy a poner eso a un valor de 1.0 Ahora bien, si salto y juego, salto, estoy tratando corregir un poco por supuesto con A y D mientras estoy en el aire. Ten un poco más de control, juega con, Eso también es de tu agrado Ahora hay algunos otros parámetros relacionados con el salto que no están dentro de nuestro componente de movimiento de personajes que personalmente no voy a ajustar. Pero sí quería hacerte consciente se puede encontrar dentro de tus incumplimientos de clase Estos son parámetros relacionados con nuestra clase de caracteres. Si me desplazo hacia abajo, desplácese hacia abajo. De hecho, sólo voy a escribir salto al panel de detalles. Aquí, arriba tenemos dos que vas a querer conocer. Uno es el conteo máximo de saltos. Si tuviera que cambiar esto para decir tres y luego saltar y jugar, ya pueden ver que puedo ir 123 y sólo puedo hacer tres. Esa es la forma en que puedo conseguir un triple salto, doble salto, salto quíntuple implementado Ahora tu personaje no va a jugar otra animación de salto. Si aumentas este número más allá de uno, solo debes saber que eso tomaría alguna configuración más especializada. Pero así es como puedes crear saltos dobles o triples saltos, etcétera Eso está dentro de los valores predeterminados de clase en busca de salto. Otro que quizás quieras conocer se llama jump max hold time actualmente establecido en cero, pero si quieres un poco de efecto de impulso de cohete, voy a configurar esto a un valor de uno 1 segundo aquí. Ahora bien, si iba a saltar y jugar, y voy a presionar la barra espaciadora, y luego mantenerla presionada. Entonces aquí vamos, presionándolo, me da un poco de efecto tipo botín cohete. Sólo voy a darle un toque ahora mismo. Entonces eso es un grifo. Pero si lo sostengo, me va a dar un poco de impulso. Entonces, si quieres un poco de impulso extra cuando saltas, puedes ajustar el tiempo máximo de espera de ese salto. No quiero ese efecto, así que voy a poner eso de nuevo a cero. Una vez más, todo eso estaba dentro incumplimientos de clase de nuestro carácter de tercera persona Estoy contento con todo esto. Voy a compilar y guardar aquí. Y ahí tienes. Acabamos de ajustar algunos parámetros de salto de caracteres. Los veremos a todos en el siguiente video. 8. FX con salto para jugadores: Bienvenido de nuevo. Bueno, ahora que tenemos a nuestro personaje saltando, agreguemos un efecto de sonido y un visual, un efecto de partículas, para acompañarlo. Ahora para agarrar un efecto de partículas, voy a llegar a nuestro lanzador de juegos épicos. Unreal Engine seleccionado a lo largo del lado izquierdo. Marketplace Seleccionado a lo largo la cima aquí en el mercado, voy a hacer una búsqueda de infinity blade. Ahora después de que piense un poco aquí, voy a estar buscando efectos infinity blade. Ahora bien, esto es un poco más antiguo add on pack, pero aquí tiene un efecto visual específico que va a acompañar a nuestros personajes. Salta como un poco de polvo que emana de sus pies. Para agregar este paquete de contenido, todo lo que tengo que hacer es hacer clic para agregar este proyecto. Y selecciona qué proyecto me gustaría agregar. Este va a ser mi proyecto de plataforma. Ahí está. Seleccione eso, haga clic en Agregar al proyecto. Ahora va a agregar esos archivos, esos efectos de partículas, a nuestro proyecto. Puedo cerrar fuera de aquí. Y luego volver a Unreal Engine. Esto tomará un poco de tiempo, dependiendo de tu computadora. Entonces eventualmente en tu navegador de contenido, deberías ver aparecer el Paquete de Efectos Infinity Blade. Si cavas dentro de aquí, aquí están todos los diversos efectos que viven dentro de estas carpetas. Voy a estar buscando a uno en particular llamado Sentinel, acaba de escribir Va a ser este tipo de aquí. Este rastro de lanzamiento de salto. Se trata de una partícula de polvo que se desprenderá de los pies de nuestros personajes. Nuevamente, se seleccionan los efectos de hoja infinita. Ese es el que voy a estar usando aquí en sólo un poquito. Bien, con ese paquete de contenido agregado, lo que quiero hacer a continuación es sumergirme en nuestro plano de personaje en tercera persona Ven bajo planos en tercera persona. Voy a limpiar mi búsqueda aquí. Haga doble clic en el personaje de tercera persona y quiero seleccionar mi malla. Ahora la razón por la que estoy seleccionando mi malla aquí es porque de nuevo en el panel de detalles, quiero seleccionar el activo de malla esquelética asociado a este doble clic aquí mismo en la imagen de Sumnil para abrirla y lo primero que me gustaría hacer es agregar una cavidad a un hueso el lado izquierdo aquí tengo un árbol esqueleto y esto muestra todos los diferentes huesos que existen en nuestro esqueleto aquí. Carácter, voy a elegir nuestro hueso de la pelvis que está justo en el medio y luego voy a hacer click derecho sobre esto y vamos a elegir agregar un zócalo. Ahora podemos nombrar a este socket. Se le acaba de llamar zócalo de la pelvis. Pero puedes presionar F dos sobre eso. Y sólo voy a llamar a este VFX corto y presionar Enter Con este seleccionado, puedo posicionarlo. Voy a presionar la barra espaciadora aquí en mi ventana gráfica. Solo voy a hacer click derecho aquí para activar esta ventana gráfica, presiona la barra espaciadora, y luego podrás moverla hacia arriba o Ahora bien, la razón por la que conecté este zócalo a la pelvis es porque quería que este zócalo en particular estuviera recto hacia abajo desde la pelvis, no unido a ningún pie en particular. Y no voy a ser súper particular sobre esto, pero voy a colocarlo justo por ahí. Eso es bastante bueno. Bien, puedes encontrar sintonía que a tu gusto. Bien, al lado de aquí en la parte superior tengo a este pequeño hombre corriendo tipo de icono. Voy a seleccionar esto y esto me va a dar acceso a los diversos, déjame simplemente acoplar esta nueva pestaña a lo largo de la parte superior aquí. Las diversas animaciones que nuestro personaje puede reproducir. Actualmente estamos jugando esta animación de salto M, M cuando nuestro personaje salta hacia arriba. Ahora quiero hacer una pausa en esto porque esto me distrae un poco Para que pueda pausar esta animación haciendo clic aquí mismo. Quiero llamar su atención sobre esta área aquí mismo. Queremos agregar lo que se conoce como una notificación para reproducir un efecto de sonido y un efecto de partículas en un punto dado dentro de esta animación. Ahora podemos fregar esto de un lado a otro así. Para cronometrar esto a donde queremos esto dentro de esta particular animación de salto. Ahora quiero tocar este efecto de sonido efecto visual justo cerca del principio. Voy a posicionar esto bien sobre al inicio aquí. No tienes que ser perfecto. Justo aquí abajo. Voy a dar click justo donde tiene esta pista. Voy a hacer click derecho y voy a agregar un Notificar. Ahora, agregaremos ese efecto de partículas en solo un poquito, pero primero quiero agregar un sonido. Toquemos un sonido aquí en este menú desplegable. Ahora puedes ver que hemos agregado este lugar abajo, Notificar puedes hacer click izquierdo sobre esto y arrastrarlo para estar en un punto diferente dentro de la animación. Con esto seleccionado en nuestro panel de detalles, podemos asociar un sonido con esto. Esto se encenderá cuando toquemos y lleguemos a ese punto dentro la animación de aquí en la sección de sonido del panel de detalles. Asegúrate de haber seleccionado esa notificación. Voy a escribir Mario jump. Tiene Mario big jump, o Mario salta. Yo sólo voy a elegir Mario salta aquí. Importamos estos actos sonoros al comienzo mismo del curso. Si no lo hiciste, vuelve al comienzo mismo del curso e importa esos archivos, Entonces solo voy a mover mi slider aquí un poco más allá. Se puede escuchar que ese efecto de sonido se apaga ahí. Y voy a hacer click derecho, y voy a agregar otra notificación. Déjame ir por aquí. Haga clic derecho, Agregar, Notificar. Vamos a agregar un efecto de partícula y vamos a seleccionar nuestro efecto de partícula. Y encima en el panel de detalles escribe en Su, y es este rastro de lanzamiento de salto. Eso es lo que quiero jugar ahora. Aún no hemos terminado con nuestro efecto visual, nuestro efecto de partículas notifique seleccionado aquí. Por encima en el panel de detalles, tenemos que asociar con qué socket es esto para ir. Y lo podemos encontrar volviendo a nuestro árbol esqueleto. Recuerda que se llama VFX. Entonces, si simplemente escribes VFX y está encontrando todos los diferentes sockets aquí, ahí vamos, Ranurarlo para VFX Sigamos adelante y guardemos esto. Vuelve a nuestro editor de niveles y juega. Y sólo voy a presionar la barra espaciadora una vez. Después de hacer clic en la ventana gráfica, veo mi partícula No escuché ningún efecto de sonido. Ahora bien, si no ves ninguna partícula o no escuchas ningún sonido, a veces eso es cuestión de simplemente ajustar la ubicación de estas dentro de la línea de tiempo. Si los colocas demasiado cerca del frente, a veces no escuchas el efecto de sonido que esperas escuchar o ver el efecto visual que estás buscando ver. Sólo voy a intentar mover un poco el efecto de sonido de Mario aquí. Voy a volver a guardar esto. Intentemos esto una vez más ahora con un poco más de violines de esas notificaciones dentro de nuestra animación de salto MM entre cortes de cámara aquí Descubrí que si tocaba mi fotograma de audio tres con mi partícula pronto para seguir, se están superponiendo aquí un poco, conseguí que ambos se activaran bien. Ahora bien, si saltas y tocas, ambos pueden ver ese efecto de partículas así como escuchar ese efecto de sonido. Bien chicos, eso lo va a hacer por este. A ver cuándo será el siguiente. 9. Capas de ajuste de presión 2D: Bienvenido de nuevo. En un futuro no muy lejano aquí vamos a estar creando algunas plataformas y algunos bloques. Y vamos a estar poblando nuestro nivel. Ahora la cosa de todo es, es que queremos colocar estas plataformas y ladrillos que vamos a crear dentro de la línea de nuestro personaje. Ahora para ayudar a facilitar la facilidad de esto, queremos que sea para que cada vez que arrastremos estos bloques y plataformas a nuestro nivel, vayan automáticamente la trayectoria de los jugadores de viaje. Si tuviera que colocar un cubo de mi panel de actores de lugar, por ejemplo, en mi nivel, se puede ver que coloco ese ahí y éste de vuelta aquí, pero no necesariamente están en línea con mi personaje. Quiero hacerlo para que cuando arrastre una plataforma o un bloque a mi nivel, esté exactamente a la profundidad que quiero que sea. Durante estos dos próximos videos, vamos a habilitar algunos ajustes para que este proceso sea mucho más fácil. Confía en mí, esto dará sus frutos en el futuro. Vamos a empezar a habilitar y establecer algunas dos capas de ajuste de snap. Para hacer esto, vamos a saltar a nuestra Configuración del Proyecto, que está en el extremo superior derecho aquí. Ajustes, Ajustes del proyecto. Y en nuestra Configuración del Proyecto, a lo largo del lado izquierdo, queremos desplazarnos hacia abajo hasta llegar a donde dice dos D aquí debajo del editor. Ahora lo que queremos poder hacer aquí es configurar algunas capas de snap. Entonces primero tenemos que habilitarlos simplemente en habilitarlos, si tuviera que saltar de nuevo a mi editor de niveles aquí, podemos ver que ahora tenemos esto aquí dentro de nuestra ventana, un ajuste de dos D snap, así como la capacidad de establecer una profundidad dada. Ahora mismo, sólo tenemos el primer plano como nuestra profundidad. Todo esto tendrá sentido en solo un poco más de tiempo, pero volvamos a sumergirnos en la configuración de nuestro proyecto. Con esto habilitado, quiero establecer algunas capas de snap. Voy a hacer clic en este menú desplegable y voy a crear más de solo tres índices aquí. De hecho, quiero establecer cinco, así que voy a hacer clic en este botón más un par de veces más, luego voy a expandir todos estos. Simplemente haga clic derecho aquí para traer en este pequeño menú para ampliar todo. Bien, El primer nivel que quiero establecer aquí mismo se va a llamar Primer Plano Pero entre paréntesis voy a poner extremo. Y voy a poner esto a una profundidad de 1,000 Y todo esto va a tener sentido aquí en un poquito. A diferencia de que yo te diga lo que va a hacer. Te voy a mostrar lo que va a hacer. Este siguiente, indice uno. Voy a llamar a esto simplemente primer plano. Voy a establecer esta profundidad para que sea 500 indic dos aquí. Voy a configurar esto para que sea principal y voy a dejar la profundidad en cero, indic tres, voy a volver a llamar Voy a establecer la profundidad para que sea negativa 500. Entonces voy a poner mi último en cuatro aquí para volver a ser extremo. Y vamos a establecer la profundidad aquí para que sea negativo 1,000 Bien, con todos esos establecidos, no tengo que guardar nada aquí. Quiero asegurarme de que mi eje de ajuste esté a lo largo del eje y. Ahora eje y, y. Saltemos de aquí, volvamos a nuestro nivel. La razón por la que quiero fijarlo a nuestro eje y es porque si tuviera que cambiar nuestra perspectiva de vista aquí de perspectiva a una vista de arriba hacia abajo, haciendo zoom hacia fuera, Aquí es donde empiezan mis jugadores Actor está justo aquí. Vamos a estar avanzando a lo largo de esta línea de viaje aquí mismo. Quiero asegurarme de que estamos configurando nuestras capas de profundidad a lo largo de este eje y aquí mismo. Bien, volvamos a nuestra ventana de perspectiva. Y ahora, si tuviera que arrastrar un simple cubo a nuestro nivel, va a parecer como si nada hubiera pasado realmente. Señor Wonder, pensé que dijo que estos romperían a una profundidad dada. Bueno, eso es. Porque permítanme simplemente eliminar estos de aquí porque no tengo mis dos ajustes de D snap realmente activados. Justo aquí arriba en la parte superior derecha de mi ventana. En realidad, tengo que hacer clic en esto Ahora cuando coloco esto dentro de mi nivel, no importa a dónde me mueva esto dentro del nivel, puede ver que lo está escalando a mi nivel actualmente seleccionado que es extremo de primer plano Todos están dentro de la misma profundidad, si se quiere, Perfectamente en línea. Me viste configurar varias capas de profundidad ahí en la configuración de mi proyecto. Extremo en primer plano. Cámbielo a predeterminado. Déjame volver al primer plano Aquí están primer plano, fondo extremo, esto debería decir fondo principal y fondo ¿Cómo los cambio de nuevo en mi editor de niveles? Bueno, si tuviera que dar click aquí mismo donde dice primer plano extremo, ves que puedo elegir primer plano Todas esas diferentes capas que acabo de configurar. Si yo fuera a decir fondo extremo. Ahora cuando coloco un cubo en mi nivel, se ve que lo va a poner a esa profundidad, esa, esa profundidad. Si tuviera que cambiar esto para ser principal, va a estar justo en mi camino de viaje. Si tuviera que establecer esto como fondo extremo, no fondo extremo. Yo quería ir extremo de primer plano. Se va a poner en ese nivel de profundidad, lo que va a hacer que sea más fácil diseñar nuestro nivel con bloques y plataformas y apoyos Bien chicos, eso va a hacerlo todo por este video. Te veremos en la siguiente. 10. Widget de traducción 2D: Bienvenidos de nuevo a todos. Bueno, en el último video, habilitamos algunas dos capas snap en la configuración de nuestro proyecto. Y esos se pueden ver en nuestra ventana aquí en la parte superior derecha, tenemos nuestras dos capas de snap establecidas. Y si hago clic aquí mismo, aquí están las diversas capas que configuramos. Y por cierto, puedes ir a esta sección de los Ajustes del Proyecto, donde los configuramos dando click aquí mismo. Hacemos clic aquí mismo, Ir debajo de Editar capas, luego te saltará a la sección adecuada, la sección dos D de la configuración de nuestro proyecto, donde configuramos esas capas de snap Ahora queremos hacer otra cosa aquí y eso es habilitar nuestros dos D combinados traducir y rotar widget. Ese es el objeto, el objetivo de este video en particular, esto funciona muy bien en conjunto con estas capas de snap. Sólo voy a comprobar esto aquí mismo. De nuevo, esto también se puede encontrar en su proyecto Ajustes dos sección D. Y lo que esto va a hacer, saltando nuevo a nuestro editor de niveles, esto va a agregar otro botón si se quiere. Justo aquí en nuestro Viewport. Simplemente agregó esto lo que nos permite seleccionar y traducir o rotar objetos en dos D. Ahora, ¿por qué alguna vez querríamos seleccionar esto? Bueno, déjeme presumir de este escenario. Colocamos un cubo en nuestro nivel, y ahora mismo tengo esto ajustado a mi nivel principal Y podrías encontrarte con una situación en la que intentas moverlo alrededor de tu nivel, y tal vez accidentalmente lo muevas por el eje y y ahora ya no está en nuestro camino principal para viajar como quisimos ser. ¿Hay alguna manera de salvaguardar contra eso? Sí, la hay. Si tuviéramos que seleccionar esta opción que acabamos de habilitar. Ahora, cuando seleccionamos un objeto dado, nuestro widget de rotación de traducción se ve un poco diferente. Ahora sólo podemos moverlo hacia arriba, o en este caso a izquierda y derecha. También podemos rotarlo simplemente haciendo clic en esta flecha verde y luego moverla así. Ahora se puede ver que se está chasqueando cuando lo giro. Esto respeta nuestros ajustes de ajuste angular o ajustes de ajuste rotacional. Entonces, si quiero moverlo suavemente, girarlo suavemente, solo puedo apagarlo y ahora agarrar esa flecha verde y girarla suavemente. Del mismo modo, todavía puedo activar mi configuración de chasquido de movimiento aquí. Se está moviendo ahora mismo en incrementos de 100, pero esto es sólo para salvaguardar contra nosotros moverlo de nuevo dentro del eje y Una vez más, aquí en nuestra configuración del proyecto, Configuración del proyecto, en la sección dos D, acabamos de habilitar nuestros dos widgets combinados de traducción y rotación de D marcando eso encendido, No hay nada que decir, botón ni nada aquí. Esto solo hace que este botón esté disponible en nuestra ventana para que cuando seleccionemos un objeto, podamos moverlo solo en nuestros diversos ejes o girarlo así agarrando esa flecha verde Ese será un verdadero truco útil el camino ya que estamos colocando bloques y plataformas en otros objetos dentro de nuestro nivel. Bien chicos, eso lo va a hacer por este. Nos vemos en la siguiente. 11. Saltar a través de la plataforma (parte 1): Bienvenidos de nuevo a todos. En este video, nuestro objetivo es crear una plataforma nuestro jugador pueda saltar o caer. Y sólo para mostrarte a lo que me refiero, voy a hacer click en el botón de reproducción aquí. Agregué una plataforma entre videos. Y si trato de saltar por esta plataforma, actualmente no puedo hacerlo. Y si estaba en la parte superior, actualmente no puedo bajar por él también. Así que vamos a hacer una plataforma por la que podamos saltar y también caer a través. Entonces para hacer esto, vamos a crear un plano. Y vamos a crear una nueva carpeta aquí abajo en nuestro navegador de contenido donde vamos a poner varios planos que creamos a lo largo este curso con tu carpeta de plataforma seleccionada. Vamos a hacer clic derecho sobre esto. Vamos a agregar una nueva carpeta. Simplemente vamos a llamarlo Planos. Con este directorio seleccionado, puedes ver nuestro camino justo aquí arriba. Vamos a hacer click derecho en algún espacio vacío, crear una nueva clase de blueprint Queremos elegir la clase de actor, porque este es un objeto que vamos a estar colocando dentro de nuestro mundo. Elige este top. Entonces nos va a incitar a darle un nombre. Vamos a llamar a esto BP Underscore Platform. Subrayar. Voy a llamar saltar a través, así como así. Entonces sigamos adelante y hagamos doble clic sobre este tipo para abrirlo. Ahora, solo un consejo rápido aquí. No me gusta cuando mis nuevos activos se abren en una ventana separada como esta. Me gusta cuando se abren automáticamente por la parte superior aquí. Entonces voy a salir de aquí. Entra en Editar Preferencias del Editor. En nuestras preferencias de editor aquí mismo. Si nos encontramos bajo la ubicación abierta del editor de activos, debería estar en la portada, si así lo desea, de sus preferencias de editor. Voy a cambiar esto a ventana principal. Puedo cerrar aquí entonces. Y luego cuando haga doble clic en esto, va a abrir esto justo en la parte superior. Ahora bien, si alguna vez ves algo que diga, este es un plano de datos solo, podemos dar click aquí arriba para abrir nuestro editor completo de planos Ahora bien, esta es la opinión que queremos ver. Ahora por defecto se abrió a nuestra pestaña gráfica de eventos. Aquí es donde vamos a estar haciendo la codificación de este plano Quiero saltar por encima de nuestra ventana gráfica para empezar porque vamos a estar agregando algunos componentes que queremos poder ver Bien, ahora el primer componente que quiero agregar aquí en nuestra parte superior izquierda debajo del panel de componentes es una malla estática. Aunque podría elegir una malla estática de cualquier tipo, simplemente voy a elegir un cubo. Entonces voy a usar el cubo aquí, pero sepa que una vez que agreguemos esto, podemos darnos un nombre. Sólo voy a llamar a esta plataforma. Podríamos cambiar esto de ser un cubo a alguna otra malla estática. Quiero decir, podrías hacer que esto se vea como la silla si realmente quisieras o cualquier otra malla estática que quisieras. Pero el cubo va a funcionar bien para nosotros porque vamos a dimensionar y darle forma a esto en una plataforma que esto va a parecer bastante soso, pero de nuevo, puedes darle jazz hasta el contenido de tu corazón Voy a cambiar la escala aquí para que sea tres en la X, en la Y, también voy a cambiar esto a cinco. Entonces en la Z, voy a cambiar esto para que sea 0.2 un poco más delgado. Bien, entonces voy a agregar alguna colisión en los lados superior e inferior de esta plataforma. Bien, entonces voy a subir debajo del componente de anuncios. Una vez más, lo que quiero hacer es desplazarme hacia abajo y quiero agregar colisiones de cajas Así que adelante y selecciona esto. Me va a incitar a darle un nombre a esto de inmediato, y voy a llamar a esta colisión. Ahora tenga en cuenta que esta sangría aquí mismo y puedo dar click en este triángulo para mostrar u ocultar Esto muestra una relación de apego. Ahora mismo, este colisionador de cajas está unido a mi malla de plataforma Si tuviera que mover la plataforma, la colisión, el colisionador de cajas vendría con ella. No obstante, podría mover esto independientemente de la propia plataforma. Voy a cambiar el tamaño de esto con este componente superior de colisión seleccionado en el panel de detalles Voy a cambiar la escala. Sólo voy a darle a esta flecha hacia atrás justo aquí. Es heredar esta escala relativa de la plataforma. Por eso tiene estos valores de escala particulares. Voy a establecer esto de nuevo para que sea 11.1 y voy a establecer mi ubicación aquí para que sea un valor Z de 100 Ahora puedes ver que está arriba. Voy a cambiar las ampliaciones de la caja aquí. Este es el tamaño, la extensión de esta caja. En lugar del valor predeterminado de 302-30-2302 tengo algunos Voy a ir 50 por 50 por 50. Ahora lo que deberíamos tener es un colisionador de cajas que se apoye justo en la parte superior aquí como su nombre indica, tope de colisión Ahora vamos a agregar otro de estos en la parte inferior. Entonces, lo que vamos a hacer es que vamos a hacer clic derecho en nuestra parte superior de Colisión. Simplemente vamos a duplicarlo, y voy a llamar a este Collision Bottom. Lo único que voy a hacer con este es cambiar el valor, el valor Z de nuestra ubicación de 100 a 100 negativo. Y luego presiona Enter. Tenemos uno en la parte superior y tenemos uno en la parte inferior. Ahora algo que debería haber hecho con nuestro top de colisión antes de duplicarlo, porque entonces también habría duplicado las propiedades, es establecer un parámetro sobre en nuestro panel de detalles. Lo pondré en nuestro fondo aquí primero. Ya que tengo eso seleccionado en el panel Detalles, queremos pasar por debajo de la sección de colisión y queremos cambiar el preset de colisión aquí. Haz clic en este pequeño menú desplegable. Por defecto está configurado para superponerse a todos los dinámicos. Lo que quiero hacer es cambiar esto para que sea personalizado. Y eso va a cambiar todos los canales de colisión o más bien iluminarlos para que podamos cambiarlos a nuestro gusto Voy a configurarlo para que ignore para todo excepto que lo vamos a hacer para que nuestro peón, nuestro personaje se considere un tipo de objeto peón Vamos a configurar esto para que se superponga, y van a ver por qué aquí en un poco arriba de aquí, tenemos preestablecido de colisión personalizado. Estamos ignorando la colisión de cualquier otro tipo de objeto excepto el peón, ese es nuestro personaje Vamos a detectar una superposición. Por lo que queremos hacer esto no sólo para fondo de colisión sino también para la parte superior de colisión. Al igual que la parte superior de colisión, vamos a cambiar el ajuste preestablecido de colisión para que sea personalizado. Vamos a configurarlo para que ignore colisiones con cualquier otro tipo de objeto, excepto que vamos a detectar una superposición del peón 12. Saltar a través de la plataforma (parte 2): Bien, saltemos de nuestra pestaña Viewport y entremos en nuestro gráfico de eventos para que podamos agregar algún script que permita a nuestro personaje saltar por la parte inferior de la plataforma Y voy a seleccionar nuestro componente de colisión aquí mismo. Vamos a hacer click derecho sobre esto y vamos a agregar un evento. Lo que queremos hacer es que queremos detectar cuando nuestro personaje se superpone a nuestro personaje se superpone ese componente inferior de colisión. Eso va a agregar este nodo en el componente comenzar la superposición y el nombre del componente aquí mismo, colisión inferior. Vamos a mantener pulsado el control y rueda del ratón para acercar esto. Voy a agregar otro evento de inmediato también. Queremos detectar cuándo ambos comenzamos a superponer ese fondo de colisión, así como cuándo terminamos superponiendo ese fondo de colisión. Entonces podemos agregar otro evento aquí. Al seleccionar nuestro fondo de colisión, podría hacer clic derecho y agregar un evento. Pero quiero mostrar otra forma de agregar eventos para diversos componentes también. Con fondo de colisión seleccionado. Desplácese hacia abajo en el panel de detalles, aquí también puede encontrar una lista de diversos eventos. Voy a hacer solapamiento final. También vamos a agregar este nodo a nuestra gráfica. Y los voy a posicionar así. Bien. Lo que quiero hacer es detectar cuando el otro actor que superpone a ese componente inferior de colisión Queremos hacer algo cuando es nuestro personaje jugador el que es el otro actor que se superpone o termina superponiendo ese fondo de colisión. Así que voy a escribir click en algún espacio vacío y hacer conseguir personaje jugador. Esto va a devolver a nuestro personaje jugador que estamos jugando como. Y voy a arrastrar fuera de otro actor aquí de nuestra superposición de inicio. Y vamos a escribir el signo igual y vamos a ver si el otro actor que se superpuso a ese fondo de colisión es igual a eso es, ¿ es nuestro personaje jugador Si es así, vamos a traer un nodo de sucursal. Voy a mantener presionada la B como en rama click izquierdo para traer un nodo de rama. Y esa va a ser nuestra condición que vamos a comprobar algo que se superponga a nuestro fondo de colisión. Vamos a comprobar, ¿ era el otro actor? ¿Eran iguales? Si fuera cierto, vamos a traer nuestro componente de plataforma, Arrastrar, y soltar esto en tu gráfico así. Entonces lo que vamos a decirle a nuestra plataforma que haga, arrastrar esto es tipo in set collision enabled. Pon esto así, y queremos establecer nuestra colisión para nuestra plataforma no sea colisión. Ahora solo para hacer una respaldo y mostrarte exactamente qué es lo que está sucediendo aquí, si selecciono nuestra plataforma y me desplace hacia abajo, nuestra plataforma también tiene algunos ajustes de colisión este momento está configurado para bloquear todo dinámico y está configurado para bloquear todo tipo de tipo de objeto, incluido nuestro peón. Lo va a bloquear. Lo que estamos diciendo aquí al comenzar la superposición es si es nuestro jugador el que lo está superponiendo, vamos a decirle a esta plataforma que no tenga colisión. Es esencialmente alternar este ajuste preestablecido de colisión de bloque todo dinámico a no colisión Y se puede ver que cuando está configurado ninguna colisión aquí está, deshabilitando nuestra colisión por completo, ignorando el hecho de que aquí abajo no parece que esté permitiendo que nuestro peón pase a través Siempre y cuando esto esté configurado para colisión habilitada, sin colisión, hecho permitirá que nuestro personaje pase a través de él. Voy a restablecer esto haciendo clic en este valor aquí mismo y volver a bloquear todo dinámico. Ahora continuando adelante aquí, sólo voy a copiar este nodo. Este nodo y este nodo. Estoy manteniendo pulsado el control para seleccionar esos tres. Vamos a hacer control C para copiar el control V para pegar. Voy a cablear estos así, si nuestro personaje jugador es igual al otro actor. Cuando terminemos nuestra superposición, la plataforma va a ser el objetivo aquí abajo. Vamos a establecer nuestra colisión aquí para que se active la colisión. Eso esencialmente va a volver a encender la colisión cuando terminemos superponiendo el fondo de la colisión. Bien, con todo esto hecho, puedes pausar el video aquí si necesitas ver todo esto. Voy a hacer click izquierdo y arrastrar por todos estos. Voy a tocar la tecla C. C está en comentario, y voy a llamar a esto mi salto a través de plataforma, plataforma, guión. Presionemos el botón compilar justo aquí arriba solo para asegurarnos de que nuestro código se vea bien y se vea bien. Entonces sigamos adelante y guardemos esto también. Arrastremos uno de estos a nuestro nivel y veamos si podemos saltar por nuestra plataforma. Aquí vamos. Volviendo a nuestro nivel, voy a eliminar este cubo temporal que califico más. Voy a colocar esto en mi nivel. Se puede ver que va a colocarlo justo en mi nivel principal, aquí mismo. Porque tengo mis dos ajustes de D snap en este momento. Solo voy a dar click aquí mismo para ir directamente a mi movimiento en widget rotacional. Muévelo un poco por encima de mi personaje. Me gusta. Entonces hago clic en play, trato de saltar. Y ahí vamos, podemos saltar a través de él. Bien. A continuación necesitamos una forma de rastreo para ver si nuestro jugador está en la cima de la plataforma. Para que luego podamos introducir algo en nuestro controlador o teclado para hacer que nuestro jugador se desplace a través de la plataforma. Nuevamente, para hacer esto vamos a saltar de nuevo a nuestra plataforma. Salta a través de Blueprint una vez más. Voy a hacer click y moverme por aquí un poco de maneras. Quiero hacer algo cuando nuestros jugadores colisionen con este colisionador superior de aquí mismo, voy a estar volteando una variable booleana Pasemos bajo mi panel de planos, bajo Variables. Vamos a hacer clic en este botón más aquí. Y vamos a crear una nueva variable llamada is on top of platform question mark. Una variable booleana contiene información verdadera o falsa. Y si compila aquí mismo, podemos ver con este seleccionado por defecto está desmarcado Es decir, por defecto va a ser falso. Ahora vamos a estar haciendo uso de esta variable booleana en solo un poquito, pero lo que vamos a hacer es volver a nuestro gráfico de eventos Vamos a seleccionar nuestro top de colisión. Voy a hacer click derecho. Vamos a agregar al evento para cuando empecemos a superponer esto. Y también vamos a hacer clic derecho en parte superior de colisión nuevamente en la superposición de eventos. Esto va a parecer de muchas maneras similar a lo que tenemos justo arriba. De hecho, voy a robar algunos nodos de aquí arriba. Voy a mantener pulsado el control y el clic izquierdo, clic izquierdo, el clic izquierdo, el clic izquierdo y el clic izquierdo. Tenemos a esos cinco seleccionados aquí mismo. Voy a hacer click derecho sobre esto y voy a duplicar el control. D haría lo mismo, pero aquí los voy a duplicar. Voy a mover estos todos los controles Z ahí. De hecho, también tuve uno de estos seleccionados aquí abajo. Control haga clic en esos cinco. Voy a hacer el control D para duplicar. Y vamos a moverlas a la derecha a su posición aquí abajo. Engancharlos así. Todo lo que vamos a hacer con este script es que vamos a activar o desactivar esta variable de lingotes . Queremos configurarlo. Si arrastro esto a mi gráfica y lo suelto , va a decir, ¿quieres obtener este valor o quieres establecerlo? Queremos establecer el valor de esta variable cuando estamos superponiendo esa colisión. Queremos que esto sea cierto, estamos en la cima de la plataforma. Por el contrario, si dejamos clic y arrastramos esto en set cuando hayamos terminado de colisionar con ese volumen de colisión superior de colisión, queremos decir no, ya no estamos encima de esta plataforma Este guión va a ser bueno para la siguiente sección que vamos a estar escribiendo aquí guión sabio, así que haga clic izquierdo y arrastre, toque la tecla C. Y vamos a poner este comentario como set bull in para detectar si el jugador está en la cima de la plataforma. Bien, vamos a compilar y guardar esto de inmediato. Bien, lo siguiente que queremos hacer es volver a nuestro editor principal aquí y vamos a venir en tercera persona y vamos a venir bajo entrada. Este es el nuevo sistema de input action implementado en Unreal, y vamos a agregar una nueva acción de entrada Ahora voy a estar construyendo a partir de este sistema existente para que no tengamos que reinventar la rueda De hecho, voy a dar click en esta carpeta de acciones. Aquí hay algunas acciones de entrada que están activando algunos eventos de entrada, como nuestro evento de salto. Y voy a hacer click en algún espacio vacío aquí. Y vamos a venir bajo entrada. Vamos a agregar una nueva acción de entrada. Cuando lo hagamos, voy a renombrar este IA para subrayado de acción de entrada Voy a llamarlo jugador abajo. Voy a hacer doble clic sobre este activo para abrirlo. Lo que estamos haciendo aquí es definir una acción de entrada. Ahora no voy a meterme en las tuercas y tornillos de todo esto en estos momentos, porque todo este sistema es bastante extenso. Vamos a dejar nuestro tipo de valor como toro por ahora mismo. Esencialmente, ¿ sucedió o no? Ahora bajo disparadores, vamos a hacer clic en este botón más y lo que queremos hacer es hacer clic en este pequeño desplegable. Y simplemente vamos a verificar si se presionó una entrada dada que está configurada para hacer toro digital. Haz clic en Guardar aquí. Y eso está todo bien y bien. A continuación lo que vamos a hacer es que vamos a saltar de nuevo a nuestro editor de nivel principal aquí. Y vamos a volver a subir una carpeta. Así que actualmente estamos en acciones de entrada en tercera persona. Vamos a volver a esta carpeta de entrada. También puedo llegar a ella dando click aquí mismo. Y vamos a hacer doble click sobre este I MC default. Y aquí es donde se configuran todas las diversas asignaciones de acciones de entrada en nuestro personaje en tercera persona para que lo use nuestro personaje en tercera persona Ahora aquí está nuestra lista de mapeos. Actualmente nuestra acción de salto está mapeada a la barra espaciadora o al botón de la cara del gamepad Ese es el botón del mando Xbox. Voy a volver a enrollar eso. Vamos a agregar un nuevo mapeo aquí mismo haciendo clic en este botón más. Una vez que hagamos eso, agregamos esta entrada, haga clic en este menú desplegable. Vamos a agregar esta nueva entrada, jugador de acción abajo. Ahora lo que tenemos que hacer es mapear esto a entradas dadas en un teclado o controlador. Lo que voy a hacer es dar click en este pequeño icono del teclado. Y en cuanto haga esto, va a darle vuelta a este color orangish Sólo voy a presionar la tecla del teclado. Y al hacerlo va a enmarcar eso como entrada. Ahora eso es genial para un teclado. También voy a hacer esto en un controlador también. Voy a hacer clic en este botón más. Se va a agregar esta entrada aquí mismo. Podemos enrollar el resto de estas entradas aquí mismo. Simplemente haciendo clic en estas flechas aquí mismo. Voy a presionar sobre este icono del teclado. Ahora todo lo que voy a hacer es que voy a presionar hacia abajo el thumbstick izquierdo de un controlador que he conectado. Esto va a comprobar si mi pad de juego, thumbstick izquierdo, tiene algún tipo de entrada a lo largo del eje y Ese es mi pulgar izquierdo arriba o abajo esencialmente. Bien, vamos a salvar esto también. Ahora solo para conducir a casa que estas son las entradas que nuestro personaje está usando, IMC default Si salto a mi personaje en tercera persona, no tienes que hacer esto. Sólo te lo estoy enseñando. Regresa a mi pestaña gráfica de eventos dentro de aquí. Este es nuestro contexto de mapeo de entrada. Y aquí está nuestro activo predeterminado de IMC que está usando nuestro personaje en tercera persona Solo hazte saber dónde entra en juego todo esto. Todo esto es en nuestro personaje de tercera persona. Bien, ahora con todo esto hecho, volvamos a nuestra plataforma BP. Salta a través, vamos a seguir aquí abajo un poco. Rueda del ratón hacia abajo, clic derecho hacia abajo. Voy a hacer click derecho en algún espacio vacío y voy a escribir Player down. Aquí está mi evento de acción de entrada para jugador abajo. Este es este evento que acabo de crear. Se activará presionando la tecla S o hacia abajo en mi pulgar izquierdo Lo que quiero hacer es verificar el valor de este booleano ¿Estamos en la cima de la plataforma o no? Si arrastro y suelto esto en nuestra gráfica, quiero obtenerlo esta vez. Queremos obtener el contenido de esa variable voy a arrastrar fuera de aquí y traer un nodo de rama cuando empecemos a ingresar esto, es decir inicialmente presionamos la tecla S o hacia abajo en nuestro thumbstick izquierdo, vamos a decirle a nuestra plataforma Hablemos con nuestra plataforma aquí arrastrando una referencia a nuestra malla de plataforma Vamos a hablar con esa plataforma, luego vamos a arrastrar fuera de esto y escribir en conjunto colisión habilitada aquí abajo. El nuevo tipo va a ser sin colisión. Básicamente estamos diciendo que presionamos S o hacia abajo en nuestro thumbstick izquierdo Vamos a checar, ¿ estamos en la cima de la plataforma? Si es cierto, vamos a decirle a esa colisión que pase. Hagamos clic izquierdo y arrastremos, toque la tecla C y llamemos a esto nuestro permitir que jugador se desplace a través del script de la plataforma. Vamos a compilar esto, asegurémonos de que sea bueno para ir y guardar entonces Momento de verdad. Vamos a jugar esto pero vas a notar un problema. Estoy jugando haciendo clic en la ventana gráfica, voy a presionar la barra base para saltar a través Voy a tocar el SK. No parece funcionar. Eso es porque nos falta una cosa más. Aquí está la cosa dentro de un plano de clase de actor. Estas acciones de entrada no van a funcionar por defecto. Trabajarían por defecto dentro de un personaje en tercera persona, pero no un plano de clase actor Entonces, ¿cómo conseguimos que esto reconozca entradas como ésta? Bueno, tenemos que entrar en nuestros valores predeterminados de clase de nuestra plataforma de salto a través Aquí abajo en el panel de detalles donde dice entrada, vamos a cambiar auto, recibir entrada de deshabilitado a jugador cero. Ese somos esencialmente nosotros, el personaje jugador. Vamos a compilar esto una vez más. Salta de nuevo y juega. Ahora estoy saltando y si toco la tecla S, bajaré por ella. Probemos esto también en el controlador. Saltando hacia arriba, presionando hacia abajo en mi pulgar izquierdo. Y ahí parece funcionar bien. Y ahí lo tienen chicos, un salto a través de plataforma como me gusta llamarlo. Eso va a Dude, fuera para éste. Te veremos en la siguiente. 13. Plataforma en movimiento: Bienvenida. En este video vamos a estar haciendo una plataforma en movimiento. Así que vamos a hacerlo ahora mismo. Para comenzar aquí, vamos a estar heredando de nuestra plataforma BP, saltar a través de eso que creamos en el último video solo para hacer las cosas un poco más rápidas y fáciles Entonces encuentra esa plataforma, vamos a hacer clic derecho sobre ella y vamos a crear una clase de blueprint infantil a partir de esta Cuando hagamos esto, nos va a incitar a darle un nombre. Entonces solo voy a llamar a este motor de plataforma BP. Entonces voy a hacer doble clic sobre esto para abrirlo. Ahora porque hicimos de esto un hijo de nuestro salto a través de la plataforma, podemos ver que esa es la clase padre en la parte superior derecha aquí. Eso significa que ya viene con todos los componentes que ya estaban instalados en nuestra plataforma. Salta a través. También va a tener el mismo guión dentro también. Si vamos al injerto de eventos, vamos a ver que este script es todo heredado del padre Entonces esto ya está configurado para ser saltar a través de capaz. Podemos saltar a través de esta plataforma. Sin embargo, no se mueve como nos gustaría. Entonces eso es lo que vamos a estar abordando en este video. Ahora, solo para que esto sea un poco más fácil para nosotros identificar una plataforma de movimiento a partir de una plataforma estática de salto a través de la plataforma. Voy a volver a nuestra ventana gráfica aquí y voy a seleccionar nuestra plataforma Y sólo voy a cambiar el material asociado a esto. Puedes cambiar esto por algún material de Mario o cualquier cosa de esa naturaleza. Sólo para que esto sea súper obvio, voy a escribir en azul aquí debajo de los materiales. Voy a cambiarlo a este azul claro. Y luego voy a arrastrar uno de estos a nuestro nivel también, para que podamos identificar fácilmente esto como una plataforma. Bien, volvamos a nuestro plano de motor de plataformas Vamos a crear un par de variables para que empecemos aquí de nuevo en el panel my blueprint La primera variable que vamos a crear es LOC. Eso es lo para inicio de ubicación. Esta va a ser una variable vectorial. va a determinar el punto de partida Aquí va a determinar el punto de partida de nuestra plataforma de mudanzas. Y luego voy a hacer click derecho sobre esto y voy a duplicar este control. Plus D es una tecla de acceso rápido. Esto se va a llamar Lo terminar los puntos finales con nuestra ubicación, final seleccionado. Hay un par de casillas de verificación que voy a marcar aquí. El primero es Instancia Editable. Cuando verifiquemos eso, también va a dar click sobre este globo ocular Hacen lo mismo, esencialmente haciendo uno hace lo otro, etcétera Y también vamos a mostrar el widget de tres D. Ahora voy a comprobar esto y luego voy a compilar mi blueprint para que pueda darnos un valor por defecto En el panel de detalles, voy a cambiar mi valor Z final local para que sea 200 por defecto. Ahora la razón por la que hice esto es porque ahora si reviso este plano dentro de nuestro editor de niveles aquí, podemos ver que con él seleccionado, veo este loc end diamond Este es el widget de tres D que acabo de activar aquí en nuestro motor de plataforma al tener esta variable seleccionada y seleccionar instancia editable y mostrar tres widget D. La razón por la que se encuentra 200 unidades irreales por encima de la base de nuestra plataforma aquí es porque configuré eso para ser 200 Aviso sobre en el panel de detalles, este extremo de ubicación también se expone aquí en el panel Detalles. Podría cambiar la ubicación de esto simplemente haciendo clic en él y arrastrando. Y estás viendo como yo hago esto, también está alterando esa ubicación Z aquí mismo. Esto va a definir el punto final de nuestros movimientos de plataformas. Va a empezar aquí, va a terminar ahí. Este punto de inicio de ubicación va a ser nuestro punto de partida relativo, básicamente, justo por ahí. Bien, con todo eso hecho, vamos a entrar en nuestro gráfico de eventos y comenzar a construir el guión. Haga clic con el botón derecho, arrastre aquí a alguna gráfica vacía y luego haga clic derecho en algún espacio vacío. Y vamos a buscar un nodo de línea de tiempo. Vamos a nombrar a este nodo de línea de tiempo Movimientos de plataforma Un nodo de línea de tiempo nos permite cambiar el valor de una variable a lo largo del tiempo. Este nodo es especial ya que podemos hacer doble clic sobre él para editar una línea de tiempo. Voy a hacer doble clic sobre esto, y cuando lo haga, he abierto una nueva pestaña aquí mismo podemos agregar una pista, lo cual haré ahora. Al hacer clic en este botón Plus Track, queremos agregar una pista de Flow. Es decir, vamos a cambiar un valor decimal con el tiempo y van a ver por qué vamos a hacer esto en un poquito. Me piden que nombre a esta pista, así que voy a llamarla movimiento. Voy a dejar la duración a los 5 segundos, pero ahora necesito. Agrega algunos de lo que se llaman fotogramas clave a nuestra línea de tiempo aquí. Ahora puedo hacer clic derecho aquí y arrastrar esto de un lado a otro. Use una rueda de desplazamiento para acercar y alejar. Pero voy a añadir algunos fotogramas clave. Eso es algunos puntos en el tiempo donde quiero definir no sólo un valor de tiempo sino un valor de valor. Voy a hacer click derecho, vamos a agregar una clave a nuestra línea de tiempo, eso está en azul. Hacer clic con el botón derecho hará eso. O si mantienes presionada la tecla Mayús y luego haces clic izquierdo, eso también lo hará. Yo sólo quería sumar tres puntos aquí. No importa donde los pongas por ahora, porque vamos a estar seleccionando cada uno de estos y luego ingresando un tiempo en un valor Selecciona tu primera aquí. Voy a establecer el tiempo para que sea cero y el valor sea cero, el inicio de nuestra línea de tiempo. Esencialmente, voy a seleccionar este último, este último aquí mismo. Voy a establecer que el tiempo sea cinco y el valor sea cero. Ahora me doy cuenta que simplemente saltó del borde de la gráfica aquí, No te preocupes por eso. Y luego voy a seleccionar nuestro medio aquí. Voy a establecer el tiempo para que sea 2.5 y voy a establecer el valor para que sea uno. Ahora bien, si me alejo aquí, puedo ver los tres fotogramas clave, estos tres puntos, simplemente voy a hacer click izquierdo y arrastrar alrededor de todos ellos para seleccionarlos todos. Y luego voy a seleccionar estas flechas para enmarcar estas, estas flechas aquí mismo. Ahora esto va a representar el movimiento de nuestra plataforma a lo largo del tiempo. Si piensas en la forma en que digo que se abre una puerta, se abre y facilita su cierre Queremos que nuestra plataforma se facilite en un solo movimiento y luego salga al siguiente movimiento de lado a lado. No tan rígido, si se quiere. Con todos estos seleccionados, voy a hacer clic derecho y establecer mi interpolación de teclas en auto Y eso va a crear esta curva suave donde vamos a facilitar hacia un lado de nuestro movimiento y luego aliviarnos. Bien, ¿qué hace esto aquí? Bueno, esto nos va a dar, volviendo a nuestra pestaña gráfica de eventos aquí, una salida de movimiento, una salida flotante, donde vamos a estar emitiendo el valor cambiante de esta variable Ahora tenga en cuenta el valor que esto va a dar salida va a cambiar en el transcurso de 5 segundos. Aquí va a estar comenzando con un valor de cero. Entonces en el transcurso de dos a 2 segundos, va a subir a un valor de uno, luego va a volver a cero. Ahora la razón por la que vamos a ir 0-1 a cero es porque vamos a usar esto para impulsar el movimiento de nuestra plataforma Vamos a traer una referencia a nuestra plataforma aquí mismo desde el panel de componentes. Vamos a arrastrar eso. Lo que queremos hacer es arrastrar fuera de esto en decir, establecer ubicación relativa. Vamos a cambiar la ubicación relativa de nuestra plataforma con el tiempo. Ahora necesitamos alimentar a esta una nueva ubicación. ¿Cómo vamos a determinar eso? Bueno, hay un nodo que podemos usar llamado vector p. Voy a escribir, dar clic en algún espacio vacío y escribir en P vector. Lo que vamos a hacer es conectar la salida de movimiento de nuestra línea de tiempo en el alfa. Y luego vamos a enchufar el vector de ubicación de inicio en la A y el vector de final de ubicación en el B. Entonces voy a describir cómo funciona todo esto. Si miras el encabezado, solo estoy pasando mouse sobre el encabezado de este nodo Dice que vamos a interpolar linealmente entre la ubicación y la ubicación, esas ubicaciones vectoriales basadas en el valor alfa Así es como funciona. Cuando ese valor alfa, ese movimiento flotante, es un valor de cero, vamos a estar todo el camino en nuestra ubicación inicial ya que pasa de un valor de cero a un valor de uno. Nos vamos a mudar progresivamente a nuestra ubicación. Vamos a ir de a a B a a a B en base a este valor cambiante, yendo 0-1 a cero a uno Ahí va a ser donde actualicemos la nueva ubicación de nuestra plataforma. Vamos a actualizar la nueva ubicación de nuestra plataforma. Ahora vamos a estar recorriendo esto y ¿cómo vamos a estar haciendo eso? Bueno, vamos a estar haciendo eso volviendo a nuestra línea de tiempo de movimiento de plataforma. Aquí. Justo aquí arriba, tenemos un botón donde podemos recorrer esta línea de tiempo. Vamos a comenzar en nuestra ubicación A, nuestra ubicación inicial, trasladándonos a nuestra ubicación B cuando este sea un valor de uno. Volver a nuestra ubicación A cuando este es un valor de cero. Y luego volver a empezar de nuevo. Y luego iniciarlo de nuevo en el transcurso de 5 segundos. Así es como funciona eso. Otra característica agradable de la línea de tiempo es que tiene este botón aquí arriba, Reproducción automática Vamos a encender esto temporalmente. Cuando vamos a nuestro gráfico de eventos, podemos ver que ese ícono también está aquí. Reproducción automática en bucle, en realidad no tenemos que enchufar un nodo de eventos para que todo esto funcione Voy a compilar y guardar. Ahora si salto a mi nivel, voy a jugar esto y van a notar que esto se va a mover de aquí a nuestro final de ubicación. Yo sólo lo salté un poco ahí. Déjame mover esto hacia abajo. Va a tener un poco de movimiento aquí. En el transcurso de 2.5 segundos. Se va a mover ahí arriba y luego va a volver a bajar. Yo salto y juego, tartamudeando un poco ahí en el video, pero en realidad se mueve bastante suavemente frente Ahí están nuestros movimientos. Perdón por la mala calidad de video que hay. Bien, así que eso es lindo. Pero, ¿y si quisiera trasladar esta ubicación final lejos, muy lejos? O sea, entonces la plataforma va a estar moviéndose loco rápido. ¿Hay alguna manera de que pueda personalizar esta línea de tiempo de tal manera que pueda alterar las tasas de juego? Sí, la hay. Esta es nuestra configuración temporal aquí mismo. Lo que voy a hacer es volver a nuestro motor de plataformas y vamos a decirle a nuestro nodo de movimiento de plataforma aquí. Simplemente haga doble clic sobre eso para no volver a reproducir automáticamente. Pero en cambio vamos a agarrar una referencia a nuestros movimientos de plataforma. Una vez que hayamos creado esta línea de tiempo, nuestra referencia a ella está aquí en nuestra sección variable del panel my blueprint Vamos a arrastrar esto , vamos a conseguirlo, y luego vamos a arrastrar fuera de esto y escribir tasa de juego establecida. Esto nos va a permitir personalizar una tasa de juego para esta plataforma. Vamos a enchufar esto en el juego de nuestra línea de tiempo. Ahora, podría codificar duro en una tasa de juego aquí mismo. De hecho, voy a hacer eso 1.0 Pero quiero que esto sea único para cada instancia, cada copia de nuestro motor de plataforma. Lo que puedo hacer aquí es hacer click derecho sobre este pin. Podemos promover esto a una variable. Y al hacerlo, se conecta automáticamente una nueva variable del tipo float, y voy a llamar a esta tasa de reproducción. Lo único que sí quiero hacer con esta variable seleccionada es que quiero hacer clic en este icono del globo ocular para que esta instancia sea editable Ahora cuando compila y vuelvo a mi editor de niveles, puedo ver con mi motor de plataforma seleccionado que el valor de tasa de juego está aquí para personalice para cada instancia, cada copia de este blueprint en mi nivel Ahora sí necesito hacer una cosa más aquí para conseguir que esto realmente juegue. Porque desconecté el juego automático de nuestro movimiento de plataforma Necesito algo para realmente disparar esto, para decirle a nuestra plataforma que realmente se mueva. Para eso, sólo voy a arrastrar sobre este evento comenzar a jugar aquí. Si no heredaste de tu plataforma BP saltar a través, simplemente podrías hacer que un evento comience a jugar Pero debido a que esto es heredar de nuestra plataforma de salto a través, todo lo que tenemos que hacer es extender esto así De nuevo, si no estás heredando de una plataforma de salto a través de un evento comienza a jugar enchufado aquí. Nosotros te haremos muy bien. Esa va a ser tu última puesta a punto, tu guión final aquí mismo. Si quieres pausar el video aquí, puedes comprobarlo. Sigamos adelante y compilemos esto y saltemos de nuevo a nuestro editor de niveles. Ahora se puede ver que sólo voy a Alt, clic izquierdo y arrastre para traer en otra referencia a esto. Podría hacerlo para que esta plataforma en particular suba, digamos que alto. A lo mejor va a ir en un ángulo así también. Pero voy a cambiar la tasa de juego de esto para que sea 0.05 Algo loco lento. A lo mejor esta plataforma, voy a cambiar la ubicación para ir por aquí. Y voy a cambiar eso para que sea 0.1 Ahora los tengo a ambos yendo bastante despacio. Si tuviera que saltar y jugar, de hecho, no voy a saltar y jugar. Voy a simular mi juego haciendo clic en estos tres puntos. Simulando ejecutará el juego sin que yo controle realmente a un personaje Así que aquí vamos. Verás estos moviéndose en la ventana Y ahí se están moviendo. Éste se mueve bastante despacio en el lado izquierdo. Y a la derecha en realidad también se está moviendo, pero se están moviendo locamente lento. Pero el punto es que, para cualquiera de estas plataformas, se puede determinar una ubicación final así como la tasa de juego a la que va. Puedes hacer que se vuelva loco rápido, loco, lento. Su elección. Bien chicos, eso va a hacer para ofrecer este. Te veremos en la siguiente. 14. Plataforma de lanzamiento (parte 1): Bienvenidos de nuevo a todos. En este video vamos a crear una plataforma lanzadora. Este va a ser uno que arroje a nuestro jugador al aire cuando aterrice sobre él. Así que vamos a hacerlo ahora mismo. Si aún no has importado esas texturas que hicimos al inicio del curso, hazlo ahora porque vamos a estar haciendo uso de algunas de las de este video. Vamos a hacer que esta plataforma lanzadora parezca una especie de hongo gigante. Entonces ese es nuestro objetivo visual aquí. Una vez que los hayas importado y yo esté dentro de mi carpeta Platformers Texturas, voy a hacer un par de materiales Y si me desplazo aquí abajo, los que voy a estar usando para esto van a ser este T Mushroom One así como este Dirt one. Ahora tengo a ambos seleccionados. Mantuve presionado el control, los seleccioné. Entonces voy a hacer click derecho sobre uno de estos y vamos a crear materiales a partir de estos. Ahora al hacer eso, vamos a crear dos materiales diferentes. Aquí están, puedes ver que son materiales por la etiqueta aquí mismo en su imagen en miniatura Simplemente les dejaré con sus nombres actuales. Voy a salvarlos. Guardar todo para guardar esos activos, vamos a estar haciendo uso de esos en sólo un poquito aquí. A continuación lo que vamos a hacer es volver a nuestra carpeta de planos y vamos a crear un nuevo plano desde cero haciendo clic derecho en alguna clase de blueprint de espacio vacío Esta va a ser una clase de actor, y vamos a llamar a esta plataforma de subrayado BP Lanzador de subrayado. Bien, y luego sigamos adelante y hagamos doble clic en esto para abrirlo. Bien, lo primero es lo primero, vamos a empezar agregando algunos componentes a nuestro plano Entrando debajo del panel Componentes, haciendo clic en el botón Anuncio. El primero que vamos a agregar es una malla estática instanciada Esta de aquí, vamos a estar haciendo uso de esa en un poquito, pero vamos a seguir adelante y agregarle eso por ahora. Voy a nombrar esto, vamos a llamar a este baúl. Esto va a ser utilizado para representar el tronco, si se quiere, de nuestra plataforma en forma de hongo aquí. Después voy a seleccionar mi componente raíz de escena predeterminado. Una vez más, para agregar otro componente, éste va a ser simplemente un componente de malla estática. Voy a llamar a esto para Mushroom Top. Entonces voy a adjuntar un componente a mi Mushroom Top aquí. Con ese tipo seleccionado, voy a dar clic en Agregar. Entonces voy a agregar un colisionador de cajas. Choque de caja aquí mismo. Y vamos a llamar a esa colisión fondo. Bien, con esos todos en su lugar aquí, ahora voy a establecer los detalles. Entonces, comenzando con nuestra malla estática instantánea aquí, en el panel de detalles, voy a ranurar una malla estática y quiero ranurar en forma de cilindro. Voy a escribir silinilindrf. Puedo deletrearlo correctamente. Ahí vamos. Ahora hay múltiples cilindros aquí dentro, el que voy a estar usando. Y se puede ver en la punta de la herramienta el camino para ello así como el tamaño aproximado. Es este de aquí mismo desde el motor formas básicas camino. Es tamaño aproximado de 100 por 100 por 100. Elige esa, así te aseguras de que tienes exactamente la misma Esme y vas a ver que pueblan en poco tiempo aquí no ves nada en el mirador, pero verás que esto se está poniendo en uso en un poco de tiempo. También vamos a aplicar un material a esto y esto va a tener nuestro material de suciedad. Si solo escribes suciedad, es este material. Dirt one matt, ese es ese material de suciedad que acabamos de crear. Ahora para la ubicación de esto, voy a establecer la ubicación Z en 50, 80, 50. Pulse Intro. Y se puede ver que va a ser colocado en este punto más o menos justo por aquí. Y sé que aún no ves nada, pero vamos a estar generando algunas piezas de tronco, si se quiere, cuando lleguemos a agregar algún guión a este plano Justo al lado, seleccionemos nuestro top de Champiñón. Lo que quiero hacer por la forma de esto viene debajo la porción de malla estática del panel de detalles con Top Champiñón seleccionado. Quiero elegir subrayado cápsula ancha. Está en la carpeta Starter Content Shapes. Entonces voy a agregar el material del mismo, de ese hongo un material que acabamos de crear. Se le va a echar un vistazo. Y luego voy a cambiar la ubicación Z para esto a 80 también. Pásalo un poco. Bien. A continuación voy a elegir nuestro componente de fondo de colisión. Esta caja justo ahí para detalles para esto, vamos a establecer la forma de la caja 5,050.50 También vamos a cambiar la ubicación z para que sea 35, 35. Moverlo un poco aquí arriba, colgando un poco el fondo de nuestra parte superior de hongos ahí. Entonces vamos a ir a la zona de presets de colisión Presets de colisión, actualmente está configurado para superponerse a todos los dinámicos Voy a cambiarlo para que sea personalizado y vamos a poner todas nuestras cajas aquí para ignorarlas. Así que haz clic aquí mismo para configurarlos a todos para que ignoren, excepto que vamos a establecer nuestro estanque para que se superponga. Vamos a hacer que esta plataforma se pase a través de un bol, para que nuestro jugador pueda saltar por el fondo y luego saltar por la parte superior. Eso es esencialmente como va a funcionar eso. Entonces estos van a ser nuestros ajustes de colisión para esa colisión. Abajo arriba en la parte superior aquí. También voy a cambiar la extensión de la caja para la Z. actualmente son 50 Creo que voy a ponerle eso a 60, un poco más grueso así. Sí, eso es lo correcto. Con eso hecho, sigamos adelante y ahorremos. Bien, A continuación vamos a agregar algunas variables aquí abajo en el panel my blueprint Y estas variables nos van a permitir personalizar altamente el aspecto y la forma de esta plataforma de hongos porque ciertamente no parece mucho en este momento. Entonces dando clic aquí mismo, el botón más para las variables, el primero se va a llamar mush top, underscore skate Vaya, escala de subrayado, guión bajo x. Esta va a ser una Voy a marcar esta casilla, por ejemplo, Editable enseguida. Voy a seguir adelante y compilar esto. Quiero establecer un valor predeterminado de esto para uno de inmediato, una escala de 1.0 que básicamente significa 100% de su tamaño normal. Con esto creado, voy a hacer click derecho sobre él. Voy a duplicar eso. Y voy a llamar a esta escala Y. Va a haber golpeado y compilado aquí. Va a tener todas estas mismas configuraciones de instancia editable con ese mismo valor predeterminado Voy a hacer control más D para duplicar esta variable. Esto va a ser mushtpscale z. Y una vez más, si compilas, puedes ver que también tiene un valor predeterminado de uno, también establecido Este siguiente vamos a crear, haciendo clic en este plus para la variable, esto se va a llamar la velocidad. Esto va a controlar la velocidad de nuestro lanzamiento cuando rebotemos en la plataforma. Esta va a ser una variable vectorial. Vamos a establecer esto para que también sea editable por instancias. Si compilo esto, vamos a establecer nuestra velocidad de lanzamiento por defecto para que sea 2,500 Pero podremos cambiar esto por instancia, por copia de este blueprint en editor debido a esa casilla de verificación Vamos a agregar una variable más aquí, haciendo clic en este botón más. A éste se le va a llamar, vamos a llamarlo endpoints troncales Nuestro punto final del tronco de hongo. Vamos a estar usando esto para determinar el punto final de nuestro tronco de hongo. Vamos a tener un baúl que se extiende fuera de aquí y que vamos a estar construyendo en poco tiempo. Sigamos adelante y compilemos esta instancia comestible. Queremos que esto se verifique. También queremos que este widget show three D sea verificado también. Para que podamos arrastrar el punto final. Dejaremos valores en 0.00 ahora mismo. Bien, a continuación vamos a saltar a la pestaña de guiones de construcción de nuestros planos Ahora la pestaña de script de construcción va a parecerse mucho a nuestra pestaña gráfica de eventos, donde puedes colocar algún script para que las cosas sucedan. Sin embargo, a diferencia de una pestaña de gráfico de eventos que ejecuta script en tiempo de ejecución, el script de construcción se ejecuta en tiempo de diseño. Esto es genial para construir un plano como este. Eso nos va a permitir personalizar altamente las cosas. Te voy a mostrar a lo que me refiero aquí. Lo primero que tengo que hacer es traer aquí una referencia a nuestro top de hongos. Vamos a arrastrar y soltar eso en nuestro gráfico. Con eso, podemos platicar con él, podemos cambiar algunas propiedades al respecto. Voy a arrastrar fuera de esto y escribir en conjunto escala mundial tres D para nuestra escala. Voy a arrastrar hacia atrás y escribir en make vector. Ahora con esto podemos enchufar nuestra escala de hongos, x, y, y z a medida que cambiamos estos valores en el editor. Cada vez que cambiemos alguno de estos valores en el editor, va a disparar el guión y de hecho ajustar el tamaño de nuestra parte superior de hongo. Justo aquí. Ese tipo de ahí. Bien, continuando adelante, voy a enchufar esto en un nodo de cuatro bucles. Ahora tienes cada nodo de bucle para cada uno con break queremos un simple de cuatro bucles. Este tipo justo aquí bajo control de flujo de cuatro bucles, vamos a estar usando este bucle de cuatro para determinar cuántas esencialmente secciones de tronco queremos agregar a la base de nuestro lanzador de hongos aquí. Para ello voy a traer en mi punto final troncal. Lo vamos a conseguir, voy a arrastrar fuera de esto y escribir en longitud de vector. Vamos a obtener la longitud de este vector, esencialmente, ¿cuánto tiempo va a durar este punto final? Vamos a repasar un ejemplo de esta matemática aquí en un poquito Ahora, debido a que nuestro tronco es esencialmente 100, recuerda que tenemos nuestro tronco de papilla aquí mismo Y estos esencialmente van a ser en incrementos de 100 Ese tamaño entero del cilindro era de 100 por 100. Por 100. Vamos a dividir esto, traer un nodo de división por el número 100. Ahora esto va a escupir un valor flotante. Queremos convertir esto en un valor entero. Lo que voy a hacer es que voy a alargar aquí arriba y escribir trunca. Va a redondear esto al número de hoyo más cercano. Vamos a enchufar esto a nuestro último índice. Ahora lo que hace un nodo de cuatro bucles, va a, cuando llegue a este nodo, bucle a través de este, sin embargo muchas veces especificamos aquí, comenzando con el índice cero y yendo a un último índice. Si es 0-9 recorrería esto. Eso es ejecutar esto diez veces 012-345-6789 ¿Qué queremos hacer diez veces? Bueno, lo que queremos hacer es que queremos traer nuestro baúl, arrastrarlo, y luego vamos a sacar esto y decir que vamos a agregar una instancia de ese baúl de papilla Una instancia, esa es una copia, si se quiere, de este cilindro. Ahora necesitamos especificar a dónde queremos que vaya esta instancia. Ahora de nuevo, este cilindro tiene la forma de un tallo. Así que imagina si estás apilando estas cosas una encima de la otra, esencialmente va a hacer una cosa parecida a un tallo. Vamos a estar especificando a dónde van estos al enchufarse a esta instancia transformarse Entonces voy a arrastrar hacia atrás fuera de esto y escribir en transform. Y una transformación consiste en datos de ubicación, rotación y escala. Realmente sólo vamos a estar preocupándonos con estos datos de localización Vamos a sacar atrás de aquí y escribir en make vector como. Entonces déjame darle un poco más de espacio aquí. Lo que vamos a hacer para determinar a dónde van a ir estos troncos es que vamos a arrastrar fuera de este índice y voy a hacer un nodo multiplicar Vamos a multiplicar esto por un valor flotante. Podríamos hacer de esto un valor entero, De hecho, voy a mantener este un valor entero en realidad, no. Voy a hacer click derecho sobre esto. Voy a convertir este Pin de salida en eso va a cambiar esto en un flotador también. La razón por la que voy a convertir esto en un flotador es porque necesito enchufar esto como flotador al nodo make vector. Voy a enchufar esto al valor Z y voy a multiplicar este índice por 100 negativos. Verás por qué aquí en un poquito. Para repasar un ejemplo matemático, Ver va a ser creer y hacer que esto tenga mucho más sentido. Bien, voy a compilar este plano y luego voy a saltar a mi nivel En este momento, nuestra plataforma de lanzamiento parece extraña, pero podremos personalizarla altamente. Ahora tengo en mi configuración de dos D snap establecida a mi nivel principal aquí mismo. Ahora sólo voy a arrastrar uno de estos por aquí. De hecho, voy a colocarlo aquí arriba un poco de maneras. Ahora mira esto. Nuestro top no parece mucho, pero encima en el panel de detalles, exponemos todas estas variables. Escala superior de papilla, mosto y, escala superior de papilla, z, etcétera. Haremos uso de los de aquí en solo un poquito porque si los escalamos, puedes ver cómo está alterando el tamaño de nuestra plataforma. Nuestro top, este valor aquí mismo se está aplicando aquí en nuestro script de construcción. Siempre que editamos estos valores , inmediatamente está disparando este script. Siempre que hagamos algún cambio alguno de los valores asociados a este script, este script se ejecutará y así ajustaremos el tamaño de nuestra parte superior de hongo. Así es como se dispara este guión. Durante el tiempo de diseño cuando algo sobre nuestro plano aquí está cambiando Ahora tenga en cuenta, si entro en mi nivel y iba a encontrar mi punto final aquí, este widget de tres D, pueden ver que lo tengo seleccionado aquí abajo. Mira lo que pasa mientras tire esto hacia abajo. Cada cien unidades que baje, estamos agregando un trozo de baúl. Entonces esto va a hacer que podamos hacer estos cortos o largos, etcétera Entonces voy a establecer mi punto final troncal aquí en un número sólido. Vamos algo así como negativo 200, un buen valor redondo, así como así, Negativo 200. Ahí vamos. Ahora vamos a saltar de nuevo a nuestro script de construcción y recorrerlo con este valor negativo 200 como ejemplo. Aquí estamos en nuestro lanzador de plataformas. Todo nuestro escalado de la parte superior del hongo está determinado aquí por lo que sea que establecemos estos dos en nuestro editor que está configurando la escala mundial de la cima del hongo. Pero ahora nos estamos considerando con este bucle de proa. Nuestro punto final troncal se establece actualmente en negativo 200, nuestra longitud de vector es 200. Ahora 200/100 equivale a dos. Nuestro primer índice va a ser cero. Nuestro último índice va a ser 2012. decir, este cuerpo de bucle se va a disparar tres veces 012 Y cada vez que se dispara va a escupir el índice cero, luego uno, luego dos La primera vez que se dispara fuera del índice es cero. Vamos a multiplicar eso por 100 negativo, que es cero. Y va a colocar una versión de ese must trunk en esa ubicación. La segunda vez que se dispara, va a escupir el índice de 11 veces negativo 100 va a ser igual a 100 negativo Y así vamos a colocar otra sección, nuestro tronco de papilla, abajo en negativo 100 de donde se encuentra La próxima vez a través, nuestro índice va a ser 22 veces negativo 100 es negativo 200. Y así va a colocar otra sección de tronco por debajo de la anterior, compensada por 100 unidades irreales Podemos ver eso aquí con 12.3 secciones de tronco. Ahora está construida de tal manera que no podemos ir en sentido contrario. Y de hecho, si lo hicieras arrastrar hacia arriba en la otra dirección, seguiría construyendo el tronco en la otra dirección. La dirección negativa, si se quiere. Pero estoy bien con eso así. Ahora, sí te recomiendo que dejes tu escala superior X e Y para que sea la misma. De hecho, podríamos haber hecho esto solo un valor, lo contrario puedes tener algunos efectos de aspecto extraño como este donde realmente se estira. Pero yo quería darte el poder de personalizar eso, cómo quieres es lo que es. Ahora también puedes ver que a medida que estamos escalando nuestra parte superior de hongo, nuestro colisionador a lo largo de la parte inferior aquí está escalando junto con él Eso es bastante bonito. Voy a bajar un poco todo este plano porque quiero que nuestro jugador pueda intentar saltar por el fondo de la plataforma aquí 15. Plataforma de lanzamiento (parte 2): Ahora no vamos a poder saltar a través de él todavía porque no hemos agregado ningún guión para hacerlo de manera que podamos saltar a través de él. Entonces hagámoslo a continuación. Volvamos a nuestro lanzador de plataformas BP. Esta vez vamos a repasar a nuestro gráfico de eventos. Porque queremos que este script se ejecute durante el tiempo de ejecución. Voy a pasar a la derecha aquí, algún espacio vacío, y queremos seleccionar nuestro fondo de colisión. Vamos a hacer clic derecho sobre esto, agregar un evento para comenzar la superposición. Sigamos adelante y volvamos a hacer clic derecho sobre él. Agregue un evento para la superposición final también. Ahora lo que vamos a hacer es que vamos a averiguar quién fue el otro actor que se metió por debajo de él. Podemos hacer como lo hacíamos antes, podemos escribir click en algún espacio vacío y hacer que el personaje del jugador obtenga. Para que podamos averiguar si el otro actor es igual a nuestro personaje jugador. Entonces copiaremos esto y traeremos esto aquí abajo para la superposición final. Ambos se van a enchufar en una rama. Entonces voy a mantener pulsada la tecla B y click izquierdo, esa va a ser nuestra condición que vamos a estar comprobando contra como. Entonces lo que queremos hacer es hablar con nuestro top, nuestro top de hongos. Arrastre una referencia a eso, vamos a arrastrar esto y luego escribir en conjunto colisión habilitada. Cuando estamos empezando a chocar con ese fondo de colisión, queremos establecer esto en ninguna colisión como lo tenemos aquí abajo Vamos a copiar y pegar esto. Podemos enchufar esa misma referencia y si es cierto que estamos terminando ese solapamiento, queremos volver a encender la colisión, que va a ser la colisión habilitada así. Bien, así que vamos a compilar y guardar esto y ver si podemos saltar por el fondo de nuestra plataforma de setas aquí. Nuestra plataforma de movimiento muy lento. Y sí, en efecto, podemos ir justo arriba por el fondo de la misma. Sin embargo, aún no nos lanzan. Así que sigamos adelante y arreglemos eso. A continuación de lanzar nuestro personaje, vamos a querer detectar cuándo nuestro personaje aterriza encima de nuestro componente superior de hongo por aquí. Entonces queremos un evento asociado a eso. Hagamos clic derecho en nuestro componente superior de papilla. Vamos a agregar un evento. Y lo que queremos hacer es agregar al hit de componente cuando golpeemos este componente que va a sumar este evento aquí abajo. Sólo voy a navegar un poco por aquí abajo, crear una nueva sección de guión. Ahora no queremos que esto se apague o no queremos continuar con ninguna ejecución aquí. Si algo golpea nuestro top de setas, sólo si es nuestro personaje. Entonces voy a arrastrar fuera de nuestro otro actor. Voy a poner en el signo igual. Y una vez más vamos a comprobar si esto es igual o obtener nodo personaje jugador, si el otro actor es nuestro personaje jugador, si eso es igual a nuestro personaje jugador, vamos a traer un nodo rama, mantener pulsado, y click izquierdo. Si todo eso es cierto, vamos a querer hacer algo una vez. Puedo hacer clic derecho y hacer una búsqueda de un nodo de una vez. Sin embargo, voy a mantener pulsada la tecla y clic izquierdo y eso va a traer un nodo de una vez. Lo que quiero hacer una vez es arrastrar fuera de nuestro personaje get player aquí y hacer una búsqueda un nodo llamado personaje de lanzamiento. Esta es una función asociada al personaje, por lo que debes arrastrar fuera de tu personaje get player en este caso para conectarlo inmediatamente como tu objetivo y encontrar esta función. Así que solo queremos lanzar a nuestro personaje una vez. ¿Cuál va a ser nuestra velocidad de lanzamiento? Bueno, si selecciono mi velocidad de lanzamiento justo por aquí, podemos ver que almacenamos esto en una variable. Voy a arrastrar y soltar esto encima de este pin así. Y actualmente hemos establecido esto 2,500 Pero hemos hecho que esta instancia sea editable, así podemos personalizarla para cada instancia de nuestro lanzador de plataformas Ahora quiero disparar esto, no sólo cuando nuestro personaje golpea este top de hongo, sino cuando aterrizan sobre él. No queremos simplemente hacer esto cada vez que golpeen el costado de nuestra parte superior de hongo. Para verificar eso, queremos arrastrar fuera de nuestro hit no componente aquí mismo y vamos a romper este resultado de hit. Este pin de aquí mismo tiene mucha información para darnos. Podemos extraer esa información a través de un nodo de resultado de golpe de ruptura. Voy a ampliar esto hacia abajo para que podamos ver todas las diferentes cosas relacionadas con este hit que podamos conocer. Lo que estamos buscando para este es que queremos arrastrar fuera del impacto normal. Eso es esencialmente en qué dirección estamos impactando este top de hongo, voy a arrastrar fuera de aquí y voy a traer en un vector igual al nodo vector No vamos a hacer exactamente igual vector. En realidad, no, sí queremos un vector igual. Lo siento, mi mal. Vector igual a vector. Tiene el triple signo igual para esto. Vamos a traer un valor z de uno negativo. Es decir, esencialmente, ¿estamos impactando esto yendo en dirección descendente Negativo, significando hacia abajo en la dirección z. Bien, en realidad queremos verificar esto como una condición también. En lugar de enchufar esto a otro nodo de sucursal. Lo que puedo hacer aquí es que puedo arrastrar el resultado de esta comprobación para ver si nuestro otro actor es igual a. El personaje jugador puede arrastrar esto y traer en un nodo el booleano Entonces vamos a comprobar si el otro actor que pegó a nuestro top de setas es nuestro personaje. Y vamos a comprobar si nuestro impacto de esa parte superior de hongo es en dirección descendente Entonces nuestro flujo va a ser así. Estamos comprobando para ver si ambas cosas son iguales. Y si eso es cierto, entonces una vez vamos a lanzar al personaje. Ahora bien, esto debería estar muy bien, pero quiero agregar un poco de posesión a esto también. Quiero agregar un emisor poco efecto de partícula. Y luego también quiero que la parte superior del hongo parezca que está rebotando al tener un poco de efecto de animación también Entonces lo que voy a hacer es arrastrar mi personaje de lanzamiento aquí y traer un nodo llamado Spawn Emisor en Ahora bien, esto es para jugar un efecto de partículas más antiguo, un efecto de partículas en cascada. Y la razón por la que voy a buscar esto, en lugar de un sistema de desove en el lugar que reproduciría un Niágara, un efecto de sistema de partículas más nuevo es porque hay uno en mente que tengo de ese paquete de efectos de hoja infinita En pocas palabras, podrías engendrar emisor para un emisor en cascada más antiguo o podrías desovar system et, ubicación para un El que tengo en mente aquí se llama lanzamiento de guión bajo habilidad Más bien eso es lanzamiento salto de habilidad. Lanzamiento de base de salto de habilidad. Base de salto de habilidad lanza a ese tipo ahí mismo. Ahora necesito especificar una ubicación en la que esto va a aparecer Para eso, voy a usar nuestro punto de impacto a partir de nuestro resultado de éxito, podemos arrastrar esto hasta nuestra ubicación. Sólo voy a hacer doble clic en este cable para agregar en un pequeño nodo de reencaminamiento para que esto se vea un Creo que voy a seguir adelante y establecer la escala de esta partícula para que sea tres veces su tamaño habitual también. Sólo para que sea un poco más prominente. Fácil de ver. Bien. Y luego siguiente lo que quiero hacer, y solo voy a mantener pulsado el botón derecho del mouse y deslizarme sobre a la derecha aquí, es que voy a traer un nodo de línea de tiempo, clic derecho. Hacer una búsqueda de una línea de tiempo. Agrega la línea de tiempo aquí abajo. Y me va a incitar a que nos dé un nombre. Voy a llamar a esto mi línea de tiempo máximo de papilla. Y voy a enchufar esto a nuestra jugada desde Inicio. Ahora bien, este nodo aquí mismo, voy a hacer doble clic dentro para crear una línea de tiempo. Esto va a servir como multiplicador de escala para nuestra escala X, Y, y z, para nuestros valores máximos de hongos aquí. De hecho, voy a traer los tres de estos de inmediato, escala superior x. Voy a conseguirlo en la diversión. De hecho, si mantienes presionada la tecla de control, clic con el botón izquierdo y arrastras, traerás una versión getter de estos de inmediato. Así. Voy a multiplicar cada uno de estos valores. Así que puedo arrastrar fuera de esto y escribir el símbolo multiplicar enseguida. Voy a multiplicar todos estos. Vamos a necesitar una copia única para todos estos. Control C controla V por algún multiplicador que estamos a punto de escupir fuera de nuestra línea de tiempo Crea y escupe fuera de nuestra línea de tiempo. Hagamos doble clic en nuestra línea de tiempo de inmediato. Lo que quiero hacer aquí es agregar un nuevo flotador. A esto se le va a llamar nuestro multiplicador de escala. Vamos a crear un poco de animación aquí que va a durar tres décimas de segundo de largo Sólo voy a mantener presionada la tecla de control y desplazarme aquí para acercarme un poco. Y mantén pulsado el botón derecho del ratón del arroz para volver a poner esto a la vista así. Bien, voy a agregar cuatro fotogramas clave aquí. Entonces voy a mantener pulsada la tecla Mayús e ir como tal, 123.4 aproximadamente en ese patrón zigzaggi Puede obtener esos fotogramas clave haciendo clic derecho y agregando un marco clave también. El cambio y el clic izquierdo también los conseguirán. Bien, con los que están en su lugar, ahora voy a seleccionar cada uno de estos individualmente y agregar una hora. Para esta primera, va a ser cero y el valor va a ser uno. Puedo dar click sobre estas flechas para poner eso a la vista. Voy a hacer zoom un poco aquí atrás. Voy a seleccionar mi segundo fotograma clave. Ahora el segundo, voy a sumar un tiempo de 0.1 y un valor de 0.8 Nuevamente, estos van a ser valores de escala. El segundo que voy a seleccionar va a ser un tiempo de 0.2 y un valor de 1.3 Entonces este último va a ser un tiempo de 0.3 y un valor de uno si lo saltó. Todo fuera de la pantalla, puedes acercar el zoom hacia atrás. Voy a hacer click izquierdo, arrastrar para resaltar todos esos. Todos están en azul. Ahora puedo hacer clic en estas flechas para enmarcarlas, así se puede ver este patrón zigzaggi que iba por Bien, entonces lo que acabamos de hacer es agregar una pista flotante llamada multiplicador de escala. Voy a saltar de nuestra línea de tiempo aquí otra vez, estas tres décimas de segunda línea de tiempo Ahora bien, este multiplicador de escala sale de nuestra línea de tiempo en el transcurso de tres décimas de segundo Se va a multiplicar o va a estar escupiendo un valor flotante Eso va a estar pasando de, va a estar yendo 1-2 0.8 a 1.3 a uno. Cambiando ese valor a lo largo del tiempo. Ese es el valor que vamos a multiplicar contra nuestra escala superior de hongos x, y y z Ahora vamos a enchufar todos estos en un nodo vectorial. Entonces voy a hacer click derecho en algún espacio vacío, teclear make vector. Vamos a conectarlos así para hacer un solo valor vectorial x, y y z La razón por la que estamos haciendo esto es para que podamos traer nuestros componentes superiores de hongos. Entonces vamos a conseguir eso. Luego arrastra fuera de eso y escribe en conjunto escala relativa tres D. Este va a ser nuestro nuevo valor x, y y z para nuestra parte superior de hongo. medida que esto se actualiza en el transcurso de 0.3 segundos, vamos a cambiar los multiplicadores asociados con nuestro tamaño superior de seta, creando un poco de efecto rebote Bien, ahora antes de probar esto, vamos a hacer una cosa más. Actualmente es todo este lanzamiento de rebote en la parte superior del árbol solo está configurado para suceder una vez Lo que queremos hacer es restablecer esto por algún medio para que pueda volver a suceder. Entonces para hacer eso voy a hacer clic derecho y agregar un evento personalizado. Clic derecho, evento personalizado. Voy a nombrar este lanzador de reinicio en mayúsculas. Voy a enchufar esto en reset. Ahora lo que tengo que hacer es llamar a este lanzador de reinicio al final de mi script aquí, solo para tratar de que esto se vea un poco más así. Voy a arrastrar el final de aquí, voy a traer un retraso de retraso. Y sólo vamos a demorar dos décimas de segundo antes de reiniciarlo Ahora puedo arrastrar fuera de aquí y escribir en reset launch allá. Va a, va a llamar a este evento personalizado aquí mismo para permitirme aterrizar encima de mi seta una vez más y restablecer todo ese efecto de rebote Bien, así que tratando de poner todo esto a la vista, eso es lo que tenemos para nuestro guión final. Si necesitas pausar el video aquí, sigamos adelante y compilemos esto y guardemos Ahora vamos a darle una jugada a esto. Aquí vamos. Bien, voy a pasar por la parte inferior de mi hongo aquí, aterrizar encima de él. Rebote, ahí vamos, rebota de nuevo, jugando ese efecto de partícula. Y eso es bastante genial. Ahora solo para mostrarte, podemos hacer que todos estos sean un poco únicos. Yo sólo voy a dar click en mi Mushroom aquí. Solo voy a mantener presionada la tecla Alt, hacer clic izquierdo y arrastrar. Y ahora con esta instancia del hongo, todo lo que voy a hacer es cambiar mi velocidad de lanzamiento, esa variable, así que en vez de esta lanzarme a este valor, voy a cambiarlo a simplemente 500. Entonces este segundo no me va a lanzar casi tanto. Entonces, si vuelvo a entrar y jugar aquí, mira que este primero me va a lanzar mucho. Y luego el segundo, sólo un poquito, se puede ver que me está permitiendo una vez más. Se está reiniciando ese lanzamiento para que pueda saltar sobre él una y otra y otra vez. Así es como podemos hacer una plataforma de lanzamiento altamente personalizable. Tiene una animación, tiene personalización de qué tan alto estamos lanzando. Bastante genial de hecho, chicos, eso va a acabar con esto. Te veremos en la siguiente. 16. Componentes de recogida de monedas: Bienvenida. En el transcurso de los próximos videos aquí vamos a estar construyendo un pick up de monedas. Pero antes de hacer eso, quiero asegurarme de que has importado en algunas de las texturas y archivos de audio que deberías haber importado al comienzo del curso. Porque en este video vamos a estar tratando con algunas de estas texturas de monedas. Vamos a estar convirtiendo un par de estos en materiales así como vamos a estar haciendo referencia a este audio de moneda aquí mismo Entonces, si no los has importado al inicio del proyecto, por favor hazlo ahora mismo. Todo bien. Con eso hecho, voy a empezar realmente en mi carpeta Texturas por aquí. Ahora tengo dos versiones distintas de la moneda. Si quieres tener una moneda más nueva o la moneda retro, lo que quiero hacer es seleccionar una, luego mantener presionado el control y seleccionar la segunda. Y con ambos resaltados, voy a hacer click derecho y voy a convertir estos en materiales. Y se puede ver que hay uno ahí mismo y uno ahí mismo. Lo que voy a hacer a continuación es con mi carpeta Plataforma seleccionada aquí, plataforma. Voy a agregar una nueva carpeta y voy a llamar a esto materiales. De hecho voy a arrastrar estos materiales dentro de esa carpeta. Actualmente tengo a este tipo justo aquí, clic izquierdo, y arrastra eso a los materiales, digamos muévete aquí. Y también tengo un par de los otros materiales aquí de la plataforma de lanzamiento también. Entonces voy a tirar de esto hacia arriba, manteniendo pulsado el control, voy a seleccionar esos son los otros tres que puedes decir porque tienen estos íconos de esfera. Y voy a hacer click izquierdo y arrastrarlos a la carpeta Materiales también. vamos a mover aquí, luego voy a entrar en mi carpeta de materiales y estos dos materiales de monedas. Sólo voy a abrirme porque hay algunos pequeños ajustes que quiero hacer dentro de cada uno de estos. Voy a saltar a la otra también, la moneda retro, dependiendo de cuál vas a usar. Ahora lo que quiero hacer aquí es antes que nada voy a tener una forma diferente aquí en mi espectador. Aquí abajo a lo largo de la parte inferior se puede establecer una malla de vista previa diferente. Simplemente voy a elegir el cubo a pesar de que va a estar de todos lados. Entonces voy a mantener pulsado el click izquierdo. Se puede ver que voy a hacer esto invisible en cada lado también. Se puede ver el fondo con él. Entonces haciendo clic en el icono del cubo ahí, y obviamente eso se ve terrible, pero vamos a arreglarlo. Bien, entonces lo que tenemos que hacer aquí es que vamos a seleccionar nuestro nodo de material maestro aquí. Y encima en el lado izquierdo donde dice modo blend, vamos a entrenar eso. Transición eso a translúcido. Entrena eso. Entonces vamos a enchufar esto un pin en el pin de opacidad de nuestro nodo de material maestro Ahora puedo ver que es translúcido. Vemos justamente esa moneda. Nosotros sí queremos hacer esto de dos lados también. Sus cambios son, por lo tanto, cambiar el modo de fusión a translúcido y establecer esto para que sea de dos lados. Puedes seguir adelante y decir eso y luego hacer lo mismo con la moneda retro también. Estamos cambiando ese modo de mezcla a translúcido. Cambiándolo para que sea de dos caras. Asegúrate de enchufar este a, el valor alfa en la opacidad del nodo de material maestro así Haga clic seguro y podemos cerrar fuera de ahí. Cuando termine con eso hecho, voy a pasar a nuestra carpeta de planos aquí en nuestro navegador de contenido Voy a hacer click derecho en algún espacio vacío, nueva clase de blueprint Vamos a basar esto en una clase de actor porque vamos a colocar esto en nuestro mundo. Y voy a llamar a esta BP pick underscore coin, luego adelante, haga doble clic en esto para abrirla en el panel de componentes, va a haber un par de componentes que nos gustaría agregar El primero va a ser un componente de colisión de esfera. Ahora cuando hagas clic aquí, no te confundas y haz clic en Esfera de inmediato. Esto es un desastre estático. Tienes que desplazarte hacia abajo y estamos buscando colisión de esfera. Voy a dejar que esto tenga el nombre esfera. No obstante, en el panel de detalles de aquí, voy a cambiar el radio de la esfera para que sea 75. Ahora vamos a usar esto para ser el volumen, el volumen disparador con el que comprobamos, para ver si debemos recoger esta moneda o no. Ahora con esta colisión de esfera seleccionada, vamos a agregar otro componente y este vamos a agregar un cilindro para que simplemente puedas escribir cilindro y hay un cilindro de forma básica. Adelante y selecciona eso. Sobre en el panel de detalles. Hay algunas cosas que quiero modificar. Esencialmente, voy a estar inclinando esto de lado y aplaudiéndolo para que parezca moneda Tengo algunos ajustes que he predeterminado antes de tiempo la rotación. Voy a establecer la rotación x en negativo 70. Vamos a establecer la rotación y en negativo 90, y vamos a establecer la rotación z en negativo 20. Entonces voy a cambiar la escala también, porque esta sería una moneda bastante gorda. 20.75 en la x. y voy a tabular sobre y hacer 0.75 en la Y. y para la Z, voy a hacer 0.07 y luego presionar Enter Lo aplaste. Eso parece moneda. Como pueden ver, tengo un volumen bastante generoso a su alrededor para el cual recoger esto. También voy a darle una palmada a un material sobre esto enseguida. Si seleccionas este menú desplegable en tipo de moneda, tienes cualquiera de las opciones para elegir aquí. Tengo la moneda retro o la moneda de la nueva era. Supongo que voy a ir con el Retro por ahora, pero se puede ver que esto va a imprimirlo por ambos lados. Sí, tenemos un poco de brecha ahí dentro, pero voy a vivir con eso por ahora. Eso está bien. Ahora, algo más que quiero hacer de inmediato es que esta malla sí tiene colisión en ella. Si me desplazo hacia abajo en la sección de colisión, se dice que bloquea todas las dinámicas. No quiero que el jugador choque con esto en absoluto. Quiero que simplemente lo recojan cuando se superpongan a este volumen disparador. Ahora podrías pensar como, oye, una vez que superpongamos este volumen disparador, vamos a hacer pasar esta cosa de todos modos. Entonces, ¿qué importa siquiera si esto tiene colisión en él? Bueno, vamos a poder disparar algunas bolas de fuego más adelante y no necesariamente queremos que algunas bolas de fuego choquen contra esta Así que sólo vamos a desactivar alguna colisión. Y podemos hacerlo entrando bajo presets de colisión y simplemente cambiando esto a ninguna colisión Y eso arreglará eso. Bien, queremos agregar un componente más aquí arriba en el panel de componentes. Vamos a hacer clic en Add In, Type in Podredumbre. Y si selecciona esto, este no se adjunta a ningún componente en particular. Más bien se aplica a todo nuestro plano aquí. Esto va a hacer que esta moneda alrededor y vaya a girar a la velocidad de rotación establecida en su panel de detalles. Actualmente, se establece en una rotación z para rotar alrededor del eje z, un valor de 180. Y eso va a ser bastante bueno. Y si quieres previsualizar esto, simplemente puedes presionar este botón Simular y podrás ver aproximadamente cómo se ve. Eso es bastante bueno. De nuevo, si no te gusta el aspecto de esa moneda ahí, podrías cambiarla al otro modelo de moneda. El nuevo modelo de monedas. Diablos, podría ir con eso en su lugar Eso se ve tal vez un poco mejor. Sí, vamos a ir con eso. Bien, adelante y guarda esto. Eso es todo lo que queríamos lograr en este video. Más trabajo por hacer en el siguiente video donde comenzamos a hacer algunas secuencias de comandos. Te veremos ahí. 17. Script de recogida de monedas #1: Bien, con nuestro blueprint coin pick up here, creado. Sigamos adelante y sumemos uno a nuestro nivel. Y pueden ver que tengo mis dos configuraciones de D snap actualmente establecidas en nuestro nivel principal, ese es nuestro camino principal para viajar. Si arrastro y suelto uno de estos en nuestro nivel así, ahora mismo tenemos esto justo en frente de donde nuestro personaje aparece en Si tuviera que saltar y jugar, solo arrastra esto en la pantalla enseguida, se puede ver que está girando. Sin embargo, no pasa nada cuando nuestro personaje se superpone a él. Agreguemos algún guión para que así suceda algo. Y para ello vamos a doble clic en nuestra moneda BP, recoger, volver a saltar aquí. Y vamos a hacer click derecho sobre nuestro componente esfera. Porque queremos que algo suceda cuando nuestro personaje se superpone a esta esfera Para agregar un evento para superponer esto, vamos a hacer clic derecho sobre este componente, agregar evento en componente, comenzar superposición. Eso nos va a saltar de nuestra ventana gráfica a nuestra pestaña gráfica de eventos Y queremos comprobar para ver si el otro actor, la otra cosa que se superpuso ese componente de esfera es nuestro personaje Podemos hacer como antes y hacer clic derecho y hacer un nodo get player character, get player character. Podemos ver si el otro actor es igual a nuestro personaje jugador. Voy a mantener pulsada la tecla click izquierdo, y traer un nodo de rama. Esta es una configuración completamente válida. Estamos comprobando para ver si el otro actor es nuestro personaje jugador y si lo es, podemos hacer cosas. Ahora solo para presumir de otra manera de que esto se pueda hacer, voy a mantener pulsada la tecla Alt, click izquierdo para romper eso. Podría arrastrar fuera del otro actor aquí y hacer un gato para BP subrayar personaje en tercera persona Ahora saltando de nuevo a nuestro navegador de contenido aquí, nuestra carpeta de planos en tercera persona, Este es el personaje real que estamos controlando dentro del juego en este momento, otra configuración que podrías hacer para verificar para ver si estamos superponiendo esa moneda con esta clase de personaje en particular es hacerlo así Si es cierto, podemos seguir saliendo de aquí. Si esto fuera falso, el elenco fallaría y podríamos seguir saliendo de aquí. Cualquiera de los dos métodos funcionaría bien. Voy a eliminar este elenco a por ahora mismo y solo voy con este método. Lo que queremos hacer es si es cierto que hemos solapado esa esfera, voy a arrastrar fuera de nuestra verdadera rama y teclear Entonces dos sonidos DA2d es uno que no se está reproduciendo en una ubicación mundial dada Simplemente es esencialmente genial para reproducir algún audio que escuchas en voz alta. Aquí es donde voy a ranura en nuestros sonidos de monedas. Si haces clic en ese menú desplegable, solo tienes que escribir moneda, vas a encontrar esa moneda Sonido que está reproduciendo el efecto de sonido. Juguemos también un efecto visual. Voy a arrastrar fuera de aquí y escribir emisor de desove en emisor de desove El emisor utiliza el sistema de efecto de partículas en cascada más antiguo. Alternativamente, podrías hacer un sistema de desove en el lugar, que son los efectos de partículas del Niágara Ahora la razón por la que voy a usar esto es porque en nuestro contenido estelar, tenemos acceso actualmente, partir de la fecha de hoy al efecto de partículas de explosión. Tengo esta explosión de subrayado. Ahora sí necesitamos especificar qué ubicación nos gustaría que juegue esto. Actualmente, va a jugar en la ubicación 000 de mi mundo. Pero esto es sencillo. Si hago clic derecho, obtener algo de espacio vacío puedo hacer obtener la ubicación del actor. Este nodo de aquí mismo, el objetivo somos nosotros mismos. Entonces esencialmente diciendo, vamos a jugar esto en la ubicación de este actor para la escala. Podrías escalar esto en tamaño, lo voy a dejar como 11.1 pero podrías hacer una explosión gigante si quisieras Entonces por último pero no menos importante, vamos a continuar el flujo de ejecución y teclear en destruir actor que destruirá nuestro Led. Es decir, esta moneda BP recoge después de que hayamos tocado el sonido y después de haber jugado ese efecto de partícula en particular. Sigamos adelante y compilemos. Esto dice que nuestro guión se ve bien. Vamos a guardarlo también. Y ahora veamos si realmente podemos recoger esto. Aquí estamos tocando, escuchamos un sonido, vemos un visual y se vuelve a destruir. Aún no hay anotación involucrada. Eso está por venir. Pero chicos, eso se va a quitar por este. Nos vemos en la siguiente. 18. Controlador de reproductores: Bien, bienvenidos de nuevo a todos. Bueno, en el último video, creamos algún guión muy básico para recoger nuestra moneda. Sin embargo, notarás que no está realmente completo. Al igual que no agregamos a un total de moneda ni obtuvimos ningún punto ni nada de ese tipo. Y eso es porque necesitamos tomarnos un tiempo ahora para crear algo conocido como plano de controlador de jugador Ahora un plano de controlador de jugador es un plano muy fundamental que se encuentra en Y este es un plano súper útil para hacer cosas como almacenar puntos, usted, el usuario, para almacenar monedas para usted, el usuario vive Se puede utilizar para pausar e inpausar el juego, obedeciendo el deseo de usted, el usuario Se puede utilizar para mostrar el Hud de nuevo, usted, el usuario, el controlador del jugador sirve este tipo de relación uno a uno entre usted, el usuario, y el personaje que está controlando Por cada personaje que estés controlando, hay un plano de controlador de jugador Bien, entonces señor Wonder, este plano del controlador del reproductor, ¿cómo creamos uno Bueno, aquí abajo en nuestra carpeta de planos, planos en plataformas, vamos a estar agregando Voy a estar haciendo clic derecho en algún espacio vacío. Vamos a añadir una nueva carpeta. Y voy a llamar a este framework porque al blueprint que vamos a agregar se le conoce como una clase de blueprints de framework Estos son planos muy fundamentales e importantes que se encuentran en muchos proyectos irreales Ahora voy a sumergirme en esta carpeta y puedes ver dónde estamos dentro de nuestra estructura de carpetas. Entonces voy a dar click derecho por aquí, clase Blueprint. Aquí queremos usar esta clase padre Player Controller. Y dice que un controlador de jugador es un actor responsable de controlar un peón Ese es un personaje usado por el jugador. Voy a llamar a esto BP Underscore Player Controller. Ahora con esto creado, necesitamos acceder a la configuración de nuestro proyecto y decirle a nuestro proyecto que use este blueprint del controlador del reproductor Podemos acceder a la configuración de nuestro proyecto aquí arriba en la parte superior derecha. tenemos ajustes de proyecto establecidos Aquí tenemos ajustes de proyecto establecidos en mapas y modos. A lo largo del lado izquierdo, elige que puedas encontrar esta clase de controlador de jugador. A la derecha podemos elegir este menú desplegable en lugar del controlador de jugador predeterminado. Usemos el que hicimos a medida. Ahora vamos a estar almacenando muchos tipos diferentes de funciones y variables dentro de nuestro controlador de reproductor BP. Así que queremos asegurarnos de que nuestro proyecto va a estar usando esto, esencialmente nuestro controlador de jugador BP va a estar apegándose a nuestro personaje en tercera persona aquí. Van a estar trabajando en tándem lo largo del transcurso de este proyecto. Bien, con eso, volvamos a nuestro propio proyecto. Optemos por guardar todo. Eso es literalmente todo lo que queríamos lograr en este video. Si obtienes un diálogo como este, solo guarda a todos los chicos que lo van a hacer todo por este. Te veremos en la siguiente. 19. Script de recogida de monedas #2: Bien, bienvenidos a todos. En este video vamos a estar agregando algún guión dentro de nuestro controlador de reproductor BP para sumar nuestras monedas Entonces saltemos directo a ello. Una vez más, este es el Pathway Content Platformer, Blueprint Framework, donde tengo este BP Player Controller Vamos a hacer doble clic en esto para abrirlo. Si alguna vez ves este dicho que es un plano de solo datos, puedes hacer clic aquí para abrir el editor de planos completo Ahora dentro de este plano, no vamos a estar haciendo ningún trabajo dentro de la ventana gráfica Aquí no va a haber nada que ver. Todo esto se va a hacer en la gráfica de eventos. Esta va a ser la potencia, si se quiere, para ejecutar algún guión en nuestro juego Eso va a ser crítico. Y la razón por la que vamos a estar alojando este script dentro de nuestro controlador de reproductor es porque a diferencia un personaje que puede morir, un controlador de jugador va a persistir a lo largo de nuestra sesión de juego. Bien, lo primero que quiero hacer aquí es agregar un par de variables en el panel Mi blueprint, haciendo clic en este botón de variable más Al primero se le va a llamar monedas. El tipo de variable aquí va a ser un entero. Pulgadas son números enteros porque no vamos a tener décimas de moneda Entonces voy a escribir, da click en esto, voy a duplicar esto, y voy a llamar a éste monedas en vidas. Bien, sigamos adelante y compilemos esto de inmediato para que podamos agregar algunos valores predeterminados para esto. Para un número predeterminado de vidas en el panel de detalles, lo pondré en tres para monedas. Voy a establecer nuestro valor predeterminado. Bueno, dejémoslo en cero. No vamos a empezar con ninguna moneda. Bien, entonces encuentra algún área vacía dentro de tu gráfica aquí. Tienes mucho de eso. Voy a hacer click y arrastrar. Y voy a agregar un evento personalizado enseguida. Haga clic derecho, escriba evento personalizado. Ahora evento personalizado es uno que se llega a nombrar y sólo se dispara cuando se llama manualmente. Entonces vamos a crear el evento personalizado aquí y vamos a estar llamándolo en un poco. Voy a llamar moneda a este evento personalizado porque eso es lo que va a hacer este pedacito de guión. Entonces con este nodo seleccionado, permítanme simplemente acercar aquí arriba. Al mantener pulsada la tecla de control y acercar el zoom en el panel de detalles, voy a agregar una entrada Así que haz clic en este botón más justo por aquí. Y la entrada se va a llamar monedas para agregar, y vamos a hacer este entero así. Ahora bien, esto siempre es un poco engañoso. Estamos llamando a esto una entrada y esto está apareciendo en el lado de salida de este nodo. Verás por qué esto se llama entrada solo un poquito porque cuando llamamos para este evento personalizado, vamos a llegar a ingresar en ese nodo el número de monedas que deseamos agregar. Bien, así que así es como va a fluir nuestro guión cuando se llame a esto. Vamos a estar alimentándole alguna cantidad de monedas para agregar y vamos a arrastrar fuera de esto y escribir el botón más. Y vamos a traer un nodo de anuncios, por muchas monedas que estemos buscando agregar. Vamos a sumar a nuestro total aquí. Nuestro número total de monedas se va a almacenar en esta variable, por lo que podemos arrastrar y soltar esta derecha sobre este pin. Así que vamos a ingresar alguna cantidad de monedas, agregarla a nuestro total, y queremos que esto sea esencialmente nuestro nuevo total. No obstante, quiero hacer algunas comprobaciones aquí. Primero, vamos a comprobar si este es mayor o igual al número 100, porque vamos a otorgar una vida extra si superas ese valor de 100. Voy a arrastrar fuera de esto nos va a dar el resultado de esta matemática. Y vamos a traer en un mayor que igual a n mayor igual. Entonces voy a arrastrar fuera de esto y llevar esto a un nodo de sucursal. Entonces vamos a decir si nuestro total aquí es mayor o igual a 100, vamos a hacer algo. Si eso es cierto, entonces vamos a hacer algo diferente si eso es falso. Ahora bien, si es falso que no hayamos llegado a un valor de 100, lo que vamos a hacer es arrastrar fuera de aquí este total. Vamos a traer un nodo de abrazadera. Vamos a sujetar un entero, vamos a sujetarlo entre un valor de 0.100 Entonces vamos a tener este flujo en un setter de monedas Así es como funciona. Cuando arrastramos nuestra variable monedas, la arrastramos así, podemos obtenerla lo que hicimos antes o podemos configurarla en este caso, vamos a configurarla, enchufar esto como, así vamos a tener esto saliendo de la rama falsa así. Ahora solo para platicar exactamente lo que está haciendo este pedazo de guión actual. Vamos a estar alimentando en alguna cantidad de monedas para sumar. Entonces vamos a estar agregando eso a nuestro número existente de monedas. Los vamos a sumar juntos. Averigua si ese número es mayor o igual a 100. Si es falso que no sea mayor o igual a 100, vamos a asegurar que este total aquí mismo sea un valor 0-100 Estamos asegurando que al establecerlo en un min o máximo 100, esté en algún lugar de aquí Y luego vamos a establecer eso como nuestro valor actualizado de la moneda. Entonces, si tuviéramos que recoger una moneda, tomaríamos una. Se sumó a nuestro total actual que es cero. Ese total va a ser uno. No va a ser mayor o igual a 100. Entonces fluiremos fuera de esta rama falsa y nuestro total actualizado será uno. Bien, a continuación vamos a manejar lo que pase si hemos alcanzado este umbral de 100 monedas. Así que vamos a mover esto aquí abajo un poco. Vamos a arrastrar fuera de este nodo de anuncios una vez más cuando sumemos estos dos juntos. Y esta vez vamos a traer un nodo restar, así que solo hay que poner un símbolo menos Y eso nos traerá operador restar nodo aquí. Vamos a restar 100, fíjate que aquí tenemos nodo ad Resta el nodo aquí mismo. Y luego también vamos a traer otro nodo entero clamp. Voy a seleccionar esto, voy a hacer el control D para duplicarlo enseguida. Y voy a tomar la salida de esta matemática, enchufarla a nuestro valor. Dejaré el min y max de la siguiente manera. De nuevo asegurando que estamos dentro de ese umbral. Eso es solo para evitar que se lleve a cabo cualquier matemática torpe. Entonces una vez más, voy a fijar mi total de monedas. Ahora mira, este es otro truco útil. Puedes arrastrar tu variable de monedas aquí y si quieres traer una versión setter de esta, simplemente puedes soltarla en un pin de salida como este Y va a traer a un setter así. Esto va a fluir desde nuestra verdadera rama. Ahora esencialmente lo que estamos diciendo aquí es si, digamos que teníamos 99 monedas aquí mismo, y íbamos a agregar una, eso equivaldría a 100. Entonces lo que pasaría es justo aquí diríamos que sí, es mayor que o en este caso igual a 100, así que fluiríamos fuera de esta verdadera rama. Y entonces lo que haríamos es si esto es entonces 100, restaríamos 100, esencialmente restando nuestro total de monedas a cero, y entonces ese va a ser nuestro monedas recién reflejado Lo que estamos haciendo aquí es que cada 100 monedas que estamos buscando para agregar una vida. Entonces, vamos a agregar una vida, ¿de acuerdo? Voy a mantener pulsado el control y simplemente desplazarme la rueda hacia atrás un poquito solo para darme un poco más de espacio, voy a traer en nuestras vidas variable. Ahora arrástralo y suéltalo aquí. Vamos a conseguirlo. Y entonces voy a arrastrar fuera de esto y escribir en incrementos. Ahora este nodo actúa como getter y setter, todo en uno. En realidad no tenemos que fijar nuestro número de vidas como lo hicimos aquí. Lo que esto hará es que nos llevará nuestro número de vidas, en este caso tres. Y solo va a agregarle a la derecha. Entonces no tengo que ir así para sumar a nuestro número de vidas. Simplemente lo hará automáticamente. Entonces esto va a conseguir nuestro número de vidas y este incremento lo va a poner en el valor actualizado Por supuesto, tenemos que asegurarnos de que nuestro flujo de ejecución realmente fluya hacia él. Así. Entonces sería bueno si realmente tocamos algún tipo de sonido con esto también. Así que voy a arrastrar fuera de este tipo en juego Sonido dos D. Sólo voy a traer nuestras opciones aquí abajo. El sonido que quiero tocar es nuestro único sonido aquí arriba. También se puede ajustar el volumen del sonido. Lo dejaré a la una, pero puedes configurarlo arriba o abajo si quieres. Voy a hacer click izquierdo y arrastrar todo este guión aquí, toca la tecla y voy a llamar a esto mi guión de monedas. En el panel de detalles, puede establecer un color común. Normalmente me gusta ponerlos a algo así como el negro porque agrega un bonito contraste. Sigamos adelante y compilemos esto para asegurarnos de que nuestro guión esté todo bien. Guarde esto. Ahora bien, todo esto está bien, excepto que todavía no hay nada que desencadene este guión de monedas publicitarias. Recuerda con un evento personalizado, tienes que decirle manualmente cuándo disparar. Entonces ahí es donde va a entrar la siguiente porción de esto. De nuevo, asegúrate de haber compilado y guardado aquí. A continuación vamos a estar saltando a nuestro BP, recoger moneda. Así que encuentra tu camino dentro de este plano. Lo que vamos a hacer es en primer lugar vamos a volver a este pequeño guión en un poco de tiempo. Pero voy a eliminar estos dos nodos. Tick de evento, actor de eventos, inicio, superposición. Y quiero arrastrar fuera de evento comenzar a jugar aquí. Lo que quiero hacer es crear una referencia a nuestro controlador de reproductor BP para que luego pueda llamar a eso Agregar monedas evento personalizado. Para ello voy a escribir click en el espacio vacío y teclear Get Player controller. Lo que vamos a hacer entonces es arrastrar esto y escribir en elenco dos BP player controller. Me gusta. Entonces esto es básicamente nosotros diciendo, bueno, al comenzar a jugar, queremos averiguar si el controlador del reproductor BP, el que establecemos en la configuración de nuestro proyecto, es el que estamos usando de hecho. Entonces lo que podemos hacer aquí es hacer clic derecho sobre este pin, clic derecho, y podemos promoverlo a una variable. Al hacer eso, lo que notarás es en mi panel de blueprint, acabas de crear una variable de controlador de reproductor que va a almacenar tu controlador BP Player Sólo voy a acortar el nombre aquí, click derecho. Voy a renombrar esto como mi Player Controller, así que podemos hacer click izquierdo y arrastrar alrededor de este toque la tecla. Este va a ser mi guión donde estoy creando una referencia a mi Player Controller que estamos usando en este proyecto. Voy a poner eso para que sea negro enseguida. Negro como mi alma. Bien, y luego vamos a ir a esta zona de nuestro plano Y vamos a implementar un poco más de guión aquí abajo. Así que sigamos adelante y desvíemos esto, haga clic izquierdo en arrastrar Entonces lo que vamos a hacer es traer una referencia a nuestro controlador de reproductor, clic izquierdo arrastrar. Queremos obtener esto ahora porque tenemos una referencia a nuestro controlador de jugador, podemos llamar a ese evento personalizado de monedas de anuncios que existe dentro de nuestro controlador de jugador. Volvamos a nuestro BP, recojamos monedas y salgamos de nuestro controlador de jugador, escribamos monedas. De verdad debería llamar a esto monedas publicitarias. De hecho voy a hacer eso. Voy a hacer clic en mi anuncio monedas evento personalizado aquí en los detalles. Va a actualizar esto para agregar monedas. Vamos a compilar esto y ahorrar. Y ahora puedes volver a ver en mi BP recoger monedas que también se han actualizado. Así que tenga en cuenta que este nodo va a estar llamando a este evento de cliente. Va a estar diciéndole que se desprenda. Ahora note que agregamos esta entrada, nuestras monedas para agregar aquí de nuevo en nuestra moneda BP pick up. Podemos ver que esto está ahora en el lado de entrada de este nodo. Si es cierto que nuestro jugador o nuestro personaje jugador se superpone a esa esfera, vamos a conectar esto. Así que no te pierdas esto aquí mismo. Asegúrate de salir de la verdadera rama en la que estás cableando esto. Entonces ahora tenemos que decirnos ¿cuántas monedas queremos agregar? Voy a escribir click sobre esta variable, pero primero echa un vistazo a este truco. Voy a poner en el número uno en este campo. Entonces voy a escribir, da click en este pin. Vamos a promover esto a una variable. Mira por encima en nuestro panel de mi plano. Esto ahora se llama monedas para agregar. Tiene ese mismo nombre, monedas para agregar. Si compilo nuestro blueprint, se puede ver que va a traspasar ese valor por defecto que teníamos dentro de esa caja Ahora aquí hay otro pequeño bono. Sigamos adelante y marquemos esta casilla para que nuestras monedas agreguen variable a instancia Editable Ahora lo que esto va a hacer es que nos va a permitir personalizar cuántas monedas vale cada moneda. Entonces, si quisiéramos, podríamos hacer una sola moneda que valga una moneda, cinco monedas, diez monedas, etcétera Será altamente personalizable así. Bien, este va a ser nuestro guión aquí. Sigamos adelante y haga clic izquierdo, arrastre, toque ese C mantener, se va a llamar nuestro script de recogida de monedas. Voy a dar click aquí mismo. Haga clic en Aceptar. Acercar un poco aquí. Puedes pausar el video aquí si es necesario. Sigamos adelante y compilemos y guardemos esto. Ahora vamos a revisar para ver si esto realmente funciona. Voy a volver a mi editor de nivel principal aquí. Ahora tenga en cuenta que con mis monedas seleccionadas aquí en mi nivel, voy a mantener pulsada la tecla Alt, clic izquierdo y arrastrar. Y voy a volver a poner otra moneda por aquí. Puedo tener esta moneda aquí mismo valga la pena, mira mi panel de Detalles configurado en uno. Puedo hacer éste de la izquierda. Puedo hacer que esto valga 100 si quisiera, para poder ver realmente este número siendo sacado a la pantalla, nuestra moneda total. De hecho, ajustemos temporalmente nuestro script del controlador del reproductor. Eventualmente escupiremos esto a nuestra pantalla a través de un Hud de aspecto más oficial Pero lo que podemos hacer es hacer clic derecho en algún espacio vacío. Voy a traer de nuevo un nodo de cadena de impresión. Eventualmente me voy a deshacer de esto, pero hagámoslo. Siempre que recojamos una moneda, voy a poner esto al final. De hecho vamos a tener esto fuera de la falsa rama. En la verdadera rama, esencialmente, voy a tapar ambos de estos aquí. Voy a romper con esto y poner en un nodo append. Nuevamente, todo esto es temporal. Para que podamos ver esto escupir a la pantalla. Voy a poner monedas, espacio base. Entonces dentro de nuestro valor B, sólo voy a poner en nuestra moneda. Arrastra esto aquí, monedas, vamos a conseguirlo, enchufarlo aquí. Va a convertirlo de un entero a una cadena. Sigamos adelante y compilemos esto. Guardar y jugar. Ahora verás que voy a recoger nuestra primera moneda aquí en la parte superior izquierda de la ventana gráfica, dice monedas una de nuevo Mira el extremo superior izquierdo de mi ventana de juego aquí. Ahora di monedas una otra vez, porque nos envolvimos, fuimos 1-101 Solo para demostrar esto más, voy a romper un par de monedas más manteniendo pulsada Alt, click izquierdo y arrastrando como Así que volvamos a jugar Tengo mirada en la parte superior izquierda de mi Viewport 123. Ahora bien este vale 100, así que debería volver a hacer un bucle a tres. Bien, y ahí lo tenemos. Hemos terminado nuestro script de recolección de monedas y lo hemos hecho altamente personalizable para que para cada instancia, cada copia de nuestra moneda, hayamos hecho para que podamos ajustar la cantidad de monedas que vale cada una. Y si quisieras hacer eso y hacerlo un poco más claro visualmente, podrías configurarlo para que valga diez monedas. Puede seleccionar en su panel de detalles, la malla cilíndrica que representa nuestra moneda. Podrías cambiar el material para que sea un material diferente, tal vez una moneda diferente. Quizás podrías establecer la escala para toda la camioneta sea más grande en general. Entonces podrías establecerlo en un valor de como tres en general, algo así. Y con eso bloqueado, si estableces un valor a tres, los pone a todos en tres. Entonces ahí van chicos, eso lo va a hacer por este. Te veremos en la siguiente. 20. Concorrencia con el sonido de la pastilla de moneda: Bienvenida. En este video, nuestro objetivo es crear un activo de concurrencia de sonido y luego usarlo en nuestro script de recolección de monedas para limitar nuestro audio de recolección de monedas de ser volado cada vez que recoja una tonelada de monedas a la vez Ahora, tengo un ejemplo configurado aquí donde mi jugador va a desovar de manera aquí arriba y caer para recoger una tonelada de monedas Entonces voy a exponer el problema por ustedes ahora mismo. No es genial, ¿verdad? Entonces para arreglar esto, vamos a estar creando este activo de concurrencia de sonido, y voy a estar haciendo esto dentro mi carpeta de audio de plataformas ahí mismo Yo hice una corrida en seco antes de grabar este video. Estoy grabando este video mucho después de que se haya grabado el curso. Y voy a hacer clic derecho y crear un nuevo activo de concurrencia de sonido haciendo clic bajo concurrencia de sonido de audio Voy a deshacerme de esta alerta de Dell aquí. Y luego voy a renombrar esto enseguida. Si lo selecciono y presiono F dos, llamaré a esta moneda subrayado Cc y si hago doble clic en este activo o con él seleccionado, simplemente presione la barra espaciadora Verás algunos parámetros asociados con este activo. Ahora, esencialmente, lo que este activo nos permite hacer es establecer algunas reglas con respecto a este tipo de escenarios donde podemos tener un montón de sonidos tratando de tocar a la vez. Y solo para mostrarte dónde vamos a eventualmente meter este activo de sonido, voy a volver a mi nivel aquí. Y voy a abrir mi plano de monedas. Podría seleccionar una aquí en mi nivel o en el outliner, puedo ver que tengo un montón de monedas aquí abajo también Simplemente puede hacer clic en Editar BP Coin Pickup. Y donde vamos a ranurar esto es en nuestra función play sound TD. Este es nuestro guión de recolección de monedas. Si haces clic en este menú desplegable, aquí mismo, expondrá más parámetros Y uno de esos es un entorno de concurrencia. Voy a seguir adelante y ranurar esto de inmediato, a pesar de que no hemos hecho ningún cambio en pesar de que no hemos hecho ningún cambio nuestro activo de concurrencia de monedas aquí. Vaya a seleccionar esto. Ahí está el que creé antes de filmar este video. Voy a ranurar en la moneda concurrencia. Eso en lo que estamos trabajando. Entonces ya está ranurado. Ahora volvamos a nuestro activo de concurrencia de monedas Dentro de aquí, tienes algunos parámetros con los que puedes jugar recuento máximo es el número de sonidos simultáneos que pueden reproducirse a la vez Voy a limitar esto a tres, y he llegado a ese número a través de algunas pruebas de juego. Entonces tres es bastante bueno para este escenario. Regla de resolución. Esto es por lo que sucede cuando se ha alcanzado nuestro conteo máximo, y aquí tienes varias opciones. Y a medida que pasas el ratón sobre cada uno de estos, te dirá exactamente lo que hace. Para probar esto, me gusta parar al más viejo. Entonces, esencialmente, si incumplo ese número de tres, voy a detener el sonido más antiguo que disparé y voy a empezar un nuevo. Y este re tiempo de activación, voy a dejarlo solo, pero siéntete libre de jugar con esto, también Una vez más, la punta de la herramienta te dice exactamente lo que hace esto. Esta es la cantidad de tiempo que hay que esperar en segundos entre diferentes sonidos para reproducir. Voy a seguir adelante y salvar esto. Y con esto ya metido en mi moneda pickup BP, voy a seguir adelante y compilar El guión es todo bueno aquí. Guarda esto también, salta de nuevo a mi nivel. Y si hago clic en Reproducir, vas a escuchar una experiencia muy diferente. Ahora no obtienes esa cacapone de audio si quieres, al tocar Bien, chicos, eso servirá para ofrecer este. Te veremos en la siguiente. 21. Barra de fuego (parte 1): Bienvenida. En el transcurso de los próximos videos aquí, vamos a estar creando a este tipo, nuestro primer peligro, una barra de bomberos. Y vamos a hacerlo de una manera altamente personalizable para que podamos determinar cuándo se coloca esto en nuestro editor de niveles, cuánto tiempo queremos que sea esta barra de fuego, qué tan rápido gira, qué dirección gira, Todo ese tipo de cosas buenas. Así que vamos a saltar directo a ella. Todo bien aquí y Unreal en mi carpeta de planos de plataforma Voy a hacer click derecho en algún espacio vacío. Voy a elegir clase de plano. Este va a ser un plano de clase actor porque va a ser uno que coloquemos en el mundo Y voy a llamar a esto BP subrayado barra de fuego. Sigamos adelante y haga doble clic en esto para abrirlo. Y vamos a agregar un par de componentes de inmediato. El primero que voy a escribir, box, va a ser un componente de colisión de caja. Voy a dejar esto como nombre de caja. Y no me voy a preocupar por la extensión de esto ahora mismo porque vamos a estar calculando esto dinámicamente a través algún script de construcción que escribimos aquí abajo del camino A continuación, voy a seleccionar nuestra ruta de escena predeterminada, una vez más porque este siguiente componente quiero adjuntar a la ruta de escena predeterminada, esencialmente el punto central aquí, no la caja. Esto va a ser una malla estática de instancia, no la malla estática instantánea jerárquica La malla estática instantánea, en realidad lo haré, solo dejémosla. La malla estática instantánea es fina. Podríamos llamarlo bola o algo así, pero con esto seleccionado sobre en el panel de detalles, voy a cambiar nuestra malla estática a una esfera. Al hacer clic en esta esfera desplegable, quiero una que se llame simplemente esfera. Este tipo justo aquí en el que es 100, justo ahí en el medio, dice tamaño aproximado 100 por 100 por 100. Está en la carpeta de formas básicas del motor. Se puede ver ese camino en la cima. Ese es el que estoy buscando. Entonces para el material, cualquier cosa por esto servirá. A pesar de que sí quiero algo que se vea un poco flameado, voy a hacer una búsqueda de M. Underscore Fuego Es este de aquí el que viene del paquete de efectos infinity blade. Nuevamente, el material realmente no importa, pero quiero algo que se vea un poco flameado. Añadiremos eso también. Ahora aún no vemos ninguna de estas mallas estáticas de instancia. Aunque vamos a poblar nuestra Bola de Fuego aquí dinámicamente a través del script de construcción en solo un poquito Ahora hay un componente más que quiero sumar aquí. Pero antes de hacer eso, olvidé una cosa que quiero cambiar sobre nuestra malla estática de instancia aquí, desplazada hacia abajo en el panel de detalles debajo de la configuración de colisión y donde dice colisión preestablecida Voy a cambiar esto de bloque todo dinámico a no colisión. La razón es que vamos a tener nuestra caja sea lo que comprobemos colisión contra cualquiera de estas esferas de instancia que van a estar conformando esta barra de fuego. No quiero que nada choque con eso. Todo se va a hacer a través de nuestro colisionador de cajas. Bien, Siguiente voy a agregar un componente más aquí arriba en la parte superior izquierda y este va a ser nuestro componente de movimiento de podredumbre. Movimiento giratorio. Este va a ser el componente, no está apegado a nada. Es solo un plano específico aquí que va a rotar nuestro brazo de fuego de una manera u otra Voy a establecer la velocidad de rotación sobre en el panel de detalles para tener una tasa de rotación de 50 en la Y. voy a ponerla a cero en. Bien, a continuación vamos a crear un par de variables aquí y vamos a hacer clic en este botón más. Y el primero que quiero va a llamarse número Flame Ball. Esto va a ser un entero. Y esto va a determinar cuántas de estas bolas de llama van a formar nuestra barra de brazo o barra de fuego aquí. También voy a, en el panel de detalles, cambiar un par de cosas. Quiero que esta instancia sea editable, para que podamos cambiar el número de éstas en editor Entonces también quiero establecer una categoría para esto para que tengamos estas pocas variables que voy a crear dentro de una categoría en nuestra sección de variables. Si hago clic aquí, simplemente puedo sobrescribir donde dice default Y voy a llamar a esto, voy a llamar personalización de barras. Ahí vamos. Ahí vamos. Ahora puedes ver más en nuestra sección de variables, tenemos una categoría llamada personalización de barras. Y dentro de esa categoría está contenido un número de bola de llama . Con este seleccionado. Voy a controlar D en él para duplicarlo. A éste se le va a llamar distancia de pelota. Aparte. Quiero que esto también sea editable por instancia Vamos a establecer algunos valores predeterminados aquí en un poco. Voy a agregar una variable más aquí. A éste se le va a llamar Flame Ball. Esto va a determinar el tamaño de cada una de esas bolas de llama. Voy a establecer esto para que sea una variable vectorial para que podamos determinar el tamaño x, y y z de esta. Voy a configurarlo para que sea instancia editable. Y consulta aquí en nuestra categoría, puedes ver que en realidad no aparece en nuestra categoría de personalización de barras. Pero encima en el panel de detalles puedo especificar personalización de la barra haciendo clic en ese menú desplegable y ahora está en esa categoría. Última variable aquí que vamos a agregar se va a llamar tasa de rotación. Esto va a ser un rotador. En el panel de detalles, voy a comprobar esto. Hacer una instancia editable también, para que podamos personalizar la velocidad de rotación Y también configuraré esto en la categoría de personalización de barras . adelante y compilemos esto para que podamos establecer algunos valores predeterminados para mi número de bola de llama. Voy a poner esto, diremos cinco. Vamos a tener una barra de llama que consta de cinco por defecto a distancia. Voy a establecer esto en 60, 60 porque ese es un valor que predeterminé antes de tiempo, el tamaño de la bola de llama. Voy a establecer esto para que sea 0.5 en todos los ámbitos. Una vez más, lo predetermino con anticipación. El índice de rotación, voy a tener esta coincidencia la velocidad de rotación que tuve en mi movimiento de rotación aquí de 50 en la Y. Voy a establecer que sea 50 en la Y también para esa variable. Bien, sigamos adelante y guardemos esto de inmediato para que no perdamos ningún trabajo aquí. Y luego pasemos a nuestro guión de construcción. Vamos a poner algo de guión aquí en nuestro script de construcción porque esto va a cambiar el aspecto de nuestra bola de fuego durante el tiempo de diseño antes de que el juego se ejecute realmente Tenemos algunas cosas geniales que vamos a estar haciendo bien en esta sección. Lo primero que quiero hacer es traer nuestro número de bola de llama, arrastrar y soltar esto aquí. Vamos a conseguir esto. Vamos a arrastrar fuera de esto y restar esto Traer un nodo de resta. Vamos a restar esto por el número uno. Y ya verás por qué aquí en sólo un poquito. Porque vamos a estar enchufando la salida de esto en un nodo de cuatro bucles Vamos a escribir cuatro bucles, no cuatro bucles. Con break solo cuatro loop, en realidad quiero esto enchufado al último índice Voy a mantener pulsado el control click izquierdo, y arrastrarlo hacia abajo a nuestro último índice. La razón por la que estoy restando esto por uno es porque estamos comenzando este bucle con el número cero Así que vamos a recorrer esto, queremos agregar realmente cinco bolas de llama, la número cinco. Si estamos empezando a contar a cero, necesitamos restar uno, haciendo así que la salida de estos cuatro vaya a 01234 Esa es la cantidad de veces que vamos a recorrer esto. Técnicamente cinco veces, pero empezando por el número cero, ¿de acuerdo? Fuera de este cuerpo de bucle, voy a traer un nodo de secuencia manteniendo presionada la tecla S y haciendo clic izquierdo. Vamos a traer una secuencia porque hay varias cosas que vamos a hacer aquí. Voy a añadir otro pin enseguida. Lo primero que voy a hacer es que voy a arrastrar fuera de este índice y traer un nodo multiplicar. Cada vez que recorremos esto, va a escupir el número de índice aquí, 0123, etcétera. Y quiero multiplicar esto frente a nuestra distancia de bola de llama. Podemos arrastrar y soltar esto justo aquí así. Ahora la salida de esto, vamos a estar enchufando en última instancia a un nodo make vector Vamos a volver a esto en solo un poquito, pero este primer bit de guión es que vamos a estar agregando instancias de nuestra bola de llama. Voy a arrastrar en nuestra instancia estática mallada. Estas fueron estas bolas de llama esféricas, si se quiere. Voy a arrastrar fuera de aquí y escribir en una instancia. Ahora podríamos haber hecho esto. Ahora va a agregar otra copia de esta instancia, malla estática, que no necesito. Voy a borrar esa. Eso es sólo otra copia. En última instancia, el nodo de secuencia se va a conectar aquí. El nodo de secuencia nos va a permitir hacer varias cosas todas prácticamente al mismo tiempo, secuencialmente, pero para nuestros propósitos, casi exactamente a la misma hora. Ahora vamos a estar especificando dónde agregar una instancia. Vamos a arrastrar hacia atrás fuera de esto y escribir en transformar, hacer transformar. Esto va a especificar una ubicación, una rotación y una escala. Ahora para la báscula, simplemente podemos enchufar nuestro tamaño de bola de llama. Esa va a ser nuestra escala para cada una de estas instancias mallas estáticas Voy a hacer doble clic en este cable solo para traer un nodo de reencaminamiento Haz que esto luzca un poco más limpio ahora para nuestra ubicación. Voy a arrastrar hacia atrás fuera de esto y escribir make vector Porque una ubicación consiste en x, y, y z datos. En serio, solo quiero especificar la distancia aparte aquí en la dirección, la dirección z. Voy a enchufar esto directamente a mi Z y va a convertir el valor entero que va a dar salida aquí en un flotador, porque este nodo necesita una entrada flotante así. Intenta limpiar esto un poco. Bien, esa va a ser la primera parte de nuestro guión aquí. Bien, esto va a hacer click izquierdo y arrastrar, toca un cielo. Voy a decir agregar instancias de bola de llama. Bien, eso es lo primero que vamos a hacer. Voy a tratar de enmarcar esto, así que si quieres pausar el video aquí, puedes ver lo que está haciendo eso. Bien, entonces si tuviera que arrastrar una copia de esto, solo voy a compilar y guardar esto enseguida. Sólo voy a arrastrar una copia de esta barra de fuego a nuestro nivel, ¿de acuerdo? Y en realidad, ¿sabes qué ? Déjame hacer esto de la manera correcta. Voy a establecer esto para que esté en mi nivel principal aquí. Asegúrate de que mi chasquido de dos D esté encendido. Bien. Para que puedas ver más o menos cómo se ve ahí. Entonces en el panel de detalles, podría especificar una serie de bolas de llama. Y se puede ver que la va a extender hacia arriba, lo cual es bastante genial. Ahora separando la distancia de la bola de llama, yo también podría establecer eso. Vas a ver cómo dinámicamente podemos hacer esto. Eso es bastante genial. Incluso podemos cambiar el tamaño de la bola de llama. Si quisiera, podría cambiar esto para que sea uno y 1.1 Va a hacerlo un poco más grande. Ahora bien, esta tasa de rotación no va a hacer nada todavía, pero permítanme poner todos estos de nuevo a la predeterminada. Aquí notarán que cuando cambie esto, todo esto está bien, pero vamos a estar comprobando contra la colisión aquí, esta caja de colisiones. Y eso no se extiende para que coincida con mi número de bolas de llama. Ese va a ser nuestro próximo guión aquí. Volvamos a saltar a nuestra barra de bomberos BP. Lo que vamos a hacer es que vamos a arrastrar este resultado aquí mismo y vamos a traer un nodo de división. Divide, y vamos a dividir esto por el número dos. Esto va a ser utilizado para algunas de nuestras matemáticas para ajustar el tamaño de nuestro componente de caja aquí. Sigamos adelante y traemos aquí mismo la caja , nuestro componente de caja. Y luego vamos a arrastrar esto y vamos a escribir en la extensión del cuadro de conjunto. Esencialmente lo que estamos buscando hacer aquí es cambiar nuestros parámetros de extensión de caja aquí mismo a través de script. Bien, trae eso. También vamos a arrastrar este tipo en la ubicación relativa establecida. El cuadro va a ser nuestro objetivo para ambos. Bien, en cuanto a la ubicación de nuestra caja, voy a arrastrar hacia atrás fuera de la nueva ubicación y escribir make vector. Entonces voy a tomar el resultado de esta matemática aquí mismo y conectarlo a nuestro valor. Asegurémonos de enganchar en este nodo de secuencia de inmediato para hacer que este bit de script se desprenda. Ahora realmente no importa si enchufamos esto aquí primero, pero queremos que ambos se disparen. Asegúrate de que no importa si enganchas este primero o aquel, Bien. Entonces también queremos especificar un vector make para nuestra extensión de caja. Vamos a escribir en make vector aquí. Vamos a tomar el resultado de esta misma matemática que podamos sacar de la misma salida. Vamos a enchufar esto a nuestra Z, y vamos a cambiar nuestra X a un valor de recubrimiento duro de diez y una Y de 50. Sigamos adelante y compilemos y digamos esto una vez más. Ahora bien, si miramos hacia atrás en nuestro editor de niveles, verás que este bit de guión en realidad va a extender nuestra caja de colisiones. Se puede ver como que corta a través de todas las bolas ahí dinámicamente para que si yo tuviera que aumentar, digamos, el número de bola de llama aquí, se puede ver que esa caja se está ajustando también. Ahora otra vez, voy a mantener esto delgado, pero si tipo de látigo alrededor de este ángulo, se puede ver que estoy haciendo esto un poco más grueso desde esta vista de viaje para que no falte a nuestro jugador cuando intente chocar con nuestro Bien, un poco más de guión que tenemos que hacer en nuestra BP Fireball Salta de nuevo ahí. Lo que vamos a hacer es personalizar nuestra tasa de rotación. Déjame solo a la izquierda hacer clic en todos estos nodos manteniendo pulsado el control. Yo sólo voy a tirar hacia un lado, pulsa la tecla C aquí y voy a llamar a esta caja extensión dimensionamiento como. Así que muévete eso por aquí. Bien, entonces vamos a traer nuestro componente de movimiento giratorio. Vamos a arrastrar eso. Vamos a arrastrar fuera de esto, vamos a escribir la velocidad de rotación establecida. Esencialmente, lo que estamos buscando hacer con este componente de movimiento giratorio es que queremos ajustar manualmente nuestra tasa de rotación. Ahora actualmente tenemos nuestra variable de tasa de rotación. Vamos a arrastrar y soltar esto a la derecha en este conjunto de nodos es exactamente el mismo valor, pero como hemos hecho esta instancia variable editable, podemos ajustar esto por instancia de esta barra de llama Eso va a ser bastante genial, así que vamos a hacer clic izquierdo resaltar eso. Y voy a llamar a esto mi tasa de rotación personalizada de permitir en nuestro guión final va a verse algo así. Voy a tratar de enmarcar todo así. Bien, sigamos adelante y compilemos esto y ahorremos. Vamos a traer aquí un par de estas barras de llama. Voy a mantener el Alt, clic izquierdo y arrastrar para el segundo aquí. Yo sólo voy a hacer diez el número de llamas. Voy a cambiar la velocidad de rotación. Vayamos al 100 negativo. Entonces va a ir en sentido contrario, y va a ir un poco más rápido. Ahora bien, si tuviera que saltar y jugar, se puede ver que tenemos dos barras de llama girando en direcciones opuestas. En realidad no me hacen nada todavía, pero están dando vueltas como se pretendía. Están girando a diferentes ritmos, son de diferentes longitudes, etcétera Así que tenemos un comienzo bastante bueno para nuestro plano de barra de llamas Ahora más trabajo por hacer aquí ya que en realidad hacemos que esto afecte a nuestro jugador. Pero chicos eso va a hacerlo todo por este. Te veremos en la siguiente. 22. Barra de fuego (parte 2): Bien, bienvenidos de nuevo a todos. Ahora tenemos nuestra barra de fuego BP y gira alrededor, pero en realidad no daña a nuestros jugadores. Entonces la segunda parte aquí va a abordar eso. Vamos a crear algún guión para dañar a nuestro jugador. Para ello, vamos a sumergirnos en nuestra carpeta en tercera persona aquí. Planos en tercera persona nuestro BP, personaje en tercera persona. Sigamos adelante y haga doble clic sobre este tipo para abrirlo. Lo primero que quiero hacer es seleccionar mi Yo. Voy a entrar en mi pestaña Viewport para que podamos ver realmente a nuestro personaje Y voy a cambiar nuestro material de personajes por aquí en el panel de detalles aquí tenemos materiales, tenemos un elemento cero y un elemento uno. Estos corresponden a diferentes aspectos de este código de pintura. El visual de nuestro Me uno es para el logo en el medio y el resto es para esencialmente este traje de armadura, si se quiere Voy a cambiar el elemento cero aquí para que sea azul. Un azul para compartir, algo azul recto así. Bien, lo que vamos a hacer aquí es que nuestro personaje se dañe, simplemente vamos a intercambiar este material. Sólo un simple cambio visual para ayudar a indicar que sí, nuestro jugador ha sido dañado. Bien, a continuación vamos a ir a nuestro gráfico de eventos y vamos a agregar un evento personalizado. Vamos a hacer clic derecho en algún espacio vacío, escribir en agregar un evento personalizado. Y vamos a llamar a éste un Just hit Points. Y con esto seleccionado sobre en el panel de detalles, vamos a agregar una entrada, haciendo clic en este botón más. Y vamos a llamar a este Modificador de Puntos de Golpe. Y voy a cambiar esto de un lingote a un entero que es un número entero A continuación vamos a crear una variable, en el panel de detalles de aquí, crear una variable. Esto simplemente se va a llamar puntos de golpe. Voy a cambiar el tipo aquí para que sea un entero, este va a ser un número entero. Voy a compilar mi plano aquí, y voy a cambiar el valor predeterminado para que sea 22 Hit points para que empecemos Bien, aquí vamos a crear algún guión y vamos a hacer algunas cosas en función de la cantidad de puntos de éxito que tiene nuestro personaje. Así que vamos a pasar esto a un lado aquí. Vamos a arrastrar fuera de nuestro evento de ajuste de puntos de éxito para clientes. Y vamos a traer un nodo de secuencia. Un nodo de secuencia porque vamos a estar haciendo un par de cosas fuera de este evento personalizado cuando finalmente se llama. Bien, lo primero que vamos a hacer es que vamos a arrastrar fuera de nuestro modificador de puntos de éxito y sea cual sea el número que finalmente pasemos por esta llamada de este evento personalizado. Vamos a sumar esto, vamos a sumar esto a nuestros puntos de hit que nuestro jugador va a tener actualmente. Arrastra y suelta eso justo ahí. Entonces vamos a tomar esta matemática resultante y vamos a sujetar esto. Vamos a sujetar este entero entre un valor de cero y un máximo de dos para asegurar que nuestras matemáticas aquí nunca salgan de estos límites Entonces vamos a poner esto de nuevo en nuestros puntos de vida. Vamos a establecer nuestros puntos de vida. Si arrastro y suelto mis puntos de acierto sobre este valor de retorno, traerá un setter Haremos esto fuera de nuestro entonces pin cero así. Bien, entonces lo que vamos a hacer es que nos vamos a arrastrar fuera de esto y vamos a traer un nodo igual. Vamos a encontrar si nuestros puntos de acierto son iguales a cero. Y voy a traer una sucursal, como si nuestros puntos de acierto iguales a cero, vamos a hacer algo. Y si no es igual a cero, vamos a hacer otra cosa. Si es igual a cero, entonces todo lo que queremos hacer es arrastrar fuera de la verdadera rama y escribir en destruir actor con el objetivo siendo nosotros mismos. Básicamente, una vez que hayas alcanzado cero puntos de vida, destrúyete Ya terminaste. Adiós. Ahora bien, si no hemos llegado a cero puntos de hit, lo que queremos hacer es cambiar nuestro, nuestra malla es material. Este material asociado a esta malla. Bien, fíjate que esto está en el elemento cero. Este elemento azul cero. Nuestros brazos y piernas aquí. ¿Bien? Entonces vamos a arrastrar en una referencia a nuestra malla. Arrastra y suelta que voy a arrastrar fuera de aquí. Y voy a teclear el material del set. Si es falso que nuestros puntos de golpe no lo son, vamos a cambiar el elemento cero de nuestra malla, el elemento cero. Vamos a cambiar el material de eso para que sea algún otro color. Ahora, qué otro color va a depender cuántos puntos de cadera nos quedan en última instancia. Vamos a usar un nodo selecto para esto, y este es uno de los nodos más geniales en todo el scripting de blueprint Voy a arrastrar hacia atrás fuera de esto y escribir Seleccionar. Así es como va a funcionar este nodo en base a algún número de índice, en este caso, nuestro número de hitpoints Vamos a enchufar esto justo aquí. Vamos a elegir un material diferente. Si esto va a ser cero, vamos a cambiar nuestra opción. Si esto es cero para ser rojo. Voy a escribir en rojo anum para encontrar un material rojo recto Si nuestro índice entrante, el número de puntos de vida es uno, vamos a cambiar esto a un verde para compartir. Vamos a agregar un pin más aquí en la opción dos. Si nuestra cantidad de puntos de cadera es de dos, va a elegir, va a sacar el material asociado a la opción dos aquí. Y este va a ser nuestro anum blue. Basándonos en lo que sea este índice entrante, vamos a generar la opción asociada 01 o dos. Si el índice es cero, va a generar este anum en este material para cambiar nuestro material de mensaje Si es uno, va a dar salida a éste. Si el índice es dos, va a dar salida al material asociado a eso. Bastante genial. A continuación vamos a tratar con algunos de los efectos de sonido asociados con ganar o perder un hit point. Entonces, lo que vamos a hacer es que vamos a dar un círculo vuelta aquí a nuestro modificador de puntos de golpe. Y vamos a arrastrar fuera de esto, voy a traer en un nodo mayor que. Vamos a decir si este modificador de puntos de golpe entrante es mayor que cero, si ese es el caso, vamos a traer otra rama. Así que vamos a asegurarnos de que nuestro entonces un dolor fuera de la secuencia, serpientes aquí abajo Si esto es cierto, vamos a tocar un sonido para arrastrar fuera de aquí y escribir en juego. Sonido Dos D. El sonido que vamos a tocar para esto va a ser un sonido de encendido. Haga clic en este, menú desplegable, escriba encendido, Mario power up. Puedes hacer click sobre esto y puedes ajustar el volumen si quieres. Voy a colapsar eso. Bien. Si esto es falso que no sea mayor que cero, vamos a enchufar esto otra rama de la que vamos a estar haciendo uso. Bien, vuelve aquí arriba que si ganamos un hit point, esencialmente vamos a tocar un power up sound drag fuera de aquí, una vez más, el modificador Hitpoints Y vamos a traer en un nodo menos que. Vamos a decir si es menor que cero, es decir, que nos han golpeado, estamos restando un hit point Esencialmente, vamos a enchufar esto a un nodo And y Boolean También vamos a revisar otra condición aquí. Si ambos son ciertos, vamos a tomar nuestros hitpoints, arrastrarlos hacia adentro, los vamos a conseguir, entonces vamos a arrastrar fuera de aquí y escribir no igual, no igual a cero Y luego vamos a enchufar esto a nuestro nodo de sucursal. Entonces vamos a arrastrar fuera de nuestra verdadera rama aquí y traer otra jugada. Sonido a D. Para esto, ahí está, Mario Warp. Vamos con eso. Ahora, en esencia, lo que este poco de guión está diciendo aquí abajo es si hemos perdido un hit point, es decir, es menos de cero, hemos perdido un hit points en nuestra cantidad actual de hitpoints no es cero, lo que significa que nos queda al menos un punto de cadera Si ambos son ciertos, vamos a tocar este tipo de efecto de sonido negativo, este Mario Warp Sound. Déjame seguir adelante y saltar a eso. Y la forma en que salto a eso es que acabo hacer clic en esta lupa de ahí mismo Va a navegar hasta ese activo, y aquí está, para que veas cómo suena eso. Bien, déjame acercarme un poco atrás aquí. Voy a tratar de enmarcar todo esto. Asegúrate de haber mirado todos estos nodos cuidadosamente. Asegurarse de tener los valores adecuados en los campos adecuados como tan fácil de cometer un error aquí. Así que pasa por esto cuidadosamente luego sigamos adelante y compilemos este script. Y guárdala. Sigamos adelante y haga clic izquierdo y arrastre por todos estos nodos también. Voy a tocar la tecla C para que podamos agregar un comentario para esto. Y voy a llamar a esto mi guión de modificación Hit Points. Y voy a compilar y guardar eso una vez más. Bien, todo esto está bien , pero una vez más, este evento personalizado, hay que decirle cuándo disparar. Así que vamos a saltar a nuestros planos de barras de fuego para hacer un poco más de trabajo Ahora puedo navegar por eso yendo a nuestra carpeta de planos y haciendo doble clic sobre ella así Sin embargo, también puedes acceder a él aquí en el Outliner. Si lo has colocado en tu nivel, haz clic en editar, BP, barra de fuego, cualquiera de los dos servirá. Eso lo abrirá enseguida. Ahora lo que queremos hacer es comenzar en la sección de variables, vamos a agregar algunas variables más. Haga clic en este botón más. El primero que vamos a agregar se va a llamar Puntos, Ajustes al Jugador. Y puedes ver con cada cambio nuestro guión de construcción se dispara, porque se disparará con cualquier cambio. Vamos a hacer de esto un entero. Vamos a agregar otra enseguida. A esto se le va a llamar jugador hit velocity. Esto va a ser un vector. Entonces el tercero que vamos a agregar va a ser llamado hit down. Verás para qué se utilizan todos estos en solo un poquito. Voy a cambiar esto para que sea un valor flotante. Voy a compilar esto enseguida. Entonces puedo agregar algunos valores por defecto para esto, nuestro ajuste de hit point. Empecemos con ese tipo. Vamos a establecer esto para que sea negativo. Esencialmente, cuando te golpeen, vas a perder un punto de acierto aquí, uno negativo. Bien, para nuestro jugador hit velocity. Sigamos adelante y seleccionemos eso. Voy a hacer comestible esta instancia en caso de que quiera cambiar esto en el editor. Y voy a cambiar la velocidad de golpe del jugador para que sea 500. Esencialmente va a hacer estallar al jugador solo un poquito cuando sea golpeado. Esa es la idea ahí, es que los golpean y le hace estallar al jugador sólo un poquito. Entonces este último, nuestro hit, se enfríe, voy a cambiarlo para que sea 1.0 y eso va a ser esencialmente 1.0 segundos. Muy bien, De nuevo, con cualquier cambio, otra vez, viste mi guión de construcción disparando. Porque ahí es cuando el guión de construcción se dispara en tiempo de diseño. Siempre que se haga algún cambio en su plano, voy a saltar de aquí e ir a nuestro gráfico de eventos porque aquí es donde queremos que se dispare el script de tiempo de ejecución Ahora lo que queremos hacer es querer que algo suceda cuando superpongamos esta caja. Recuerdas que nuestra caja es esta caja justo aquí está, caja invisible que no podemos ver mientras jugamos nuestro juego con nosotros. Al hacer clic derecho sobre este componente, podemos ir a agregar un evento sobre Begin overlap. Eso nos va a saltar de nuevo al gráfico de eventos. Lo que queremos hacer es comprobar si el otro actor era nuestro personaje jugador. A partir de aquí se podría emitir a tercera persona BP tercera persona. Podrías agregar este nodo así y luego continuar el script de esta manera. Sin embargo, voy a ir por un método diferente en caso de que alguna vez quiera cambiar qué personaje estoy usando. Voy a arrastrar fuera del otro tipo de actor en el signo igual y voy a ver si esto es simplemente igual a nuestro nodo get player character. De esa manera no importa realmente qué plano de personaje esté usando que vaya a reflejar el personaje de mi jugador Bien, ¿qué quiero hacer si esto es igual? Voy a llevar esto a un nodo de sucursal. Si esos son iguales, esto es cierto que son iguales. Voy a arrastrar fuera de aquí en Do una vez. ¿Qué quiero hacer una vez? Bueno, lo que quiero hacer es ajustar la cantidad de hit points que va a tener nuestro jugador. Ahora una vez más en nuestro BP, personaje en tercera persona, tengo este evento personalizado llamado los puntos de golpe justos. Entonces me gustaría llamar para que esto suceda. Ahora solo cometí un error aquí tratando de ir a este enfoque. Porque si tuviera que arrastrar fuera de esto, obtener el personaje del jugador y escribir en ajustar los puntos de golpe, no voy a poder encontrarlo así que realmente puedo hacer este método, también acceder a este evento personalizado de ajustar puntos de golpe. Entonces en este caso voy a tener que arrastrar fuera de mi otro elenco de actores a mi personaje de BP en tercera persona porque mi personaje en tercera persona es el que tiene este evento personalizado de hit points dentro de él. Ahí me viste cometer un error en tiempo real y a mí ajustándolo en tiempo real. Bien, esto es lo que quiero hacer. Una vez que quiera llamar a este evento personalizado, voy a hacer doble clic sobre esto para traer un nodo re rot. Ahora voy a ajustar esto por. Ajuste de mi punto de cadera a variable de jugador. Voy a enchufar eso. Entonces voy a arrastrar fuera de aquí una vez más y escribir el movimiento del personaje. Ahora bien este es un componente, este componente de movimiento de personajes que vive de mi personaje en tercera persona, este componente de movimiento de personaje. Ahora dentro de aquí, hay un parámetro para la velocidad. Voy a buscarlo. Velocidad, velocidad, que se actualizará a medida nuestro personaje se mueva por todo el nivel. Quiero ajustar la velocidad de los personajes. Si arrastro fuera de aquí, puedo escribir la velocidad establecida. Traerá un nodo setter como este. La cantidad que me gustaría ajustar esa velocidad va a ser determinada por nuestro jugador hit velocity variable aquí mismo. Puedes enchufar eso así. Entonces lo último que quiero hacer aquí es que quiero traer un nodo de retardo. Voy a arrastrar fuera de aquí. Trae un nodo de retardo. Voy a retrasar por nuestra cantidad de hit cool down. Poniendo este nodo arriba y éste encendido abajo. Por lo que este actualmente tiene un valor de 1 segundo. Voy a hacer esto para que luego hagamos un bucle de nuevo en el reinicio de nuestro nodo once Entonces, esencialmente, va a haber una pausa de 1 segundo entre cuando nuestra bola de fuego puede dañar al jugador para llamar a esto, ajustar los puntos de cadera para hacer estallar un poco a nuestro jugador, y cuando pueda hacerlo de nuevo para que esto no suceda como cada centésimas de segundo tipo de Bien, con esto, vamos a hacer click izquierdo y arrastrar. Voy a tocar la tecla C. Voy a llamar a esto atropellado por barra de bomberos. Voy a compilar este script, voy a guardar. Y luego voy a saltar y jugar. Veamos qué pasa. Bien, nuestro personaje es actualmente azul. Tienen dos puntos de golpe. Una vez me van a golpear, puse un poco a mi personaje, cambiaron a un hit point representado por Green. Me van a pegar otra vez, bam, muerto. Ese es tu punto de vista cuando estás muerto. No te preocupes. Vamos a cambiar la secuencia de la muerte más adelante. Pero eso indica la muerte de un jugador. Ahora bien, si estás recibiendo un error como este, esto tiene perfecto sentido. Porque lo que está pasando aquí, es decir que está tratando de acceder a nuestra velocidad establecida, pero no accede a ninguna. Lo que pasó aquí, de vuelta en nuestro personaje en tercera persona aquí, es que estábamos tratando de ajustar nuestros puntos de vida. Y recuerda que esto está siendo llamado desde nuestra barra de bomberos. Estábamos tratando de ajustarnos a los puntos de golpe y eso nos bajó a cero. Así que para cuando estamos tratando de ajustar la velocidad, nuestro personaje ya se ha ido adiós a través de este bit de guión aquí arriba. Entonces nuestro personaje es destruido. Se trata de llegar a aquí diciendo hola, ajústese a la velocidad, no puedo hacerlo. Entonces, ¿cómo pudiste arreglar esto? Bueno, podrías intentar cambiar el pedido aquí Entonces intentemos hacerlo aquí rápidamente. Vamos a hacer subir primero al jugador. Voy a tratar de desenredar estos cables en un poquito para que tengamos una configuración que se vaya a quedar algo un poco más así De hecho puedo eliminar esto, esto se puede enchufar justo ahí así. Bien, si vuelvo a compilar, e intentemos eso y veamos si obtenemos ese error. Golpeado en segundo golpe, estamos muertos. Voy a golpear escape y ya no obtenemos ese error porque ahora estamos matando al jugador después de ajustar esa velocidad. Bien chicos, ¿ ahí lo tienen? Eso va a hacerse amigo para este C cuando el siguiente. 23. Diseño de HUD: Bienvenida. Entonces ahora que estamos llegando a un punto nuestro proyecto en el que tenemos algunas cosas que recoger, como monedas, tenemos algunas vidas que podríamos perder o ganar. Agreguemos un Hud a nuestro juego, una pantalla frontal. Entonces, si no estás familiarizado con lo que es un Hud, es este tipo de información la que se muestra en la pantalla mientras estás jugando y aunque no vamos a estar creando esto exactamente, va a ser algo así Y vas a llegar a afinar esto a tu gusto. Pero solo para darte un vistazo esencialmente lo que vamos a estar buscando crear Bien, aquí atrás en Unreal, comencemos. Vamos a crear una nueva carpeta en nuestra plataforma o carpeta. Así que hagamos clic derecho sobre esta carpeta para agregar nueva. Llamemos a esto dentro de nuestra carpeta UI, vamos a crear un nuevo activo haciendo clic derecho y debajo de la opción de interfaz de usuario. En este menú desplegable, vamos a elegir un plano de widget Ahora los blueprints de widgets son activos que quieres crear para crear el juego Hud o pantallas de menú solo tienes una opción de clase padre Aquí solo tienes una opción de clase padre que está en la sección común, así que elige que bajo widget de usuario, se nos va a pedir que demos un nombre. Voy a hacer esto un poco más grande. Mantenga pulsado el control y desplazándose hacia arriba. Voy a llamar a esto WBP para Widget, Blueprint, subrayado, hud Y luego hagamos doble clic sobre esto para abrirlo. Ahora lo que ves frente a ti en este espacio en blanco, solo voy a mantener presionado el botón derecho del mouse y una especie de panorámica por esto. Esta es nuestra vista de diseñador. Esto es lo que realmente vamos a ver y usar para crear nuestro diseño de Hud Ahora actualmente, no tenemos ningún widget aquí ocupando nuestra pestaña de diseñador. Entonces sigamos adelante y cambiemos eso. Al agregar nuestro primer widget en el panel de paleta, podemos encontrar una lista completa de widgets. Y puedes ampliar cualquiera de estas categorías para encontrar toda una variedad de extras. Ahora tengo todo un curso separado que profundiza mucho sobre todo esto. No voy a entrar en súper detalles sobre todo esto, solo voy a hacer lo que tenemos que hacer y seguir adelante. Pero un curso de UI de personajes en Unreal es el nombre de ese curso Si quieres profundizar en cómo aprender a usar todas estas cosas. El primer widget que voy a agregar a nuestra pestaña de diseñador aquí se llama panel de lienzo. Ahora un panel de lienzo, y puedo agregar uno de estos simplemente arrastrándolo y soltándolo en nuestra vista de diseñador Aquí hay esencialmente una especie de tablero de tachuelas. Entonces, si estás familiarizado con el tablero de tachuelas, puedes fijarle cosas Y así es esencialmente como va a funcionar esto. Vamos a pinchar, vamos a agregar otros widgets para ir encima de esto encima de nuestro tablero de tachuelas Ahora actualmente nuestra escala aquí es de 16 por nueve, que podemos ver en la parte inferior izquierda. Pero si querías cambiar tu dispositivo, tu tamaño de pantalla aquí mismo, así es como lo haces para teléfonos, tabletas, laptops, etcétera Voy a dejar esto sin cambios porque me gusta esa relación de aspecto de 16 por nueve. Ahora notarán que después de que agregué este panel de lienzo a nuestra vista de diseño, también lo agregó a nuestra jerarquía. Nuestro panel de lona va a ser nuestro componente base aquí. Vamos a estar agregándole cosas. Despejemos nuestro panel de lienzo y agreguemos nuestro segundo widget aquí. Y esa va a ser una imagen aquí mismo bajo la sección común. Simplemente voy a arrastrar y soltar una imagen en nuestra vista de diseñador. Voy a colocarlo en algún lugar de la parte superior izquierda aquí. Este pequeño icono de la flor, si se quiere. Esto va a mostrar el punto de anclaje para este widget. Así que va a tratar de mantener este widget de imagen anclado a la parte superior izquierda de la pantalla. Ahora voy a seguir adelante y renombrar esto enseguida. Y lo puedo hacer seleccionando aquí mismo y presionando dos. Alternativamente, con este widget seleccionado en el panel de detalles, podrías cambiarlo justo arriba en la parte superior. Llama a esto. Esta va a ser una pequeña imagen de Mario. Y sólo un poquito, déjame agregar mi segundo widget aquí. Mi segundo widget va a ser un widget de texto. No es un texto rico, sino simplemente. Voy a colocarlo justo por aquí. Una vez más, voy a renombrar esto, voy a renombrar mi widget de personaje X. Esto simplemente va a ser un símbolo de tipo multiplicación, así que por eso lo estoy llamando carácter x Entonces voy a seguir adelante y traer otro widget de texto. Entonces voy a seguir adelante y traer otro widget de texto Y voy a arrastrarlo y soltarlo justo por aquí. No soy demasiado quisquilloso con la colocación porque voy a estar ajustando eso aquí en un poquito Y voy a estar llamando a esto haciendo clic dos sobre esto, mi personaje widget en vivo. Ahora voy a seleccionar mi primera imagen de personaje, widget aquí. Y voy a entrar en el panel de detalles y cambiar algo. Lo primero que voy a cambiar es la ubicación exacta de este. Voy a acercar esto manteniendo presionado el control y usando mi rueda de desplazamiento. Botón derecho del ratón para desplazarse. En el panel de detalles, tengo mi punto de anclaje establecido en el ancla superior izquierda. Eso es lo que es por defecto. Entonces esta posición x e y van a ser relativas a este punto de anclaje. La posición x que voy a poner aquí va a ser 24. Y la posición y va a ser 24 también. La dirección x positiva va a ser hacia la derecha y la dirección y positiva va a estar abajo de esa. Bien, a continuación voy a establecer una imagen debajo de la sección de imagen de pincel de apariencia. Puedo elegir una imagen haciendo clic en este menú desplegable. Y tengo subrayado super. Quiero elegir esto, Super Mario saltando. Ahora, deberías haber importado esta textura al comienzo mismo del núcleo. Entonces ahí es donde estoy sacando esto, obviamente pon la imagen que quieras. Sin embargo, si estás jugando en casa, voy a aumentar el tamaño de esta imagen de 32, 32 a 80, 80. Eso va a subirlo un poco. Ahora realmente no viste que nada cambiara aquí. Sin embargo, si cambio este tamaño a contenido, en realidad va a aumentar el tamaño de este para ajustarlo a ese tamaño de imagen. Todavía un poco estirada aquí, podrías afinar eso a tu gusto. Pero voy a decir lo suficientemente bueno por ahora. A continuación, para mi personaje X componente aquí, este widget de texto, voy a cambiar algunas cosas al respecto. En primer lugar, comenzando por la posición X, voy a estar cambiando esto para que sea uno oh dos, en la posición y para que sea 60. Voy a cambiar el texto de esto de bloque de texto a simplemente ser una x minúscula Esto va a actuar como mi símbolo de multiplicación. Esto va a actuar como mi símbolo de multiplicación Presiona enter sobre eso para ver ese cambio. Y luego voy a bajar a la sección de fuentes de apariencia, porque quiero cambiar la familia de fuentes. No quiero Roboto aquí. En cambio quiero esta nueva fuente Supermarrio. Y esta era una fuente que importamos temprano en el curso. Ahí es donde puedes encontrar eso. Incluí algunas otras fuentes dentro de esa importación anteriormente en el curso. Para que puedas cambiar eso. También puedes explorar algunos de estos otros tipos de fuentes. Pero me gusta esta nueva fuente Super Mario bastante agradable. Bien, también voy a cambiar el tamaño de la misma aquí. Voy a cambiarlo para que sea 30, y después voy a agregarle un esquema. Déjame acercar esto porque el contorno es un poco difícil de ver. Pero los ajustes de contorno, voy a cambiar eso para que sean dos, y puedo ver un poco de contorno negro a su alrededor que se ve muy bien. Y también voy a hacer clic en este tamaño para el cuadro de contenido. Y lo que esto va a hacer, va a cambiar este tipo de selector aquí para envolverlo muy bien, así. Bien, a continuación voy a elegir el componente de mi personaje vive. Podría seleccionarlo aquí en mi jerarquía, o puedo seleccionarlo aquí dentro de mi revisión de diseño. De cualquier manera, lo seleccionaremos para la posición X. Para esto, voy a cambiar esto a ser 130 y la posición y, voy a cambiar esto a 32. Lo que voy a hacer entonces es cambiar la familia de fuentes a la nueva Super Mario. Voy a cambiar la talla para que sea 50, mucho más grande. Eso va a caer aquí abajo. Voy a agregar un esquema a esto también. El tamaño del contorno establecerá esto en dos. Ahora bien, en vez de decir este bloque de texto, voy a cambiar a un valor de 99 por ahora. Debido a que esto está destinado a representar nuestro número de vidas, esto es solo un valor de marcador Eventualmente vamos a atar este Código VS para tener realmente representar cuántas vidas va a tener nuestro personaje. Ahora algo más que quiero hacer aquí es que quiero agregar un poco de sombra paralela a esto. Puedo agregar una sombra paralela a esto entrando bajo mi configuración de color de sombra, debajo de la sección de apariencia aquí. Voy a hacer clic en esta barra de colores aquí mismo. Y voy a cambiar el valor R, Ese es el valor rojo a uno. El valor, este es el valor alfa a uno también. El valor, el valor alfa va 1-00 significa que no se puede ver. Uno quiere decir que es completamente opaco. En algún lugar intermedio, como 0.5 significaría algo así como que puedes ver parcialmente a través de él. Podrías jugar con eso, pero me gusta este color rojizo Actualmente, realmente no vemos nada aquí porque tenemos que ajustar nuestro offset de sombra paralela. Entonces voy a establecer esto para que sean cuatro en la X, luego cinco en la Y, y ahora se puede ver un poco de sombra paralela ahí. Ahora este es un pequeño toque agradable, podemos aplicar contorno a sombra paralela marcando esta casilla. Entonces revisa esto. Al hacer esto, acabamos de agregar un contorno negro alrededor de esa sombra también. Ahora también, con el fin de envolver este selector aquí alrededor de nuestro valor aquí, sólo voy a comprobar este tamaño al contenido. Entonces está, gritos, ahí vamos. Lo va a ajustar para el tamaño de nuestra fuente. Y eso se ve bastante bien. Bien, al lado de tomar un poco de atajo, voy a seleccionar los tres widgets. Entonces voy a mantener pulsada la selección de control. Tengo a los tres seleccionados aquí. Voy a hacer click derecho sobre ellos. Voy a copiarlos todos. Después voy a seleccionar mi panel de lienzo, y luego hacer clic derecho. Y después voy a pegarlos una vez. Y después voy a seleccionar de nuevo mi panel de lienzo, y voy a pegarlos dos veces. Esencialmente tengo texto de imagen. En realidad quiero volver a ordenar estos. Me voy a quitar la vida aquí y voy a dejar esto. Si lo arrastras y sueltas, puedes moverlo hacia abajo como para reordenarlo. No me voy a preocupar por ser perfecto con estos por ahora. Están todos revueltos. Pero vamos a reposicionar estos en solo un poquito aquí solo para volver a ordenar todo lo que he hecho aquí Tenemos a ese tipo, déjame arrastrar esto ahí mismo. Y tengo uno más de estos. Voy a arrastrar esto hacia abajo así. Bien, entonces tenemos dos texto imagen dos texto imagen dos texto. Bien, sigamos adelante y comencemos a renombrar estos. Y voy a empezar con esta imagen de aquí mismo. Actualmente está fuera del lado del Hud aquí, porque esto, nuestro panel de lienzo representa la pantalla Actualmente, esto está apagado a un lado. Voy a renombrar este golpeando dos en él en lugar de imagen de personaje. Esta va a ser la imagen de moneda para este componente en particular. Voy a anclar esto en la parte superior izquierda, está bien. Pero voy a cambiar la posición x a esta para que sea 52 y la posición y sea 120. Esencialmente, esto va a estar abajo un poco por debajo de Mario aquí. Voy a cambiar la imagen de nuestro Mario saltando a subrayar la moneda Para ello, voy a usar la moneda retro porque ¿por qué no? Algo así. Voy a ajustar el tamaño aquí para que sea 50.50 algo así Yo digo que eso es bastante bueno. continuación, abajo, en lugar del personaje X, sólo para mantener nuestros nombres claros aquí, voy a golpear dos en esto. Y esto se va a llamar moneda X. Y para ajustar la posición de esta, va a ir con una posición x de 12 y una posición y de 124. Porque tengo el resto de estos parámetros todos creados y configuré la fuente, el contorno, etcétera, el contorno, etcétera, Antes de duplicarlo, lo transfirió a esto también Entonces por eso configuré todos estos ajustes antes de duplicarlo, porque al duplicarlo, entonces todos estos ajustes vienen a lo largo para el viaje Bastante agradable, ¿verdad? Siguiente Voy a seleccionar nuestra imagen en vivo de personaje, esta duplicada. Voy a renombrar esto en vez de personaje Vidas, voy a llamar a este valor de monedas. Esta va a ser la cantidad de monedas que tenemos. Voy a cambiar la posición x a ser 130, la posición Y a ser 100. Todos estos ajustes voy a ser feliz con, y seguro que vamos a dejar eso. En lugar de 99, cambiémoslo a cero porque por defecto vamos a empezar con cero monedas. Bien, nuestra siguiente imagen aquí, cambiemos el nombre de esta imagen de personaje dos, golpeando dos en esa imagen de temporizador. Con este tipo seleccionado. Voy a cambiar los puntos de anclaje. Sólo voy a acercarme un poco aquí. Voy a cambiar el ancla en el panel de detalles para que sea este medio superior, así. Y luego voy a cambiar la posición x para que sea cero y la posición y. Voy a poner esto un poquito abajo, no lo sé, vamos 24. Algo así. Y ahora se puede ver porque la posición x es cero, es esencialmente alineada con esa esquina superior ahí. Voy a cambiar la alineación aquí para sea 0.5 en la x Y eso va a dividir esencialmente la diferencia para donde este widget debería estar ubicado en relación con ese punto de anclaje. Obviamente, no quiero esta imagen de Mario. Entonces voy a cambiar esto para que sea temporizador de subrayado. Una vez más, esta es una textura que importamos al inicio del curso. Es una especie de cosa de reloj. Y voy a cambiar el tamaño de la imagen aquí para que sea 100.100 como, así que llamaremos a eso bastante bueno Siguiente Voy a seleccionar a mi personaje X. Acercándolo. Actualmente es camino por allá. Voy a cambiar esto para que sea, ¿sabes qué? De hecho, voy a eliminar esta. La razón por la que voy a eliminar esta salida es porque quiero tener estos parámetros, este sombreado para mi valor de tiempo también Entonces voy a tomar esto y voy a duplicar eso. Sólo puedo hacer clic derecho sobre él y duplicarlo. El Control D hará lo mismo. Ahora tengo dos de estos. Voy a seleccionar este de aquí arriba y cambiarle el nombre de inmediato. Presionando dos, a esto se le va a llamar texto. Voy a llamar a esto mi valor de temporizador, algo así. Voy a cambiar la posición de esto para tener un ancla de este medio superior justo ahí arriba. Ahora, porque lo tengo, voy a cambiar la posición x para que sea cero también. Pon eso de nuevo a cero, la alineación en la x, voy a dividir la diferencia, 0.5 así va a centrar eso en la posición y. Puedo hacer click aquí y puedo arrastrar esto hacia arriba o hacia abajo un poco. Yo sólo voy a ponerla bien por ahí. Yo, voy a establecer un valor duro de algo así como 60, tal vez algo así. Bajaremos 80 un poco más abajo. Ahí vamos. Podemos afinar eso a nuestro gusto. Bien, por último pero no menos importante, tenemos este último texto que actualmente dice Character Lives. Vamos a cambiar eso para simplemente decir puntos, presionando F dos sobre esto, cambiándolo a puntos, voy a anclar esto a la parte superior derecha. Cambiando el ancla a la parte superior derecha así. Ahora necesito cambiar la posición relativa. La exposición relativa va a ser negativa 240. Para que puedan ver por aquí, este es nuestro punto de anclaje. Y este es el desplazamiento relativo a ese punto de anclaje, negativo 240 para la posición. ¿Por qué? Voy a poner eso en 32. Establecerlo un poco. Entonces simplemente voy a cambiar el texto aquí del 99999999, Así que eso va a representar Entonces, una vez más, este va a ser nuestro Hud. Adelante y guarda esto. Afinación fina, esta a tu gusto. No es necesario tener este diseño exacto, pero este es el diseño que voy a buscar. Bien, entonces tenemos nuestro diseño de Hud creado a continuación. Necesitamos realmente mostrar esto en la pantalla. Entonces eso es lo que viene después. Te veremos ahí. 24. Pantalla de HUD: Bienvenidos de nuevo a todos. En este video vamos a obtener nuestra capucha de aspecto dulce aquí mismo agregada a nuestra ventana gráfica Así que volvamos a hacerlo aquí en nuestro editor de nivel principal, vamos a usar nuestro plano de controlador de jugador BP que creamos cuando estábamos trabajando en nuestra moneda coleccionable Vamos a estar usando esto desde donde llamar a nuestro widget para ser creado y agregado a nuestra ventana gráfica Hagamos doble clic en esto para abrirlo. Si has olvidado el camino donde estaba esto, ahí es donde puedes encontrarlo. La razón por la que vamos a estar usando este plano es porque un plano de controlador de jugador va a persistir ya sea que tu personaje esté vivo o Entonces este es un gran lugar para albergar este tipo de código. Como recuerdas antes cuando estábamos trabajando en nuestra moneda, aquí es donde realmente estamos haciendo los cálculos para sumar nuestras monedas juntas. Justo arriba aquí. Vamos, deberías tener un evento que comience a jugar aquí arriba. Por defecto, si lo borraste accidentalmente como lo hice yo, puedes traerlo de vuelta haciendo clic derecho y escribiendo Inicio, Reproducir. Ahí está Evento, Comienza, Juega. Este evento se va a disparar cuando enciendes el juego, lo que queremos hacer es arrastrar fuera de esto y crear un widget. Y el widget que nos gustaría crear es nuestro hud BP que acabamos de crear Ahora bien, no basta con crearlo. Tenemos que tomar este valor de retorno aquí, arrastrar y decir agregar a Viewport Y esta es una función que en realidad va a agregar nuestro Hud a nuestra pantalla Voy a tocar la tecla C después de dejar clic y arrastrar alrededor de eso. Y voy a decir hud viewport, como voy a cambiar el color del comentario aquí para que sea en negro Y luego voy a compilar y guardar sólo para asegurarme de que mi código aquí es bueno para ir. Y parece que lo es. Ahora si entro en juego, puedes ver que nuestro Hud se muestra dentro de nuestra ventana gráfica Ahora nada aquí funciona como si recojo una moneda, no va a incrementar mi total de monedas Si tuviera que perder una vida, nada va a cambiar aquí también. Pero eso está por venir. Ahora que tenemos nuestro Hud en la pantalla, en realidad podemos unir nuestros diversos valores aquí, dos variables Para que realmente pueda reflejar cuántas vidas tenemos, cuántas monedas tenemos, etcétera Y vamos a empezar con eso en el siguiente video. Nos vemos ahí. 25. Fijaciones de HUD: Bien, ahora que tenemos nuestro Hud apareciendo en nuestro juego, es hora de que vinculemos algunas variables a estos diversos widgets de texto aquí Porque en este momento, todos estos son valores de marcador de posición. En realidad no se actualizan, no cambian, no hacen nada de ese tipo de cosas. Así que sigamos adelante y arreglemos eso. Y para ello, vamos a estar haciendo un poco de trabajo dentro de nuestro controlador BP Player. Entonces, si has olvidado dónde está eso, este es el camino, haz doble clic en eso para abrirlo. Actualmente tenemos dos variables dentro de aquí, una variable monedas y una variable vidas para mantener sus respectivos datos, monedas y vidas. Vamos a crear un par más aquí, así que simplemente voy a hacer click derecho sobre nuestras vidas aquí. Y voy a duplicar esto. Y voy a duplicar esto porque quiero que estas dos siguientes variables sean también enteros Éste simplemente va a ser puntos. Si golpeo el control D con esa variable ya resaltada, eso también lo duplicará. A éste se le va a llamar tiempo de nivel. Ahora bien, si compilo mi blueprint aquí, puedo establecer valores predeterminados en el panel de detalles para todos estos Para tiempo de nivel, estableceré esto en 500 por puntos, tendré que ser cero para vidas. Déjame realmente cambiarlo es a las tres, mantengámoslo a las tres. Y monedas, vamos a tener eso a cero también. Bien, muy importante aquí, debes compilar este plano para que este siguiente paso funcione Así que compile y guarde su controlador de reproductor BP aquí. Nuestro siguiente paso es que vamos a estar haciendo algún trabajo dentro de nuestras cabañas BP. Si olvidaste dónde está eso, está en tu carpeta de plataforma I. Bien, entrando dentro de aquí, ahora vamos a estar saltando fuera de nuestra pestaña de diseñador aquí en la parte superior derecha sobre la pestaña gráfica. Ahora la pestaña gráfica es donde puedes agregar algunos scripts a tu blueprint de widget aquí Vamos a estar haciendo algo fuera de la construcción del evento aquí. Esto ya está aquí por defecto. Sólo voy a parar esto. Voy a hacer click izquierdo y arrastrar y eliminar a estos dos chicos. Se puede pensar en la construcción de eventos es el evento comenzar a jugar de su plano de widget Y lo que vamos a hacer aquí es fuera de la construcción del evento, vamos a crear una referencia a nuestro plano Debido a que nuestro blueprint de controlador de reproductor contiene estas variables, queremos poder acceder a estos datos variables dentro de nuestro controlador de reproductor y señalarlos a nuestros diversos widgets de texto aquí dentro de nuestro Ud Primero, necesitamos crear una referencia a nuestro controlador de jugador. ¿Cómo lo hacemos? Bueno, si hacemos clic derecho en algún espacio vacío aquí, podemos escribir get player controller. Y si arrastramos fuera de esto, podemos hacer un reparto de dos BP player controller. Entonces, esencialmente, lo que estamos comprobando aquí es, oye, ¿este es el controlador del reproductor? ¿Es este el que estamos usando dentro de nuestro proyecto? Y sí, es el que hemos configurado para ser utilizado dentro de la configuración de nuestro proyecto. Solo para revisar eso rápidamente, mapea y modos bajo la clase de controlador de jugador. Este es el controlador Player que nuestro proyecto está usando aquí en nuestro capó de subrayado W BP, básicamente estamos haciendo la pregunta sobre comenzar a jugar aquí ¿Es este el controlador de reproductor que estamos usando? Y si es así, nos gustaría crear una referencia al mismo. Ahora la forma en que podemos hacerlo es hacer clic derecho aquí mismo en este plano y promoverlo a una variable Al hacer eso, hemos agregado una variable sobre en el panel Mi blueprint Simplemente acortaré esto para que sea Player Controller. Así. Entonces puedo hacer click izquierdo y arrastrar por todo este script. Presiona la tecla C. Voy a llamar a esto mi referencia de creación para Player Controller. Voy a poner el color del cometa aquí en negro también. Ahora bien, ¿por qué es importante esto? Una vez más, estamos tratando de extraer estos datos variables de nuestro controlador de reproductor BP aquí en nuestro BP Hud Vamos a saltar de aquí a nuestra vista de diseñador. Ahora puedo seleccionar estos diversos widgets de texto aquí, empezando por nuestras vidas aquí mismo, personaje vive, ese tipo. Después encima en el panel de detalles donde muestra el texto 99, podemos vincularlo a una variable. Ahora si hago clic en esto, ya puedo encontrar mi controlador de reproductor. Y ahora puedo señalar la variable adecuada que vive dentro de nuestro controlador de reproductor. Para ello, quiero elegir vidas. Ahora no lo vas a ver actualizado aquí, pero cuando juguemos nuestro juego, verás nuestra variable de vidas desde dentro de nuestro controlador de jugador reflejada aquí. Ahora hagamos esto con nuestros diversos widgets de texto para nuestras monedas. Selecciona el valor de tus monedas aquí en el área de texto. Vamos a unir esto a nuestra variable monedas controlador jugador. Justo aquí arriba va a ser nuestro valor de tiempo seleccionando eso. Vamos a vincular esto al tiempo de nivel de controlador de jugador. Entonces por último pero no menos importante, justo aquí arriba en la parte superior derecha tengo mis puntos. Vayamos aquí al panel de detalles y vamos a unir esto a nuestros puntos de controlador de jugador. Bien, asegúrate de compilar y guardar esto. Ahora voy a jugar nuestro juego. Y aquí vamos. Ahora mira hacia arriba en la parte superior izquierda, ahora tenemos tres vidas, cero monedas, 500 para nuestro tiempo, y nuestro puntaje actualmente es cero también. Ahora voy a seguir adelante y recoger algunas monedas. Pero antes de hacer esto, quería señalar que dentro de nuestro controlador de reproductor BP, tenemos este guión donde vamos a incrementar cuántas monedas tenemos Podemos eliminar esto ahora porque todo esto era marcador de posición para mostrar cuántas monedas teníamos en la pantalla antes de que tuviéramos nuestro capó Entonces esto puedes seguir adelante y eliminar, pero a través de este bit de guión, vamos a estar incrementando la cantidad de monedas Y si conseguimos más de 100 monedas, vamos a estar incrementando la cantidad de vidas Entonces esos deberían actualizarse ya que recogemos algunas monedas. Recuerda este evento personalizado dentro de nuestro controlador de jugador BP para agregar monedas. Esto se llama desde el interior de nuestra moneda BP pick up cuando superponemos nuestra esfera en nuestro script de monedas. Vamos a estar llamando a este evento personalizado de monedas de anuncios que pertenece dentro de nuestro controlador de jugador, incrementando así nuestras monedas Y si conseguimos suficientes monedas, vamos a estar incrementando nuestras vidas A ver eso en el trabajo. Al hacer clic en Reproducir aquí. Ahora aún no tengo mi vida puesta para ser incrementada. Si me golpean y muero, sin embargo, sí instalé algunas monedas antes de tiempo, esa vale una. Vio el incremento en la parte superior izquierda. Esta moneda va a valer otros 13. Ahora instalé estas grandes monedas antes de tiempo. Estas valen 50 cada una, así que tengo 53 monedas. Este siguiente que recoja debería ponerme hasta 103, que debería envolver alrededor de mi contador de monedas. Entonces ahora ves tengo tres monedas y cuatro vidas, porque esa valía 51, va a valer 50. Entonces tenemos 535-45-5506, etcétera. Entonces ves que mi vida está funcionando y mis monedas están trabajando nuestro nivel de tiempo y nuestros puntos aún no funcionan. Pero a lo largo del curso vamos a incrementar esos también Sin embargo, tenga en cuenta que las variables en el controlador del reproductor están realmente enganchadas a esos valores para que cuando los incrementemos, también se actualizarán Solo para mostrarte una vez más aquí en el nivel, sí creé algunos duplicados de esta moneda e hice estos más grandes, seleccionando uno aquí en mi editor de niveles, lo hice en el panel de detalles por valor de 50 Entonces por eso esos valían 50. También los dimensioné un poco, estos más pequeños los hice valer uno, solo para poder presumir también del incremento de vidas Bien, bueno, ahí lo tenemos. Ahora tenemos algunas fijaciones hud que lo haré todo por ésta Nos vemos en la siguiente. 26. Biblioteca de funciones de planos: Bien, ahora vamos a estar dirigiendo nuestra atención a la creación de algunos bloques interactivos. Y vamos a comenzar en un lugar un poco interesante creando algo conocido como biblioteca de funciones de blueprint Ahora, una biblioteca de funciones de blueprint nos permite crear funciones de uso general a las que se puede acceder desde cualquier blueprint Vamos a estar usando eso en este caso para crear una función de efecto de golpe de bloque que luego podamos llamar desde cualquiera de los diversos bloques que creamos. También, porque esto es un buen conocimiento general para demostrar aquí en Un ferrocarril. Bien, así que baja a tu carpeta de planos de plataforma de contenido Voy a escribir. Haga clic en algún espacio vacío aquí y voy a crear una biblioteca de funciones de blueprint blueprint Adelante y selecciona eso. Vamos a llamar a esto nuestra biblioteca de subrayado de BP Y luego voy a hacer doble clic sobre esto para abrirlo enseguida. Bien, dentro de aquí, ya me está incitando a crear una nueva función Ahora voy a llamar a esta primera función, Play block interact X. Vamos a renombrar eso aquí, Play block interact, X, abreviatura de efectos. Después por encima en el panel de detalles, quiero agregar algunas entradas. Entonces voy a agregar 123.4 y voy a nombrarlos de la siguiente manera Este primero solo se va a llamar FX, que va a ser la abreviatura de efecto de sonido. Voy a cambiar el tipo aquí en un poquito, pero primero les voy a cambiar el nombre a todos. Este siguiente va a ser efectos Entre paréntesis, voy a poner Niágara, porque ese es el nombre del sistema de partículas que usa Unreal Ahora en Unreal engine Five, también voy a usar otro campo aquí llamado V effect underscore particle, sólo para darte acceso a efectos de partículas en cascada si así lo eliges Ese es el sistema de partículas más antiguo. Y luego este último, voy a poner la ubicación de VFX, la ubicación de nuestros efectos visuales Ahora necesitamos establecer los tipos asociados para cada uno de estos. Para efectos de sonido, haga clic en este menú desplegable. Estoy buscando una base de sonido que va a ser el tipo de referencia de objeto base de sonido de entrada para Niagara. Voy a dar click sobre esto y en la barra de búsqueda voy a escribir en Niagara. Referencia de objeto del sistema Niagara. Referencia de objeto del sistema Niagara para partículas de efecto V. Haga clic en ese menú desplegable. Voy a hacer búsqueda de objeto de sistema tipo di, referencia de objeto de sistema de partículas. No se deje engañar con el sistema de partículas de estructura, es la referencia del objeto del sistema de partículas luego la ubicación del efecto, esto simplemente va a ser una ubicación de vector x, y y z Con eso, sigamos adelante y construyamos la funcionalidad que queremos que suceda cuando se llame a esta función de efecto de interacción de bloque de juego . Fuera de este pin de ejecución, voy a traer en una reproducción Sonido dos nodos D. El sonido que voy a querer tocar va a pasar por aquí. Entonces voy a arrastrar aquí y escribir en el sistema de desove en la ubicación Este va a ser nuestro sistema Niágara, así que necesitamos especificar la ubicación en la que esto se generaría para poder enchufar esto a la ubicación Entonces me voy a arrastrar en emisor de spawn en locación. Este es el sistema de partículas en cascada más antiguo, así que solo voy a enchufar esto ahí. Haga doble clic en este nodo solo para traer un nodo de re ruta así. Y la ubicación también se puede conectar aquí. Voy a hacer doble clic en esa línea también. Bien, entonces esta va a ser nuestra primera función que va a existir aquí en nuestra biblioteca de funciones BP. Sigamos adelante y compilemos y guardemos esto. Y ahora hemos creado una función que se puede usar dentro de cualquier blueprint Estaremos usando esto en muchos de nuestros planos de bloques que vienen chicos Eso lo va a hacer por este. A ver cuándo será el siguiente. 27. Interfaz de planos: En este video, vamos a crear algo conocido como interfaz de blueprint Ahora de nuevo, este es otro activo que nos van a sumar para ayudar a ayudar en los próximos bloques que vamos a estar sumando a nuestro nivel. Este es un concepto un poco difícil de explicar de antemano. Entonces lo que vamos a hacer ahora es simplemente crear este activo y luego a medida que avanzamos, vamos a explicar exactamente cómo funciona. Así que vamos a hacer clic derecho dentro de nuestra carpeta de planos de plataforma de contenido, clic derecho Y bajo la categoría blueprint, vamos a elegir la interfaz de blueprint Y vamos a llamar a esto B I BPI para interfaz de blueprint Subrayar, voy a llamar a esta plataforma. Entonces vamos a hacer doble clic sobre este activo para abrirlo. Ahora todo lo que podemos hacer aquí es crear una función. Esta va a ser una función vacía que se puede llamar desde dentro de otros planos y personalizada a nuestro gusto Todo lo que tenemos que hacer aquí es crear una función simple que se nombra. Vamos a nombrar a esta función en particular Bloquear. Ahora, una vez más, no hay funcionalidad para crear aquí dentro de una interfaz de blueprint Simplemente se crea una función nombrada, en este caso bloqueo de cadera. Y luego podemos personalizar esta función dentro de cualquier blueprint al que se agregue esta interfaz Y lo haremos un poco más adelante aquí. Pero ya tenemos esta base hecha y fuera del camino, asegúrate de compilar esto y salvar a los chicos Eso es todo lo que queríamos hacer en este video. Un poco más de trabajo de preparación para ir en los próximos videos, pero ya te veremos ahí. 28. Widget de visualización de puntos BP: Bienvenido de nuevo. En este video, nuestro objetivo es crear un blueprint de widget que se utilizará para mostrar una cantidad de puntos en un juego cuando, por ejemplo, interactuamos con un bloque Entonces un poco más de trabajo de preparación para hacer aquí, pero va a pagar dividendos a la larga Así que vamos a hacer todas estas cosas antes de tiempo para que no tengamos que volver atrás y rehacer un montón de cosas Más adelante, vamos a estar creando este activo dentro de nuestra carpeta de plataforma I. Vamos a hacer clic derecho en algún espacio vacío debajo de la interfaz de usuario. Vamos a venir bajo Widget, plano. Y vamos a elegir este widget de usuario como nuestra clase padre. Y vamos a renombrar este BP Underscore Points. Bien, entonces sigamos haciendo doble clic en esto para abrirlo. Y solo vamos a agregar un par de widgets aquí en nuestra vista de diseñador sobre en el área de paleta. El primero que vamos a buscar es un overlay. Y podemos arrastrarlo y soltarlo aquí en nuestra jerarquía o aquí mismo en nuestra vista de diseño. Entonces lo que vamos a agregar además de esto es un simple widget de texto. Sigue adelante y arrastra y suelta esto encima de la superposición. Con esta instalación, nuestro widget de texto simplemente se adjunta a nuestro widget de superposición. Simplemente estamos usando el widget de superposición como algo a lo que adjuntar nuestro texto. Ahora vamos a seguir adelante y personalizar algunos de los detalles para nuestro widget de texto. Aquí, estoy revisando mis notas aquí. Lo que voy a hacer es cambiar el widget de texto para cambiar el widget de texto simplemente leer puntos de subrayado de texto, solo dándole un nuevo nombre Voy a marcar esta casilla para es variable, lo que significa que podemos actualizar este valor real en el futuro. En cuanto a la alineación para esto, voy a establecer las alineaciones horizontales y verticales para que sean justo justo en medio de Entonces voy a cambiar el texto aquí de bloque de texto a ser puntos. A pesar de que esto es solo un marcador vamos a estar actualizando esto Cambiaremos la familia de fuentes aquí para que sea nuestra fuente Super Mario. Nueva fuente Super Mario. Voy a cambiar el tamaño aquí para que sea 50. Voy a tener un tamaño de contorno de dos también. Y luego sigamos adelante y compilemos y guardemos este widget. Bien chicos, eso es todo lo que queríamos lograr para esto. Un trabajo más que hacer aquí, pero tenemos un buen punto de partida para mostrar algunos puntos dentro de nuestro juego también. 29. Widget de visualización de puntos Anim: Bienvenida. En este video, nuestro objetivo es crear una animación. Para que cuando nuestro widget de puntos, plano aquí se genere en el juego, animará a existir de una manera llamativa y llamativa La idea es que cuando interactuamos con uno de los bloques que vamos a crear, esto va a flotar y mostrar cuantos puntos hagamos valer un bloque. Bien, para crear una animación aquí dentro de nuestro plano de widget Y si has olvidado dónde está eso, actualmente se encuentra en esta carpeta. Puntos bp es como lo llamamos. Tenemos que traer la ventana de animación. ¿Dónde podemos encontrar esta ventana? En la parte superior de nuestra interfaz aquí ventana, podemos encontrar animaciones aquí mismo. Haga clic en eso. Entonces, en esta ventana de animación, necesitamos crear una animación con nombre. Y luego establecer algunos fotogramas clave a lo largo de esta línea de tiempo. Así que vamos a crear nuestra primera animación nombrada. Entonces haciendo clic en este botón de animación más, voy a llamar a esta animación Puntos Subrayados Y luego con esta animación seleccionada, sigue adelante y da click sobre ella. Tenemos que agregar una pista. Para que podamos agregar una pista haciendo clic en este botón más Rastrear aquí mismo en este pequeño menú de vuelo. Tenemos todos los widgets con nombre. Y lo que queremos animar son nuestros puntos de texto, no la ranura de superposición El texto apunta aquí mismo. Así que adelante y da click en eso. A continuación lo que queremos hacer es hacer clic en este botón Plus aquí mismo para más pista. Va a traer en esta pequeña mosca en el menú. Y queremos agregar una pista de transformación. Da click en esto, va a traer este conjunto de opciones. Voy a hacer clic en este triángulo desplegable Transformar consiste en parámetros de traslación, rotación, escala y cizallamiento que posiblemente podamos alterar. Lo que queremos hacer aquí es cambiar la traducción. Entonces voy a hacer clic en este abierto. Vamos a hacer que esto flote. También vamos a cambiar la escala de este texto a lo largo del tiempo. Queremos que esto no sólo flote cuando se engendró en existencia, sino que también se amplíe también Bien, ahora que tenemos estos revelados, podemos agregar algunos fotogramas clave a nuestra línea de tiempo aquí. Ahora, los fotogramas clave nos permiten especificar un valor dado en un momento dado. En primer lugar, baje su línea de tiempo aquí, si mantiene presionado el botón derecho del mouse, puede desplazar su línea de tiempo de un lado a otro. Si mantienes presionada la tecla de control y usas la rueda del mouse, puedes estirarla o estrujarla. Esta línea verde representa el comienzo de tu línea de tiempo. Esta línea roja representa el final. Y tienes este pequeño depurador de tiempo aquí para arrastrar de un lado a otro Ahora bien, si pones el cursor del mouse justo por aquí, puedes ver que tienes estos dos tipos de barras colapsadas. Aquí es donde puedes especificar el inicio y el final de tu línea de tiempo aquí. Así que sólo voy a arrastrar este hacia la derecha y voy a arrastrarlo hacia fuera a aproximadamente, y se puede ver en azul ahí, ¿cuántos segundos? Voy a ir alrededor de 0.95 segundos y voy a acercar el zoom aquí arriba Y puedes ver de inmediato que establece algunos fotogramas clave aquí mismo, estos puntos rojos representan algunos fotogramas clave. Quiero configurarlos manualmente. Sólo para mostrarte este proceso, voy a hacer click izquierdo y arrastrar a la derecha por aquí. Y luego los voy a eliminar para deshacerme de ellos. Esos puntos rojos representan tiempos y valores para propiedades dadas aquí. Bien, entonces lo primero que quiero alterar aquí es mi y traducción. Ese es el arriba y abajo de este valor de puntos para agregar un marco clave. En primer lugar, voy a tomar mi depuradora de línea de tiempo aquí y ponerla en el lugar apropiado Voy a comenzar en la marca de cero segundos y voy a estar alterando esta propiedad Y, el arriba y abajo. Entonces, para agregar un fotograma clave aquí, puedo dar click en este botón más Botón minúsculo más justo ahí. Y con eso puedo especificar un valor. Tengo mi depurador de línea de tiempo justo encima. Ahora mismo se pone a cero. Pero también podría hacer clic derecho sobre esto y establecer la propiedad. Ahí está mi tiempo cero, mi valor cero. Así podría establecerlo de esa manera también. Un valor asociado con el tiempo para esto. Quiero que el tiempo y el valor sean ambos cero, ¿de acuerdo? Y voy a trabajar de esta manera. Voy a arrastrar mi deslizador de línea de tiempo ahora a 0.2 segundos. Voy a agregar otro fotograma clave para la traducción y. Al hacer clic en este pequeño botón más aquí, puedo especificar un valor ya sea enchufándolo aquí o puedo escribir Da click en esto y ve a Propiedades. Y voy a establecer el valor para que esto sea negativo 200. Y luego presiona Enter. Vas a ver esto inmediatamente mover la palabra señala hacia arriba. Bien, Siguiente Voy a tomar mi deslizador de línea de tiempo aquí, y voy a deslizarlo por encima 2.45 Y voy a agregar otra clave Si hago clic derecho sobre esto, puedo ver que el tiempo se establece 2.45 y el valor se establece en negativo 200 De hecho voy a bajar esto solo un poquito del negativo 200. Voy a ir algo como tal vez negativo 150 para que podamos obtener este efecto. Y puedes ver cuando arrastre esto sobre, va a aparecer y luego volver a bajarlo. A lo mejor voy a alterar esto con el tiempo. Si hago clic en mi botón Reproducir aquí, puedo tener una idea de cómo se va a desarrollar esto con el tiempo. Algo así. Pop on up, así que obviamente puedes personalizarlo a tu gusto. Bien, a continuación voy a ajustar la escala de nuestros puntos aquí. Así que voy a volver a hacer clic en mi deslizador de línea de tiempo. Voy a arrastrar esto todo el camino de regreso a la marca de cero segundos. Ahora quiero ajustar la escala, x e y ambas de manera uniforme. En lugar de hacer clic tanto en el botón más aquí para la x como la y. Si hago clic en el botón más, justo en la línea de escala de ahí mismo, agregaré claves tanto a los valores x como a y. Para ambos. Voy a empezar con un valor, y estoy justo dando click aquí. Un tiempo de cero y el valor de cero, esencialmente va a ser infinitamente pequeño No lo podemos ver. Y voy a hacer eso por ambos aquí, clic derecho. Establezca ese valor a cero aquí también. Entonces voy a mover mi deslizador de línea de tiempo sobre la marca de 0.2 segundos aquí mismo en la línea de escala. Voy a hacer clic en este botón más. Si destaco ambos valores, simplemente dejé clic y arrastré alrededor de ambos Voy a hacer click derecho. Y desafortunadamente, no puedo establecer el valor para ambos a la vez. Pensé que podría llegar allí. Desafortunadamente, voy a tener que hacer click derecho en cada una de estas propiedades. Para esto el valor va a ser 1.5 Así que voy a establecer el texto para que sea 1.5 veces más grande click derecho propiedades 1.5 Y se puede ver que cuando pongo esto 1.5 muestra ese valor de 1.5 aquí también. Bien, avanzando, voy a ajustar mi línea de tiempo. Deslizante hacia fuera a la marca de 0.45 segundos en la línea de escala. Aquí voy a dar click en este minúsculo, minúsculo botón plus. Se va a agregar fotogramas clave para la X, Y. Para esto, voy a establecer que la propiedad sea 11 para el valor y también. A continuación voy a arrastrar mi línea de tiempo a la escala de línea de 0.85 segundos Al hacer clic en este botón más para agregar fotogramas clave, marcadores en nuestra línea de tiempo para la marca de 0.85 segundos Si escribo, haga clic en cada uno de estos, la propiedad está actualmente establecida en una, que es lo que quiero. Entonces por último pero no menos importante, voy a arrastrar mi deslizador de línea de tiempo aquí hasta el 0.95 al final de nuestra línea de tiempo Aquí Voy a hacer click en esta escala de nuevo. Se va a agregar fotogramas clave para la X y la Y. voy a escribir, haga clic en mi tecla X aquí. Voy a establecer la propiedad a cero, el valor de tiempo cero 0.95 y aquí vamos a establecer ese valor de propiedad en cero también Entonces ahora si tuviera que tocar esto, van a ver que va a tener este tipo de efecto. Vamos a flotar, algo así como a reventar y luego hundirnos y marcharnos. Bien, genial. Ahora hemos creado una animación de widget que se puede llamar, que se le dice que reproduzca cada vez que le decimos que reproduzca. Y insinuar, insinuar, despertar, guiño. Vamos a decir esto para jugar cuando interactuemos con un bloque y ganemos algunos puntos con esto todo hecho, vamos a seguir adelante y compilar y salvar chicos. Eso lo va a hacer por este. Nos vemos en la siguiente. 30. Clase de actores con visualización de puntos BP: Bienvenidos de nuevo a todos. En este video vamos a crear un plano de clase de actor que se generará en el juego cada vez interactuemos con uno de nuestros bloques Eso a su vez va a contar este plano de widget, nuestros puntos aquí para mostrar en el juego Y también vamos a llamar a nuestra animación de puntos para jugar también. Para facilitar todo esto, necesitamos un plano actor. Bien, sigamos adelante, salte de nuevo a nuestro editor de nivel principal aquí. Vamos a estar creando este activo dentro de nuestra carpeta de planos de plataforma por aquí en algún espacio vacío Adelante y haz clic derecho en Clase Blueprint. Vamos a elegir una clase de actor porque ésta va a ser engendrada en el juego Y vamos a llamar a esto BP Underscore Points. No debe confundirse con Widget. Puntos de subrayado del plano. Bien, adelante y haz doble clic en esto. Para abrirlo, solo necesitamos agregar un solo componente aquí en el panel de componentes. Haga clic en Agregar. Vamos a agregar un componente widget. No interacción de widgets, sino simplemente un widget. Voy a mantener ese nombre de widget Con este componente seleccionado. En el panel de detalles, podemos especificar una clase de widget. Y aquí en este desplegable, podemos elegir nuestros puntos W P. Adelante y selecciona eso. Notarás enseguida en nuestra viewport, muestra que el texto apunta una vez más, vamos a estar cambiando este texto dinámicamente ¿Cuántos puntos nos gustaría sumar? Bueno, vamos a agregar una variable para eso en el panel my blueprint debajo de la sección Variable Haga clic en este botón más. Vamos a llamar a esto para Agregar. Vamos a hacer de esto un entero. Podemos cambiarlo aquí o en el panel de detalles, tipo variable, lo voy a cambiar a simplemente un entero con este seleccionado. Voy a seguir adelante y compilar enseguida. Voy a repasar en el panel de detalles. Voy a hacer esta instancia editable. Y también voy a comprobar esta exposición en spawn. Esto hará que sea para que cuando este actor dado se genere en el juego, podamos tener esta variable en particular expuesta y fácil de cambiar para que sea fácilmente editable Entonces necesitamos que ambas casillas de verificación estén maralizadas. Dejaremos el valor predeterminado aquí establecido en cero. Bien. A continuación vamos a añadir algunos guiones, y para ello vamos a entrar dentro de nuestro gráfico de eventos. Queremos hacer algo fuera de evento comenzar a jugar, que ya existe aquí afuera. Así que sigamos adelante y haga clic izquierdo y arrastre. Deshazte de estos dos tipos. Aquí comienza el evento Play. Si accidentalmente elimina esto, puede mantener pulsada la tecla y hacer clic izquierdo para obtenerla, o hacer clic derecho y hacer una búsqueda de inicio de evento. Jugar. Lo encontrarás. Vamos a querer traer nuestro componente widget aquí. Hagamos clic izquierdo y arrastremos esto hacia adentro. La razón por la que vamos a querer traer esto es porque queremos ver si este widget es, de hecho nuestros puntos P. Para ello vamos a arrastrar fuera de aquí, teclear elenco dos BP. De hecho, todavía no podemos lanzarle. Necesito arrastrar fuera de aquí y obtener el widget. Obtener widget. Básicamente estamos diciendo, queremos obtener esta clase de widget. Si escribo get widget, widget, ya traemos otra copia de eso. Solo necesitamos esto fuera de nuestro widget que arrastras fuera de aquí, escribe get widget. Quieres este nodo aquí mismo. Para que luego podamos arrastrar fuera de aquí y hacer un elenco. Dos puntos BP. Ahora bien, toda esta configuración es necesaria para que podamos extraer alguna información de nuestro blueprint de widget aquí Al lanzarlo, vamos a poder llamar específicamente a nuestra animación de puntos aquí para que juegue. De hecho, ese va a ser nuestro siguiente paso aquí. Así que vuelve a tus puntos BP. Vamos a arrastrar fuera de nuestros puntos BP y escribir en animación de puntos. Queremos obtener animación de puntos. Esa es esa animación que acabamos de crear. La razón por la que estamos obteniendo esto es porque vamos a arrastrar fuera de aquí y escribir animación de juego. Reproducir animación. Y al hacer esto, va a enchufar esto como la animación que queremos reproducir. Ahora para el target, queremos que este sea nuestro widget, punto de blueprint Vamos a enchufar eso en el objetivo. Esta nota es genial aquí mismo. Esta animación de juego? No, porque podemos especificar no sólo el número de loops, que en este caso solo queríamos jugar una vez. También podemos especificar el modo de reproducción, avance, retroceso o ping pong, así como la velocidad de reproducción. Entonces, si no estás contento con tu velocidad de animación, también puedes ajustarla aquí mismo. Voy a dejar todos estos sin cambios. Bien, Siguiente Quiero personalizar el valor de punto real que se muestra en este momento. Todo lo que tengo es este texto Puntos que dice puntos. Así que quiero poder ajustar el valor de texto real asociado con esto aquí en el panel de detalles. Entonces, ¿cómo podemos hacer eso? Bueno, aquí en nuestros puntos BP. Podemos sacar de nuestro elenco dos puntos BP y hacer una búsqueda de puntos. Queremos obtener nuestros puntos de texto. Esto está hablando específicamente con este widget de texto aquí mismo. Con esto, queremos alterar nuestro contenido de texto arrastrando fuera de aquí puedo escribir el texto conjunto Quiero establecer texto. Nosotros, básicamente estamos diciendo que aquí queremos alterar este valor de texto asociado con este widget de texto. Sólo voy a alejarme un poco aquí manteniendo presionado el control. Vamos a meter esto como, así que voy a sacar esto por aquí así Doy doble clic en esto para traer un nodo de reencaminamiento. Al igual que el texto real que quiero mostrar aquí va a estar determinado por estos puntos para agregar. Si traigo esto a nuestra gráfica, voy a conseguirlo. Puedo intentar conectar este entero a este texto. Va a convertirlo de un entero a texto. Traerá a ese tipo también cuando intentes hacer eso. Ahora mostrará cero en lugar de puntos. Ahora algo más que queremos hacer aquí, paseando un poco hacia un lado aquí, es que queremos destruir a este actor después de que lo engendremos en Una manera realmente fácil de determinar cuándo destruir esto es determinar cuándo es el final de nuestra animación. Una vez terminada nuestra animación, sigamos adelante y la destruyamos. Lo que puedo hacer aquí es arrastrar fuera de mis puntos animación así. Escriba en get end time, eso nos dará la hora de finalización en segundos. Entonces puedo arrastrar fuera de aquí y enchufar esto en un retardo de control de flujo de nodo de retardo. Solo voy a mantener este flujo de ejecución por este cable blanco yendo de esta configuración de texto hacia abajo a nuestro nodo de retardo. Y una vez que esto esté completo, entonces vamos a hacer clic derecho destruir actor. El objetivo aquí es el auto significado de estos puntos BP. Recuerden, estos puntos BP van a destruir esta exhibición aquí mismo. Ahora sé que esto dice puntos aquí mismo, pero cuando generemos esto en el juego, lo que va a hacer es mostrar nuestros puntos para agregar aquí mismo Actualmente es cero, pero vamos a poder cambiar esto dinámicamente cuando le digamos a dinámicamente cuando le digamos puntos de este BP que se generen en nuestro juego Con todo esto hecho, sigamos adelante y compilemos y guardemos de nuevo. Una vez que le decimos esto para engendrar en nuestro juego, cuando interactuemos con el bloque, vamos a averiguar son estos nuestros puntos WBP con los que estamos lidiando De hecho va a ser a la que nos enfrentemos. La razón por la que le estamos echando es para que podamos extraer la animación de puntos que creamos. Dile que juegue también para modificar el texto que está contenido dentro de él, vamos a alterarlo, ese texto para que sea el número de puntos a sumar. Entonces después de que nuestra animación de puntos haya terminado de reproducirse, vamos a obtener el tiempo que es de 0.95 segundos. Vamos a demorar por esa cantidad antes de destruir al actor. Vamos a esperar casi un segundo antes de destruir la exhibición de este punto. Y todo esto va a ir muy bien en poco tiempo. Aquí chicos, eso va a hacerlo todo por este. Nos vemos en la siguiente. 31. Función de agregar puntos: Muy bien, así que tenemos varios puntos relacionados con cosas todas juntas en preparación para armar nuestros bloqueos y anotar algunos puntos. Sin embargo, hay una cosa clave que todavía nos falta, y que en realidad es sumar puntos juntos cuando realmente sumamos algunos puntos. Actualmente, tenemos nuestra variable de puntos. Actualmente está vinculado a este widget de texto aquí en nuestro WBPUD Esta variable existe dentro de nuestro controlador de reproductor. Entonces vamos a sumergirnos ahí a continuación. Volviendo a nuestro editor de nivel principal, hagamos doble clic en nuestro controlador de reproductor. Dentro de aquí, estamos haciendo una pequeña adición para sumar nuestras monedas, pero aún no estamos sumando puntos en absoluto. Actualmente es solo una variable que está pasando el rato aquí y esta variable está enlazada dentro de nuestro WBP Hud Sigamos adelante y hagamos un poco de matemáticas aquí. Haga clic derecho en algún espacio vacío, vamos a buscar un evento personalizado. Vamos a llamar a esto simplemente Add Points. Con este evento personalizado seleccionado. Déjame acercar el zoom. Al mantener pulsado el control y hacer zoom en Over en el panel de detalles, voy a agregar una entrada click sobre este botón más, voy a llamar a estos puntos dos puntos para sumar, no solo puntos, dos puntos para sumar, vamos a hacer que sea un entero y nuestra matemática aquí va a ser súper simple. Eventualmente vamos a alimentar esto algunos puntos y va a sacarlo aquí cada vez que se llame a este evento del cliente. Y vamos a agregar esto arrastrando hacia fuera, haciendo clic en el botón Agregar a nuestra cantidad actual de puntos, Arrastra y suelta esto aquí Y entonces vamos a establecer esto como nuestro nuevo valor de puntos. Simplemente arrastre y suelte sus puntos en esta salida, eso traerá un setter Y ahí tienes. Esto va a ser crítico para que nuestros bloques avancen. Así que asegúrate de compilar y guardar. Puedes hacer click izquierdo y arrastrar alrededor de todo esto. A esto lo llamaremos nuestro color de script de puntos de anuncio este negro. Y chicos que lo van a hacer todo por éste. Compilando y ahorrando. Una vez más. Te veremos en el siguiente video. 32. Base de bloques: Bienvenida. Ahora, como sabes de juegos anteriores de Mario, hay una variedad de bloques interactivos dentro de ellos. Vamos a empezar a crear nuestros bloques empezando por un bloque base. Ahora bien, esto va a ser una especie de bloque padre donde juntamos todos los componentes base, variables, scripts, etcétera Y luego vamos a crear bloques hijos a partir de esta base padre. Entonces esto va a ser una especie de base para establecernos para todos los otros bloques que van a venir van a heredar de este padre que estamos a punto Ahora antes de comenzar con todo esto, asegúrate de haber importado estas texturas y estos archivos de audio desde mucho antes al inicio mismo del curso, porque vamos a estar haciendo uso de ellas a lo largo de este video. Ahora para empezar aquí, voy a entrar en mi carpeta de texturas de plataforma y voy a hacer materiales a partir de tres texturas diferentes Aquí. Tenemos nuestro uso de bloque. Voy a usar este bloque de preguntas, aunque aquí tengo un par de variedades entre las que puedes elegir. Pero no importa cuál elijas, voy a elegir este bloque, pregunta uno, y luego voy a elegir este bloque rompible Entonces solo estoy manteniendo presionado el control. Entonces tengo los tres seleccionados. Entonces voy a hacer click derecho sobre cualquiera de los que he seleccionado, y voy a crear un material a partir de cada uno de esos. Bien, entonces ahora agregó tres materiales separados, 12.3 y solo para organizarlos, voy a arrastrar los tres a mi carpeta de materiales, así Voy a moverlos aquí. Déjame simplemente saltar a mi carpeta Materiales después de que esto esté terminado, solo para asegurarme de que están ahí y parece que son 12.3 A continuación vamos a crear un plano Así que entra en tu carpeta de planos de plataformas, vamos a escribir Haga clic en alguna clase de plano de espacio vacío. Este va a ser un plano de clase de actor para el nombre Iremos con el bloque de subrayado BP. Base de subrayado. Entonces hagamos doble clic sobre este tipo para abrirlo en el panel de componentes en la parte superior, vamos a agregar un componente. Vamos a agregar un componente de cubo. Voy a dejar este nombre como cubo con este componente seleccionado sobre en el panel de detalles, voy a ranura en nuestro material. Voy a escribir la palabra bloque. Tengo mi bloque rompible, ese va a ser mi material por defecto aquí A continuación vamos a venir a mi panel de blueprint y crear algunas variables Una vez más, debido a que este va a ser nuestro bloque base, nuestros bloques hijos que van a heredar de este padre también van a heredar estas variables Voy a dar click aquí mismo. La primera variable que vamos a agregar se va a llamar Finalizado interactuando. Me gustaría poner un signo de interrogación al final de una variable de lingotes. Eso será un lingote El segundo que voy a crear aquí se va a llamar monedas para agregar, esto será un entero. Siguiente, voy a agregar eso, voy a dar click derecho y duplicar va a ser puntos. A continuación, haciendo clic en el botón más se va a llamar Interact X. Voy a poner entre paréntesis, Niagara Voy a cambiar el tipo aquí para que sea un sistema Niágara. Referencia de objeto del sistema Niagara. Lamiendo. Otra variable sobre esto va a ser interactuar x y entre paréntesis, esta va a ser partícula otra vez Niagara es el sistema de partículas más nuevo, pero vamos a poder elegir entre el sistema de partículas más nuevo y más antiguo solo para darle algo de flexibilidad aquí. Bajo el tipo que vamos a elegir el sistema de partículas, es la referencia de objeto del sistema de partículas debajo de los tipos de objeto allí. A continuación vamos a agregar Interact X, eso es efecto de sonido. Para este, va a ser una base sonora, una referencia de objeto basada en sonido. Este top de aquí, El último pero no menos importante, vamos a dar click sobre esto y esto se va a llamar Interact Material. Este tipo va a estar simplemente entrando en la categoría de tipos de objeto. Referencia de objeto. Bien, entonces vamos compilar esto de inmediato y darnos algunos valores predeterminados. Haz clic en Compilar en la parte superior. Aquí nuestro final interactuando, podemos dejar eso como falso. Eso está perfectamente bien para que nuestras monedas agreguen. Esta es la cantidad de monedas que nos gustaría agregar. En absoluto por interactuar con este bloque. Voy a hacer editable esta instancia para que podamos cambiar esta por instancia de un bloque Si elegimos, dejaré esto como cero ahora. ¿Sabes qué? Lo pondré en uno por ahora. Pero claro que podemos actualizar eso como queramos señalar, voy a seleccionar eso. Vamos a hacer esta instancia comestible también. Lo que significa que podemos actualizar esto cuando un bloque que hereda de este padre se coloca en nuestro nivel Voy a establecer los puntos para que sean diez por defecto. Para los efectos de Interact V la partícula de Niágara, voy a elegir simple explosión. Para la partícula de efecto Interact V, voy a pote de subrayado rompible Esto viene de ese paquete de efectos infinity blade que agregué. Ahora otra vez, puedes elegir lo que quieras para estos. Esto es justo con lo que elijo ir. Esto es solo el valor predeterminado para Interact. Voy a hacer que el Interact x una moneda dure pero no menos importante para nuestro material Interact. Voy a hacer que este sea mi bloque usado para que interactuemos. Este bloque para algunos de ellos que no son rompibles, vamos a cambiar a ese material dado Bien, con todo eso hecho, vamos a repasar a nuestro gráfico de eventos y vamos a agregar un poco de guión. Lo primero que vamos a hacer aquí es eliminar estos dos nodos de nuestro evento. Empezar a jugar. Vamos a hacer click derecho en algún espacio vacío. Vamos a escribir get player controller. Entonces vamos a lanzar esto a nuestro controlador de jugador. Transmitir al controlador de jugador, nuestro controlador BP Player. Vamos a tener esta configuración haciendo clic derecho sobre este pin, promocionándolo a una variable. Vamos a crear una referencia a nuestro controlador Player. Y solo voy a acortar el nombre al jugador Controller porque queremos que nuestros bloques hijos, los bloques que eventualmente van a heredar de este bloque base tengan una referencia a nuestro controlador de jugador Clic izquierdo arrastrar. Voy a llamar a esto al jugador Controlador. Recuerda que nuestro plano de controlador de jugador es el modelo de potencia que estamos usando para hacer cosas como sumar hacer cosas como sumar Eso va a ser importante en el camino aquí. Bien, a continuación lo que queremos hacer es detectar cuando nuestro bloqueo es golpeado. Entonces esencialmente lo que queremos hacer es detectar cuando nuestro bloque es golpeado desde la parte inferior aquí, Bien, con nuestro componente cubo seleccionado. Simplemente va a hacer click derecho e ir a algún espacio vacío aquí. Ir al clic derecho en el evento para el golpe de componente. Ahora fuera del otro actor, podemos traer un símbolo igual. Y vamos a comprobar si el otro actor es igual a O. Y ya me has visto hacer esto antes. Consigue el personaje del jugador. Si es nuestro personaje jugador el que golpea este bloque, vamos a hacer algunas cosas. Pero lo que tenemos que hacer es detectar también cómo de qué manera golpeó este cubo. Solo queremos que algo realmente suceda cuando golpeamos la parte inferior de este bloque. Ahora, por suerte, cuando golpeamos este cubo, podemos extraer algo de información sobre ese golpe justo de este pin Entonces si me arrastro aquí, puedo escribir en break, golpear Result así. Este nodo nos permitirá extraer alguna información del mismo. Pulsando sobre esta flecha hacia abajo aquí, podemos ver toda la información que contiene. En particular, nos interesa este impacto salida normal voy a arrastrar fuera de esto y escribir en vector break. Esencialmente, esto nos va a permitir detectar en qué dirección golpeamos este ladrillo. Queremos averiguar si la dirección z, la dirección arriba y abajo es igual a ahora un impacto del valor uno en la dirección z. Esencialmente estamos comprobando para ver si golpeamos esto desde la parte inferior. Negativo sería el lado superior, positivo uno fuera del impacto normal aquí. Esta superficie plana va a detectar si la golpeamos desde la parte inferior. Queremos saber si ambas cosas son ciertas. Si fue un personaje jugador el que pegó este cubo y si lo golpeamos desde la dirección inferior. Ya que queremos saber si ambos son ciertos, arrastra fuera de cualquiera de estos pines rojos. Escribe la palabra y vamos a traer un booleano. Queremos saber si esto y esto son ciertos. Si ambos son ciertos, vamos a enchufar esto un nodo de rama así. Si ambos son ciertos, lo que queremos hacer es querer, respaldando aquí dentro de nuestra interfaz de blueprint, queremos llamar a esta función hit block Sólo se llama bloque hit. Si me arrastro fuera de la rama verdadera aquí, voy a escribir en bloque de golpe y verás este mensaje de bloque de golpe. Ahora si haces clic en esto, eso voy a traer en este nodo que tiene este pequeño icono de sobre para el objetivo aquí. Simplemente puedes arrastrar hacia atrás y escribir en uno mismo porque el objetivo va a ser nosotros mismos Queremos obtener una referencia a nosotros mismos, y este va a ser nuestro script de bloques de éxito Ahora lo que vamos a hacer aquí también es que queremos agregar esta plataforma BPI, esta interfaz de blueprint a este blueprint Para hacer eso, vamos a venir bajo configuración de clase y otra vez en la sección de la derecha aquí, tenemos una sección para interfaces implementadas interfaces. Y aquí es donde podemos agregar nuestra plataforma BP I. Ahora esto va a ser importante porque queremos que nuestros bloques que heredan de esta base tengan esto también Ahora la magia de esta configuración se hará evidente a medida que creamos algunos bloques hijos a partir de esta base de bloques BP. En nuestros bloques infantiles, solo vamos a necesitar llamar a un evento de bloqueo de aciertos. Y entonces podemos hacer cosas específicas a esos bloques, evitando así tener que enjuagar y repetir esta sección de código aquí mismo. Bien, con todo esto hecho, sigamos adelante y compilemos y salvemos a los chicos. Eso lo va a hacer por este. Te veremos en la siguiente. 33. Bloques rompibles: Bienvenido, en este video nuestro objetivo es crear un bloque hijo que herede la funcionalidad base de nuestros padres, nuestra base de bloque BP aquí Luego personalizaremos nuestro bloque infantil para que se rompa al ser golpeado. Ahora antes de comenzar con algo de esto, voy a crear otra carpeta dentro de nuestro navegador de contenido. Aquí, específicamente para ladrillos. Y voy a hacer esto dentro de la carpeta de planos, derecho, dando click en planos por aquí Voy a hacer carpeta nueva y simplemente voy a llamar a esto bloques. Y luego enseguida voy a volver a dar click en mi carpeta de planos y voy a arrastrar esta base de bloques a mi carpeta de bloques Y si lo dejas caer aquí, puedes moverlo justo ahí así. Bien, entonces ahora estoy en este directorio, mi carpeta de bloques, voy a crear un hijo de este bloque base. Y podemos hacerlo haciendo clic derecho en Crear una clase de plano infantil Nos va a incitar a dar este nombre. Entonces voy a llamar a este bloque BP subrayado Rompeble. Este va a ser un bloque rompible. Bien, sigamos adelante y hagamos doble clic en esto para abrirlo. Muchas cosas van a estar uniendo en este video. Ahora, para empezar, quiero señalar cómo se han heredado las cosas. En la parte superior derecha, podemos ver nuestra clase padre es la base del bloque BP. Por encima en el panel de componentes, podemos ver que hemos heredado este componente de cubo. Si entro en la configuración de clase, puedo ver que hemos heredado nuestra plataforma BPI, nuestra plataforma de interfaz de blueprint Y por aquí en el lado izquierdo el panel de mi plano Podemos ver dentro de nuestra interfaz de blueprint, tenemos esta función hit block Ahora solo para dar la vuelta al círculo aquí, mi carpeta de planos. Aquí está mi plataforma BPI en la que tenemos esa función llamada hit block También quiero señalar que hemos heredado nuestras variables que configuramos dentro de nuestro bloque padre aquí. Ahora bien, si no los ves aquí abajo, si haces clic en este ícono de engranaje, tienes esta casilla de verificación para mostrar las variables heredadas Si está apagada, no vas a ver las variables heredadas con ella encendida, ya verás. Permítanme ampliar una vez más la categoría de variables. Esas variables que hemos establecido dentro de nuestros padres, nuestro bloque base. Y la razón por la que queríamos hacer eso es porque tenemos estos incumplimientos, si se quiere Pero podemos personalizarlos para los niños. Y en particular, una de las cosas que sé que vamos a querer ajustar para este bloque rompible es nuestro efecto de sonido aquí Por defecto tenemos este efecto de sonido Interact que está configurado como una variable y nuestro valor aquí es actualmente un efecto de sonido de moneda. Para ello, voy a querer cambiarlo a un rompible, a una rotura de ladrillo Entonces cambiémoslo a la rotura de ladrillos Sonido enseguida. Bien, ahora saltemos a nuestro gráfico de eventos. Y vamos a agregar algún script para personalizar lo que queremos que suceda cuando interactuamos con este bloque. Entonces voy a saltar a nuestro gráfico de eventos aquí. Ahora ya puedes ver que tenemos este evento comenzar a jugar. Y está ligada a que los padres empiecen a jugar. Ahora bien, esto vale la pena señalar aquí, porque si voy a nuestra base de bloque BP aquí, y puedo navegar hasta donde está esto en el navegador de contenido, o puedo abrir el padre. Vamos a abrir el padre. Aquí está el padre, nuestra base de bloque BP. Básicamente nos estamos asegurando de que al comenzar a jugar aquí en nuestro rompible, que todo este código también está llegando para el viaje Bien, aquí atrás en nuestro bloque BP rompible, esto es bueno Vamos a dejar todo esto. Sólo voy a hacer click izquierdo y arrastrar, y vamos a eliminar esto. Ahora lo que quiero hacer es traer un evento para nuestro hit block, nuestra interfaz aquí. Entonces, si hago clic derecho en algún espacio vacío y escribo el bloque hit, puedo agregar un evento para golpear el bloque. Ahora bien, este evento se va a desencadenar cuando se interactúe con nuestro bloqueo Ahora recuerde que nuestra base de bloques BP contiene todo el script para cuando interactuamos. Golpeamos el lado inferior de este cubo. Terminamos este script de interacción llamando a este bloque de éxito. Ahora una vez que lleguemos a este punto en nuestro guión, va a decirle a este evento hit block aquí en nuestro hijo que se dispare y luego haga que se produzca algún guión personalizado. Así que no tenemos que repetir todo este guión aquí que ya está hecho para nosotros en el padre. Esta llamada aquí es lo suficientemente buena para luego pasar esta funcionalidad por aquí en nuestro hijo. Bien, ¿qué queremos hacer con esto? Bueno, queremos que ocurran varias cosas cuando golpeemos este bloque. Y porque queremos que sucedan varias cosas, voy a traer una nota de secuencia. Ahora, la nota de secuencia es realmente útil para organizar varias cosas que nos gustaría que sucedieran. Nos gustaría que algo pasara aquí, luego aquí. Y luego de hecho, vamos a añadir un tercer pin dando click aquí. Entonces vamos a tener tres cosas distintas sucediendo. Esta es una manera muy agradable, ordenada y ordenada de hacer que esto suceda ¿Bien? Lo primero que me gustaría hacer aquí es tocar algunos efectos de interacción de bloques. Y si recuerdas aquí en nuestro navegador de contenido, creamos esta biblioteca de funciones BP. Y dentro de aquí, configuramos esta función para reproducir los efectos de interacción de bloques. Esto va a entrar en juego ahora mismo aquí, dentro de nuestro bloque BP rompible Si hacemos clic, podemos buscar efectos de interacción de bloques de reproducción, y podemos ver que esta función vive en nuestra biblioteca de funciones BP. Ahora podemos acceder a eso aquí dentro de este plano. Ahora todo lo que tenemos que hacer es enchufar qué tipo de sonido y efectos visuales queremos que jueguen. Esto va a ser bastante sencillo. Sólo vamos a conectar este N cero en nuestro bloque de reproducción Interact Effects. Voy a hacer doble clic en este cable para traer un poco de reencaminamiento Nota para fines organizativos ahora podemos insertar nuestro efecto de sonido, nuestro efecto de sonido Interact que actualmente es romper ladrillos, arrastrarlo y soltarlo justo en este pin de efecto de sonido para nuestro efecto visual. De nuevo, aquí te estoy dando dos opciones. El nuevo sistema de efecto de partículas del Niágara o el sistema de efecto de partículas más antiguo. Para ello, voy a traer mi partícula Interact VX más antigua Es esta olla rompible. Sólo voy a enchufar esto justo ahí. Tenga en cuenta que se trata de un ya sea o. Esa es la forma en que se pretende configurar esto. Podrías hacer ambas cosas, pero solo tienes que ir con una para la ubicación de VFX Lo que voy a hacer es que voy a hacer clic derecho y escribir en obtener la ubicación del actor. El objetivo aquí es auto significado dondequiera que este bloque BP rompible se encuentre en el mundo Ahora voy a compensar esto un poco. Podría tocar esto en el punto central de este bloque, pero donde quiero generar esto en realidad está un poco arriba en el eje z Entonces voy a arrastrar fuera de aquí, poner un símbolo más. Voy a traer aquí a un operador de anuncios. Y simplemente voy a sumar 50 en el eje z, solo para generar esto un poco por encima de la ubicación exacta de este bloque, rompible a través de prueba y error Aprendí que eso es bastante bueno. Bien, sólo voy a sacar un poco este guión aquí arriba un poco Voy a mover a este padre aquí un poco así. Y ese va a ser nuestro primer bit de guión aquí, jugando este bloque interactuar X. Bien, lo siguiente que quiero hacer es engendrar en nuestros puntos BP Queremos desovar en algunos puntos y también sumar algunos puntos al desovar en algunos Nosotros configuramos este actor de puntos B P aquí mismo. Queremos generar esto en el juego, tener esta exhibición la cantidad adecuada de puntos Este acto, puntos BP es lo que pretendemos generar aquí en nuestro bloque BP rompible La forma en que podemos hacer esto es arrastrar fuera de esto. Entonces un pin vamos a engendrar actor de clase. Este es un nodo que queremos traer. Aquí es donde podemos desovar bajo subrayado de clase BP Ahora tenemos que darle una transformación de spawn como en donde queremos que esto genere Si hacemos clic podemos decir conseguir que el actor se transforme. La transformación consiste en datos de ubicación, rotación y escala. Nuestro objetivo aquí es auto significando este bloque BP rompible. Estamos obteniendo la ubicación, escala y rotación de este bloque en particular. Ahí es donde lo vamos a generar, en este nodo tenemos estos puntos para agregar entrada La razón por la que esto existe es porque aquí en nuestros puntos BP que configuramos, creamos esta variable llamada puntos para agregar Over en el panel de detalles, dijimos exponer en spawn marcando esta casilla, haciendo que esta instancia sea comestible Exponer en spawn, marcando estas dos casillas. Esto se hace para que cuando estamos tratando de engendrar a este actor, esta variable se ponga a nuestra disposición Y podemos personalizarlo desde aquí dentro de nuestro bloque BP rompible Entonces esto es lo que podemos hacer. Podemos enchufar nuestros puntos a nuestros puntos para sumar y podemos determinar cuántos puntos queremos que sea esto cuando rompamos este bloque, voy a cuando rompamos este bloque, dejar esto a las diez ahora mismo. Bien, siguiente. Lo que también queremos hacer es que queremos traer una referencia a nuestro controlador de jugador. Y tenemos una referencia a nuestro controlador de reproductor porque eso fue heredado aquí en nuestra lista de variables heredadas. Controlador de jugador, vamos a arrastrar eso adentro. Vamos a conseguirlo y luego vamos a arrastrar fuera de esto y vamos a escribir sumar puntos. Ahora voy a abrir nuestro controlador de reproductor aquí en sólo un poquito. Solo vas a encontrar este sumar puntos si arrastras fuera de la referencia de tu controlador de jugador. De vuelta en nuestro controlador BP Player, creamos este evento personalizado llamado add points. La razón por la que pudimos llamar a esto sumar puntos es porque todo esto existía en nuestro controlador de jugador. Cuando estamos llamando a esto en nuestro bloque BP rompible, estamos diciendo oye, controlador del jugador dispara ese evento personalizado agrega puntos para que podamos agregar por muchos puntos Alimentamos esto a nuestra cantidad actual de puntos y luego establecemos esto como nuestro nuevo monto de puntos. Recuerda, esta variable de puntos aquí, dentro de nuestro controlador de jugador, está ligada a nuestro hud aquí en nuestro ud, nuestra variable de puntos en nuestro controlador de jugador está ligada aquí, así que va a reflejar eso aquí en nuestro hud Bastante dulce. Y mira cómo todo esto está uniendo. Por supuesto, tenemos que decirnos cuántos puntos queremos sumar porque esto va a ser alimentado a través de esos eventos personalizados. Entonces, si hago doble clic en esto Agregar puntos aquí mismo, nuestros puntos para agregar, va a fluir por aquí, por aquí, y agregarlo a nuestra cantidad actual de puntos existente. Entonces por eso agregamos esta entrada, nuestros puntos para agregar para que aquí en nuestro bloque rompible, podamos enchufar cuántos puntos nos gustaría agregar Y solo vamos a arrastrar y soltar nuestros puntos encima de esto. Ahora podría tener sólo droga fuera de aquí y enchufar eso aquí también. No importa si tienes múltiplos de estos getters variables o si los arrastras fuera del mismo, va a hacer lo mismo Bien, entonces ahora estamos jugando algunos efectos de interacción. Estamos generando una visualización de puntos, además de sumar realmente la cantidad de puntos juntos Lo último que tenemos que hacer es simplemente destruir a este actor. Entonces si me alejo de mis entonces dos, puedo escribir destruir actor. Y queremos asegurarnos que esto es lo último que hacemos. Para que cuando golpeemos este bloque, vamos a reproducir los efectos, vamos a generar en nuestra visualización de puntos y de hecho sumar algunos puntos juntos Esto tiene que ser lo último que hagamos, porque si hiciéramos de esto lo primero que hicimos, ninguna de estas otras cosas pasaría. Bien, ahí está nuestro guión finalizado, así que vamos a compilarlo y guardarlo. Y parece que nuestro guión está todo bien para ir a continuación. Vamos a arrastrar y soltar un bloque rompible en nuestro nivel aquí, en algún lugar cerca de mis jugadores comienzan Solo para propósitos de prueba, tengo mis dos configuraciones de D snap en el nivel principal aquí, así que encontremos nuestros bloques. Sólo voy a arrastrar esto como, así que traeré un par de instancias así. Y vamos a saltar y jugar. Ahora podía ver mi visualización de puntos, en realidad se mostraba de una manera que no estaba orientada hacia la cámara. Lo que puedo hacer aquí es saltar a mis puntos B P y seleccionar mi componente widget aquí. Sólo voy a rotar esto para que quede de frente a la cámara. Actualmente, se está mostrando así. Entonces todo lo que necesito hacer aquí es simplemente rotarlo. Sólo voy a presionar la barra espaciadora. Girar. En realidad, permítanme establecer mis incrementos en mi configuración de snap aquí Vamos a rotar esta cara la cámara. Voy a salvar eso. Y ahora si entro y juego e interactúo con esos bloques, tengo que estar atento a esa barra de fuego de ahí. Puedo destruir ese bloque. Veo los puntos que realmente se muestran en la parte superior derecha. Se puede ver en el Hud que debido a que cada uno de esos bloques valía diez puntos cada uno, ahora tengo 20 puntos totales Entonces todo parece estar funcionando como diseño. Bien chicos, eso va a hacerlo todo por este. Te veremos en la siguiente. 34. Monedas en bloque: Bien, así que aquí está el trato. Como puedes ver en este clásico metraje de Mario, Mario está interactuando con varios bloques. Y con algunos de los bloques con los que interactúa, como el de ahora mismo, una moneda está surgiendo de ella Ahora nuestro objetivo en este video es crear un plano de clase actor de una moneda de bloque que va a aparecer de varios bloques cuando Mario interactúe Bien, para empezar aquí, de vuelta en nuestro editor, voy a hacer esto en la carpeta de bloques de blueprint de la plataforma de contenido Voy a escribir haga clic en la clase Nuevo Blueprint. Esta va a ser una clase de actor porque vamos a estar generando esto en el juego Y voy a llamar a esta BP underscore block score coin No, de nuevo, esto va a ser diferente a nuestro pick up de monedas. Déjame presionar Enter aquí en que este va a ser uno que genere en el mundo y va a hacer el, lo espinoso cuando interactuemos con varios bloques Hagamos doble clic en esto de inmediato. Para abrirlo en el panel de componentes, solo vamos a agregar un componente. Va a ser una malla estática. Voy a llamar a esta moneda en el panel de detalles. Tengo varias cosas que quiero establecer. El primero es una malla estática. Voy a poner esto para que sea un cilindro. Voy a elegir este cilindro aquí mismo. También voy a rotarlo de lado enseguida, así que voy a establecer la rotación a B. Tengo algunos ajustes seleccionados antes de tiempo, negativo 70. El y va a ser negativo 90, el z va a ser negativo 20. Para la báscula, voy a establecer esto en 0.750 0.75 y luego 0.07 algo realmente delgado Y debido a que tenía mi configuración de bloqueo de báscula encendida, cada vez que cambio uno de esos parámetros, los cambia todos. Entonces, si lo desbloqueo, puedo configurar estos todos individualmente. Así que eso fue 0.75 en la x y 0.75 en la y. quiero 0.75 en la z para que sea agradable y flaco ahí en la dirección z. Bien, también lo que quiero hacer es establecer un material aquí mismo. Voy a escribir moneda. Voy a poner esto al material de monedas más nuevo, aunque realmente no importa demasiado cuál elijo en la sección de colisión, voy a cambiar mi preajuste de colisión aquí para que no sea colisión porque quiero asegurarme de que no hay posibilidad que alguien pueda chocar con esto como un enemigo que creamos en el camino Bien, con todo eso hecho, pasemos a nuestro gráfico de eventos. Y aquí vamos a crear en algún espacio vacío. Derecha, haz clic en una línea de tiempo. Cronología. Porque hay varias cosas que queremos cambiar con el tiempo. Entonces voy a agregar una línea de tiempo. Voy a llamar a esto mi moneda, Una línea de tiempo manteniendo pulsado el control, rueda del ratón hacia arriba para acercar esto Voy a hacer doble clic sobre esto para abrirlo en nuestra pestaña de línea de tiempo aquí mismo, voy a agregar dos pistas de inmediato. Al dar click en pista, voy a presionarlo una vez. Vamos a agregar una pista de flotación. Y voy a llamar a este primer movimiento. Esto va a determinar el movimiento de nuestra moneda a lo largo del tiempo. Entonces voy a agregar otra pista aquí, una pista de flotación. Y a esta se le va a llamar rotación porque vamos a querer rotar nuestra moneda a lo largo del tiempo. ¿Cuánto tiempo? Bueno, vamos a establecer la longitud de nuestra línea de tiempo aquí para que sea de 0.4 segundos. Bien, y ahora trabajando en nuestra línea de tiempo de movimiento, primero voy a hacer click derecho y tipo de paneo esto hacia el medio, Zoom un poco hacia arriba usando mi rueda de desplazamiento, voy a mantener presionada la tecla Mayús y voy a hacer click tres veces 123. Ahora bien, realmente no importa dónde haga clic, porque voy a establecer manualmente un tiempo en un valor para cada uno de estos, o este último fotograma clave que tengo seleccionado aquí mismo, voy a establecer el tiempo en 0.4 y el valor 2200 o ahora lo puedes ver saltó de la pantalla aquí Eso está bien. Para este próximo, voy a establecer el tiempo para que sea 0.25 y el valor sea 300. Y para este primer fotograma clave, voy a establecer el tiempo para que sea cero y el valor sea cero. Ahora bien, si tuviera que hacer clic en mis flechas aquí mismo, Zoo Line fuera un poco. Puedo resaltar todos estos fotogramas clave haciendo clic izquierdo y arrastrando Y lo que quiero hacer es con todos ellos resaltados, voy a hacer click derecho sobre cualquiera de ellos. Todos están resaltados. Cuando estén azules, voy a hacer click derecho sobre él. Y voy a poner la interpolación clave en auto. Lo que esto va a hacer es que va a suavizar esta línea curva aquí. En lugar de que esto sea una línea recta, recta, va a convertirla en una línea curvilínea suave como tal Ahora con todos estos resaltados, voy a dar click en las flechas una vez más. Y se puede ver esa curva un poco más exactamente. Ahora bien, esta curva está destinada a cambiar un valor flotante a lo largo tiempo para determinar el movimiento de nuestra moneda. Entonces esencialmente yendo desde su posición inicial hacia arriba en el aire y luego retrocediendo un poco. Bien, a continuación vamos a alterar nuestra configuración de rotación porque queremos esta moneda cuando se genere en No sólo para simplemente subir al aire y luego bajar un poco, sino también para dar vueltas también. Para ello, vamos a necesitar sólo dos fotogramas clave. Así que voy a mantener pulsada la tecla Mayús y a la izquierda haga clic en esta primera que voy a establecer en un tiempo de cero y un valor de cero. Y luego solo voy a hacer clic derecho en cualquier parte de aquí, vamos a agregar otra clave, Esa es otra forma de agregar un fotograma clave para este, voy a establecer el tiempo para que sea 0.4 esencialmente el final de nuestra línea de tiempo aquí Y el valor golpeando pestaña saltando a ese campo de valor que voy a establecer para que sea 720, esencialmente dos giros. Voy a hacer clic en estas flechas aquí para traer a la vista cada uno de estos fotogramas clave. Estoy bien con una línea recta aquí. No necesito curvar esto en absoluto. Mi moneda va a estar moviéndose hacia arriba en el aire y luego bajando un poquito. Y entonces también va a estar haciendo dos rotaciones completas, 720 grados en el transcurso de 0.4 segundos aquí. Bien, ahora volvamos a nuestro gráfico de eventos aquí, fuera de nuestra línea de tiempo de monedas. Y puedes ver que ahora tenemos dos pines de salida para flotar valores de nuestras pistas de flotación. Entonces esto va a estar dando salida al valor de cada flotador a lo largo del tiempo Va a estar cambiando a lo largo de 0.4 segundos para movimiento y rotación. Tenemos que retroceder un poco aquí arriba. Y vamos a traer inicio a nuestro evento. Juega hacia el frente de esta gráfica. Este nodo debería haber existido cuando creó por primera vez este blueprint Si no es así, puedes hacer clic derecho y hacer una búsqueda de evento Begin. Jugar. Lo que vamos a hacer fuera de Event Begin Play es que vamos a llegar a nuestras variables en el panel my blueprint Ven debajo de los componentes y ahora deberías encontrar este componente de moneda anum que está hablando con esta línea de tiempo coin anum Vamos a arrastrar esto, soltarlo y conseguirlo. La razón por la que vamos a sacar esto es porque vamos a arrastrar fuera de esto y escribir la tasa de juego establecida. Actualmente esta línea de tiempo tiene 0.4 segundos de duración. Y voy a establecer las tasas para que sean 1.0 Se puede pensar en esto como un campo porcentual, 0.5 sería la mitad de su tasa de juego normal. Así que sólo voy a estar jugando esto a su ritmo habitual. Tenga en cuenta sin embargo, que si quisieras cambiar la velocidad a la que se juega esto, cambiar este número aquí mismo te permitiría cambiar el ritmo al que juega este sin tener que ajustar la línea de tiempo en sí. Ahora podría enchufar esto en juego o jugar desde el principio. Voy a ir con el juego desde el principio, porque quiero que esto juegue desde el principio. Siempre que comience este plano en particular, juegue. Ahora bien esto va a disparar comienza Juega cada vez que engendremos esto en nuestro juego Entonces ve a la derecha aquí. Traer una referencia a mi moneda desde el panel de componentes, porque quiero ajustar la ubicación y la rotación de esta a lo largo del tiempo. Clic izquierdo y arrastre. Lo que voy a hacer entonces es arrastrar fuera de esto y escribir en set. Y quiero cambiar la ubicación relativa y rotación de eso a lo largo del tiempo. Quiero cambiar el relativo en relación a la ubicación de esta moneda a lo largo del tiempo a medida que actualizamos nuestros valores a lo largo del tiempo. Aquí quiero actualizar donde vive nuestra moneda. Voy a arrastrar hacia atrás fuera de nuestra nueva ubicación aquí y escribir make vector. Porque una ubicación consiste en una x, y y z. Y solo quiero cambiar una de estas, voy a copiar esto. Control de nodo C control V control D. Podría haber duplicado eso de inmediato. Lo siento, no quiero hacer vector para este. Quiero hacer esta nueva rotación. Voy a escribir click esto va a enchufar a nuestra nueva rotación. Ahora bien, esto es, vamos a tomar nuestros valores flotantes y conectarlos a un campo específico. Nuevamente, solo quiero mover mi moneda hacia arriba en el eje Z. A medida que cambiemos nuestro valor con el tiempo, vamos a actualizar nuestra ubicación z de la moneda, la ubicación hacia arriba y hacia abajo de la moneda. Y recuerda aquí en nuestra línea de tiempo, vamos a ir desde nuestra posición inicial hasta 300 unidades irreales y luego volver a bajar al final a 200 unidades irreales para nuestra rotación Voy a tomar la rotación aquí, y queremos girarla a lo largo del eje z. Eso va a estar girándolo como una copa a medida que sube al aire. Y nuevamente aquí en nuestra línea de tiempo, vamos a estar rotando a 720 grados. Eso son dos veces las revoluciones a lo largo de 0.4 segundos. Y ese es un buen guión para solo mover nuestra moneda, pero quiero agregar un poco de jazz aquí. Entonces lo que voy a hacer es arrastrar fuera de nuestro pin de acabado. Cuando esta animación termine de reproducirse, me voy a arrastrar fuera de aquí en el emisor de desove en emisor de desove Sistema de desove en la ubicación es el nombre del nodo que querría usar si desea usar un sistema de partículas Niagara Este es el sistema de partículas más antiguo. Lo que quiero hacer es que quiero engendrar en un emisor conocido como underscore lot pick up Este existe en el paquete EfFx de hoja infinita. Lo que entonces tendríamos que hacer es arrastrar una referencia a nuestra moneda, arrastrar fuera de aquí, y decir obtener ubicación mundial y enchufar esto aquí. Entonces, esencialmente, mientras estamos actualizando la ubicación de nuestra moneda, una vez que terminemos con esta línea de tiempo, va a generar un efecto de partícula, especie de efecto de partícula en nuestra ubicación mundial actualizada de nuestras monedas, solo para que esa moneda explote en un brillo de gloria Bien, con eso, sigamos adelante y compilemos y guardemos. Eso va a asegurar que nuestro guión sea bueno para ir. Ahora podemos hacer uso de esto en el futuro para que vengan varios de nuestros bloques. Chicos que lo van a hacer todo por éste. Nos vemos en la siguiente. 35. Monedas en bloque: Bien, así que aquí está el trato. Como puedes ver en este clásico metraje de Mario, Mario está interactuando con varios bloques. Y con algunos de los bloques con los que interactúa, como el de ahora mismo, una moneda está surgiendo de ella Ahora nuestro objetivo en este video es crear un plano de clase actor de una moneda de bloque que va a aparecer de varios bloques cuando Mario interactúe Bien, para empezar aquí, de vuelta en nuestro editor, voy a hacer esto en la carpeta de bloques de blueprint de la plataforma de contenido Voy a dar click derecho a la clase Nuevo Blueprint. Esta va a ser una clase de actor porque vamos a estar generando esto en el juego Voy a llamar a esto BP Underscore bloques moneda. Ahora de nuevo esto va a ser diferente a nuestro pick up de monedas. Déjame presionar Enter aquí en que este va a ser uno que genere en el mundo y va a hacer el, lo espinoso cuando interactuemos con varios bloques Hagamos doble clic en esto de inmediato. Para abrirlo en el panel de componentes, solo vamos a agregar un componente. Va a ser una malla estática. Voy a llamar a esta moneda en el panel de detalles. Tengo varias cosas que quiero establecer. El primero es una malla estática. Voy a poner esto para que sea un cilindro. Voy a elegir este cilindro aquí mismo. También voy a rotarlo de lado enseguida, así que voy a establecer la rotación en, tengo algunos ajustes seleccionados antes de tiempo, negativo 70. El y va a ser negativo 90, el z va a ser negativo 20. Para la báscula, voy a establecer esto para que sea 0.750 0.75 y luego 0.07 algo realmente delgado porque tenía mi configuración de bloqueo de báscula encendida Siempre que cambio uno de esos parámetros , los cambia a todos. Si lo desbloqueo, puedo configurarlos todos individualmente. Así que eso fue 0.75 en la x y 0.75 en la y. quiero 0.75 en la Z para que sea agradable y flaco ahí en la dirección z. Bien, también lo que quiero hacer es establecer un material aquí mismo. Voy a escribir moneda. Voy a poner esto al material de monedas más nuevo, aunque realmente no importa demasiado cuál elija en la sección de colisión, voy a cambiar mi preajuste de colisión aquí para que no sea colisión porque quiero asegurarme de que no hay posibilidad de que alguien pueda chocar con esto como un enemigo que creamos en el futuro Bien, con todo eso hecho, pasemos a nuestro gráfico de eventos Y vamos a crear en algún espacio vacío aquí, haga clic derecho en una línea de tiempo. Línea de tiempo porque hay varias cosas que queremos cambiar con el tiempo. Entonces voy a agregar una línea de tiempo. Voy a llamar a esto mi moneda, una línea de tiempo manteniendo pulsado ratón de control girando hacia arriba para acercar esto Voy a hacer doble clic sobre esto para abrirlo. En nuestra pestaña de línea de tiempo aquí mismo, voy a agregar dos pistas de inmediato. Al hacer clic en pista. Voy a presionarlo una vez. Vamos a agregar una pista de flotación. Y voy a llamar a este primer movimiento. Esto va a determinar el movimiento de nuestra moneda a lo largo del tiempo. Y luego voy a agregar otra pista aquí, una pista de flotación. Y a esta se le va a llamar rotación porque vamos a querer rotar nuestra moneda a lo largo del tiempo. ¿Cuánto tiempo? Bueno, vamos a establecer la longitud de nuestra línea de tiempo aquí para que sea de 0.4 segundos. Bien, y ahora trabajando primero en nuestra línea de tiempo vamos a hacer clic derecho y desplazarlo hacia el medio. Acercar un poco usando mi rueda de desplazamiento. Voy a mantener pulsada la tecla Mayús y voy a hacer clic tres veces 123. Ahora realmente no importa donde haga clic, porque voy a establecer manualmente un tiempo en un valor para cada uno de estos o este último fotograma clave que he seleccionado aquí mismo Voy a establecer el tiempo para que sea 0.4 y el valor sea 200. Ahora puedes ver que lo saltó de la pantalla aquí. Eso está bien. Para este próximo, voy a establecer el tiempo para que sea 0.25 en el valor para que sea 300. Para este primer fotograma clave, voy a establecer que el tiempo sea cero y el valor sea cero. Ahora bien, si tuviera que hacer clic en mis flechas aquí mismo, Zoo se alinea un poco. Puedo resaltar todos estos fotogramas clave haciendo clic izquierdo y arrastrando Lo que quiero hacer es con todos ellos resaltados, voy a hacer click derecho sobre cualquiera de ellos. Todos están resaltados. Cuando estén azules, voy a hacer click derecho sobre él. Y voy a poner la interpolación clave en auto. Lo que esto va a hacer es que va a suavizar esta línea curva aquí. En lugar de que esto sea una línea recta, recta, va a convertirla en una línea curvilínea suave como tal Ahora con todos estos resaltados, voy a dar click en las flechas una vez más. Y se puede ver esa curva un poco más exactamente. Ahora bien, esta curva está destinada a cambiar un valor de flotación a lo largo del tiempo para determinar el movimiento de nuestra moneda, esencialmente yendo desde su posición inicial hacia arriba en el aire. Y luego retroceda un poco. Bien, a continuación vamos a alterar nuestra configuración de rotación porque queremos esta moneda cuando se genere en No sólo para simplemente subir al aire y luego bajar un poco, sino también para dar vueltas también. Para ello vamos a necesitar sólo dos fotogramas clave. Voy a mantener pulsada la tecla Mayús y hacer click izquierdo. Este primero voy a establecer en un tiempo de cero y un valor de cero. Y entonces sólo voy a hacer click derecho en cualquier parte de aquí. Vamos a añadir otra clave. Esa es otra forma de agregar un fotograma clave para este, voy a establecer el tiempo para que sea 0.4 esencialmente el final de nuestra línea de tiempo aquí Y el valor golpeando pestaña saltando a ese campo de valor que voy a establecer para que sea 720, esencialmente dos giros. Voy a hacer clic en estas flechas aquí para traer a la vista cada uno de estos fotogramas clave. Y estoy bien con una línea recta aquí. No necesito curvar esto en absoluto. Mi moneda va a estar moviéndose hacia arriba en el aire y luego bajando un poquito. Y entonces también va a estar haciendo dos rotaciones completas, 720 grados en el transcurso de 0.4 segundos aquí. Bien, ahora volvamos a nuestro gráfico de eventos aquí fuera de nuestra línea de tiempo de monedas. Y se puede ver que ahora tenemos dos pines de salida, dos valores de flotación de nuestras pistas de flotación. Entonces esto va a estar dando salida al valor de cada flotador a lo largo del tiempo Va a estar cambiando a lo largo de 0.4 segundos para movimiento y rotación. Tenemos que retroceder un poco aquí arriba. Y vamos a traer inicio a nuestro evento. Juega hacia el frente de esta gráfica. Este nodo debería haber existido cuando creó por primera vez este blueprint Si no es así, puedes hacer clic derecho y hacer una búsqueda del evento Begin Play. Lo que vamos a hacer fuera del evento Begin Play es que vamos a llegar a nuestras variables en el panel my blueprint Ven debajo de los componentes y ahora deberías encontrar este componente de moneda anum que está hablando con esta línea de tiempo coin anum Vamos a arrastrar esto, soltarlo y conseguirlo. Y la razón por la que vamos a sacar esto es porque vamos a arrastrar fuera de esto y escribir la tasa de juego establecida. Actualmente esta línea de tiempo tiene 0.4 segundos de duración. Y voy a establecer la tasa para que sea 1.0 Se puede pensar en esto como un campo porcentual, 0.5 sería la mitad de su tasa de juego normal. Así que sólo voy a estar jugando esto a su ritmo habitual. Tenga en cuenta sin embargo, que si quisieras cambiar la velocidad a la que se juega esto, cambiar este número aquí mismo te permitiría cambiar el ritmo al que juega este sin tener que ajustar la línea de tiempo en sí. Ahora podría enchufar esto en juego. Jugar. Voy a ir con el juego desde el principio, porque quiero que esto juegue desde el principio Siempre que comience este plano en particular, Play Ahora esto se va a disparar Comienza a jugar cada vez que engendremos esto en nuestro juego Entonces ve a la derecha aquí. Traer una referencia a mi moneda desde el panel de componentes, porque quiero ajustar la ubicación y la rotación de esta a lo largo del tiempo. Clic izquierdo y arrastre. Lo que voy a hacer entonces es arrastrar fuera de esto y escribir en set. Y quiero cambiar la ubicación relativa y rotación de eso a lo largo del tiempo. Quiero cambiar el relativo en relación a la ubicación de esta moneda a lo largo del tiempo a medida que actualizamos nuestros valores a lo largo del tiempo. Aquí quiero actualizar donde vive nuestra moneda. Voy a arrastrar hacia atrás fuera de nuestra nueva ubicación aquí y escribir vector porque una ubicación consiste en una x, y y z. Y solo quiero cambiar una de estas y voy a copiar esto. Control de nodo C control V control D. Podría haber duplicado eso de inmediato. Lo siento, no quiero hacer vector para este. Quiero hacer rotador para esta nueva rotación. Voy a escribir click rotador. Esto se va a conectar a nuestra nueva rotación. Ahora bien, esto es que vamos a tomar nuestros valores flotantes y conectarlos a un campo específico. Nuevamente, solo quiero mover mi moneda hacia arriba en el eje z. A medida que cambiemos nuestro valor con el tiempo, vamos a actualizar nuestra ubicación z de la moneda, la ubicación hacia arriba y hacia abajo de la moneda. Y recuerda aquí en nuestra línea de tiempo, vamos a ir desde nuestra posición inicial hasta 300 unidades irreales y luego volver a bajar al final a 200 unidades irreales para nuestra rotación Voy a tomar la rotación aquí, y queremos girarla a lo largo del eje Z. Eso va a estar girándolo como un top a medida que sube al aire. Nuevamente, aquí en nuestra línea de tiempo, vamos a estar rotando a 720 grados. Eso son dos veces las revoluciones a lo largo de 0.4 segundos. Y ese es un buen guión para solo mover nuestra moneda, pero quiero agregar un poco de jazz aquí. Entonces lo que voy a hacer es arrastrar fuera de nuestro pin de acabado. Cuando esta animación termine de reproducirse, me voy a arrastrar fuera de aquí en el emisor de desove en emisor de desove Sistema de desove en la ubicación es el nombre del nodo que querría usar si desea usar un sistema de partículas Niagara Este es el sistema de partículas más antiguo. Lo que quiero hacer es que quiero engendrar en un emisor conocido como laúd de subrayado Recoge aquí mismo. Este existe en el pack Ef X blade infinito. Lo que entonces tendríamos que hacer es arrastrar una referencia a nuestra moneda, arrastrar fuera de aquí y decir obtener ubicación mundial. Y enchufa esto a aquí. Esencialmente, a medida que estamos actualizando la ubicación de nuestra moneda, una vez que terminemos con esta línea de tiempo, va a generar un efecto de partícula de este efecto de partícula de puf en nuestra ubicación mundial actualizada de monedas Por último, antes de que terminemos este video, un par de cosas que necesitamos limpiar. Casi se me olvida, después de nuestro emisor de engendros en el lugar de aquí, necesitamos destruir al propio actor a través de este nodo de función Puedes obtener uno de estos haciendo clic derecho en algún espacio vacío al escribir y destruir actor. La idea es que después de generar esta moneda de bloque BP en el juego, y hemos terminado con la animación de la moneda, necesitamos deshacernos de ella para destruirla, lo contrario solo va a pasar el rato en el mundo Por último, nuestra malla de monedas aquí. Olvidé que habíamos fijado nuestra rotación aquí para que fuera negativa 70 y negativa 90 en la X e Y respectivamente. Necesitamos establecer estos como nuestros rotadores de inicio para la X e y en este nodo rotador make Si no hacemos eso, esta moneda no va a girar a lo largo del eje como pretendíamos hacerlo. Así que asegúrate de establecer tu x e y en negativo 70 y negativo 90 para que coincidan con nuestros chicos de rotación inicial de monedas, eso va a hacerlo fuera para este. Te veremos en la siguiente. 36. Bloquear los productos falsos que se romperán (monedas dentro): En este video, vamos a crear un bloque rompible falso Ese es un bloque que va a parecer rompible, como nuestro bloque BP, rompible que ya hemos creado Sin embargo, cuando nuestro personaje interactúa con él, va a aparecer en nuestra moneda de bloque BP Nuestro jugador va a ganar algunos puntos y sumar a su total de monedas. Y ese bloque no va a ser completamente destruido, se va a quedar por ahí. Y nuestro jugador puede usarlo como plataforma. Bien, sigamos adelante y comencemos. Aquí vamos a hacer click derecho sobre nuestro bloque BP rompible Y vamos a crear un duplicado de esto para ayudar a ahorrar algo de tiempo. Vamos a llamar a este bloque BP falso Underscore Breakable Y luego presionaré enter sobre eso. Hagamos doble clic en esto para abrirlo. Ahora como podemos ver, esto hereda de nuestra base de bloque BP que es nuestro padre Como también podemos ver, también hemos copiado sobre todo el código que pertenecía a nuestro bloque BP rompible Aquí está nuestro bloque rompible y todo eso, porque creamos un duplicado del mismo, está presente en nuestro falso rompible Esto nos va a ahorrar un poco de tiempo, aunque aquí vamos a estar haciendo algunas ediciones Bien, lo primero que vamos a hacer es subir este poco de guión aquí mismo. Voy a tomar nuestro bloque interactuar, FX. Tenemos que hacer click izquierdo y arrastrar alrededor de esto. Voy a tocar la tecla y después voy a poner cero paréntesis Esta va a ser nuestra obra, Whoops, play FX type script Voy a comentar color este negro sobre en el panel de detalles aquí solo para agregar un poco más de contraste. Esto es solo para ayudar a mantener las cosas un poco más ordenadas y ordenadas Ahora sí queremos reproducir este bloque interactuar con los efectos cuando golpeemos este bloque. No obstante, voy a ampliar un poco nuestra funcionalidad aquí. Lo que queremos hacer además de tocar algunos efectos de interacción de bloques, es que queremos cambiar el material asociado a nuestros cubos. Voy a arrastrar y soltar esto en nuestra gráfica. Voy a arrastrar fuera de aquí y escribir en conjunto Material. Ahí está. Establecer Material. Acercaremos el zoom hacia arriba manteniendo pulsado el control y desplazándonos hacia adentro Queremos cambiar el material de este bloque cuando interactuamos con él a nuestro material Interact. Recuerde, heredamos todas estas variables de nuestro padre, nuestra base de bloque BP. Y se exponen aquí mismo, muestran variables heredadas. Si no tienes esa casilla de verificación encendida, voy a arrastrar y soltar esto en nuestra entrada de material aquí mismo Básicamente estamos diciendo que cuando interactuamos con este bloque, vamos a cambiar el material asociado a nuestro cubo aquí con nuestro bloque. Ese tipo, vamos a cambiar eso a este material, este bloque usó mirada. Ya no va a tener este aspecto de ladrillo. Va a tener un marrón sólido una mirada a ella. Bien, entonces eso va a estar saliendo del entonces pin cero de nuestro nodo de secuencia. Siguiente Voy a hacer click izquierdo y arrastrar alrededor de este toque la tecla. Voy a llamar a esto nuestros puntos. En realidad, voy a hacer el 01 para demostrar que esto viene de la única secuencia. ¿Qué tal solo uno? Esto va a ser nuestro sumar puntos. Vamos a estar desove en ese widget de puntos y agregándolos. También vamos a colorear este negro. Ahora lo bueno de esto es que podemos modificar cuántos puntos damos por este bloque, actualmente está establecido en diez, pero hagamos este 100. Podemos alterarlo seleccionando nuestra variable aquí mismo, o puede seleccionar la variable real dentro de la propia gráfica. Voy a poner esto en 100. Entonces algo más voy a hacer, ya que acabo de modificar esta variable de puntos, también voy a volver a buscar aquí arriba Y vamos a modificar el efecto de sonido asociado a interacción con este bloque. Actualmente está listo para romper ladrillos. Cuando interactuamos con esto, en realidad vamos a estar desove en una moneda. Entonces cambiemos esto. Al hacer clic en este menú desplegable, voy a escribir moneda para un efecto de sonido. Bien, bajando un poco más. Voy a añadir algunos pines más aquí mismo. Y voy a eliminar a este actor de destruir porque no vamos a estar destruyendo este ladrillo. Eliminar eso. Agreguemos algunos pines más aquí, 12 haciendo clic en ese botón. Lo siguiente que vamos a hacer es engendrar otro actor, click derecho engendrar actor de clase Lo que quiero engendrar aquí es nuestra moneda de bloque BP. Bp subrayado bloque moneda. Vamos a enchufar esto de inmediato fuera de nuestro, luego para fijar ahora tenemos que darle a esto una transformación que es una ubicación en una rotación donde vamos a estar desove esto en Entonces, si hago clic derecho en algún espacio vacío, transforme, esto obtendrá la ubicación y rotación de nuestro bloque falso donde sea que esté en el mundo. Vamos a enchufar eso así. Entonces vamos a traer en nuestra referencia de Player Controller arrastrar y soltar eso en. Vamos a conseguir que arrastre de aquí y vamos a agregar monedas. Aquí es donde llegamos a sumar realmente las monedas a nuestro total. ¿Cuántas monedas nos gustaría agregar? Bueno, tenemos esta variable justo por aquí. Actualmente, se incumple a uno. De hecho, podrías hacer que esto valga diez monedas si quisieras un tiro que valga diez monedas. Voy a dejarlo a la una y simplemente enchufar esto así. Ahora voy a arrastrar por ahí este pedacito de guión. Clic izquierdo, arrastre, tome. Voy a llamar a esto agregar monedas poco de guión colorear este negro también. Yo quería señalar algo aquí, es que recordar dentro de nuestro controlador de reproductor es donde creamos nuestro script ad coin. Y esto va a llamar a ese evento personalizado. De hecho, aquí hay un pequeño consejo para saber que si hacemos doble clic en este anuncio monedas aquí mismo, va a abrir nuestro controlador de jugador y saltarnos a donde está este evento personalizado. Este es el evento personalizado al que estamos llamando desde nuestro bloque falso, rompible, y aquí es donde realmente se está llevando a cabo la adición de las monedas Ahora tenga en cuenta aquí estamos enchufando nuestras monedas para agregar. Esto va a alimentar a esta convocatoria y estas monedas para agregar van a ser emitidas aquí mismo en nuestro evento personalizado. Entonces estamos alimentando en el número uno aquí. Y aquí en nuestro evento personalizado lo está pasando aquí para agregar a nuestro total de monedas. Entonces solo quería dejar eso claro. Bien, lo siguiente que quiero hacer es agregar un poco de animación a nuestro bloque para que cuando lo golpeemos, vaya a chocar un poco en el aire y luego vuelva a caer. Porque recuerden, este bloque no va a ser destruido. Para facilitar esta animación de bloques, voy a traer una línea de tiempo. Así que hagamos clic derecho en algún espacio vacío. Trae una línea de tiempo, haciendo clic con el botón derecho, buscando tiempo. Una línea de tiempo está en la parte inferior. Y voy a llamar a esto mi cuadra Anum. Bien, vamos a enmarcar esto un poco más. Voy a bajar un poco más nuestro nodo de secuencia . Entonces cuando finalmente conectemos esto, ahora este bloque anum, podemos hacer doble clic en esto para crear algunas pistas de anum Haga doble clic en esto. agregar una pista de movimiento aquí. Va a ser de la variedad float, así que hagamos clic en este botón Plus Track. Va a ser una pista de flotación. Vamos a llamar a este movimiento. Nuestra pista aquí va a ser de tres décimas de segundo de largo Entonces voy a cambiar nuestra longitud aquí mismo para que sea 0.3 segundos. Esta animación de bloques va a ser bastante rápida. Voy a mantener presionado el control y desplazarme. Rueda en arriba. Entonces voy a hacer click derecho y panorámica para poder ver nuestra línea de tiempo 0.3 segundos aquí. Ahora voy a sumar tres puntos, tres fotogramas clave a nuestra gráfica aquí. Voy a hacer click derecho, voy a agregar un fotograma clave. Este primero voy a establecer en un tiempo de cero y un valor de cero. Esencialmente diciendo al principio nuestro movimiento va a estar justo donde está ahora mismo. Voy a hacer click derecho otra vez. Justo por aquí. Vamos a sumar otra clave, y vamos a decir en el punto 1 segundo marca, nuestro valor va a ser 50. Ahora lo va a saltar de arriba aquí, pero si hago clic en esta flecha vertical aquí, la va a poner a la vista. Básicamente estoy diciendo en una décima de segundo, saltar nuestro bloque 50 unidades irreales Entonces voy a hacer click derecho a la derecha otra vez aquí abajo. Vamos a agregar otra clave, y voy a decir en la marca de 0.3 segundos al final de nuestra línea de tiempo aquí, nuestro valor va a ser cero una vez más ahora voy a resaltar ambos fotogramas clave Tengo ese seleccionado ahí mismo, manteniendo presionado el control, yendo al click izquierdo, este de aquí. Entonces puedes hacer click derecho sobre cualquiera de estos. Y voy a establecer la interpolación clave aquí para que sea automática Y lo que esto va a hacer es que va a hacer esto curvilíneo Entonces vamos a disparar ese bloque en una décima de segundo, muy rápidamente, de manera lineal. Y luego lo vamos a volver a bajar. Va a suceder rápido, pero va a estar flexibilizando de nuevo hacia abajo. Si dejaste clic y arrastra para resaltar todos estos puntos así todos ellos están seleccionados. Puedes hacer clic en ambas flechas para enmarcarlo y obtener un poco mejor visual en cuanto a cómo va a ser eso. Bien, ahora saltando de nuestra línea de tiempo y volviendo a nuestro gráfico de eventos, podemos ver que nuestro pin de movimiento ahora está expuesto. Y podemos usar esto para nuestro script para ajustar la ubicación de nuestro cubo, nuestro bloque aquí. Entonces voy a traer aquí una referencia a nuestro cubo, nuestro componente de bloque. Vamos a arrastrar fuera de esto y escribir la ubicación relativa establecida. Vamos a estar cambiando la ubicación de nuestro bloque aquí en relación a donde existe actualmente. Si arrastramos hacia atrás fuera de la nueva ubicación, podemos escribir el vector make para exponer los x, y y z de una manera como esta. Ahora solo queremos mover esto hacia arriba en la dirección que es la dirección arriba y abajo, No hacia adelante y hacia atrás izquierda y derecha para rematar nuestro guión. Aquí salimos de nuestro pin de secuencia. Vamos a enchufar esto en juego desde el principio. Como esto se actualiza a lo largo de los 0.3 segundos que hemos configurado en nuestra línea de tiempo, vamos a estar actualizando la ubicación, la ubicación relativa de nuestro cubo. Bien, con eso hecho, vamos a hacer clic izquierdo, arrastrar, tocar esa tecla. A esto se le va a llamar nuestro bloque. Um, vamos a colorear este negro también. Ahora en realidad podemos compilar esto y guardarlo. Nuestros guiones se ven bien y podemos probar esto en nuestro nivel, pero va a haber un problema, que arreglaremos aquí en un momento. Pero solo para ver cómo va a ser esto, tengo mis dos ajustes de D snap en mi nivel principal aquí. Déjame traer a este tipo. Traeré un par de ellos enseguida. Entonces hay uno manteniendo presionada la tecla Alt, haga clic izquierdo y arrastre para traer un duplicado así. Aquí vamos, vamos a saltar y jugar y comprobar nuestro total de monedas. Y nuestros puntos, deberíamos estar consiguiendo ambos. Entonces aquí vamos. Tengo una moneda, tengo 100 puntos. Eso está todo bien y bien, tienes que ir con el segundo. Ahora tengo dos monedas y 200 puntos. Pero aquí hay un par de problemas. Simplemente puedo seguir interactuando con él. Entonces eso obviamente no se desea, por lo que se necesita más guión. Bien, entonces, ¿qué tenemos que hacer para arreglar esto? Bueno, vamos a saltar de nuevo nuestro bloque falso rompible Vamos a hacer un poco de trabajo en el mismo comienzo de esto. Y entonces también vamos a incluir algo fuera de esto, luego cuatro pines. Así que agrega un poco de espacio entre nuestro bloque de hit de eventos y nuestro nodo de secuencia aquí. Ahora lo que queremos es solo esta secuencia para hacer esencialmente lo que va a hacer la primera vez que golpeamos este bloque la segunda vez, simplemente queremos tocar un efecto de sonido de banco, un efecto de sonido de golpe de ladrillo. Así podemos facilitar todo esto trayendo en nuestro acabado interactuando Booleano que habíamos configurado de nuevo en nuestra base de bloques Nuevamente, todo esto es heredado de nuestra base de bloques BP que establecimos hace mucho tiempo. Nuevamente, así es como estamos mostrando esas variables heredadas ahí mismo. Vamos a traer esto , vamos a conseguirlo. Por defecto, este booleano se establece en false. Vamos a arrastrar fuera de aquí y traer un nodo de sucursal. Vamos a recablear esto así. Vamos a hacer click izquierdo y arrastrar. Y vamos a decir que si esta condición que empieza como falsa es falsa, entonces vamos a hacer toda esta interacción de bloqueo como acabas de verme hacer. No obstante, si esto es cierto, vamos a arrastrar fuera de la verdadera rama. Vamos a tocar Sound dos D. Y en cambio lo que vamos a hacer es que vamos a tocar un efecto de sonido bump. Mario brick, bump, una especie de efecto de sonido de balk. ¿Bien? Entonces todo esto está bien y bien. Sin embargo, esto plantea la pregunta, si esto está comenzando como falso, cada vez que golpeamos este bloque, esencialmente deberíamos estar saliendo de esta rama y haciendo todas estas cosas, ¿verdad ¿Cuándo se va a convertir esto en verdad? Bueno, ahí es donde vamos a construir a partir de esto. Después cuatro pines, vamos a mantener pulsada la tecla Alt, click izquierdo y arrastrar. Al mantener presionada la tecla Alt, inmediatamente traerás un setter de esta variable Y si arrastramos fuera del entonces cuatro pin, diremos que esto se voltea a true después de que interactuemos con él la primera vez Así que podemos meter esto aquí abajo, así que esencialmente lo que está pasando es la primera vez que golpeamos este bloque, vamos a decir, oye, terminamos de interactuar con él No, es falso. Así que vamos a hacer todas estas cosas. Vamos a tocar esos efectos. Vamos a sumar esos puntos. Vamos a sumar esas monedas. Vamos a reproducir esa animación de bloques. Ah sí, y por cierto, vamos a cambiar esta variable ahora a true para que la segunda vez que golpeemos este bloque, esto se evalúe a true. Y en cambio simplemente vamos a disparar fuera de esta rama donde solo tocamos ese sonido. Vamos a compilar esto y guardar y probar esto. Ahora estoy interactuando con este bloque una vez, obtenemos 100 puntos, obtenemos una moneda y vuelvo a interactuar con ella. El bloque no sube aquí. Ese efecto de sonido de balk. Salta sobre esto. Todavía es interactable en términos de que puedo ir encima de Todo está funcionando ahora como se esperaba. Todo bien. Trabajo. Bien hecho. Ahora, solo para enmarcar todo esto en caso de que quisieras pausar el video y tomar una captura de pantalla o mirar el trabajo que hemos hecho aquí. Esta es la parte superior de nuestro guión. Simplemente avanzando hacia abajo, esta es la parte inferior del guión. La porción media del guión, si se quiere, Y luego volviendo a bajar hasta el fondo. Bien chicos, aquí hemos hecho un buen trabajo y de hecho, esto nos está configurando muy bien para el próximo ladrillo que vamos a hacer chicos, eso lo hará por este. Te veremos en la siguiente. 37. ¿Bloquear ? (Monedas dentro): Bienvenida. En este video, nuestro objetivo es crear un bloque de preguntas que cuando nuestro personaje interactúa con él, rinda una moneda Ahora bien, la buena noticia aquí es que este va a ser el video más corto de la historia, porque esencialmente vamos a estar creando un duplicado de nuestro falso bloque rompible y simplemente cambiando un material Así que adelante y haz clic derecho en tu bloque, falso rompible. Duplicemos esto. Vamos a renombrar este bloque BP Q, como moneda de subrayado Entonces. Vamos a hacer doble clic sobre esto para abrirlo. Literalmente vamos a estar manteniendo todo este guión igual. Lo único que vamos a estar cambiando es por aquí. Seleccionaré nuestra pestaña Vista, luego seleccionaré nuestro Cubo Vamos a cambiar el material asociado esto para que tenga nuestro bloqueo. Pregunta uno, Matt. Podemos decir esto enseguida. Ahora bien, si quisiéramos, podrías cambiar cuántas monedas vale esto. Voy a dejar esto a la una. La única razón por la que estamos creando este bloque es una porque es fácil y da un poco más de variedad visual en el nivel. En muchos juegos de Mario hay bloques de preguntas que producen una sola moneda, por eso la vamos a agregar. Vamos a probar esto, saltando y jugando. Como puedes ver, podemos interactuar con él, cambia el material, obtenemos 100 puntos. Conseguimos una moneda hecha, hecha, chicos, eso va a hacerlo todo por esta. Nos vemos en la siguiente. 38. Bloquear monedas invisibles: Bienvenidos de nuevo a todos. En este video, vamos a crear un bloque que va a comenzar invisible. No obstante, si nuestro personaje jugador encuentra e interactúa con él, es decir golpearlo desde la parte inferior, lo harán visible y obtendrán una moneda La buena noticia aquí es que podemos duplicar mucho de lo que hemos creado aquí para darnos una ventaja. Nuestra moneda BP block Q aquí. Haga clic derecho sobre este tipo. Vamos a duplicar esto. Y voy a llamar a este bloque BP moneda de subrayado invisible. Hagamos doble clic en esto para abrirlo de inmediato. Mucho de este código va a ser bueno. De hecho, todo va a ser bueno. Vamos a estar sumando un poco a ello. Pero quiero comenzar en nuestra ventana gráfica. Ahora, esto comenzará invisible para el jugador. No obstante, el diseñador podrá ver esto cuando trabaje en el editor de niveles. De hecho, permítanme arrastrar y soltar esto en nuestro nivel ahora mismo. Ahora el problema aquí es que si eres el diseñador, este bloque va a verse idéntico a nuestro bloque de monedas Q. Entonces todo lo que quiero hacer aquí es que solo quiero agregar un visual diferente a este bloque solo para que le destaque al diseñador que esto es invisible, alguna indicación. Ahora, antes de filmar este video, entré en mi carpeta Texturas. Dé clic derecho en nuestro bloque, pregunta dos, y creé un material a partir de él. Entonces después de crear ese material, simplemente lo arrastré y solté. Y lo moví a nuestra carpeta de materiales. Y puedes ver eso aquí mismo, voy a estar aplicando esto a nuestro cubo aquí en este bloque BP, invisible para que tengamos alguna diferencia visible. Bien, seleccionando nuestro cubo en el panel de detalles debajo de los materiales, cambiaremos a la pregunta de bloque dos solo para que se vea un poco diferente. Genial, ahora con nuestro componente cubo seleccionado, vamos a agregar un componente más aquí. Vamos a agregar una caja buscando fuera de caja. Estoy buscando colisión de caja, agregue este componente, presione Enter para mantener ese nombre de caja. Con esto seleccionado en el panel de detalles, quiero tener alguna extensión de caja Va a ser de 100 por 50 por 100. Entonces vamos a crear esta caja invisible a su alrededor. Y quiero configurarlo en la dirección z. Voy a establecer esto para que sea 51. Y la razón por la que estoy configurando esto es porque quiero hacerlo para que apenas esté atravesando el fondo del bloque. La parte inferior del bloque está realmente expuesta. La idea aquí es que nuestro jugador pueda golpear y chocar con la parte inferior No obstante, si saltan a esto desde un ángulo superior o saltan así, van a chocar con esta caja y apagar la colisión de ésta De esta manera poder no interactuar con él. Esta caja va a poder ser utilizada por nosotros, el diseñador, para apagar y encender la colisión para este bloque. Bien, para eso, vamos a saltar a nuestro gráfico de eventos. Ahora con nuestros componentes de caja seleccionamos la caja, la caja invisible. Vamos a hacer click derecho sobre esto. Vamos a agregar un evento para cuando empecemos a superponerlo. Bajemos eso un poco más abajo. Después vamos a hacer clic derecho sobre el cuadro nuevo y queremos agregar un evento para cuando terminemos de superponer eso. Ahora asegúrate de que estás hablando con tu componente de caja. Dice entre paréntesis aquí mismo. Caja caja, no el cubo. Queremos estar superpuestos y terminar superponiendo la caja. vamos a hacer click derecho en Aquí vamos a hacer click derecho en algún espacio vacío y vamos a escribir en get player character. Entonces voy a hacer click derecho en algún espacio vacío y voy a escribir el signo igual. Y voy a traer en un par de nodos iguales control D eso para duplicar eso. Y voy a enganchar esto como así otro actor para conseguir personaje de jugador. Otro actor para conseguir personaje de jugador. Entonces voy a traer algunos nodos de rama manteniendo pulsada la tecla B y haciendo click izquierdo 1.2 Todo bien, nuestro código va a ser así si es nuestro personaje jugador, si nuestro personaje jugador es el otro actor que se superpone a esa caja, queremos hablar con nuestro cubo aquí, el bloque real con el que queremos hablar eso arrastra eso a nuestro gráfico de eventos. Queremos establecer solo la colisión habilitada. Queremos desactivar la colisión dejando este nuevo tipo a ninguna colisión. La idea aquí es que si fuera el personaje jugador ese fue el otro actor el que se superpone a esa caja. Si eso es cierto, vamos a decirle a nuestro cubo que apague la colisión. Es decir, nuestro personaje va a pasar por él con este nodo seleccionado. Haz el control D para duplicarlo. Por el contrario, vamos a decir, asegúrate de enganchar tu cubo aquí abajo, que si fuera nuestro personaje jugador, si usas al otro actor que terminó superponiendo esa caja, si eso es cierto, vamos a decírselo a nuestro cubo. Esencialmente, volver a encender su colisión. Colisión habilitada ahí mismo. Consulta habilitada para colisiones en física. Vamos a hacer clic izquierdo y arrastrar alrededor de este toque esa tecla C y voy a carl esto, nuestro script de colisión de bloqueo de palanca. Y voy a colorear este negro enseguida en el panel de detalles seleccionando esa barra de color. Bien, vamos a compilar y guardar esto de inmediato. Y una vez más aquí en nuestro editor de niveles, vemos este bloque. Mi personaje va a engendrar derecha a la izquierda del mismo, por así decirlo Juguemos esto. Si lo podemos ver ahora mismo, si golpeo la parte inferior, puedo chocar con ella. No obstante, si volviera a jugar eso y esta vez voy a pasar por el lado superior de la misma, voy a cortar justo por el fondo, puedo chocar en la parte inferior, pero pasaría por ella o pasaría por ella si me acerco desde un lado o desde arriba así Bien, entonces un par de cosas que arreglar aquí arriba. Volvamos a nuestro bloque BP. Moneda invisible, voy a encontrar que nuestro evento comience a jugar, que va a existir justo aquí arriba. Recuerde que este bloque en última instancia hereda de nuestra base de bloques Entonces es por eso que existe este poco de guión aquí mismo. Vamos a construir a partir de esto trayendo nuestro cubo así. Vamos a arrastrar fuera de esto y escribir en la visibilidad del set. Podemos extender este script aquí. Estamos diciendo hey cubo. Al comenzar a jugar, no vas a ser visible. Entonces, si tuviera que compilar y decir esto, ahora si iba a entrar a mi nivel, lo podemos ver aquí en el editor de niveles. Pero una vez que empiezo a jugar, no puedo ver ese cubo. Bien, todavía puedo interactuar con él, pero no podemos verlo desde el principio. Un poco más de trabajo que hacer aquí. Volvamos a saltar a nuestro guión aquí. Vamos a desplazarnos hacia atrás. Vamos a agregar otro pin a nuestro nodo de secuencia aquí fuera del bloque de aciertos de eventos. Agreguemos un pin más. Y voy a tomar este acabado interactuando que estaba fuera del entonces cuatro pin. Sólo voy a mover esto hacia abajo al entonces cinco pin. Al mantener presionado el control, haga clic izquierdo y arrastre. Puedo mover este cable hacia abajo a entonces cinco. Déjame mover un poco mi nodo de secuencia aquí abajo porque voy a estar agregando algo de script aquí abajo. Ahora aquí abajo voy a traer una referencia a mi cubo. Una vez más, arrastra y suelta eso aquí. Vamos a arrastrar esto y escribir solo la visibilidad del set. Esta vez vamos a marcar esta casilla. Vamos a cablear esto fuera de los entonces cuatro pines así. Nuestra idea es cuando golpeamos el bloque, vamos a decirle a nuestro cubo que sea visible, vamos a poder verlo una vez más. Algo más que también nos gustaría hacer aquí es una vez que hayamos golpeado ese bloque, y ahora es en el juego donde el jugador lo ve. Aquí vamos a decirle a nuestro colisionador de cajas, arrastrar y soltar esta gráfica interior Vamos a decir eso para que se destruya, escriba componente destructor porque una vez que hayamos revelado ese bloque oculto, ya no queremos poder atravesarlo. Hagamos clic izquierdo y arrastremos este toque la tecla del asiento, llamaré a esto nuestro giro de cuatro pines la visibilidad como. Así que sigamos adelante y giremos este bloque para crear un poco más de contraste. Entonces ese va a ser nuestro guión ahí mismo. Voy a mover nuestro nodo de secuencia aproximadamente de nuevo a su posición. Sigamos adelante y compilemos y digamos esto. Y vuelve a nuestro editor de niveles aquí. Voy a mover este bloque justo encima cabeza de nuestro personaje para que sepamos dónde va a estar. Voy a hacer click en play. Ahora si iba a saltar, puede ver que el bloque ha sido revelado y ahora puedo chocar con él por lo de costumbre Eso está bien y bien si trato de volver a golpear el lado inferior, no más monedas, eso es bueno. Ahora intentemos acercarnos a esto desde un lado. Entonces voy a seleccionar esto, voy a tratar de acercarme a esto desde un ángulo lateral, en algún lugar por aquí. Se puede ver que simplemente pasamos por él como si no hubiera nada ahí. No obstante, si iba a golpearlo desde el lado inferior, somos capaces de interactuar con él. Ahí lo tenemos chicos. un bloque de monedas invisible que se apagará para éste. Te veremos en la siguiente. 39. Caja de monedas en bloque: En este video, vamos a crear una caja de monedas. Y si no estás seguro de qué es eso, va a ser un bloque que parece un bloque rompible regular, pero ahí está, va a tener monedas adentro Y eventualmente se apagará y se convertirá en un bloque sólido, así como así. Eso es lo que nos espera. Para empezar aquí, vamos a venir en nuestra carpeta de bloques de planos Voy a hacer click derecho sobre nuestra moneda de bloque BP. Vamos a duplicar esto enseguida. Y voy a llamar a este activo BP bloque caja de monedas. Y luego con eso resaltado, podemos simplemente presionar la barra espaciadora o hacer doble clic sobre ella para abrirla con ella resaltada. Me gusta hacer la barra espaciadora para abrirla enseguida. Lo que voy a hacer es cambiar el material asociado a nuestro cubo. Si selecciono nuestra ventana gráfica, nuestro cubo, quiero que esto parezca un bloque rompible en el panel de detalles Voy a venir bajo materiales y lo voy a cambiar para bloquear material subrayado rompible ahí mismo Y luego voy a agregar un par de variables sobre en el panel my blueprint también La primera variable que vamos a crear se va a llamar cantidad de temporizador. Esto va a determinar cuánto tiempo tenemos para recoger tantas monedas como sea posible antes de que se convierta en un bloque sólido. Voy a cambiar el tipo aquí a un flotador. Y también voy a dar click sobre este pequeño icono del globo ocular aquí mismo para hacer editable esta instancia Por lo que tenga en cuenta que cuando hacemos clic en ese globo ocular , también marca esta casilla Entonces esos son uno de los mismos al marcar esta casilla se enciende este globo ocular Al hacer clic en este globo ocular se marca esa casilla. A continuación, voy a crear otra variable. Este va a ser llamado tiene temporizador caducado. interrogación. Esta va a ser una variable booleana Sigamos adelante y compilemos esto de inmediato para que podamos establecer algunos valores predeterminados. Ha caducado Tim er. Voy a dejar eso como falso por tiempo o cantidad. Voy a establecer eso en un valor de 5.0 para comenzar. A continuación vamos a saltar sobre el gráfico de eventos. Y aquí vamos a modificar un poco nuestro guión. Lo que quiero hacer es, para empezar, bajo esta sección entonces cero del guión, voy a cortar este cable aquí mismo donde estamos poniendo el material. Voy a mantener pulsada la tecla Alt y click izquierdo. Y voy a mover esto hacia el frente de nuestro guión. Vamos a estar agregando algo de guión hacia el frente aquí. Si quieres crear algún espacio entre ese nodo de secuencia y nuestro evento, pulsa bloque. Voy a colocar esto en algún lugar de aquí abajo más para venir en eso en un poquito. Entonces lo que voy a hacer es que voy a desenganchar nuestro, terminar de interactuar en el fondo aquí Entonces voy a mantener pulsada la tecla Alt y click izquierdo. Desenganchar eso Entonces voy a bajar un poco todos estos cables porque quiero un nuevo bit de guión entonces cero. Entonces voy a mantener presionado el control y sólo voy a poner éste abajo, nuestros puntos de suma. De hecho voy a cortarle este cable manteniendo pulsada la tecla Alt y a la izquierda haciendo clic en esto Bueno en realidad no voy a cambiar la posición de todo esto. Debería haber bajado eso. Sólo voy a mantener pulsada la llave de control. Me moveré hacia abajo o agregaré monedas. Voy a enchufar esto así, aunque este juego de efectos, voy a cambiar esto hacia abajo. Mantenga presionado el control haciendo clic izquierdo. También vamos a meter eso hacia abajo. Ahora sé que todos mis números aquí están un poco apagados. Puedo ajustarlas a su debido tiempo. A lo mejor voy a hacer eso al final del video. Pero solo voy a bajar todo esto por el momento porque quiero construir a partir del entonces pin cero. Queremos esencialmente establecer un temporizador de nuestro pin entonces cero porque solo queremos que se nos permita interactuar con este bloque durante una cantidad de tiempo establecida. Entonces lo que vamos a hacer aquí es traer un nodo once, mantén presionada la tecla y click izquierdo, eso te traerá en un nodo once. Y entonces lo que quiero hacer fuera de esto es que voy a arrastrar y escribir temporizador establecido por evento, ese tipo de aquí mismo. Y voy a agregar un nodo de evento personalizado. Entonces clic derecho evento, voy a llamar a este temporizador caducado. Entonces lo que quiero hacer es enchufar esto a nuestros eventos personalizados. Podemos arrastrar hacia atrás fuera de nuestro tiempo establecido o por evento, enchufarlo aquí. Nuestro tiempo va a ser determinado por este tiempo o cantidad. Puedo arrastrar y soltar esto justo aquí. Entonces, y luego fuera de nuestro temporizador caducado, lo que quiero hacer es que quiero configurar nuestro tiene temporizador caducado. Podemos arrastrar esto y decir “set it”. Quiero comprobar esto a verdad. Esencialmente lo que va a pasar es la primera vez que interactuamos con este bloque, vamos a pasar por aquí una vez. Vamos a establecer un temporizador. Después de esta cantidad de tiempo, 5 segundos o lo que sea que fijemos esto, ha caducado. Se encenderá este evento de clientes. Y eso va a voltear nuestro temporizador de Hes caducado lingotes a true Vamos a hacer clic izquierdo y arrastrar el toque en la tecla C. Este va a ser nuestro nuevo script de pin cero, establecer el tiempo de interacción de bloques. Y voy a colorear este negro también. Y ahora solo en interés del tiempo, no voy a ajustar todos estos números aquí mismo. Eso es simplemente opcional solo para ayudar a indicar que eso viene del entonces uno o luego dos pines, etcétera Sin embargo, voy a desplazarme hacia abajo y encontrar mi setter terminado de interactuar aquí abajo Voy a mover esto hacia el frente de nuestro guión también porque vamos a cambiar nuestro enfoque a la parte inicial de este guión. Como recordarán, lo que estamos haciendo el principio es al golpear este bloque, estamos tratando de averiguar si hemos terminado de interactuar, lo que este lingote de aquí abajo se convierte en cierto Por defecto esto es falso. Así que solo interactuamos con nuestro bloque. Queremos construir a partir de esta falsa rama. Entonces voy a romper este cable manteniendo pulsada la tecla alt e izquierda. Y voy a traer nuestro haz timer caducado lingotes. Entonces voy a mantener presionado el control y click izquierdo. Y si mantenemos pulsado el control y pulsamos izquierdo y lo arrastramos hacia adentro, eso traerá un setter Entonces voy a arrastrar fuera de esto y traer un nodo de sucursal. Vamos a trabajar así. Por defecto esto va a ser falso. Entonces la primera vez que golpeamos este bloque, vamos a decir, oye, no hemos terminado de interactuar. Averiguemos si el temporizador ha caducado. Fuera de esto, vamos a hacer una vez mantenga pulsada la tecla y haga clic izquierdo. Vamos a hacer algo una vez si es cierto, si es falso que no hayamos tenido que expirar el temporizador, voy a enchufar esto todo el camino a nuestro nodo de secuencia y voy a traer un par de nodos de reencaminamiento enseguida y voy a traer un par de nodos de reencaminamiento enseguida Doble clic en ese cable. Traeremos algunos nodos de reencaminar. Ahora si es cierto, después de que hayamos golpeado este bloque la primera vez y este temporizador haya expirado, convirtiendo así este lingote en verdadero Si eso es cierto, queremos que algo suceda una vez. Bueno, ¿qué queremos que suceda? Bueno, en realidad queremos que pasen un par de cosas aquí. Voy a traer el nodo de secuencia, mantén pulsada la tecla S y click izquierdo. Lo primero que vamos a hacer es poner nuestro material aquí. Queremos configurar nuestro material para que parezca que ya se ha usado. Nuestro cubo aquí es para lo que estamos configurando el material. El material de Interact que queremos establecer a este bloque usado como el que tenemos. Esto es lo primero que vamos a hacer. Y luego también vamos a configurar esto terminar de interactuar justo después de esto, después de que hayamos cambiado ese material, vamos a decir entonces, oye, hemos terminado de interactuar aquí, ya estamos todos hechos. Así que adelante y cambia esta variable ahora a true. La próxima vez que nuestro personaje intente interactuar con él, solo va a jugar ese bache de ladrillo de banco. Sonido. Bien. Lo primero que queremos hacer, lo segundo que queremos hacer es simplemente continuar en nuestra secuencia. De hecho, no sólo en interés de la organización aquí. Voy a tomar nuestro entonces pin cero y enchufar eso aquí. Esto lo puedo enchufar aquí abajo así. Y solo intentaremos ordenar esto para que se vea nuestro guión revisado, así que la primera vez que golpeemos nuestro bloque, vamos a averiguar si hemos terminado de interactuar. Por defecto, eso va a ser falso. Entonces entonces vamos a venir a nuestra sucursal y averiguarlo, oye, ¿ha caducado el temporizador? Por defecto, va a ser falso, lo que significa que solo vamos a interactuar con esto nuestra primera vez. Tras nuestra primera interacción, una vez vamos a configurar este temporizador. Entonces el reloj está corriendo, en este caso 5 segundos. Vamos a hacer entonces todas estas cosas inmediatamente después de que se configure este temporizador. Entonces todas estas cosas van a seguir de inmediato. Entonces después de 5 segundos, esto se vuelve cierto. Así, si intentamos golpear el bloque después haya expirado el tiempo, si es cierto, vamos a hacer una vez configurado nuestro material para que sea este bloque usado, esencialmente vamos a permitir un bache más, una interacción más, y luego vamos a darle la vuelta a este verdadero, haciéndolo así para que la próxima vez que intentemos golpearlo, simplemente nos toparemos con eso y toquemos ese sonido. Sigamos adelante y compilemos esto. Arrastremos esto a nuestro nivel y veamos si esto funciona. Y luego enmarcaré este bit de guión en cámara para todos ustedes para que puedan revisar si es necesario. Aquí va a estar nuestra caja de monedas. Ahora te darás cuenta, déjame traer dos estos. Voy a Alt y arrastre en un segundo. Entonces ambas son cajas de monedas encima en el panel de detalles. Puedo personalizar la cantidad de tiempo que esta caja de monedas va a permanecer activa. Entonces pondré este segundo, este lejano izquierdo uno de aquí a 10 segundos. Y voy a decir que cada vez que interactúe con ella, va a sumar cinco monedas en lugar de una y en lugar de 100 puntos por cada moneda, voy a ponerla en 500. Entonces esta primera caja de monedas, parámetros predeterminados bastante normales. El segundo va a ser un poco más extremo. Sigamos adelante y demos una jugada a esto. Bien, nuestra caja de monedas normal va a permanecer viva 5 segundos aquí, 12. Se puede ver que está incrementando una moneda a la vez, 100 puntos a la vez Después de 5 segundos ya no se puede interactuar con él. Este va a seguir vivo por 10 segundos. Aquí vamos. Cada uno vale 500 puntos, y como puedes ver, está sumando cinco monedas a la vez. Después de 10 segundos, este tiempo de espera. Ahí lo tenemos. Contamos con una caja de monedas altamente personalizable. Vamos a seguir adelante y poner esto en pantalla una vez más, para que puedas pausar el video aquí si es necesario. Ese es el bit inicial del guión. Luego saliendo de nuestro nodo de secuencia aquí, tenemos nuestro nuevo pin entonces cero. Asegúrate de marcar esa casilla aquí mismo. Cantidad de tiempo establecida en algún valor predeterminado y todo esto va a ser el resto como lo era antes. Bien chicos, eso va a hacerlo todo por este. Te veremos en la siguiente. 40. Flor de fuego en bloque #1: En el transcurso de los próximos videos aquí vamos a trabajar en darle a nuestro personaje el poder de las flores. Pero tenemos que comenzar creando un bloque que cuando interactúa con, en realidad genera una flor de fuego Entonces eso es en lo que nos vamos a centrar en el transcurso de estos dos próximos videos. Y luego nos vamos a centrar en darles nuestros jugadores algunas bolas de fuego para disparar primero a bloque, luego la capacidad de disparar bolas de fuego Volvamos a hacerlo aquí en nuestro navegador de contenido. Vamos a tomar un atajo una vez más creando un duplicado de nuestra moneda Q del bloque B. Puedes hacer click derecho sobre él para duplicarlo o Control plus D también lo duplicará. Cualquiera de los dos métodos va a funcionar bien. Voy a llamar a esto BP block fire flower. Entonces por lo habitual vamos a hacer doble clic sobre esto para abrirlo. Vamos a comenzar agregando un par de componentes aquí. Déjame ir a mi pestaña Viewport. Y quiero asegurarme de que estos componentes estén unidos a nuestro cubo aquí, nuestro bloque. Seleccionemos nuestro cubo aquí primero. El primero que voy a agregar va a ser un colisionador de cajas Y eso va a ser encontrado aquí mismo, una colisión de caja. Así que adelante y selecciona eso. Voy a llamar a esta casilla Subrayado Flor. Y luego con eso seleccionado, sigamos adelante y fijemos la extensión de la caja de inmediato para que tenga un valor en mente. Va a ser 40 por 40 por 40. Voy a presionar Enter ahí. También voy a hacer el grosor de la línea. Voy a poner eso a cinco, solo para que esto sea un poco más prominente y fácil de ver. Ahora aún no vemos nada porque esto está enterrado dentro de nuestro cubo. Pero la idea aquí es que cuando golpeemos la parte inferior de este cubo, esto en realidad va a moverse hacia arriba así. Ahora unido a este componente, quiero agregar una malla estática. Así que asegúrate de tener tu harina de caja aquí seleccionada. Agreguemos un componente de malla estática. Este simplemente podemos llamarme harina de subrayado. Y con esta seleccionada, nuestra malla estática va a ser un plano. Simplemente vamos a usar una tarjeta dos D. Escojamos este plano aquí abajo para el material que realmente necesitamos para crear ese material aquí en nuestro navegador de contenido. Volvamos a nuestra carpeta Texturas. Tengo uno aquí para nuestros cuatro, ahí está, subrayan Harina de Fuego Si hacemos clic derecho sobre esto, podemos convertirlo en un material. Sigamos adelante y dejemos ese nombre. Entonces solo voy a presionar Enter. Y luego voy a mover esto a mi carpeta Materiales arrastrándolo y soltándolo aquí Diremos que muévalo aquí. Entonces entremos a nuestra carpeta Materiales. Voy a hacer doble clic en esto de inmediato para abrirlo porque hay algunas modificaciones que quiero hacer dentro de aquí. Quiero cambiar el modo de fusión de opaco a translúcido. Lo que eso va a hacer es que va a hacer que este pin de opacidad esté disponible para nosotros. Y vamos a querer tomar esto un valor y enchufarlo a la opacidad Y al hacerlo, permítanme poner esto en lugar de eso en una esfera. Voy a ponérselo digamos, una caja así. Entonces ahora podemos ver cómo en realidad le va a aparecer al jugador en juego. Sólo vamos a proyectar esto en un avión, así que va a quedar así. Eso va a ser bastante bueno. Lo que podemos hacer aquí también. Voy a seleccionar nuestro nodo de material maestro. También podemos marcar la casilla de verificación de dos lados. No deberíamos necesitarlo porque esto sólo va a estar enfrentando de una manera. Pero eso hará que sea fácil para nosotros verlo, sin importar de qué manera esté enfrentando al jugador. Sigamos adelante y ahorremos aquí. Entonces podemos seguir adelante y cerrar esto de nuevo. Y luego volvamos a sumergirnos en nuestro bloque BP. Flor de fuego con nuestra flor de malla seleccionada. Vamos a estar poniendo esto en un avión. Vayamos a nuestros materiales y si escribo harina de fuego así ahí está nuestra flor de fuego. Ahora también quiero asegurarme de que esta carta que va a estar apareciendo de aquí esté enfrentando a nuestro jugador Ahora sólo para mostrarte de lo que estoy hablando, voy a seleccionar mi caja de harina. Una vez que golpeemos el lado inferior, una vez más esto va a subir así. Pero fíjate que nuestra malla no está enfrentando al jugador con ese seleccionado. Voy a repasar a lo de la configuración de rotación. Y voy a establecer mi rotación x para que sea 90 para que vaya a estar enfrentando al jugador así se puede ver cómo va a funcionar esto cuando interactuamos con este bloque simplemente va a levantarse así. Y vamos a estar usando esta caja para detectar realmente cuando nuestro personaje se superpone a esto para que recojamos la harina. Ahora, una cosa más tengo que hacer aquí con nuestra harina de malla. Vuelve atrás y selecciona eso. Tenemos esa rotación establecida en 90. Hemos establecido el material. Hay una cosa más que tenemos que hacer. Necesitamos establecer el preajuste de colisión aquí para que no sea colisión. No queremos que nada choque con esa no colisión. Una vez más, simplemente vamos a estar usando esta harina de caja para comprobar que si hemos solapado esa harina, recogiéndola así Bien, con todo eso hecho, pasemos a nuestro gráfico de eventos y modifiquemos un poco nuestro guión aquí. Algo de esto vamos a llegar a quedarse con algo de ello nos vamos a deshacer ahora, no vamos a estar agregando ninguna moneda aquí. Así que sólo podemos deshacernos de este pedacito de guión. Clic izquierdo y arrastre, y podemos eliminar eso , agregando algunos puntos. Vamos a estar haciendo esto un poco más tarde, no en esta parte del guión. Así que sólo voy a cortar este cable manteniendo pulsada la Alt, dando clic izquierdo Y solo voy a arrastrar esto a un lado por el momento para nuestra obra X. Lo único que quiero cambiar de esto va a ser nuestro efecto de sonido Interact. Actualmente está configurado en coin, voy a poner esto en ítem y luego voy a seguir adelante hacia abajo y ver qué modificaciones podemos hacer con nuestro bloque anum Bien, para empezar aquí, esto va a estar todo bien excepto que quiero agregar un poco de guión. Después de que terminemos esta animación de bloques, quiero agregar un poco de un efecto de partículas resplandecientes Entonces lo que voy a hacer es que voy a traer una referencia a nuestra flor de malla arrastrar y soltar eso en. Vamos a arrastrar esto y decir obtener ubicación mundial así. Y vamos a enchufar esto a un emisor de spawn en Emisor de desove en la ubicación. Nuevamente, esto va a estar usando el sistema de partículas más antiguo. sistema de desove en el lugar sería usar un efecto de partículas del Niágara Ahora la razón por la que voy a estar eligiendo esto es porque tengo en mente un efecto específico de partículas. Y si hago clic aquí mismo, eso va a venir de nuestro paquete de cuchillas infinitas. Esto va a ser subrayado Dead Man's , Dead Man's Laúd Voy a jugar esto fuera de nuestro final aquí así. Y entonces lo que también voy a hacer es que voy a promover esto a una variable, así que va a generar ese emisor Voy a hacer click derecho sobre este valor de retorno. Y vamos a promover esto a una variable porque más adelante vamos a querer destruir esto una vez que recojamos la flor de fuego. Así que una vez que he hecho clic, clic derecho promueve una variable, llego a nombrar esto Voy a llamar a esto mi brillo de encendido. Eso suena como un buen nombre. Y una vez más, vamos a usar esto para destruirlo más adelante. Ahora todo esto va a ser para nuestra animación de bloques, nuestro bloque subiendo al aire. Sólo voy a mantener pulsado el control click izquierdo. Y voy a mover esto hasta nuestro entonces un pin. De hecho, voy a volver a etiquetar esto como tal. Ahora necesito trabajar en nuestra animación de flores. Entonces este es el tipo de bloque de ser chocado en el aire Pero, ¿qué pasa con la flor que realmente brota de la cuadra En este momento está enterrado dentro de la cuadra. Necesitamos algo para que esto brote de ello. Esta siguiente parte de nuestro gráfico de eventos se va a construir debajo de nuestro bloque. Animación como. Entonces solo voy a hacer clic derecho en algún espacio vacío y traer una línea de tiempo. Vamos a agregar una línea de tiempo. Voy a llamar a esto mi flujo. Una flor anum. Déjame acercar esto usando mi rueda de desplazamiento. Dentro de esto, vamos a hacer doble clic en esta línea de tiempo. Tenemos nuestra nueva pestaña aquí arriba. Vamos a agregar una pista de flotación. click en la pista plus, voy a llamar a este movimiento. Y voy a añadir dos fotogramas clave a nuestra pista. Aquí, nuevamente, un par de formas puedes agregarlas. Puede agregarlos manteniendo pulsada la tecla Mayús, la tecla Mayús y haciendo clic con el botón izquierdo. O alternativamente, puedes hacer clic derecho en algún espacio vacío y puedes agregar una clave. De cualquier manera, lo haremos para nuestro primer fotograma clave, solo voy a seleccionarlo en su lugar. Un tiempo de cero y un valor de cero. Entonces para nuestro segundo fotograma clave, voy a seleccionar eso y voy a establecer el tiempo de 0.5 Así que esto va a tomar medio segundo, y voy a establecer el valor para que sea 100. Puedo enmarcar estos todos haciendo clic en estas flechas, Y 100. Bueno, si voy a mi Viewport y selecciono mi flor de malla aquí, mira esto. Voy a estar cambiando la ubicación aquí. 100 unidades irreales es en última instancia lo que queremos hacer para que esto salga de la cuadra Vamos a estar moviéndolo hacia arriba 100 en esa dirección Z. Bien, asegurémonos de que establecemos nuestra longitud de línea de tiempo para sea realmente medio segundo ahora mismo para que coincida con nuestro último fotograma clave Así que voy a establecer este 2.5 Y volviendo a nuestro gráfico de eventos, vamos a enganchar esto fuera de nuestro nodo de secuencia. Lo haremos fuera de nuestro entonces dos pin. Vamos a tocar esto. Lo que queremos hacer es hablar con nuestros cuatro. Nuestra harina de malla, nuestra harina de malla. Hagamos la harina de caja que necesitamos para subir la flor de caja. Esto vale la pena señalar, si bien queremos que la harina de malla en sí suba 100, esto va a llegar para el paseo. Cuando subimos por la flor de caja, es importante que movemos la flor de caja porque finalmente vamos a estar comprobando para ver si se superpone a este colisionador La flor de caja es lo que en realidad queremos mover hacia arriba. La tarjeta de harina de malla aparece para el viaje de regreso en nuestro gráfico de eventos. Arrastremos así nuestra flor de caja . Vamos a conseguir eso. Voy a hacer click derecho sobre esto y voy a convertir esto en un get validado, es decir, solo vamos a hacer este movimiento si se valida que esta flor de caja realmente existe. Vamos a destruir esto cuando finalmente lo recojamos aquí. Básicamente estamos diciendo como, ¿existe este componente? Y lo que vamos a hacer es cuando actualicemos nuestra línea de tiempo aquí en medio segundo, solo vamos a hacer algo si este componente de flor de caja existe. Si no existe y no va a existir después de que lo recojamos, no vamos a hacer nada. Lo que sí queremos hacer si existe. Así que vamos a arrastrar fuera de esto y vamos a decir establecer ubicación relativa es ubicación relativa. Entonces ahora la nueva ubicación vamos a arrastrar hacia atrás fuera de aquí y escribir en make, ahí está, make vector. Sólo queremos mover esto hacia arriba en la dirección Z. Nuestro movimiento aquí, una vez más, nuestra línea de tiempo está especificando que más de medio segundo va a subir 100 unidades irreales Esta va a ser nuestra animación, click izquierdo, arrastra la tecla. Esto viene de nuestro flujo de dos pines. Um, vamos a colorear este negro enseguida. Bien, eso se ve todo bien y bien. Luego, por último, solo vamos a subir nuestro setter interactuando de acabado aquí mismo De hecho podemos eliminar esto entonces cuatro pines. Así que sólo voy a mantener pulsada la tecla de control, click izquierdo. Muévelo hasta el entonces tres pines. Dando click derecho sobre eso, voy a quitar ese pin de ejecución. Esa va a ser la primera parte de nuestra flor de fuego aquí. Un poco más de trabajo por hacer. Vamos a estar sumando puntos eventualmente, pero nuestro guión final va a quedar así. Intentemos enmarcar esto porciones a la vez. Ahí está esencialmente la porción superior y luego se mueve hacia abajo para los dos y luego tres. Esta va a ser nuestra parte inferior. Sigamos adelante y compilemos esto. Ahorraremos ahora. Tenemos que jugar prueba esto. Una vez más, todavía no vamos a poder recoger la flor de fuego, pero deberíamos ver a la flor de fuego salir del bloque una vez que interactuemos con ella. Aquí vamos. Volviendo a nuestros bloques, tenemos nuestro bloque, flujo de fuego, pongamos eso en posición aquí mismo. Saltando y jugando. Bien, interactuando con el bloque, la flor sí se levanta, vemos esa partícula resplandeciente. Obviamente todavía no podemos recogerlo. Pero ya tenemos nuestro bit inicial de guión hecho. Jobo hecho chicos. Pasemos a la parte número dos y terminemos con esto. Te veremos ahí. 41. Flor de fuego en bloque #2: Bienvenida. En el último video, creamos un plano de bloque que va a generar una flor de fuego fuera de él cuando nuestro personaje interactúe Sin embargo, no escribimos guión en la funcionalidad para recolectar dicha flor de fuego. Entonces eso es lo que vamos a estar haciendo en la parte número dos. Sigue adelante y haz doble clic de nuevo en tu bloque BP Flor de fuego para volver a sumergirte aquí. Lo primero que quiero hacer es agregar un nuevo componente aquí. Y esto va a ser simplemente un punto en el espacio. Tengo mi raíz de escena predeterminada seleccionada aquí. Voy a agregar un componente. Este va a ser un componente de flecha. Si voy al mirador, esto es simplemente esta flecha roja justo por aquí. Si quiero cambiar la ubicación de esto y voy a establecer la ubicación z para que sea 150. Mi único uso para este componente, de nuevo, el usuario no verá esta flecha cuando esté jugando el juego, es hacer emergir un punto en el espacio donde quiero que se genere un valor de punto Muy bien, con todo esto, seleccionemos nuestra flor de caja, que es este componente de colisionador de cajas que está enterrado en su interior Voy a hacer click derecho sobre esto. Voy a agregar un evento para cuando nuestro personaje empiece a superponerse a esto. Esto nos va a saltar de nuevo a nuestro gráfico de eventos. Lo que queremos hacer es comprobar si es nuestro personaje el que está haciendo la superposición. Una vez más, vamos a traer un signo igual. Voy a arrastrar hacia atrás fuera de esto. Consigue personaje de jugador como para que también puedas lanzar a tu personaje en lugar de hacer este tipo de montaje. Pero he estado haciendo esto a lo largo o vamos a hacer, vamos a traer un nodo de sucursal así. Si es nuestro personaje jugador que está haciendo la superposición, voy a traer un nodo de secuencia porque hay un par de cosas que me gustaría hacer. Al mantener pulsada la tecla S, voy a hacer click izquierdo, traer un nodo de secuencia. Entonces voy a hacer zoom aquí atrás. Y voy a mover este pedacito de guión justo por aquí donde drogo sobre nuestra sección de puntos de suma de guión. Ahora lo primero que quiero hacer es añadir algunos puntos para recoger una flor de fuego. Así que sólo voy a mover esto hacia arriba en posición. Acercar un poco hacia arriba, enmarcar esto así fuera de nuestro entonces pin cero, vamos a agregar algunos puntos en los que haremos clic para agregar un pequeño nodo de reencaminar allí. Sí necesito especificar, voy a poner un cero ahí dentro. Donde exactamente quiero que esto genere. Bueno, yo agregué este componente de flecha por esa razón. Así que voy a arrastrar y soltar esto en nuestro get transform. Y se puede ver que en realidad no va a funcionar porque este no es un actor. Tengo que borrar eso. Vamos a arrastrar y soltar nuestra flecha aquí. Y voy a arrastrar fuera de aquí y escribir en conseguir que el mundo se transforme. Entonces este es un componente de escena en contraposición a un actor. Ese es el lugar donde quiero desovar en nuestros puntos. Ahora porque esta es una flor de fuego, llego a especificar cuántos puntos me gustaría que esto fuera. En vez de 100, voy a hacer que esto valga 1,000 Nuevamente, puedes personalizarlo para esta variable en particular. Eso sumará ahora algunos puntos. Lo segundo que quiero hacer es destruir algunos componentes. Traeré mi flor de caja. Vamos a arrastrar y soltar eso en la gráfica. Voy a arrastrar fuera de esto y escribir de un componente. Ahora no quiero destruir a todo el actor. Quiero que la cuadra pase el rato. No quiero que todo esto desaparezca. Pero hay algunos componentes que quiero destruir de esto. Quiero destruir mi flor de caja, esa es la caja del gatillo por cierto. También quiero destruir nuestra flor de malla. Voy a arrastrar eso aquí y podemos enchufar ambos a este componente de destrucción. Y también quiero destruir nuestro poder hasta resplandor una vez más. Hicimos una referencia a eso aquí mismo en nuestra animación de bloques. Hicimos clic derecho sobre esto y lo promovimos a una variable. Y lo hicimos para que luego pudiéramos destruirla una vez que el personaje recoja esa flor de fuego, lo contrario ese resplandor va a pasar el rato ahí fuera. Y una vez más, aquí es donde estamos destruyendo esa flor de caja. Entonces, la primera vez esto va a ser válido y el jugador va a ver esta ubicación relativa de nuestra flor de caja elevarse hacia arriba. Pero la segunda vez después de que se recoja no va a ser válida, así que no va a haber nada para avanzar hacia arriba. Destruye la flor de caja, la flor de malla, y nuestro poder para arriba resplandece los tres. Simplemente seleccionaré todos estos y tocaré esa tecla C. Voy a llamar a esto mi destruir los componentes de la cerradura. El color del guión también es negro. Tenemos esto enmarcado en la pantalla para todos bastante bien. adelante y compilemos y guardemos esto Ahora sigamos adelante y probemos esto de nuevo en nuestro nivel. Ahora deberíamos ver cuando jugamos nuestro juego, deberíamos ver la flor levantándose de esto. Y ahora deberíamos poder recogerlo así ahora en realidad no pasa nada todavía. En realidad no ganamos ningún poder floral, si se quiere. Así que está por venir el siguiente video. Más trabajo por hacer dando a nuestro carácter poder floral. 42. Transformación de jugadores de flores de fuego: En este video, nuestro objetivo es crear guión, notificando a nuestro personaje que ha conseguido una flor de fuego, para que el personaje pueda reaccionar en consecuencia Ahora bien, este pedacito de guión va a transformar al jugador al recoger la flor de fuego. Mucho trabajo por hacer en éste. Vamos a saltar directo a ella y no perder el tiempo. Voy a comenzar aquí en mi BP, plano de personaje en tercera persona Entonces sólo voy a seleccionarlo. Presiona la barra espaciadora para abrirla. Y dentro de aquí quiero empezar. Vayamos primero a nuestra Viewport. Y vamos a seleccionar nuestro componente cápsula. Ese es nuestro principal componente aquí con el que se adjuntan otras cosas a esta sangría muestra una Voy a reducir esto enseguida. Y puedo escalar esto uniformemente en el panel de detalles haciendo clic en este pequeño botón de bloqueo. Y luego presione 0.75 Luego presionando Nor, para simplemente encoger nuestro personaje en general. Por defecto, queremos que nuestro personaje, nuestro personaje jugable, comience en un tamaño más pequeño Ahora también voy a establecer nuestra cápsula de media altura y radio de cápsula aquí para que sean ligeramente diferentes. Voy a establecer nuestra cápsula a media altura para que sea 96. Y pondremos nuestro radio de cápsula aquí para que sea 34 algo un poco más delgado así, un poco más alto, solo para dar un poco más de perdón ahí Bien, a continuación vamos dentro de nuestro gráfico de eventos y vamos a crear un evento personalizado. Así que pan sobre, botón derecho del ratón. Voy a hacer click derecho, escribir eventos personalizados, agregar evento personalizado. Voy a llamar a esto consiguió el poder de las flores. Ahora de nuevo, los eventos personalizados tienen que ser llamados manualmente, así que vamos a tener que llamar a esto eventualmente. Pero ahora ya tenemos esto en su lugar. Entonces eso está todo bien y bien. A continuación vamos a crear dos variables. Al dar clic en el panel de mi plano, el botón más. Al primero se le va a llamar a escala de jugador pequeña. Esto va a ser un vector. Entonces voy a agregar otro llamado tiene flor de fuego y esto va a ser un booleano Bien, si los compilo, quiero tener esto tiene lingotes de flor de fuego que va a ser falso por defecto nuestro jugador escala pequeña, quiero que sea uno en todos los ámbitos Bien, lo siguiente lo que quiero hacer es que quiero crear una categoría en la que estos vivan. En la sección de categoría del panel de detalles, podemos crear una categoría. Entonces voy a llamar a esto mi categoría de Salud del Jugador. Salud del jugador presionando Enter. Entonces ahora puedes ver que hemos agregado una categoría llamada Salud del jugador en el panel Mi plano y Player Scale Small está ahí Voy a poner también tiene flor de fuego ahí también. Con esa categoría seleccionada va a ser la salud del jugador. Bien, lo siguiente que quiero hacer es crear una línea de tiempo que vaya a controlar el crecimiento de nuestro personaje cuando recojan la flor de fuego. Va a ser este tipo de contracción y crecimiento muy rápido, una especie de efecto Entonces voy a hacer click derecho en algún espacio vacío, escribir en línea de tiempo. Y voy a nombrar a esta nuestra línea de tiempo de crecimiento. Y esta probablemente va a ser la línea de tiempo más torcida que armamos en este Voy a hacer doble clic sobre esto para abrirlo. Vamos a agregar una pista de flotación. Rastrear. Flota la pista, y voy a llamar a esto nuestro multiplicador de crecimiento. Ahora voy a establecer que la duración de este sea de 0.8 segundos. Entonces voy a poner las llaves cada 0.05 segundos. Voy a tratar de hacer esto una manera relativamente organizada, y luego estableceremos las claves y valores para estos a medida que avanzamos. Sólo voy a mantener pulsado el control y desplazarme. Bien adentro, solo para ampliar nuestra línea de tiempo aquí un poco más. Entonces nuestra primera clave, clic derecho, vamos a agregar una clave. Esta primera clave se va a establecer en un tiempo de cero y un valor de 0.9. Puede traer estos así. Nuestro próximo voy a colocar aquí abajo, haga clic derecho Agregar clave. Esto va a ser un tiempo de 0.05 y un valor de 0.65 Nuevamente, esto va a ser un multiplicador de escala Es posible que tenga que hacer clic en estas flechas para ponerlas constantemente a la vista y desplazarse hacia adentro y hacia afuera. Nuestro próximo voy a hacer clic en Agregar una Clave. Este va a ser 0.1 segundos. El valor va a ser 0.9 El siguiente, click derecho, agregar clave, 0.15 y el valor va a ser 0.65 Así puedes ver este efecto de aserrado de mar Siguiente, voy a hacer click derecho derecho sobre aquí. Vamos a agregar una llave. Esto va a ser 0.2 segundos y un valor de 0.9 Luego uno más, abajo abajo aquí, click derecho, agrega una clave, 0.25 y un valor de 0.65 Bien, ahora vamos a escalarlo un poco Vamos a tener un crecimiento menor y crecimiento medio y crecimiento alto. Este siguiente, voy a dar clic derecho sobre aquí, clic derecho en Agregar clave. Va a ser un tiempo de 0.3 y un valor de 1.1 Siguiente, voy a dar click derecho sobre aquí, Clic derecho. Va a ser 0.35 para el momento y el valor va a ser 0.65 Estas porciones más bajas de nuestra hoja de sierra aquí esencialmente van a ser 0.65 Desplazamiento dando vueltas un poco hacia atrás, voy a dar click justo sobre aquí Este va a ser 0.4 segundos, 1.1 Clic derecho Agregar clave, 0.45 0.65 para el valor. Haga clic derecho. Agrega otra clave. Esto va a ser 0.5 segundos y 1.1 Vamos a agregar otro, justo por aquí. Clic derecho, 0.55 es el tiempo, 0.65 es el valor Entonces tenemos unos cuantos más para ir aquí. Clic derecho. Revisando esto. Voy a hacer click derecho a derecha sobre aquí. Vamos a agregar una llave. Este va a ser a 0.6 segundos, el valor va a ser 1.3 Vamos a dar click en Agregar una clave, 0.650 0.65 Clic derecho Agregar una clave, 0.7 y 1.3 Clic derecho Agregar clave, Esto va a ser 0.75 y 0.65 para Entonces último menos ya casi estamos ahí chicos, agreguen esta tecla, esta va a ser 0.8 y un valor de 1.3 Así que voy a resaltar todos estos scroll, scroll, wheeling back left click and drag Todos mis puntos aquí están resaltados y podemos enmarcarlos así. Ahora tienes un patrón de balancín que se ve así. Entonces, todos estos marcos clave inferiores tienen un valor de 0.65. He establecido estos todos 0.5 segundos de distancia allí Se puede ver la hora. viendo el patrón aquí, así que bien, creo que lo tienes a partir de ahí. Muy bien, así que saltando de aquí y volviendo a nuestro gráfico de eventos. Así que tenemos nuestro poder floral. Lo que quiero hacer es, después de que llamemos a esto, y nos preocuparemos por el llamado para esto más adelante, es que quiero poner nuestro tiene flor de fuego. Entonces voy a arrastrar en nuestro tiene flor de fuego. Voy a fijarlo y vamos a decir, sí, ahora tenemos la flor de fuego, así que vamos a convertir eso en verdad. adelante y toquemos un sonido justo después de reproducir Sonido dos D, y nuestro sonido aquí va a ser nuestro poder para arriba Sonido Encienda así. Entonces queremos ajustar los puntos de golpe, porque si tenemos la flor de fuego, esencialmente vamos a estar sumando un hit point. Entonces, si solo hago clic derecho y escribo ajustar los puntos de golpe, y si olvidaste dónde entra en juego esto aquí, déjame salir un poco del zoológico. Vamos a cablear esto. Volveremos a esto en sólo un segundo. Voy a hacer doble clic sobre esto. Eso nos va a saltar a llamar a este evento personalizado, esta modificación de nuestros puntos de vida. Todo este poco de guión que hicimos antes en el curso. Entonces, hagamos una llamada a esto para modificar nuestros puntos de vida. Ahora necesito volver a este guión de flor de fuego en el que estamos trabajando, porque cuando consigamos la flor de fuego, queremos ajustar nuestros puntos de éxito uno aquí mismo. Modificador de puntos de golpe, agreguemos uno para que, ese valor de uno se pase por aquí a esta ecuación. Bien, entonces después de esto, ajustamos los puntos de la cadera al obtener nuestra flor de fuego. Aquí es donde vamos a traer en nuestra línea de tiempo. Juguemos desde el principio para asegurarnos de que siempre partimos desde el principio. Tenga en cuenta que tenemos este multiplicador de crecimiento. Vamos a estar usando esto para multiplicar contra nuestro jugador a escala pequeña. Entonces voy a mantener pulsado el control, click izquierdo y arrastrar. Este es un valor de uno en todos los ámbitos aquí, así que vamos a usar esto para multiplicarnos contra nuestro multiplicador de crecimiento. Voy a hacer click derecho en algún tipo de espacio vacío en la clave de multiplicación para traer un operador multiplicar y vamos a multiplicar nuestro multiplicador de crecimiento Que está oscilando hacia abajo y hacia arriba y hacia abajo y hacia arriba y hacia arriba. Los valores de esto siguen cambiando rápidamente con el tiempo. Vamos a multiplicar eso por unos en todos los ámbitos aquí. Ahora vamos a usar esto para escalar nuestra malla por nuestra malla. Estoy hablando de, si voy a nuestro punto de vista aquí, esta malla real de maniquí de tres D aquí mismo Volvamos a nuestro gráfico de eventos y voy a traer una referencia a nuestra malla. Vamos a arrastrar esto y escribir en conjunto escala relativa tres D. Así que a medida que nuestra línea de tiempo se está actualizando aquí, vamos a estar modificando la escala de nuestra malla a través de este bit de matemáticas aquí mismo. Ahora bien, esto puede plantear la pregunta, ¿por qué estamos escalando nuestra malla en lugar de nuestro componente de cápsula? Porque si escalamos nuestro componente de cápsula, todo lo demás vendría para el paseo. ¿Por qué no hacerlo de esa manera? Bueno, la razón de esto es porque si hacemos escala eso, en lugar de nuestra malla, nuestro brazo de resorte y nuestra cámara instalada aquí mismo va a hacer algunas cosas raras. Entonces vamos a ir a este enfoque y luego vamos a modificar manualmente el tamaño de nuestro componente de cápsula. Entonces eso es venir aquí en un poquito. Y de hecho, nos encargaremos de eso fuera del pin terminado de nuestra línea de tiempo. Aquí voy a arrastrar fuera de nuestra dirección. Esto nos puede dar la dirección de nuestra línea de tiempo para arrastrar fuera de aquí. Y voy a escribir el interruptor en la dirección de la línea de tiempo. Ahora tenemos una dirección hacia adelante y hacia atrás que nuestra línea de tiempo puede jugar fuera de este pin de acabado enchufar aquí así, queremos traer una referencia a nuestro componente cápsula. Ahora arrastra eso adentro, lo que queremos hacer es arrastrar esto y escribir en conjunto cápsula a media altura. Y entonces también voy a arrastrar fuera de esto y escribir en conjunto radio de cápsula. Cuando terminemos de tocar nuestra línea de tiempo en la dirección hacia adelante, queremos establecer nuestra altura de cápsula porque nuestra malla esencialmente va a ser más grande. Necesitamos nuestra altura de cápsula que está rodeando a nuestro personaje aquí para ajustar en tamaño también. Vamos a establecer nuestra cápsula a media altura para que sea 120. Vaya, 120. Vamos a establecer nuestro radio aquí para que sea 40. Asegúrate de conectar esto así. Así que eso es, lo estamos jugando hacia adelante y esencialmente hemos crecido en tamaño. Algo más que quiero hacer aquí es que quiero traer otra referencia a nuestra malla. Arrastra esto así. Vamos a arrastrar esto y escribir la ubicación del set. De hecho, vamos a ajustar manualmente la posición de nuestra malla también para que quepa muy bien dentro de este componente de cápsula redimensionado Así que he descubierto todos estos valores a través algunas narrativas de prueba para ahorrarnos algo de tiempo Y voy a establecer nuestra nueva ubicación aquí para que sea negativa 90. Bien, entonces esto va a estar saliendo de la línea de tiempo. Dirección hacia adelante. Bien. Ahora bien, si vamos a jugar esta línea de tiempo hacia atrás, lo que significa que nos golpearon, queremos esencialmente revertir estos efectos. Entonces lo que voy a hacer es que voy a mantener pulsado el control y asegurarme de seleccionar estos nodos aquí mismo, 1,234.5 Déjame volver a destacar esos Voy a golpear el control D para duplicar esos todos. Y voy a poner otro conjunto de ellos fuera de esta dirección hacia atrás. Si esencialmente estamos reproduciendo esta línea de tiempo al revés, lo que significa que nos han golpeado, quiero restablecer nuestro componente de cápsula a su tamaño normal. Y nuestra media altura era de 96 por defecto. Nuestro radio era 34 por defecto. Y nuestra ubicación aquí era por defecto, aproximadamente negativa 8,060.86 Eso es lo que tengo en De todos modos, ese es este poco de guión que viene de la parte terminada de nuestra línea de tiempo Ahora, obviamente, nada reproducirá esta línea de tiempo aquí a la inversa a menos que tengamos algún evento que se lo diga. Lo que voy a hacer es que voy a clic sobre pan un poquito. Voy a hacer click derecho otra vez. Eventos personalizados. Queremos llamar a este Jugador Dañado. Así que tenemos un evento personalizado llamado Daño al jugador. Vamos a enchufar esto en reversa desde el final, así que tenemos que decir esto manualmente cuando queremos llamarlo. Ahora con esto ahora en su lugar, podemos ir a nuestro guión ajustar hit point y modificar un poco las cosas. Entonces voy a hacer doble clic sobre esto para ir a este pedacito de guión. Nuestro ajuste de los puntos de golpe aquí abajo en la extrema derecha inferior. Si quieres interpretar todo esto puedes, pero esencialmente aquí es donde nos estamos dañando. Donde nos van a golpear aquí, vamos a prender nuestro lingote de flores de fuego, vamos a arrastrar esto encima de este alfiler así Eso traerá un setter automáticamente. Vamos a volver a poner esto en falso. Y también vamos a arrastrar fuera de esto y escribir en jugador dañado. Hacer una llamada a ese evento personalizado que acabamos de crear y conectar al reverso de la línea de tiempo Entonces, cuando esencialmente perdemos un punto de cadera, vamos a voltear esto tiene flor de fuego a falso y vamos a llamar a este evento personalizado para reproducir nuestra línea de tiempo a la inversa. Muy bien, casi terminamos aquí. Ahora tenemos que llamar a este evento personalizado got flower power. Sigamos adelante y compilemos y guardemos aquí. Muy importante compilamos y guardamos y ahora tenemos que llamar a esto desde nuestro plano de fuego Entonces abramos nuestro bloque de flores de fuego. Blueprint, ¿Dónde está nuestra flor de fuego? Ahí está. Vamos a hacer doble clic en eso. Entra de ahí. Lo que queremos hacer es llamarlo en algún lugar de aquí. Ahora actualmente estamos comprobando si es nuestro personaje jugador que está haciendo la superposición y luego recogiendo la flor de fuego y todo ese jazz. Eso está muy bien, pero en realidad necesitamos acceder a este evento personalizado de poder floral conseguido. Y esta puesta aquí mismo no lo va a hacer. Esto es suficiente para detectar una superposición. Pero queremos comprobar si es nuestro personaje en tercera persona el que está haciendo la superposición. La razón de ello es que necesitamos nuestro personaje de tercera persona para poder llamar a este evento personalizado. Simplemente eliminaremos estos tres aquí afuera, 12.3 En cambio, arrastraremos fuera de nuestro otro actor así y vamos a emitir al personaje en tercera persona Y la razón por la que vamos a ir con esta configuración es porque ahora podemos arrastrarnos fuera de aquí y escribir el poder de las flores consiguiendo esa llamada a nuestro personaje en tercera persona. Y entonces podemos enchufar esto a nuestro nodo de secuencia. Bien, sigamos adelante y danos el intento, compilemos y guardemos. Y volviendo a nuestro editor de niveles aquí, voy a saltar al juego. Notarás que soy más pequeño por defecto, así que sigamos adelante e interactuemos con el bloque y saltemos hacia arriba. Se puede ver que he crecido en tamaño y la colisión para mi talla más grande parece estar intacta. Ahora sigamos adelante y que nos golpeen. A ver si esto va a la inversa. Al dañarnos, nos hemos vuelto a reducir y parece que nuestro componente de capital también se ha reducido hacia Parece que todo está funcionando como se pretendía. Vamos a enmarcar nuestro guión final dentro de nuestro personaje BP en tercera persona. Si quieres volver a revisarlo, el verdadero modificador de poin de cadera power up se establece en uno Y luego aquí es donde estamos ajustando crecimiento de nuestro personaje y también modificando el tamaño de los componentes de la cápsula y también la ubicación de nuestras mallas dentro de ese componente de cápsula Bien chicos, eso lo va a hacer por este. Nos vemos en la siguiente. 43. Blueprint de bola de fuego: Bien, ahora que podemos recoger la flor de fuego y nuestro jugador se transforma, el siguiente paso para nosotros es hacerlo para que el jugador pueda disparar algunas bolas de fuego Y para ello necesitamos crear un plano de bola de fuego. Eso es lo que vamos a lograr en este video. Y en realidad vamos a empezar aquí dentro de la configuración de nuestro proyecto, vamos a crear algo conocido como canal de colisión. Y eso va a ser usado dentro de nuestro plano Fireball manera en la parte superior derecha Tenemos esta configuración, vamos a hacer clic en este menú desplegable. Queremos acceder a la configuración de nuestro proyecto. Dentro de la configuración de nuestro proyecto, vamos a acceder a la sección de colisión aquí en el lado izquierdo. Ahora justo aquí donde dice canales objeto. Vamos a crear un nuevo canal de objetos. Aquí mismo, dando click sobre esto, se nos va a pedir que demos un nombre. Voy a llamar a esta Bola de Fuego y voy a dejar la respuesta por defecto como bloque Y voy a hacer clic en Aceptar. Ahora vamos a poner eso en uso aquí en solo un poco, pero por ahora podemos cerrar la configuración de nuestro proyecto. Eso es todo lo que necesitábamos hacer aquí era crear un nuevo canal de colisión. Haga clic fuera de aquí o en el nuevo canal de objetos más bien. Vamos a entrar en nuestra carpeta de planos de plataforma y vamos a encontrar algún espacio vacío Voy a mantener pulsado el control y la rueda de desplazamiento hacia atrás para encontrar algo de espacio vacío aquí. Haga clic con el botón derecho en la clase Blueprint. Esta va a ser una clase de actor. Planos. Voy a llamar a esto BP subrayado Bola de Fuego Y con eso seleccionado, voy a tocar la barra espaciadora aquí mismo para abrirla. Lo primero que quiero agregar aquí es un componente de esfera, así que voy a hacer clic debajo de Ad, y elegiré el componente de esfera justo debajo de una malla estática. Y voy a dejar esto llamado como esfera. Ahora en realidad voy a hacer este mi componente raíz para proyectiles Quieres hacer lo que sea que quieras proyectar. En este caso, este va a ser un componente raíz de proyectil, así que voy a arrastrar y soltar esto encima de mi raíz de escena predeterminada así Y eso va a convertirlo en la nueva raíz. Ahora en el panel Detalles, y tengo que volver a ampliar mi panel Detalles. Hay algunos ajustes que quiero cambiar aquí por estrellas. Voy a cambiar el material para esto bajo mi sección de Materiales. Voy a hacer clic en este menú desplegable. Y tengo una dentro de esa hoja infinita de paquete X llamado lava subrayado caliente Va a ser esta M que fluye lava caliente. Y eso solo le va a dar un, un aspecto de bolas de fuego al respecto, bastante genial Y luego abajo en el panel de detalles, tenemos nuestra sección de colisiones. Y para los ajustes preestablecidos de colisión, voy a ampliar esto aquí mismo Voy a cambiar esto para que sea costumbre. Y entonces voy a cambiar nuestro tipo de objeto aquí para que sea una Bola de Fuego Ahora bien, la razón por la que esto existe es porque acabamos configurarlo dentro de la configuración de nuestro proyecto. Voy a poner esto a Bola de Fuego. Ahora esto está etiquetado como un tipo de objeto Fireball, y ahora podemos establecer ajustes de colisión para varios tipos de objetos Ahora voy a establecer esto para que sea bloque para la mayoría de estos. Sin embargo, voy a configurar esto para ignorar algunos canales de rastreo aquí. También voy a poner esto para ignorar al peón que somos nosotros, nuestro personaje jugador Y también voy a poner esto para ignorar otras bolas de fuego. Esto va a ser importante porque vamos a poder disparar múltiples bolas de fuego y no queremos que puedan rebotar unas de otras Entonces eso va a ser importante para eso ahí mismo. Así que solo para revisar el ajuste preestablecido de colisión, configura esto como personalizado, quieres tener tu tipo de objeto configurado en Bola de fuego Acabamos de crear eso en la configuración de nuestro proyecto. Y luego para las respuestas de colisión, asegúrate de tenerlo configurado de la siguiente manera. A continuación, voy a agregar otro componente aquí. Esto parece una especie de balish de fuego, pero también voy a agregar un sistema de partículas pero también voy a agregar un sistema de partículas. Haga clic en Agregar. Y lo que estoy buscando es que voy a escribir partículas y voy a agregar un componente del sistema de partículas en partículas y voy a cascada. Este es un sistema de partículas más antiguo. Las versiones más recientes de Unreal utilizaron Niagara. Pero sé que esta partícula dada que estoy a punto de deslizarme por aquí existe dentro de nuestro contenido iniciado aquí. Voy a ir con ese sistema de partículas. Puedes elegir cualquier partícula de tu elección para mí. Voy a venir aquí con este componente seleccionado. Y donde dice plantilla de partículas, voy a elegir subrayado fuego Una vez más, esto existe dentro de mi paquete de contenido de inicio. Puedes probar cualquiera de estos otros, pero voy a ir a esta. Entonces ahora va a tener este tipo de una mirada al respecto. Ahora, sólo para que esto parezca un poco más peligroso, si se quiere, voy a establecer la dilatación de tiempo personalizada Esta es esencialmente la tasa de juego de estos tiempos diez porque una vez que disparemos esto, queremos asegurarnos de que nuestras llamas no se queden tan mal Detrás de este sistema de partículas está unido a esta esfera. Y al establecer nuestra jugada aquí mismo, nuestra dilatación de tiempo personalizada a diez, va a hacer que parezca que está constantemente en llamas Bien, un componente más para agregar aquí en el complemento superior izquierdo, estamos buscando componente de movimiento de proyectiles Y esto es lo que en realidad va a poder hacer que esta bola de fuego se mueva en nuestro entorno es este componente de movimiento de proyectiles Con esta seleccionada, hay varias propiedades que quiero alterar en el panel de detalles. La velocidad inicial y máxima. Esto es lo rápido que va a ir inicialmente y luego al máximo Voy a establecer estos 2.500 respectivamente. Para ambos. También voy a rebotar aquí mismo porque quiero que esto rebote del suelo. Así que marca esa casilla de verificación. Entonces también voy a bajar, hay una bounciness y hay un ajuste de fricción Voy a poner la bounciness a 0.5 y la fricción para que sea cero Entonces podemos ver que estas propiedades aquí mismo han sido cambiadas. Eso es lo que esa pequeña flecha hacia atrás siéntete libre de jugar con esos a medida que obtenemos estos desove en nuestro juego Bien, y por último pero no menos importante aquí arriba tenemos nuestro botón de clase Defaults que determina algunas propiedades sobre este plano de clase de actor Voy a desplazarme hacia abajo hacia ellos, no exactamente hacia el fondo. Aquí está, Vida útil Inicial. De hecho, podemos establecer la vida útil de este actor aquí mismo. Nuevamente, un valor por defecto de cero. Como puedes ver en el tooltip significa que va a vivir para siempre. Voy a establecer esto para que sea 2.0 lo que significa que después de 2 segundos esto se destruiría automáticamente. Con eso, voy a seguir adelante y guardar este plano. Eso es todo lo que queríamos lograr en esta. En los siguientes dos videos, vamos a hacerlo para que podamos disparar esta bola de fuego. Te veremos ahí. 44. Dispara bolas de fuego (básico): Bueno, ahora que tenemos un plano de Fireball creado, trabajemos para que nuestros jugadores lo disparen Para ello, vamos a estar trabajando dentro de nuestra carpeta de planos Selecciona tu BP, personaje de tercera persona con él seleccionado. Toca la barra espaciadora para abrirla. Y voy a venir enseguida a nuestra pestaña Viewpoort porque vamos a estar agregando un componente aquí que me gustaría que todos ustedes vieran Ahora voy a seleccionar nuestro yo aquí. Y la razón por la que estoy seleccionando esto es porque quiero adjuntar otro componente a nuestra malla. Siempre y cuando esto se seleccione primero y añadimos un componente. Y voy a hacer clic en Agregar, voy a agregar un componente de flecha. Por lo que este componente ahora está unido a nuestra malla. Actualmente está a sus pies, pero voy a estar alterando la posición aquí en sólo un poco. Voy a renombrarle a esto mis Puntos de Generación de Bola de Fuego, porque para eso vamos a estar usando esto Vaya, se me olvidó el punto de desove ahí. Con esta seleccionada, voy a poner algunos detalles en el panel de detalles debajo de la ubicación Y. Voy a poner eso 240. Sólo vamos a sacarlo un poco delante de nuestro personaje La ubicación z, me voy a mover hasta 135 así. Y luego voy a rotar esta rotación, la rotación y, tengo a negativo 30. Y la rotación z, voy a establecer esto en 90. Esencialmente, vamos a tener nuestro componente de flecha apuntando en esta dirección descendente. Está unido a nuestra malla dos. Cuando damos la vuelta a nuestro personaje en nuestro nivel, esta flecha también va a girar alrededor. Ahora bien, esto no sólo indica el punto de generación, que va a desovar aquí mismo Cuando tocamos una tecla, va a generar una bola de fuego También lo va a engendrar en esta dirección. Entonces solo debes saber si quieres alterar la trayectoria de tu bola de fuego, también puedes jugar con este ángulo Bien, a continuación vamos a bucear de nuevo en nuestro navegador de contenido, y vamos a usar el sistema de entrada que vino junto con nuestro personaje en tercera persona. Esto fue introducido en versiones recientes de Unreal. Y aquí vamos a entrar bajo nuestra carpeta de acciones. Y lo que necesitamos agregar es un nuevo activo de acción de entrada. Ahora podemos hacerlo haciendo clic derecho en el navegador de contenido. Aquí en este directorio, voy a venir bajo entrada, y vamos a agregar acción de entrada. Y voy a nombrar a este tiro de subrayado, subrayado Y entonces si presiono la Barra Espaciadora para abrir esto, se puede ver que nuestra entrada va a ser del tipo booleano, como sucedió? ¿No lo hizo? Todo esto está bien y bien. Sigamos adelante y guardemos esto. Y luego me voy a sumergir de nuevo en el navegador de contenido. En nuestra carpeta de entrada aquí tenemos este IMC, guión bajo predeterminado, estas son las asignaciones de entrada Y voy a seleccionar esto y presionar también la barra espaciadora Mc default, es la abreviatura de contexto de mapeo de entrada. Voy a presionar la barra espaciadora aquí para abrir esto. Y ahora necesito ranura en nuestra acción de entrada de disparar Bola de Fuego dentro de aquí Así que voy a hacer click en esto más mapeo. Voy a colocar nuestro guión bajo recién creado Fireball o disparar Fireball o disparar Fireball Disparo Bola de Fuego. Ahora también tengo que decidir qué botón o botones me gustaría mapear a esta acción. Un par de cosas que podemos hacer aquí es que si seleccionas este teclado así, ahora puedes cualquier tecla de tu teclado para mapearlo a eso. Entonces, si tuviera que tocar la tecla F, pueden ver que ahora la va a mapear ahí mismo. Entonces la tecla F va a hacer que esta entrada suceda. También voy a presionar botón una vez más, y para aquellos de ustedes con un controlador por ahí, podemos configurarlo en un controlador también si simplemente seleccionan este teclado. Y tengo un mando conectado y voy a presionar el botón X en mi mando Xbox, ese es el botón de la cara izquierda. puede ver como automáticamente lo mapea ahí también, presionando la tecla, o en mi caso, mi mando Xbox, al botón X al que voy a llamar para que se apague esta entrada. Sigamos adelante y guardemos esto de inmediato. Ahora bien, si no recuerdas de antes en el curso, ¿dónde carajo se está usando todo esto Bueno, dentro de nuestro personaje BP en tercera persona, dentro de nuestro gráfico de eventos. Aquí, tengo que encontrarla. Justo hacia arriba, aquí es donde nuestro contexto de mapeo de entrada se asocia con nuestro personaje BP en tercera persona. Es a través de esta función aquí mismo, esta IMC por defecto. Aquí es donde está diciéndole a nuestro personaje en tercera persona que use esta colección de acciones por así decirlo. Bien, sólo voy a colapsar esto. Asegúrate de que guardado puedes cerrar esto así como tu bola de fuego IA shoot Bien, hagamos que suceda el primer pase de nuestro tiroteo de la bola de fuego Solo voy a encontrar un espacio vacío aquí y tengo mi poder de flores aquí mismo. De hecho, voy a hacer click izquierdo y arrastrar todo esto. Presiona la tecla C y escribe got. Poder de las flores. Sólo para que pueda identificar fácilmente ese bit de guión, hacer ese negro. Y luego justo debajo de eso voy a hacer mi disparo de la bola de fuego Así que sólo voy a mantener pulsado el control y acercar un poco uno hacia arriba. Pulsando con el botón derecho en algún espacio vacío. Yo solo voy a escribir rodaje, ahí está mi evento de acción de entrada para rodaje de la bola de fuego. Voy a traer eso. Lo que quiero que suceda es cuando iniciemos esa acción, voy a sacar una sucursal y quiero saber si expandirme en mi panel de planos bajo la sección de salud del jugador Quiero saber si tenemos la flor de fuego. Voy a arrastrar y soltar esto Encima de nuestra condición, solo queremos poder desovar, es decir disparar bolas de fuego si tenemos la flor de fuego Ahora bien, si hago clic derecho sobre mi flor de fuego aquí mismo, este lingote, puedo encontrar referencias a esto dentro de esta gráfica y comprobarlo Si haces doble clic en cualquiera de estos, puedes ver dónde cuando obtenemos el flujo de fuego, el poder de las flores, cuando se está llamando a este evento personalizado, estamos volteando eso a true Así es como puedes averiguar dónde se están utilizando diversas variables. Simplemente puede hacer doble clic sobre ellos después de haber hecho clic derecho sobre ellos y encontrar la referencia Bien, entonces vamos a preguntar, ¿ nuestro jugador tiene la flor de fuego? Si eso es cierto, vamos a arrastrar fuera de aquí en Spawn Actor de clase Bueno, acabamos de crear un plano de Fireball, así que voy a dar click aquí, escribir Mi BP Fireball sería un poco raro desovar en una barra de bomberos y ahora necesito decirnos ¿dónde quiero que se genere Bueno, acabamos de crear un punto de generación de Bola de Fuego. Sigamos adelante y arrastremos en este componente. Así que arrastra fuera de aquí y escribe get transform. Queremos que el mundo se transforme, el mundo se transforme aquí mismo. Haz que el mundo se transforme dondequiera que se encuentre en el mundo. En ese momento, presionamos la tecla F, y luego también toquemos un sonido fuera de esto también. Así que sólo voy a arrastrar fuera de aquí y escribir sonido. Podrías reproducir un sonido en una ubicación o dos D Sound. Supongo que tocaré un sonido en la ubicación de nuestro personaje. Puedo hacer clic derecho en él algún espacio vacío y escribir en obtener la ubicación del actor. Esa va a ser la ubicación de nuestro personaje en tercera persona. Para el sonido. Tengo una Bola de Fuego. Bien, así que aquí va a estar nuestro guión básico. Sigamos adelante y compilemos y guardemos. Y luego saltar de nuevo a nuestro editor de niveles aquí. Ahora antes de hacer clic en play, en realidad voy a exponer un problema con esto desde el principio, que vamos a arreglar. Pero voy a entrar en mi carpeta de planos y voy a colocar algunas monedas en el camino de mi personaje, asegurando que tengo mis dos ajustes de D snap en el nivel principal Voy a colocar una moneda aquí. colocaré uno arriba, porque estoy tratando de exponer el problema. Bien, vamos a saltar y jugar y ver si una vez que tenga la flor de fuego, puedo disparar una bola de fuego Bien, en el juego aquí, tocando la tecla F, ver si podemos disparar una bola de fuego justo desde el gecko No puedo. Sigamos adelante y recojamos la flor de fuego transformada. Voy a tocar la tecla F ahora. Obviamente, esa bola de fuego es un poco grande y podíamos ver un problema aquí mismo, que yo esperaba ese problema Déjame sólo bajar. ¡Gritos! Allí morimos. Sigamos adelante y saltemos de nuevo y juguemos. Ya viste ese primer problema. Está chocando contra el, con nuestra moneda invisible Así que tendremos que lidiar con eso en un momento. Pero tratando de caer aquí, también vas a encontrar que va a chocar contra el volumen de colisión alrededor de tu moneda también Entonces un par de temas aquí para limpiar. número uno que vamos a limpiar es nuestras bolas de fuego chocan contra algunas cosas contra no queremos que choque como esta caja de activación de aquí y este volumen de disparo aquí mismo aquí y este volumen de disparo aquí Y podemos hacer esto entrando dentro de nuestros ajustes, ajustes de proyectos. Y apenas estuvimos aquí hace un momento bajo la sección de colisiones. Vamos a venir bajo nuestros diversos presets aquí abajo. Así que simplemente hago clic en este preset aquí mismo. Y hay algunos de estos que quiero editar. El primero de ellos es solapar todo dinámico. Si selecciona esta superposición todo dinámico y luego hace clic en Editar, podrá ver sus respuestas actuales a estas diversas colisiones de colisiones Ahora mismo, nuestra Bola de Fuego, cualquier cosa etiquetada como una bola de fuego como nuestra bola de fuego BP, está lista está Esto está configurado para bloquear una respuesta de Bola de Fuego. Voy a poner eso para que ignore. Una vez más, dentro de nuestra bola de fuego BP, podemos ver que nuestra esfera está configurada para ser de tipo bola de fuego Volviendo dentro de nuestro entorno de proyecto, queríamos superponer todo dinámico, queríamos intercambiar eso. También vamos a entrar para superponer todos y vamos a editar esto. Esto también está listo para bloquear nuestra Bola de Fuego. Pongámoslo para ignorarlo y aceptarlo. También vamos a seleccionar nuestro preset. Vamos a ello esto. Y vamos a configurar esto para que ignore y haga clic en Aceptar. Tenemos que hacer I porque nuestro componente de widget de puntos BP usa el preset de colisión de interfaz de usuario. Ahora es posible que deba hacer esto para otros tipos de objetos más adelante en el curso. Entonces solo debes saber que si tu Bola de Fuego está colisionando contra las cosas no debería estar colisionando Para volver aquí dentro de la configuración de tu proyecto, entra en la sección de colisión y cambia algunos de tus ajustes preestablecidos de colisión aquí como acabo de hacer con eso. Vamos a seguir adelante de nuevo en nuestro nivel, haciendo clic en esa tecla. No es deslizarse ahí. A continuación, intentemos ajustar el tamaño de nuestra bola de fuego. Así que volvamos a nuestro plano de bola de fuego con nuestra esfera seleccionada aquí Vamos arriba aquí donde conseguimos nuestra báscula. Voy a escalar esto de manera uniforme, así que asegúrate de que tenemos nuestro candado aquí. Puedes activar y desactivar esto. Esto hará que sea para que cambiar uno de estos parámetros cambie el resto. Voy a poner este 2.3 Probemos eso. Entonces va a ser un poco más pequeño. Entonces si volvemos a nuestro nivel, saltamos y jugamos. Veamos qué tenemos aquí. Bien, vamos a ver. Voy a presionar la tecla. Ya no choca contra ese bloque. Entonces eso es bastante bueno, y no parece estar chocando contra nuestras monedas también Entonces obviamente puedes alternar tu tamaño de Bola de Fuego a tu gusto. Voy a dejar eso como está por ahora mismo. Pero chicos, eso lo va a hacer todo por esta versión básica de disparar nuestra bola de fuego En nuestro siguiente video, vamos a agregar algunas reglas para acentuarlo aún más. Te veremos ahí. 45. Dispara bolas de fuego (avanzado): Bien, bienvenidos a todos. En este video, vamos a llevar nuestras bolas de fuego al siguiente nivel implementando algunas reglas Y con eso quiero decir vamos a restringir el número de bolas de fuego vivas que tenemos a la vez También vamos a restringir el número de rebotes que pueda hacer la bola de fuego Vamos a generar algunos efectos visuales cuando nuestra bola de fuego rebote dos veces aquí e irreal, vamos a estar haciendo algún trabajo dentro de nuestra bola de fuego BP así como nuestro Entonces tal vez quieras que ambos estén abiertos. Vamos a comenzar en nuestro personaje BP en tercera persona, y vamos a crear una nueva variable de inmediato. Esto va a restringir el número de bolas de fuego vivas a la vez Así que la palabra correcta dice variables aquí. Da clic en este botón más y crearemos uno que se llama bolas de fuego en vivo Y voy a cambiar esto a un entero. Esto va a hacer un seguimiento de cuántas bolas de fuego vivas tenemos a la vez Voy a compilar aquí, comenzaremos con el valor predeterminado de cero. Ahora ven y encuentra tu guión actual de disparos de Bola de Fuego. Porque vamos a modificar esto, y en particular vamos a tomar estos tres nodos, sacarlos a un lado por aquí. Vamos a crear una brecha justo aquí. Así que date algo de espacio así. Y vamos a modificarlo como tal. Después de que disparemos una bola de fuego aquí, si tenemos la flor de fuego, vamos a arrastrar la verdadera rama Y ahora vamos a conseguir a todos los actores de clase. Y vamos a conseguir a todos los actores de nuestra clase Bola de Fuego. Sólo vamos a escribir Bola de fuego. Y entonces lo que vamos a hacer es que vamos a clic derecho sobre este pin de actores. Y vamos a promover esto a una variable. Vamos a llamar a esto nuestra matriz de Bolas de Fuego. Y vamos a enganchar esto así que lo que esto va a hacer es que cada vez que disparemos una bola de fuego, esencialmente va a averiguar entonces, oye, ¿cuántas bolas de fuego tenemos existentes en el mundo? Y vamos a estar guardando eso en nuestra lista. Ahora la razón por la que vamos a estar haciendo esto es porque vamos a arrastrar fuera de este pin. Y vamos a averiguar la longitud de nuestra matriz, la longitud de nuestra lista, cuántas bolas de fuego existen en esta lista Y la razón por la que vamos a hacer eso es porque vamos a establecer nuestro número de bolas de fuego en vivo Así que aquí abajo en el panel de mi plano, encuentra tu matriz de bolas de fuego en vivo y simplemente podemos arrastrar y soltar esto en este outpin Si fuéramos, por ejemplo, a disparar rápidamente dos bolas de fuego presionando dos veces al Fkey, Bang, bang, vendríamos ¿Tenemos la Bola de Fuego ? Sí. ¿O Flor de Fuego? Sí. Bien. Existen dos bolas de fuego en el mundo Los vamos a agregar a nuestra lista. Esos dos están ahí afuera. Esa va a ser la longitud. Esta variable tendrá el número dos dentro. Ahora esto va a ser valioso porque luego vamos a arrastrar fuera de aquí y traer un nodo. Vamos a averiguar que las bolas de fuego en vivo son menos de dos. Sólo si tenemos menos de dos bolas de fuego vivas vamos a permitir el desove de otra Voy a enchufar esto a una rama como nuestro guión será como tal. Y voy a destacar esta porción media justo aquí mismo. Toca la llave del mar y esta va a ser mi número de secuencia de comandos de bolas de fuego en vivo Esto va a ser opcional, pero me gustaría tener esto aquí y si juegas juegos de Mario, en y si juegas juegos de Mario, realidad hacen esto una cosa. Voy a colorear esto tal vez un poco de azul oscuro, algo así. Sólo para acercar lo que tenemos aquí, este va a ser nuestro guión. Si quieres pausar un video en cualquier momento aquí para ver esto, asegúrate de que tienes ese número dos. Y este es un nodo menos que aquí mismo. Bien, sigamos adelante y compilemos esto rápidamente y luego podemos probar esto de inmediato. Así que sólo saltaré y jugaré. Entonces ahora voy a Sam en mi llave F aquí, mira cuántos. Para que veas que solo tengo dos bolas de fuego vivas a la vez, y esas tienen que desaparecer antes de que pueda engendrar algunas nuevas A continuación, vamos a restringir el número de rebotes que puede hacer una bola de fuego Y para esto vamos a entrar dentro de nuestra bola de fuego BP. Dentro de aquí, vamos a agregar un click variable ahí mismo. Esto se va a llamar nuestro. Contador de rebote de bola de fuego, esto también va a ser un entero Si compilo esto de inmediato, quiero dejar esto en un valor predeterminado de cero. A continuación, vamos a entrar en nuestra lista de componentes. Entonces vamos a hacer click derecho sobre nuestro movimiento de proyectiles. Vamos a agregar un evento, y vamos a agregar un evento sobre rebote de proyectiles Cuando hagamos esto, vamos a saltar a nuestro gráfico de eventos. Cada vez que nuestro proyectil rebota, disparará fuera de aquí. Lo que vamos a hacer aquí es traer nuestro contador de rebote de Bola de Fuego Voy a mantener pulsado el control click izquierdo y arrastrar. Y entonces si me arrastro fuera de esto puedo traer en un nodo de incremento. Y lo que esto va a hacer es que va a agregar uno a nuestra variable aquí y luego la va a volver a poner aquí. No tenemos que preocuparnos por poner nuestro contador de rebote de Bola de Fuego en el otro extremo de esto Este nodo de incremento especial simplemente va a averiguar cuál es el valor de esto Lo va a agregar y luego lo va a volver a poner aquí. Ahora fuera de este pin de salida voy a alargar y voy a traer en un mayor que o igual a, si es mayor o igual que el número dos. Voy a enchufar esto a un nodo de rama manteniendo presionado B y haciendo clic izquierdo trae en una rama lejos El contador de rebote de Bola de fuego es mayor o igual a dos Voy a engendrar emisor en la ubicación. Emisor de desove, el emisor que me gustaría, me gusta usar la explosión para casi todo También está en el contenido de inicio, así que por eso uso la explosión de subrayado P A. Una vez más, se puede hacer el sistema de desove en el lugar para una partícula del Niágara Necesito darle de comer a esta una ubicación. Entonces lo que voy a hacer es que voy a conseguir la ubicación de nuestra esfera aquí. Vamos a arrastrar esto así que vamos a arrastrar fuera de aquí tipo y obtener la ubicación del mundo donde sea que se encuentre en el mundo. Ahí es donde vamos a engendrar esta explosión. Por supuesto, también es agradable tener un poco de sonido. Lo que voy a hacer es después de que engendremos la ubicación del emisor, voy a arrastrar fuera de aquí y escribir el sonido de desove adjunto Simplemente puedo tomar nuestro valor de retorno y adjuntar al componente así. Y eso va a engendrar en. ranura en un sonido de explosión aquí. Simplemente usaré la señal de explosión. Entonces al final de esto simplemente voy a arrastrar y decir, destruir a qué actor nosotros mismos, es decir, esta bola de fuego Bien, así que voy a tratar enmarcar todo esto para que puedas comprobarlo. Asegúrate de que tienes esos dos. Esta es una explosión mayor o igual a la explosión. Para que sea más fácil probar esto, voy a seleccionar nuestro movimiento de proyectil Y temporalmente voy a bajar nuestra velocidad aquí, porque ahora mismo no vamos a ver este rebote dos veces. Déjame cambiar esto a algo así como 500, 500. Voy a cambiar eso aquí eventualmente, probablemente entre videos. Entonces voy a compilar esto, vamos a jugar aquí. ¿Cuántas veces rebota? 12, boom. 12. Se está destruyendo automáticamente, viendo esos efectos y otras cosas en ese segundo rebote Bien, antes de que me olvide, voy a volver a poner mi velocidad aquí a 2,500.2500 Pero de nuevo, puedes jugar con eso a tu Bien, lo siguiente que quiero hacer aquí es verificar si nuestra bola de fuego está golpeando una superficie mayormente vertical, y si lo es, vamos a explotar instantáneamente A diferencia de esperar a que nuestra bola de fuego rebote dos veces y luego explote Ahora para hacer esto, voy a arrastrar el rebote de mi proyectil un poquito más y podemos romper nuestro resultado de impacto Y podemos hacer eso arrastrando aquí y escribiendo en break, Hit Result Entonces voy a ampliar esto, hazlo. Lo que quiero hacer es encontrar nuestra normalidad. Vamos a arrastrar fuera de esto, voy a escribir en vector, obtener abs. Entonces voy a tomar esto y voy a romper esto. Vamos a romper este vector. Vamos a averiguar la z a partir de esto. Y vamos a arrastrar esto a un nodo menos que, y vamos a averiguar si esto es menor 0.9 Y vamos a repasar algunos escenarios de ejemplo aquí en sólo un poquito. Voy a mantener pulsada la tecla B y click izquierdo para traer una rama así. Y voy a arrastrar esto así. Bien. Lo que vamos a hacer entonces es averiguar qué número se está emitiendo aquí simplemente trayendo una nota de cadena de impresión temporal. Entonces voy a hacer click derecho en algún espacio vacío. Escriba la cadena de impresión. Esto sólo va a ser una nota temporal. Voy a enchufar temporalmente lo verdadero, falso, en esto, y voy a tomar este valor Z. Y enchúfelo directamente a aquí. Sólo para que veas este número siendo escupido en la pantalla Ahora voy a colocar una superficie justo aquí abajo y luego dispararle una bola de fuego. De hecho, lo colocaré por la parte superior aquí solo para que podamos ver algunos valores que se escupen cuando estamos disparando nuestra bola de fuego Así que sólo voy a traer aquí un cubo. Simplemente voy a un poquito así. Voy a rotar un poco así. Lo voy a mover un poco hacia abajo así. Voy a disparar desde una superficie como esta. ¿Bien? Saltando y jugando. Bien, así que aquí vamos. Obtienes esta bola de fuego. Vas a querer buscar por el ícono de Mario en el extremo superior de este número impreso en la pantalla. Entonces aquí vamos, 0.5 0.5 0.5 Bien, entonces te haces una idea de los valores que se están escupiendo aquí Permítanme desactivar mis ajustes de ajuste angular. Gira esto un poco más, bien, déjame inclinarlo así. 0.7 0.7 0.7 Angular ahora para que sea un poco más vertical así Aquí vamos. Es, el primer número es 0.178 Y luego está obteniendo un valor de uno ya que está rebotando en esa superficie plana El valor absoluto va a asegurar que ahí no tengamos un número negativo. Y lo que esencialmente estamos queriendo hacer aquí, voy a simplemente destruir estos nodos, es esto. Quiero incrementar nuestro contador de rebote. De hecho voy a sacar esto un poco así, y de hecho voy a bajar esto un poco. Si esto se evalúa como verdadero, quiero engendrar de inmediato estos efectos Bien, ni siquiera queremos incrementar ese contador de rebote Bien, déjame soltar esto. Voy a enmarcar esto lo mejor que me pueda gustar. Entonces, sigamos adelante y compilemos esto. Y entonces la prueba está fuera saltando de nuevo a mi nivel, jugando. Entonces van a ver, van a filmar esto mayormente vertical. Lo va a destruir enseguida sin esperar un segundo rebote. Voy a inclinar esto un poco más así. Vamos a probar eso. Vamos a destruir eso enseguida. Si yo fuera simplemente, no debería decir mayormente vertical, debería decir algo vertical. Entonces ahora no nos vamos a preocupar por un ambiente ligeramente inclinado en absoluto Esto va a permitir que rebote, pero siempre y cuando tengamos una superficie ligeramente angulada como esa, va a destruir enseguida. No va a esperar un segundo rebote. Bien, una cosa más vamos a arreglar con nuestras bolas de fuego Antes de que me olvide, olvidé dirigirme a nuestro bloque invisible aquí. Aquí está el problema actual. Si vuelvo a saltar y juego y voy a conseguir nuestra flor de fuego. Y se puede ver que tengo bloqueos invisibles aquí abajo. Si toco esa tecla F, se puede ver que está colisionando contra ese bloque invisible todavía, así que tenemos que abordar ese problema Entonces vamos a sumergirnos en nuestro bloque invisible, plano Puedes seleccionar cualquiera de estos bloques invisibles. Puedo editar el bloque invisible yendo ahí mismo. El problema actual es que voy a acercar el zoom donde estamos empezando a jugar. Aquí mismo, nuestro cubo. Actualmente, si selecciono nuestro cubo y entro en la configuración de colisión, puedes ver que agregamos la bola de fuego y está configurado para bloquear la bola de fuego aquí fuera del evento comenzar Lo que podemos hacer es arrastrar fuera de nuestro cubo, escribir en conjunto respuesta de colisión para canalizar este nodo aquí mismo. Vamos a cablear esto. Vamos a configurar el canal para que sea Bola de Fuego y después vamos a establecer la nueva respuesta Asegúrese de que eso esté configurado para ignorar. Adelante, compilar y guardar eso. Entonces si entro y juego y me dejo mover mi barra de fuego fuera del camino aquí, en mover mi barra de fuego fuera del camino aquí, realidad solo tengo una cuadra ahí en las barras de fuego, solo que parece que está descansando dentro de ella de esa manera ya no debería golpearme. Bien. Voy a saltar y jugar aquí. Consigue ese golpeteo de flor de fuego. Y se puede ver que ya no choca con ese bloque invisible Déjame entender esto. A ver si puedo disparar una bola de fuego con esto. Ya puedes ver el problema es que está pasando justo por ese bloque después de que interactúo con él. Entonces tengo que asegurarme de volver a encender esa colisión una vez que hayamos revelado ese bloqueo invisible. Para hacer eso, voy a volver a mi bloque BP, moneda invisible. Y diremos que una vez que hayamos terminado de interactuar con esto, voy a volver a bajar donde estamos encendiendo nuestra invisibilidad Pongámoslo en esta zona aquí mismo. Sólo voy a tirar de esto para traer nuestro cubo. Voy a escribir, en realidad sólo voy a robar ese nodo de aquí arriba. Se llamaba set collision response to channel. Yo sólo voy a copiar ese nodo. Vamos a traerlo de nuevo aquí abajo y voy a pegar ese nodo. Vamos a escabullirlo aquí mismo. Asegúrate de enchufar tu Cubo como objetivo. Y esta vez diremos después de que hayamos interactuado con ella, ya no vamos a ignorar a la Bola de Fuego, en cambio vamos a bloquearla Así que adelante y compilar y decir eso, vamos a probar esto. Una vez más, saltando de nuevo y jugando. Se puede ver que está pasando justo por ahí, golpeando ese otro bloque, no va a interactuar con este bloque. Ahora bien, si trato de disparar a este bloque, está interactuando con él y colisionando donde debería Bien, ahora tenemos una versión avanzada de los chicos de Fireball que va a hacerlo todo por este Nos vemos en la siguiente. 46. Componentes y funciones de bloques base: En el transcurso de los siguientes videos. Aquí vamos a estar armando un bloque. Y lo que hace un bloque por aquellos que no están familiarizados es que convierte los bloques regulares en monedas por un tiempo limitado. Una vez que expira el temporizador, esos bloques que se convirtieron en monedas vuelven a convertirse en bloques. Para que logremos esto de nuevo en el motor aquí, vamos a hacer algunas modificaciones a nuestro bloque base BP. Sigue adelante y selecciona eso, luego presiona la barra espaciadora para abrirla. Dentro de aquí, vamos a agregar un par de componentes. Déjame volver a mi vista de ventana gráfica aquí. Vamos a agregar un componente. El primero va a ser un niño. Si escribimos niño, va a ser un actor infantil luego apegado a nuestro actor infantil. Así que asegúrate de tener esto seleccionado. Vamos a agregar colisión de esfera. Y lo podemos encontrar aquí abajo bajo la sección de colisiones. Colisión de esfera, voy a llamar a esto mi colisionador de monedas. Con nuestro colisionador de monedas seleccionado, voy a cambiar el radio de la esfera Sólo voy a hacer que sea un poco más grande a 35. Está enterrado en el interior de nuestra cuadra ahora mismo, lo que queremos que haga, no queremos que quede expuesto en el exterior de nuestra cuadra. Y nuestro actor infantil en el panel de detalles, podemos ranura en una clase de actor infantil. Vamos a dejar esto en blanco por ahora. Ahora dentro de los planos que, sí queremos exponer una moneda cuando se golpea el bloque, pondremos esto para ser BP, recoger moneda, pero no vamos a hacerlo aquí dentro de este plano padre A continuación vamos a crear un par de funciones aquí dentro de nuestra base de bloque BP. Y estos van a servir para encender y apagar los diversos efectos cuando interactuemos con nuestro bloque. Así que aquí mismo en el panel de mi blueprint bajo funciones, vamos a hacer clic en este botón más A este primero lo llamaremos bloque. En el segundo llamaremos haciendo clic en este botón más. Una vez más, lo voy a llamar bloqueo. Bastante simple. Con cada uno de estos creados, hemos agregado algunas pestañas en la parte superior aquí para nuestras diversas funciones. Voy a comenzar con mi bloque encendido, así que asegúrate de que ese esté seleccionado. La funcionalidad que quiero agregar aquí es que voy a arrastrar en una referencia a nuestros cubos. Puede arrastrar y soltar eso de la siguiente manera. Entonces voy a arrastrar fuera de esto y escribir en visibilidad del set cuando nuestro bloque está encendido, hemos interactuado con nuestro bloque, voy a apagar la visibilidad de nuestro cubo Entonces vamos a dejar eso sin control. Entonces voy a arrastrar fuera de nuestro cubo una vez más aquí. Y voy a escribir en set collision enabled. Entonces vamos a establecer nuestra colisión para este cubo no tenga colisión porque los bloques puestos, no queremos poder chocar con el cubo Entonces lo que queremos poder hacer es llevar la referencia a nuestro actor infantil. Entonces vamos a arrastrar fuera de este tipo en la visibilidad del set. Estamos encendidos la visibilidad de nuestro actor infantil para nuestro bloque de función. Voy a hacer click izquierdo en arrastrar para copiar estos nodos control C. Ahora voy a entrar en mi función de bloqueo solo para ahorrar algo de tiempo aquí. Voy a dar click aquí y luego hacer control V para pegar todo esto. Esto va a ser en su mayoría similar excepto que solo necesitamos voltear todos estos diversos ajustes aquí, así que cuando nuestro bloque esté apagado, queremos asegurarnos de que nuestro cubo vuelva a estar encendido. También queremos asegurarnos de que hemos vuelto a habilitar la colisión. Entonces para esto vamos a hacer una consulta habilitada por colisión en física. Y luego el niño actor, queremos que eso sea invisible una vez que se haya apagado el bloque. Una vez que ese temporizador haya expirado. Bien, a continuación vamos a agregar un poco más de guión aquí con nuestro colisionador de monedas Vamos a hacer click derecho sobre esto. Vamos a agregar un evento, y vamos a hacer Begin Overlay. Y cuando lo hagamos, vamos a saltar de nuevo a nuestro gráfico de eventos aquí. Voy a hacer zoom hacia atrás y voy a encontrar algún espacio vacío para poner esto. Voy a poner de esta manera aquí abajo. Retrocedamos el zoom en eso. Y entonces lo que voy a hacer es que voy a arrastrar el pin del otro actor y escribir el símbolo igual y vamos a averiguar si esto es igual a nuestro personaje get player. Si es igual voy a enchufar esto en una nota de rama manteniendo presionada B y haciendo click izquierdo. Si eso es igual, simplemente vamos al actor actor, es decir, este bloque mismo. Esto va a asegurar que si recoges la moneda de bloque en su interior, básicamente es tiempo de bloque. Esa moneda ha sido expuesta, entonces el bloque mismo va a ser destruido y así no va a volver. Una vez que haya expirado el tiempo de bloqueo, voy a hacer clic izquierdo y arrastrar alrededor de este toque, se recoge el tipo de tecla C en bloque, bloque moneda en el interior. Y también voy a ponerle a este negro. Y chicos, eso es todo lo que queríamos lograr en esta. Entonces solo voy a compilar esto y guardar. Y con eso hemos sentado algunas de las bases para nuestro bloque P. Eso lo va a hacer por este. Nos vemos en la siguiente. 47. Etiqueta de bloqueo infantil y actor infantil: Bienvenidos de nuevo a todos. En este video, nuestro objetivo es agregar una etiqueta y establecer una clase de actor infantil dentro de bloques. Nos gustaría habernos convertido en monedas. Cuando nuestro bloque está activo, puedes elegir en qué bloques quieres establecer esto. Sólo voy a poner dos de nuestros bloques, nuestro bloque rompible y nuestro falso rompible, para tener monedas adentro cuando finalmente interactuemos con nuestro Pero tenga en cuenta que también puede establecer esto para otros bloques. Si abro estos dos ahora mismo, sólo voy a golpear la barra espaciadora para que ambos se abran. Lo que podemos ver es que en cada uno de estos, el bloque rompible y el falso rompible, ahora han heredado el actor hijo y los componentes del colisionador de monedas que configuramos en nuestra Entonces configurándolos en nuestra base de bloques, los hijos de ella, incluido nuestro bloque rompible y falso rompible. Ambos los tienen. Bien. Para ambos, voy a entrar y poner al niño actor, así que este es mi falso rompible Lo pondré primero el niño actor, voy a poner esto a mi moneda, recoger BP, recoger moneda. Y luego haré lo mismo dentro de mi cuadra. Niño actor rompible, actor infantil, moneda de clase. Y vamos a ponerla a la moneda pick up. Entonces para cada uno de estos, voy a venir bajo los valores por defecto de clase Haz clic en Class Defaults en la parte superior, y vamos a agregar una etiqueta para esto Y verás dónde entra en juego la etiqueta un poco más adelante aquí, pero nos va a permitir. Y luego sólo voy a entrar aquí en el panel de detalles y buscar etiqueta. Permítanos agregar una etiqueta aquí haciendo clic en este botón más. Y voy a crear uno llamado simplemente bloque. Al igual que así voy a golpear el control C aquí después de haber resaltado eso. Y luego en mi BP falso Breakable, seleccionaré valores predeterminados de clase, buscaré etiqueta, crearé una etiqueta Sólo voy a destacar esto y controlar V para pagar a Sap. Y esta es una etiqueta esencialmente que estamos asociando con cada uno de estos bloques Nuevamente, vamos a estar haciendo uso de esto en el camino para cualquier cuadra que queramos tener una moneda adentro, asegúrate de que también agregues esta etiqueta también. Así que solo voy a hacer estos dos bloques, pero de nuevo, si quieres agregarlo a otros bloques, puedes asegurarte de que después de que hayas hecho esto, hayas hecho todo lo de Compilar y guardar. Y eso lo va a hacer todo por este chicos. Te veremos en la siguiente. 48. Blueprint de sacudidas de cámara: Bienvenidos de nuevo a todos. En este video nuestro objetivo es crear un plano de movimiento de cámara que se pueda reproducir cuando interactuamos con nuestro bloque Así que un poco más de trabajo de preparación antes llegar a crear nuestro plano de bloques en sí Vamos a poner esto dentro de nuestra carpeta de planos. Clic derecho, es algo de espacio vacío. Esta va a ser una clase de blueprint Para ello, no vamos a elegir ninguna de estas clases principales comunes para padres Vamos a venir bajo todas las clases en tu barra de búsqueda aquí. Haz una búsqueda de sacudidas de cámara. Lo que buscas aquí es batido de cámara, base. Adelante y selecciona eso. Y luego vamos a elegir seleccionar aquí mismo. Nombremos esto de inmediato. Bp subrayado sacudido de cámara. Y luego sigamos adelante y presionemos la barra espaciadora sobre esto para abrirla dentro de aquí, vamos a establecer algunos ajustes de sacudidas en el panel de detalles donde dice cámara, patrón de sacudidas de raíz Vamos a hacer click en esto y elegir oscilador de onda. Ahora vamos a expandir esto y tenemos muchas formas de sacudir esto. Voy a sacudir esto rotacionalmente sabiamente. Puedes sacudirlo sacudiendo también la ubicación real, pero lo que voy a hacer es venir bajo la rotación, el tono, la guiñada y el papel de cada uno de estos Sólo voy a establecer la frecuencia para que sea cinco. Entonces, bajo la categoría de cronometraje, esto va a determinar la duración en el tiempo de mezcla dentro y fuera. Voy a establecer la duración para que sea 0.3 La mezcla en tiempo 0.1 y el tiempo de mezcla fuera será 0.2 Ese va a ser nuestro shake estableciendo algo corto y barrido que vamos a llamar para jugar cuando pisemos nuestro bloque, chicos, eso es literalmente todo que queremos hacer en esta Adelante, compilar y decir si hemos terminado con éste, vemos en el siguiente. 49. Asset de retroalimentación de fuerza: Bienvenida. Pensé que sería bueno tener un poco de retroalimentación de fuerza. Eso es controlador rumble cuando nos detenemos en nuestra cuadra. Entonces, para aquellos de ustedes que tengan un controlador conectado a su computadora, quédese alrededor. Este video es para ti. Si solo tienes la intención de tocar un teclado mouse, siéntete libre de saltarte este Como nuestro objetivo es crear un activo de retroalimentación de fuerza personalizado. Dado que esto es una especie de activo único, no voy a crear una carpeta completamente separada por aquí. Podrías hacer eso, pero voy a tener este activo vivo en nuestra carpeta de bloques aquí. Y para empezar, voy a escribir click en algún espacio vacío. Vamos a entrar bajo Input y vamos a crear un efecto de retroalimentación de fuerza. Al hacer clic en eso, solo necesitamos dar un nombre. Llamaré al mío para recibir comentarios. Y luego solo presionaré la barra espaciadora para abrir esto. Dentro de aquí, vamos a hacer clic en nuestros Detalles del Canal aquí y ampliar nuestro índice. Y vamos a encontrar un editor de curvas. Y al igual que viste anteriormente en este curso con nuestras diversas líneas de tiempo, vamos a agregar un par de marcos clave a nuestras líneas de tiempo para desencontrar Solo voy a hacer click derecho en algún espacio vacío aquí para agregar nuestra primera clave. Con eso seleccionado, voy a sumar un valor de tiempo de cero y un valor de cero. Y luego voy a hacer click derecho otra vez. Vamos a añadir otra clave. Esta vez voy a sumar un valor de tiempo de 0.2 Así que nuestro batido va a durar sólo 0.2 segundos, y esta vez nuestro valor va a ser diez. Podemos poner estos dos a la vista aquí haciendo clic en estas flechas, así, si quieres que tu sacudida dure más tiempo, obviamente puedes jugar con el valor de tiempo Y si quieres tener una sacudida mayor, puedes establecer tu valor para que sea mayor o un valor menor si quieres menos de una sacudida Y justo aquí arriba tienes tus actuadores que puedes efectuar dentro de tu controlador. Actualmente, voy a dejar esto a sus valores por defecto, la izquierda grande, pequeña, derecha grande y pequeña también Sólo vamos a salvar esto. Y con esto hecho, ahora tenemos un activo de retroalimentación forzada que podemos hacer uso dentro de nuestros próximos chicos del plano del bloque P que va a hacerlo fuera para este Nos vemos en la siguiente. 50. Materiales y sonidos en bloques P: Bienvenida. En este video solo vamos a asegurarnos de tener todos los activos de audio y textura y material en su lugar antes de seguir adelante y crear nuestro plano de bloques como puedes ver en nuestro video de pausa aquí Así es como va a quedar un bloque. Tiene este interruptor de aspecto azulado en la parte superior y tiene esta base de aspecto plateado Solo para asegurarnos de que tenemos todo esto en su lugar antes de hacer nuestro plano de bloques, sigamos adelante y revisemos lo que tenemos en nuestro navegador de contenido De vuelta aquí en nuestro navegador de contenido, estoy en nuestra carpeta de audio y tengo este sonido de pantano del que vamos a estar haciendo uso dentro de nuestro bloque Asegúrate de que tienes eso. Entonces dentro de nuestra carpeta Texturas, asegúrate de tener acceso al bloque, al bloque rompible, así como a una de estas monedas Ahora bien, ya deberíamos haber tratado el bloque rompible y la moneda, pero no hemos convertido este bloque en un material Ese va a ser nuestro siguiente paso aquí. Voy a hacer click derecho sobre esto. Vamos a crear un material a partir de esto. Voy a dejar este nombre predeterminado. Sólo voy a presionar Enter aquí. Y luego voy a mover esto dentro de nuestra carpeta Materiales. Así que voy a arrastrarlo y soltarlo desde nuestra carpeta Texturas aquí, dentro de nuestra carpeta Materiales. Vamos a moverlo aquí. Y luego voy a saltar sobre nuestra carpeta Materiales, Seleccione eso, luego voy a golpear la barra espaciadora para abrirla. Ahora dentro de aquí, hay algunas cosas que quiero ajustar en nuestro panel de detalles. Bajo el modo de fusión, quiero cambiar esto de opaco a translúcido. También quiero marcar esta casilla para dos caras. Ahora, una vez que hice nuestro modo de fusión aquí, translúcido, también acabo de hacer disponible esta entrada de opacidad en nuestro nodo de material maestro aquí Lo que queremos hacer es tomar nuestro valor alfa de nuestra textura y enchufar esto a la opacidad Antes de hacer eso, voy a cambiar nuestra vista previa aquí. Actualmente está en nuestro ámbito. Voy a cambiarlo a un cubo para que puedas ver cómo se ve esto. Y obviamente eso se ve terrible, ¿verdad? Sin embargo, una vez que conectemos este valor a la opacidad, nuestro alfa en la opacidad, va a hacer que se vea mucho más agradable al deshacernos de Una vez que veamos esto en el juego, solo vamos a ver un lado de esto. Es como si estuviera en un avión. Algo más así. Así que acabo de seleccionar un avión aquí para ver cómo va a quedar. Genial, todo esto está bien y bien. Así que adelante y haz clic en Guardar. Podemos salir de aquí entonces. Y ahora vamos a querer crear un material nuevo. Porque cuando paramos en esta cuadra, queremos que se muestre una especie de versión deprimida de esto Y así que esencialmente queremos una especie de mirada para este bloque que va a mantener algo del azul, pero no vamos a ver ninguna letra y va a parecer una astilla de azul ya que hemos pisado el interruptor Así que adelante y cierra fuera de aquí. Y de vuelta en nuestra carpeta de materiales. Voy a hacer click derecho en algún espacio vacío. Vamos a crear un material completamente nuevo viniendo aquí, lo haré. Este bloque de subrayado. Subrayado subrayado azul. Sigamos adelante y presionemos la barra espaciadora para abrirla. Ahora sólo voy a añadir un color aquí. Al mantener pulsada la tecla tres número tres y hacer clic izquierdo. Eso va a traer un nodo constante de tres vectores. Voy a enchufar esto nuestro color emisivo aquí abajo. Quiero que esto sea un poco resplandeciente. Una vez más, mantuve presionada la tecla tres y clic izquierdo para obtener ese nodo. Para lo que esto es bueno es que simplemente puedes insertar un valor de color entrando debajo del panel Detalles. Podrías hacer clic en esta barra de colores y elegir una así. Sin embargo, sí tengo algunos valores duros que me gustaría introducir, así que voy a dejar la R, el valor rojo, en cero. El valor voy a ser 0.5 Y el valor que voy a establecer en uno para crear un color que se vea algo así. Y vamos a llamar a eso bueno por ahora. Vamos a poder hacer uso de esto en un poco de tiempo. Entonces voy a seguir adelante y hacer clic en Guardar, y luego podemos cerrar fuera de aquí. Después de que eso haya terminado de ahorrar, ahora estamos en bastante buena forma para comenzar a crear nuestros chicos de planos de bloque, eso va a hacerlo todo por este, ganar el siguiente 51. Plano de bloques P: Bienvenida. En este video nuestro objetivo es crear un plano de clase actor para nuestro bloque P con el que podamos interactuar y que convierta otros bloques en monedas por una cantidad de tiempo determinada En este video, solo vamos a armar nuestro plano de bloque En la siguiente, implementaremos el scripting para que toda esa funcionalidad suceda Ahora para comenzar aquí, quiero mover mi batido de cámara BP que creamos en el período previo a este video. Voy a mover esto a nuestra carpeta Bloques. Solo voy a arrastrar y soltar esto en nuestra carpeta Bloques. Lo vamos a mover aquí. Entonces voy a ir dentro de mi carpeta de bloques. De hecho, voy a crear una carpeta de bloques separada dentro de aquí. Entonces voy a dar click en mi carpeta de bloques, carpeta nueva, solo voy a llamar a este bloque. Entonces entraré a mi carpeta de bloques. Voy a seleccionar mi movimiento de cámara y mi feedback de fuerza, esos dos. Y voy a arrastrar y soltar los que están dentro de ahí. Los vamos a mover aquí dentro de nuestra carpeta de bloques. Voy a hacer click, vamos a crear una nueva clase de Blueprint Esta va a ser una clase de Actor, y voy a llamar a esta BP score block underscore guión Entonces sigamos adelante y golpeemos la barra espaciadora aquí para abrirla. Dentro de aquí, creo que tenemos seis componentes que vamos a agregar. Todos estos se adjuntarán a nuestra escena por defecto. Raíz. Este icono de aquí mismo, asegúrese de que todos estos estén unidos a la ruta de escena predeterminada. Este primero, si agregamos, automáticamente va a estar unido a eso. Entonces esto va a ser un avión aquí mismo. Voy a llamar a esto un bloque subrayado en el panel de detalles Voy a establecer algunos ajustes para esto de inmediato. El material que voy a establecer para esto va a ser nuestro material de subrayado de bloque, Este con el icono en él También voy a rotarlo y moverlo un poco, así que mi rotación aquí va a ser de 90. Se va a voltear así. Voy a establecer la ubicación para que sea 50. Lo va a mover un poco aquí arriba. Entonces abajo en el panel de detalles debajo de colisión, voy a establecer el preset de colisión para esto no sea colisión, que esto no sea colisión, no quiero poder colisionar con esto A continuación, voy a seleccionar nuestra ruta de escena predeterminada para que el siguiente componente que agrego vaya a estar unido a esto. Vamos a ir a sumar. Esto va a ser colisión de bloque, así que voy a desplazarme hacia abajo o colisión de caja, no colisión de bloque, colisión de caja. Simplemente dejaré este nombre como caja. Y con esto seleccionado de nuevo en el panel de detalles, voy a establecer mi extensión de caja aquí. Voy a establecer que sea 42 por 42 por 100. Una vez más, he determinado todos estos valores antes de tiempo. El ajuste preestablecido de colisión para este desplazamiento hacia abajo va a ser Bloquear todos los ajustes preestablecidos de colisión Establezca esto para bloquear todo. A continuación vamos a seleccionar una vez más nuestra ruta de escena predeterminada. Vamos a agregar un componente. Esto va a ser una malla estática. Voy a llamar a esto un bloque subrayado, subrayado base, subrayado Esto va a ser un cilindro sobre en el panel de detalles. Hacer una búsqueda de un cilindro. Y voy a hacer éste en nuestro motor, formas básicas. Tiene ese tamaño aproximado de 100 por 100 por 100. Así que vamos a establecer eso. Si quiero establecer la ubicación para esto, la ubicación z para que sea 7.85 voy a establecer la escala de esto para que sea 0.92 en la X. De hecho voy a tener diferentes valores para todos estos desbloquea tu escala aquí De esa manera podemos establecer valores únicos en cada campo. Va a ser 0.92 por 0.92 con un 0.15 va a ser algo destrozado, luciendo Y voy a poner el material aquí para que sea una bola cromada, algo brillante aquí. Esta bola cromada debería hacer muy bien abajo en la sección de renderizado. Para ello, vamos a desactivar esta casilla de verificación visible. Lo que eso va a significar es que no vamos a poder ver este juego hasta que lo hagamos visible. Esencialmente lo que va a pasar es que una vez que pisemos este interruptor de bloque, vamos a hacer que reaparezca Bien, a continuación vamos a seleccionar nuestra raíz de escena predeterminada. Una vez más vamos a agregar otro componente aquí. Esta va a ser una malla estática y esta se llamará block, underscore, underscore, top, underscore, smashed Con este componente seleccionado, vamos a establecer la malla estática para que también sea un cilindro. Ese mismo cilindro del motor forma vía básica. Y si no tienes acceso a tu carpeta del motor, puedes hacer clic en este ícono de engranaje y puedes mostrar contenido del motor para asegurarte de que estás viendo que vamos a hacer que eso sea nuestro cilindro aquí. Tengo una talla aquí en mente. La escala de esto va a ser 0.85 por 0.85 por 0.1 algo más pequeño así Entonces también voy a establecer el valor z para que esto sea 20 arriba un poco. También voy a establecer el material para esto de aquí mismo sea aquel que acabamos crear que va a ser subrayado en bloque, este material azul Esto esencialmente va a ser lo que vamos a hacer que se vea nuestro cambio después de pisotearlo Esto es para representar la porción azul de este interruptor aquí. También voy a entrar bajo la sección de renderizado donde dice visible aquí. Sólo voy a desmarcar eso por el momento, dos más para ir aquí Entonces, seleccionemos nuestra ruta de escena predeterminada. El siguiente componente que vamos a agregar va a ser la colisión de cajas. Una vez más vienen bajo colisión de caja. A éste voy a llamar cuadro subrayado dos sobre eso, cuadro subrayado aplastado con este Voy a establecer la ubicación para que sea 13 en la Z. voy a poner las extensiones de caja aquí abajo a 42 por 100 por 13, algo pequeño así Esto está destinado a representar el área de colisión después de que hayamos derribado el bloque. También baja debajo de la sección de colisión y vamos a establecer el ajuste preestablecido de colisión para que esto sea bloque. Un componente más para agregar aquí, haga clic en la ruta de escena predeterminada. Una vez más vamos a agregar, este va a ser un componente de audio justo arriba en la parte superior aquí, Audio. Voy a dejar ese nombre. No, en realidad lo voy a cambiar para que sea Música. Cambiémoslo para que sea música en su lugar. Música Con esta seleccionada, sobre en el panel de detalles, vamos a cambiar nuestro sonido aquí mismo para ser nuestro iniciador Música que. Nos desplazamos hacia abajo. Deberíamos encontrar nuestro fondo de arranque que. Algo importante que también debemos recordar hacer aquí es desmarcar la activación automática De lo contrario vamos a escuchar esto enseguida. Abajo debajo del panel de detalles aquí mismo. Tienes esta activación. Se activa automáticamente, así que no queremos que esto se reproduzca de inmediato. Entonces desmarquemos eso. Y con eso todo hecho, sigamos adelante y compilemos y guardemos. Aquí ya terminamos de armar nuestros componentes. En el siguiente video, vamos a agregar el script para que esta funcionalidad suceda para nuestro switch de bloque P. Te veremos ahí. 52. Secuencias de comandos de bloque P (parte 1): Bienvenida. En este video nuestro objetivo es agregar variables y crear el script necesario para convertir los bloques etiquetados en monedas. Cuando interactuamos con un bloque P. Mucho trabajo por hacer en éste. Vayamos directo a ello sumergiéndonos en nuestro bloque BP. Dentro de aquí, vamos a agregar tres variables sobre en el panel my blueprint haciendo clic en este botón más A esta primera se le va a llamar etiqueta. El tipo va a ser un nombre. Al segundo se le va a llamar bloques. Este va a ser de la variedad actor. Bajo los tipos de objeto, referencia de objeto actor. El tercer tipo que vamos a crear va a ser una variable flotante. Y llamaremos a este bloque duración de tiempo. Cambiemos eso a una carroza. Y luego con estos creados, sigamos adelante y compilemos y cambiemos algunos de los valores aquí, así como algunos de los otros ajustes. Comenzando con nuestra duración de tiempo de bloqueo, voy a establecer nuestro valor predeterminado para que sea de 8.08 segundos. También voy a marcar esta casilla para que sea editable por instancia. Así que en el editor podemos anular esto si queremos en la variable blocks. Simplemente voy a cambiar el tipo de variable de una sola a una matriz. Esencialmente, vamos a estar almacenando una matriz de bloques. ¿Qué matriz de bloques? Vamos a estar almacenando una matriz de bloques, A share, una etiqueta similar para la etiqueta. Vamos a seleccionar eso y en el panel de detalles, bajo valor predeterminado, vamos a poner la etiqueta de bloque. Ahora bien, si esto nos parece familiar, eso es porque este bloque de etiquetas es exactamente el mismo que colocamos para varios bloques. Aquí en nuestro navegador de contenido. Agregué esto a nuestro bloque rompible así como a nuestro bloque falso rompible Si solo abro uno de estos que tengo mi nivel aquí, tengo un bloque rompible Podemos ver que si entro en la clase predeterminada en una búsqueda de etiqueta, agregamos una etiqueta llamada bloques. Básicamente vamos a estar buscando cualquier bloque que tenga esa etiqueta, y vamos a estar agregando aquellos que tienen esa etiqueta a esta matriz de bloques. Bien, adelante con nuestro guión. Lo que vamos a hacer aquí es seleccionar nuestro componente de caja y vamos a escribir, haga clic en este. Vamos a agregar un evento para cuando lleguemos a este componente. Eso nos va a saltar a nuestro gráfico de eventos aquí. Y queremos comprobar si el otro actor es igual a nuestro personaje jugador. Va a hacer clic en obtener personaje jugador. Bien, así que si esto es cierto, conectemos esto a una rama manteniendo presionada la tecla B y haciendo clic izquierdo. Si esto es cierto, también vamos a detectar si golpeamos esto de cierta manera. Entonces en realidad vamos a comprobar para ver si dos cosas son ciertas aquí. Déjame simplemente desconectar esto. mantener pulsada la tecla Alt y hacer clic con el botón izquierdo, vamos a extraer alguna información sobre nuestro golpe de esa casilla. Y puedo hacer esto arrastrando fuera de nuestro pin de salida hit. Tengo este resultado de golpe de break. Voy a ampliar esto y vamos a evaluar el impacto normal arrastrar fuera de aquí y escribir un símbolo igual. Vamos a verificar si nuestro impacto de esta casilla en la dirección z tiene un valor de uno negativo. Esencialmente lo que estamos comprobando aquí es cuando golpeamos esta casilla, ¿impactamos esto en la dirección hacia abajo? Estableciendo este valor aquí, z valor a negativo uno. Lo comprobaremos. Queremos saber si esto también es cierto. Este es un valor de tolerancia. Sólo voy a poner esto a un valor muy pequeño. Sólo voy a ponerle 2.01 y vamos a comprobar para ver si ambos son ciertos Voy a arrastrar aquí y escribir y estoy buscando un lingote Y y voy a enchufar esto al otro lado Y luego vamos a enchufar la salida de esto en nuestro nodo de sucursal. Así que esencialmente estamos comprobando, oye, ¿algo llegó a nuestra caja? A ver, ¿era nuestro personaje jugador? ¿Fue ese el otro actor que le pegó? Y oh, por cierto, ¿lo golpearon en dirección descendente? ¿Se detuvieron en él? Si ambos son ciertos, queremos hacer algo. Lo primero que vamos a hacer es lanzar al personaje. Esta es una función que es específica de un personaje. Así que voy a arrastrar fuera de nuestro personaje get player y escribir en lanzamiento y encontrarás esta función si arrastras fuera de tu personaje get player. La razón por la que vamos a hacer esto es que solo vamos a aparecer un poco al personaje cuando lo pisoteen Simplemente los va a hacer aparecer un poco en la dirección Z. Va a establecer esto para que sea 400 y voy a traer aquí un nodo de re ruta para que no tengamos que desorganizarnos de una gráfica que mira Bien. Entonces justo después de esto, lo que vamos a hacer es que vamos a enchufar esto en un nodo de secuencia, manteniendo presionada la tecla S y haciendo clic izquierdo. La razón por la que estoy trayendo una nota de secuencia es porque queremos que sucedan una variedad de cosas aquí. La nota de secuencia nos va a ayudar a mantenerla organizada. Entonces voy a dar click en este pin de Anuncio un par Veces para agregar algunos pines de salida más. Bien, lo primero que quiero hacer fuera de nuestro entonces pin cero es que quiero hacer clic derecho y voy a reproducir un sonido. Reproducir Sonido dos D, y el sonido que quiero reproducir, haciendo clic en este menú desplegable de sonido va a ser nuestro sonido thwamp Entonces después de esto, voy a arrastrar y escribir emisor de desove en Si quieres hacer una partícula de Nagra, sería sistema de desove en El sistema de partículas que quiero usar aquí se llama pot bake. Esto es de ese paquete de cuchillas infinitas que agregué antes en el curso. Ahora necesito alimentar a esta una ubicación, realmente simple. Podemos elegir uno de nuestros componentes aquí donde nos gustaría que se genere esto. Voy a elegir mi smash basado en bloques aquí, arrastrar eso adentro, vamos a arrastrar fuera de aquí y decir obtener ubicación mundial. La ubicación de ese componente es donde vamos a desovar en este emisor Lo que también quiero hacer, quiero tocar algo de música enseguida. Voy a arrastrar en nuestro componente musical, Entonces voy a arrastrar fuera de aquí, Simplemente escriba en juego. Queremos jugar esto desde el principio, así que voy a dejar esa hora de inicio en paz. Eso es lo primero que quiero hacer. Una vez que nos detengamos en nuestro bloque haga clic izquierdo y arrastre, toque la tecla. Voy a decir que este es nuestro bloque. Vaya, bloque X guión. Va a ser lo suficientemente bueno color este negro. Bien, eso está bien y organizado. Lo segundo que quiero hacer, bajando un poco por aquí, es que quiero tocar algunos efectos de movimiento de cámara y forzar la retroalimentación. Para esto, voy a arrastrar y escribir en play World Camera shake dentro de mi batido de cámara mundial. Vamos a hacer clic en esto y tenemos nuestro batido de cámara BP. Por cierto, antes de que me olvide, olvidé una cosa cuando creé nuestro plano de sacudidas de cámara mundial Sigamos adelante y naveguemos a esto de inmediato. Eso te va a saltar a donde está esto. Voy a presionar la barra espaciadora para abrir nuestro batido de cámara Voy a abrir el editor de planos completo sobre el lado derecho debajo de nuestra cámara shake params, olvidé agregar un multiplicador de amplitud de rotación, esto actualmente es cero Establece esto para que sea uno y luego adelante y guarda esto. Vamos a necesitar eso para poder ver realmente movimiento de la cámara que estaba bajo root, shake, rotación, rotación, amplitud, multiplicador. Establezca eso en uno. Volviendo a nuestra cuadra, ese va a ser nuestro batido de cámara. Necesito especificar un epicentro. Voy a hacer clic derecho para obtener el personaje del jugador. Vamos a arrastrar fuera de este tipo en conseguir la ubicación del actor. Ese va a ser nuestro epicentro, el radio interior y exterior Vamos a establecer esto en 1,000.2 mil. Puede especificar o entender qué especifican exactamente estos revisando las puntas de las herramientas. En pocas palabras, a través de algunas pruebas, descubrí que este era un buen rango dada configuración de mi cámara para este movimiento de cámara mundial se reprodujera. Voy a dejar el resto de estos parámetros como están. Eso hará temblar nuestra cámara. A continuación, voy a hacer click derecho, obtener el controlador del reproductor. Entonces si arrastramos fuera de nuestro controlador de reproductor, esto es solo para ustedes, la gente del controlador. Un controlador físico. Voy a jugar por comentarios. Vamos a la retroalimentación de la fuerza del cliente. Ese es el nodo que estamos buscando. De nuevo, si estás jugando con el ratón y el teclado, puedes omitir esto Pero para aquellos de ustedes que tienen un controlador conectado, esta es una especie de ranura agradable en nuestro activo de retroalimentación de fuerza. Y ahí vamos con este pedacito de guión. Sólo voy a mover esto, sobre toque la tecla de mi pin aquí. Esto va a llamarse mi cámara agitar y forzar el color del script de retroalimentación este negro también. Bien, tengo ese poco de guión hecho. Pausa el video aquí si es necesario. A continuación vamos a traer nuestra nota de secuencia aquí abajo para construir a partir de los entonces dos pines aquí. Vamos a seleccionar nuestras dos mallas de bloque. Voy a destacar a ambos que usan control y pinchando sobre ellos. Voy a arrastrarlos aquí abajo, así que tengo una referencia a ambos. Entonces podemos arrastrar fuera de cualquiera de estos y puedo escribir en la visibilidad del conjunto. Y podemos enchufarlos a ambos aquí. Enchufa esto también aquí, los vamos a hacer visibles. Esencialmente vamos a estar haciendo un poco de engaños visuales aquí Los hicimos invisibles aquí en nuestra ventana gráfica. Si recuerdas abajo en la sección de renderizado, los hicimos invisibles esencialmente una vez que nos detengamos en esto, los vamos a hacer visibles. Volviendo a nuestro gráfico de eventos, lo que también queremos hacer es tomar nuestro bloque y nuestra caja, estos dos componentes, arrastrarlos hacia adentro. Si arrastras fuera de cualquiera de ellos, puedes escribir int, queremos destruir estos dos componentes. Si vuelvo a nuestro punto de vista aquí, nuestro bloque, esencialmente vamos a estar destruyendo ese componente. Aquí vamos a estar destruyendo nuestro colisionador de cajas. Destruyendo a esos dos, y luego haciendo que estos dos aparezcan. Entonces es un poco de juego visual de manos, si se quiere Al hacer clic izquierdo y arrastrar, toca la tecla. Este va a ser nuestro show. Déjame tirar de esto para que veas lo que estoy imprimiendo aquí. Mostrar mallas y destruir componentes. Eso es lo que estamos haciendo con este pedacito de guión. Entonces vamos a bajar el sonido y construir a partir de nuestro entonces tres pines. Aquí es donde empezamos a detectar cuál de nuestros bloques tiene la etiqueta. Vamos a traer aquí nuestra variable . Vamos a conseguir eso. Vamos a enchufar esto en un get todos los actores con función. Lo que esto va a hacer es devolver todos los actores que tengan esta etiqueta con todos nuestros actores fuera. Podemos almacenarlos en nuestra lista. Los vamos a almacenar en esta matriz de bloques. Para que podamos arrastrarlo y soltarlo justo aquí. Cualesquiera bloques en nuestro nivel que tengan esta etiqueta de bloque, los va a encontrar a todos. Los va a almacenar en esta lista. Y entonces vamos a arrastrar fuera de aquí, traer un cuatro cada bucle para cada ítem de nuestra lista. Asegúrate de engancharlo también. Para cada elemento de nuestra lista vamos a arrastrar fuera de aquí y lanzar a nuestra base de bloque B P. Vamos a llamar a la función dentro de nuestro bloque BP, bloque base encendido. Regresemos aquí solo un momento. Repasé cómo algunos de nuestros bloques tienen esta etiqueta de bloque. Esencialmente los estamos encontrando a todos, restaurándolos en esta lista. Lo que estamos haciendo entonces es revisar nuestra lista aquí uno a la vez. Y para cada uno de esos, estamos comprobando para ver si pertenece a la base del bloque. ¿Ese es el padre de nuestros bloques de aquí? Déjame ir y abrir nuestra base de bloque aquí. Aquí está nuestra base de bloques. Dentro de aquí, nuestra base de bloque. Creamos esta función de bloqueo que va a desactivar la visibilidad de nuestro cubo de bloques. Va a ocultar nuestro cubo de bloques. Se va a apagar la colisión de nuestro cubo de bloques. Y también va a encender la visibilidad del niño actor. Ahora como tenemos nuestro bloque rompible que hereda de nuestra base de bloque BP, va a propagar esos efectos en abajo a los hijos de nuestra base de bloque BP Una vez más, block breakable hereda de nuestra base de bloque BP aquí, dentro de nuestro bloque P diciendo, oye, averigüemos si nuestros elementos de matriz son de este tipo BP block Si lo son, sí, hacen esta función aquí mismo básicamente ocultar el bloque activar la visibilidad del actor infantil dentro. Eso es lo que está pasando aquí. Obtenga un clic izquierdo y arrastre alrededor de este toque la tecla. Este va a ser mi script off the three pin para decir find all with block tag y turn on function found in the parent block. El bloque padre es nuestra base de bloque BP. Bien, vamos a darle la vuelta a esa cuadra también. 53. Secuencias de comandos de bloque P (parte 2): Un poco más de guión aquí. Tengo que añadir una pluma más. Esta va a ser una importante que vamos a arrastrar fuera de aquí. Y vamos a escribir el temporizador establecido por evento fuera de esto. Vamos a arrastrar hacia atrás fuera de este pin de evento. Y vamos a traer en un evento personalizado. Vamos a llamar a esto nuestro tiempo de bloqueo sobre un evento personalizado. Y esto se va a disparar cuando nuestro tiempo expire aquí, nuestro tiempo va a ser determinado por esta variable, actualmente 8 segundos. Una vez que paremos en este bloque, una de las cosas que vamos a hacer es que vamos a establecer un temporizador que va a durar 8 segundos. Después de que ese temporizador haya terminado, luego vamos a disparar fuera de este evento personalizado. Así es como funciona esto. Vamos a arrastrar fuera de aquí y escribir en cuatro cada bucle. El bucle por el que vamos a atravesar son nuestros bloques. Dragón deja caer eso justo aquí. Para cada uno de nuestros bloques, vamos a lanzar una vez más a base de bloque. Entonces vamos a averiguar si ese bloque de la lista es válido, es válido porque podríamos haber conseguido la moneda dentro del bloque, destruyendo así ese bloque por completo. Si el bloque sigue siendo válido, es decir, no hemos recogido la moneda en su interior, todavía está alrededor, sigue existiendo, sigue siendo válida. Entonces vamos a arrastrar fuera de aquí y decir “block off”. Vamos a llamar a cualquier bloque que aún exista, vamos a llamar a la función llamada block off, que dentro de nuestra base de bloques, lo que eso va a hacer es que va a hacer nuestra malla de bloques, nuestro cubo sea visible una vez más. Va a activar la colisión por ello una vez más y va a hacer que el niño dentro no sea visible. Regresando al bloque BP. También queremos hacer una cosa más al final de esto, y es traer nuestra música. Entonces arrastra fuera de esto y di, oye, deja de tocar esa Música. Nuestra música va a reproducirse durante la duración de este evento de bloqueo, si se quiere, pero vamos a apagarla después de 8 segundos. Vamos a hacer click izquierdo y arrastrar, toca la tecla C. Déjame acercarme un poco aquí. Tire de todo este bloque encima. Puedes encuadrar esto como pausar el video si es necesario. Este va a ser mi script de temporizador de bloque. Todo bien. Colorea ese negro también. Pasan muchas cosas aquí. Sé que pasé por eso muy rápido para tratar de encajar esto en mi límite de tiempo de 20 minutos por video. Esta va a ser nuestra última configuración aquí. Obviamente tenemos que darle una prueba a esto. Así que hemos compilado nuestro guión. Se ve bien. Nosotros lo salvamos. Lo que voy a hacer ahora es traer nuestro bloque. Voy a arrastrar y soltar esto a nuestro nivel. Voy a presionar la tecla para ajustarla hacia abajo. Ahora tenga en cuenta que tengo tres bloques en mi nivel 12.3 que sí tienen una moneda infantil dentro de ellos. Cuando me detenga en esto, estos tres bloques, 12.3 se convertirán en monedas Voy a recoger solo estos dos, y voy a dejar que caduque el temporizador para que este se vuelva a convertir en un bloque. Antes de hacer todo esto, quiero señalar que con nuestro bloque agregado a nuestro nivel aquí, encima en el panel de detalles, se puede ver que mi duración de tiempo de bloque está actualmente expuesta. Así que podría alterar esto si quisiera. Podría anular esa configuración predeterminada. Y si tuvieras una segunda instancia de esto, si mantenía presionada la tecla Alt, clic izquierdo y arrastraba, podría establecer esto para que fuera un valor diferente No tienen que ser ambos de 8 segundos de duración. Puedes cambiarlos a lo que quieras que sean. Sigamos adelante y danos una jugada rápida aquí. Una vez pisé esta cuadra. Cambios en la música. Veo estos bloques convertidos en monedas. Voy a recoger estos dos enseguida. Voy a dejar que el temporizador caduque en ese último, ya ves que puedo pisar el nuevo interruptor de bloque que parece que se ha aplastado Este de hecho se ha vuelto a convertir en un bloque. Asegurémonos de que estos son de hecho invisibles y lo son, todavía puedo interactuar con esta otra vez y luego recoger la moneda dentro, etcétera Bien, eso está todo bien y bien. 54. Correcciones de errores del bloque P (parte 1): En el desarrollo de juegos, las cosas nunca van al 100% según lo planeado. Y también las cosas han salido un poco mal con nuestro bloque Tenemos algunos bichos que necesitamos limpiar antes de seguir adelante. Y en realidad puedes ver uno de los errores aquí mismo en nuestro puerto de vista en perspectiva. Y es decir, tenemos a nuestro niño actor, nuestra moneda incrustada dentro de estos bloques que se extiende más allá de nuestro bloque. Entonces eso es un problema. Y permítanme simplemente saltar y jugar aquí y exponer algunos problemas que suceden solo para presumir esa primera de esas monedas de actor infantil que se extienden más allá, hecho fui encima de esos bloques. Se puede ver en la parte superior izquierda, realidad estoy recogiendo estas monedas. Eso no es lo deseado. Otro problema aquí es que cuando me detengo en este bloque P, esa tampoco es realmente la música que quería que tocara. Entonces varios temas aquí para limpiar antes de continuar. Bien, vamos a saltar a nuestro bloque BP. Algunas cosas que quiero limpiar aquí. Este primero es principalmente cosmético porque funciona bien. Nuestro componente de caja aquí que puedes ver, lo tengo en mi ventana gráfica, realidad se extiende un poco debajo del piso también. Eso realmente no es necesario. Entonces todo lo que voy a hacer aquí es cambiar mi casilla extensión z en el panel de detalles. Voy a cambiar eso a 50, pero luego también lo voy a subir 50 en la dirección z. Eso esencialmente nos va a dar el mismo resultado sin que torpemente se pegue a través Entonces ese es el número uno. Yo solo quería limpiar. El segundo que quería limpiar es nuestra música nuestro componente de audio llamado Music nuestro componente de audio llamado Over en el panel de detalles, configuré esto accidentalmente a señal de fondo de inicio. De hecho, conseguí la parte inicial correcta, pero lo que quería meter aquí era Starter Music. Tengo esta señal de música de inicio. Eso es lo que debería haber sido. Así que asegúrate de seguir adelante y limpiar eso. Ahora, otro error que encontré a través las pruebas de errores está en nuestro gráfico de eventos, saliendo de nuestro entonces cuatro pines de nuestro nodo de secuencia. Este temporizador de bloque, lo tengo para que cuando termine la duración del tiempo, termine el tiempo de bloqueo. Estamos comprobando para ver qué actores aún existen en nuestra matriz de bloques. Y si siguen siendo válidos, aquí mismo estamos apagando los efectos de bloqueo. Y esto está saltando a nuestra base de bloque BP. Simplemente hago doble clic sobre eso para saltar por ahí, y eso está bien. Pero si ya no hay bloques válidos dentro de esa lista, la música en realidad no se detiene. Entonces lo que realmente quiero hacer aquí es hacerlo para que no importa si hay bloques en esta lista, si hay bloques que son válidos o no válidos, quiero detener la música. Donde esto ocurriría es si tuviera que parar en nuestra cuadra aquí y luego recoger monedas, 12.3 si las hubiera recogido todas. Lo que pasaría entonces es cuando el tiempo de bloqueo hubiera expirado, la música continuaría encendida al conectar esto fuera de no es válido también. Nos estamos asegurando de que esta música va a parar pase lo que pase, así que asegúrate de que también lo implementes. Con eso, voy a compilar y a salvo. A continuación, voy a seguir adelante y abordar el tema de nuestra moneda de actor infantil como que se extiende más allá de nuestro bloque aquí. Ahora el problema con esto está dentro de nuestra moneda BP pick up, aquí tenemos un radio de esfera de 75, que es mucho más grande de lo que necesita ser. Y es la razón por la que somos capaces de recoger esta moneda cuando es ranurada como actor infantil para algunos de nuestros bloques aquí Déjame seguir adelante y seleccionar nuestro bloque rompible por aquí y aquí Dentro de nuestro bloque rompible, que hereda de nuestra base de bloques, se dice que nuestro actor hijo es nuestra moneda BP pick up. Para evitar todo este tema, lo que tenemos que hacer es hacerlo manera que nuestro radio para nuestra moneda BP pick up que está ranurada como actor infantil sea simplemente mucho más apretado Entonces sigamos adelante y hagamos eso. Eso va a ser bastante sencillo. En vez de 75, voy a cambiarlo a 30, lo que va a parecer un poco demasiado apretado. Pero realmente no es porque el componente cápsula que rodea nuestro personaje sobresalga un poco. Entonces esto va a ser bastante bueno. Ahora recuerda nuestro cilindro aquí mismo que giramos de lado, que no tiene colisión asociada a él, así que no tenemos que preocuparnos de chocar con eso Entonces una esfera aquí de 30, ese va a ser un radio decente. Ahora adelante y compile y guarde esto. Quiero que este radio coincida también con nuestro radio de colisionador de monedas de bloque BP Ahora bien, si olvidaste nuestro radio de colisionador de monedas dentro de nuestro bloque BP va a ser usado para destruir a todo el actor Ahora, la única forma en que vamos a poder superponer esto es si hemos golpeado el bloque P, y así hemos ocultado el bloque real en sí y hemos solapado la parte media Entonces, sigamos adelante y fijemos este radio de esfera de colisionador de monedas aquí para que sea 30 también Si lo dejáramos a los 35, lo que pasaría es que superpondríamos esto antes superponernos a la moneda misma. Lo que significa que destruiríamos el bloque antes de poder recoger la moneda. Al establecer estos para que sean incluso los dos a los 30. Eso significa que simultáneamente recogeremos la moneda en su interior así como destruiremos todo el bloque en sí. Bien, sigamos adelante y compilemos y guardemos esto. Así que ahora si saltamos y jugamos, correré primero por la parte superior solo para asegurarme de que no podamos superponernos y recoger esas monedas enterradas dentro de algunos de esos bloques. Y eso se ve todo bien y bien entonces sigamos adelante y paremos en nuestra cuadra aquí. Voy a tener ese derecho. Plan de Música. Yo solo voy a recoger un par de las monedas aquí después de que el temporizador haya caducado. Nada con lo que chocar aquí. Todavía debería poder chocar con esto y todo parece estar de vuelta en buen estado de funcionamiento La música también se ha disparado. 55. Correcciones de errores del bloque P (parte 2): Bien, algunas cosas más que vamos a arreglar aquí arriba que están tangencialmente relacionadas con nuestro bloqueo Algunos de ustedes ya se han dado cuenta, sin duda, que todavía podemos romper nuestros bloqueos incluso cuando somos pequeños así. Y eso no es realmente tan diseñado. Queremos hacerlo para que solo podamos romper nuestros bloqueos cuando somos grandes. Ahora esto va a entrar en juego aquí también, porque vamos a agregar algún guión a nuestros bloques rompibles para hacerlo de manera que solo podamos romperlos cuando somos grandes Y después de agregar este bit inicial de script, vas a notar algunos otros problemas relacionados con nuestro sistema de bloques. Con todo eso dicho, saltemos a nuestro bloque rompible y agreguemos un poco de guión dentro de aquí Vamos a agregar un poco de script entre nuestro bloque hit de eventos y nuestro nodo de secuencia aquí. Y por suerte, vamos a poder tomar un atajo para algo de esto Pero esta primera parte necesitamos escribir fresca. Así que voy a mantener presionado el control y acercar el zoom hacia arriba. Lo primero que quiero hacer es hacer clic derecho en algún espacio vacío. Vamos a conseguir personaje de jugador, y luego vamos a arrastrar fuera de esto y vamos a lanzar a dos personajes en tercera persona. Ahora la razón por la que vamos a estar haciendo esto, vamos a conectarlo así, es porque dentro de nuestro personaje en tercera persona, tenemos una variable llamada hit points. Así que vamos a arrastrar fuera de aquí y escribir puntos de golpe. Vamos a conseguir ese valor y luego lo vamos a evaluar. Entonces voy a arrastrar fuera de aquí y decir si nuestros puntos de acierto son mayores o iguales a dos. Ahora no pretendo que vayamos por encima de dos puntos de hit, cero hit points, estás muerto Un hit point, eres pequeño. Dos puntos de golpe, eres grande, tienes poder de flor de fuego. Pero vamos a decir si estás por encima de eso, ya sabes si quisieras sumar un tercer, cuarto, quinto hit point, podrías. Entonces voy a mantener pulsada la tecla B y clic izquierdo y vamos a cablear esto como nuestra condición. Entonces, si nuestros puntos de golpe son mayores o iguales a dos, vamos a decir entonces eso, sí, de hecho, si eres grande, vamos a romper el bloqueo y hacer todo este tipo de cosas. Eso está todo bien y bien. No obstante, ¿y si solo tenemos un hit points, así que no somos mayores ni iguales a dos? ¿Qué hacemos entonces? Lo que queremos construir a partir de esta falsa rama. Entonces lo primero que vamos a hacer es crear un poco de espacio extra aquí. Y voy a tirar de esto hacia abajo. Y luego voy a saltar a mi navegador de contenido y voy a robar algún código dentro de nuestras monedas de bloque BP. Así que adelante y sumérgete aquí y vamos a robar este bloque anum conjunto de scripts click izquierdo y arrastre, control C, vuelve a nuestro bloque rompible Y voy a controlar V también fuera de nuestra falsa rama. Vamos a reproducir esta línea de tiempo de animación de bloques. Pero antes de que realmente hagamos esto, quiero traer aquí también un sonido. Vamos a arrastrar nuestro tipo de rama falsa en juego. Sonido Dos D, voy a decir que vamos a tocar el Brick Bump Sound. Entonces vamos a reproducir nuestra línea de tiempo desde el principio. Esta línea de tiempo simplemente va a hacerla para que elevemos un poco nuestro, nuestro componente cubo hacia arriba en la dirección Z. Vamos a toparnos con él en lugar de destruirlo para que coincida con eso. También vamos a tocar este sonido aquí también. Diré que el jugador es pequeño, no destruyas el bloque. Bien, entonces vamos a agregar ese poco de guión aquí que va a estar fuera de la rama falsa aquí. Asegúrate de haber compilado y guardado y algo más que yo quiera hacer mientras estamos aquí. Esto solo va a ser por el bien visual también. Voy a subir aquí, en realidad quiero cambiar los V efectos asociados con esta ruptura de nuestro bloqueo. De hecho encontré uno que me gusta un poco más. Y para ello, en realidad no vamos a necesitar esta compensación aquí. Así que me voy a deshacer de esto y voy a enchufar esto aquí así. Y la partícula de efecto V que quiero tocar, podría ponerla aquí también. No obstante, voy a estar haciendo algún trabajo en un poquito en nuestra base de bloque BP, para que podamos ponerla ahí dentro. Y luego propagará este cambio hacia abajo a este bloque hijo Así que en realidad voy a abrir nuestra base de bloque BP aquí de inmediato, porque vamos a necesitarla en solo un momento aquí. Vamos a abrir eso. Y aquí dentro de mi base de bloque BP, voy a seleccionar mi partícula Interact VFX Y aquí vamos a cambiar nuestra partícula en el panel de detalles para que se mezcle. Que tengo este conjunto mixto, uno alto, ese me gusta bastante. Así que fíjate que lo establecemos aquí en nuestra base de bloques. Si tuviera que compilar y guardar y ahora saltar de nuevo a nuestro bloque BP rompible, que es hijo de nuestra base de bloque BP Podemos ver que el cambio ahora se ha propagado. Bien, entonces con esto, deberíamos poder probar si este bloque es rompible o no Y luego nos ocuparemos de algunas de las ramificaciones de bloque de lo que acabamos de hacer aquí Entonces voy a hacer click en play. ¿Puedo romper este ladrillo? No, no puedo. Ahora se ven las ramificaciones del bloque Puedo ver esa moneda adentro. Nos ocuparemos de eso en un poquito. Sin embargo, intentemos ahora. De nuevo, si estoy un poco ahora, vamos a tener un poco más de un efecto explosivo cuando rompa este ladrillo. Y eso se ve bien y bien. Bien, a continuación tratemos ese tema de ver esa moneda en el interior de nuestro bloque aquí. Ahora la razón por la que estábamos viendo que la moneda está dentro de nuestra base de bloque BP. Tenemos a nuestro actor infantil justo por aquí. Aquí es donde en realidad colocamos la moneda dentro de nuestros niños actores Déjame simplemente pasar a BP bloquear actor infantil quebrantable. Se puede ver ahí es donde estamos ranurando en nuestra moneda BP pick up Pero aquí en nuestra base, nuestra base de bloque BP y nuevamente, nuestro bloque rompible hereda de nuestra base de bloque BP Adelante y selecciona a tu actor infantil. Y en el panel de detalles, queremos asegurarnos de que por defecto esto no sea visible. Olvidé desmarcar esta casilla aquí mismo. Ahora, además de eso, también quiero hacerlo para que nuestro niño actor esté apegado a nuestro propio cubo. Entonces, cuando rebajamos nuestro bloque BP rompible, cuando somos pequeños, nuestro actor infantil en el colisionador de monedas también va a ser repulsado Se van a mover hacia arriba cuando golpeemos el cubo, así que voy a hacer click izquierdo y arrastrar esta derecha encima de nuestro cubo. Y así ahora ves nuestra relación como tal. Tenemos nuestro cubo, ese es nuestro bloque aquí, el niño actor está apegado a eso dentro. Y luego nuestro colisionador de monedas, que estamos usando para destruir realmente todo este bloque si nos superponemos, eso está unido a nuestro actor infantil Así que sigamos adelante y compilemos y guardemos este tipo de relación aquí mismo. Esto al estar apegado a esto, que está unido a esto, también deberíamos ver reflejado en nuestro bloque BP rompible, ahora que hemos compilado y guardado en nuestra base ahí, y es, sigamos adelante y guardemos nuestro bloque rompible también Ahora si vuelvo a saltar a mi nivel, sigamos adelante y juguemos aquí. Nota soy pequeña, voy a saltar recto hacia arriba. Yo ladro eso. No veo la moneda en el interior. Eso es como se pretendía. Genial. Voy a parar en mi cuadra aquí. Ahora. Sí veo las monedas. Puedo recogerlos. Dejaré ese sin recoger hasta que se acabe el tiempo del temporizador y pueda volver a meter en eso otra vez Entonces se corrigieron algunos errores más. Una cosa más debo mencionar, después de que hicimos ese cambio de partículas dentro de nuestra base de bloque BP aquí, una vez que hicimos ese cambio y compilamos y decimos que el cambio sí se propagó a todos los bloques hijos, lo cual me doy cuenta que quizás no quieras tener en tus diversos bloques hijos Entonces, si fijaste esto aquí en tu base de bloques, lo que vas a querer hacer es volver a través de tus diversos bloques infantiles, como tu moneda invisible, tu moneda BP, Q, etcétera Y si los abres y te encuentras bajo los valores predeterminados de clase, puedes simplemente borrar esta partícula de efectos visuales de interacción para que no tengas ese enorme tipo de efecto de ruptura jugando Además, olvidé mencionar dentro de nuestro bloque BP, falso rompible, tal vez quieras eliminar este offset que teníamos entrando dentro de aquí Yo lo he hecho entre tomas aquí, así que quizá quieras eliminar eso también. Aquí estoy bien con eso. Interactuar con partículas de efectos visuales. Pero solo pensé que los tiraría antes de que terminemos este video. 56. Script de bloque P (parte #3): Bien, tenemos un tema más relacionado con el bloque que limpiar, y eso es con nuestros bloques invisibles aquí. Y como pueden ver, tengo dos de ellos colocados justo al lado de estos ladrillos rompibles Y si me meto y juego, obviamente no vas a poder verlos desde el principio. Y de hecho, puedes interactuar con ellos como yo haré con uno de estos ahora mismo. Entra el tema. No obstante, cuando me acerco a uno de estos bloques invisibles desde la parte superior, así me caí por él y luego trato de interactuar con él. No puedo. ¿Qué está pasando aquí? Bueno, si tuviera que volver a mi base de bloque BP, este es el plano del que se derivan todos los demás bloques Es posible que hayas recordado que agregamos un actor infantil en un colisionador de monedas dentro de nuestro bloque base Y esto tuvo que ver con el bloque RP. Ahora lo que está sucediendo dentro de nuestra base de bloques BP, de donde todos nuestros otros bloques derivan algún código, es que si tuviéramos que superponer ese colisionador de monedas, este tipo de aquí mismo, vamos a destruir al actor, es decir, todo el ladrillo Lo que está pasando es cuando estamos pasando por la parte superior de nuestro bloque de monedas invisible, aquí, permítanme abrir este plano Ahí está nuestro bloque de monedas invisible cuando estamos pasando por la parte superior del mismo, y todo es invisible, realidad estamos superponiendo a este colisionador de monedas que está dentro de esta caja, destruyendo así al actor Si caemos por la cima, en realidad destruimos al actor, es decir, no podemos volver a interactuar con él. ¿Cómo arreglamos todo esto? Bueno, la solución en realidad es bastante fácil. Así que asegúrate de entrar dentro de tu bloque BP, moneda invisible. Encuéntralo en tu navegador de contenido. Vamos a dirigirnos al gráfico de eventos fuera de este evento. Comienza a jugar. Estábamos estableciendo la visibilidad de nuestro cubo para que fuera invisible. Sólo vamos a respaldar estos dos nodos aquí mismo. De hecho, voy a subir estos un poco más alto. Voy a poner en un nodo de secuencia justo después de estos dos primeros, así que voy a mantener pulsada la tecla S y hacer clic izquierdo. Y vamos a hacer dos cosas fuera del evento beginplay. Lo primero que seguiremos haciendo es esconder nuestro cubo, el bloque, para que parezca invisible. Lo segundo que voy a hacer, sin embargo, es que voy a traer una referencia a nuestra moneda que es esencialmente nuestro actor infantil aquí, nuestro colisionador de monedas Vamos a traer eso también. Tenemos ambas referencias. Sólo vamos a arrastrar fuera de uno de estos y decir destruir componente para esto. Básicamente podemos destruir ambos componentes porque no estamos buscando transformar este ladrillo invisible en una moneda. Cuando nos detengamos en el bloque, vamos a hacer click izquierdo y arrastrar alrededor de estos esa tecla. Y voy a decir si tienes implementada la funcionalidad de bloqueo, si tienes implementada la funcionalidad de bloque, ¿realmente te importa este código? Si aún no lo has implementado, entonces esto no importaría. Entonces sigamos adelante y compilemos esto y ahorremos. Y saltar y jugar una vez más, solo para mostrarte que ahí están mis bloques invisibles. Voy a desovar ahí mismo. Entonces como pueden ver, puedo interactuar con uno de estos desde abajo, así. Sin embargo, ahora cuando caiga por él desde arriba, en realidad no va a destruir ese bloque. Entonces ahora si tuviera que saltar, aún puedo interactuar con ese bloque invisible. Entonces así es como arreglas ese problema. Muy bien chicos. Eso lo hará todo por éste. Nos vemos en la siguiente. 57. Blueprint de Goomba: Ahora que tenemos algunos bloques en su lugar, vamos a crear nuestra primera nación, una goomba para esto, vamos a usar un flip Tanto en Unreal, vamos a darle alguna funcionalidad básica ya sea para mover a la izquierda y a la derecha, más bien patrullar sin pensar la L o buscar También vamos a lograrlo para que nuestras entrañas puedan ser destruidas O estamos parando por disparar una bola de fuego en el ataque Sigamos adelante y comencemos. Ahora, de vuelta aquí en Unreal, deberías tener estas ocho imágenes diferentes de Goomba que importamos mucho antes en el curso Y estos deberían existir dentro de tu carpeta Texturas. Ahora lo que vamos a hacer a continuación es que voy a hacer click izquierdo en mi carpeta de plataformas, voy a hacer click derecho y voy a crear una nueva carpeta simplemente llamada sprites Después voy a volver a mi carpeta Texturas, y voy a seleccionar las ocho texturas. Y si mantengo pulsada la tecla Mayús después de haber seleccionado la primera de aquí, entonces puedo seleccionar la octava para seleccionar todas entre ellas, entonces puedo hacer clic derecho sobre cualquiera de estas. Y al hacerlo, puedo entrar bajo Acciones de Sprite, Crear Sprite Ahora al hacer eso, habremos creado ocho activos de sprites Simplemente voy a tomar todos estos y puedes ver que están todos resaltados en este momento. Y voy a hacer click izquierdo y arrastrarlos a esta carpeta de sprites, la carpeta sprites más bien los vamos a mover Y luego si entramos dentro de nuestra carpeta de sprites, puedes ver que todos existen aquí mismo A continuación lo que vamos a hacer es asegurarnos de que tenemos los ocho seleccionados. Nuevamente, seleccionaré el primero, mantendremos presionado el turno y seleccionaré el último. Entonces puedo hacer click derecho, y quiero crear un flip book. Simplemente voy a llamar a esto Goomba. Ahora estoy seguro de que la mayoría de ustedes están familiarizados con lo que es un libro volteo, pero si simplemente hago doble clic en este activo para abrirlo en la parte inferior, esencialmente pueden ver que tengo los ocho sprites diferentes en esta línea de tiempo y está jugando rápidamente a través de ellos En el lado derecho donde tenemos nuestro panel de detalles, pueden ver que puedo ampliar nuestros marcos clave aquí. Si hago clic derecho sobre esto, puedo ampliar todos estos. Puedes ver todos estos diferentes sprites. Y está demostrando que está tocando los ocho sprites en rápida sucesión Ahora podrías ralentizar esto o acelerarlo ajustando este valor de cuadros por segundo aquí mismo. Entonces, si tuviera que poner, esto es algo así como tres, y presione Enter, los argumbas van a aparecer como si estuvieran caminando mucho más Esto funciona como un flip book infantil. Si acelero esto configurando esto es algo así como 30, va a parecer que Argumba está caminando mucho más rápido Voy a poner esto de nuevo a su valor predeterminado de 15, pero eso es esencialmente lo que es un flip book. Se trata de un montón de imágenes reproducidas en rápida sucesión. Vamos a estar usando esto en nuestro activo enemigo aquí, nuestro plano enemigo para que parezca que Argumba está caminando Adelante, di esto y cierra aquí atrás. Come a nuestro editor de niveles. Voy a entrar dentro de mi carpeta de planos y voy a encontrar algún espacio vacío Voy a hacer click derecho, voy a crear una nueva clase de blueprint Esta va a ser una clase de personaje porque quiero que este enemigo se mueva por ahí. Entonces esto nos va a dar la posibilidad de que lo mueva alrededor del personaje. Y voy a elegir BP subrayado, pero como el nombre con este seleccionado, solo voy a presionar la barra espaciadora aquí para abrirla Y encima en el panel de componentes vamos a comenzar a agregar algunos componentes. Entonces, lo que primero haré es agregar los componentes en la relación de vinculación correcta. Y luego voy a regresar y establecer los detalles para cada uno. Bien, entonces el primero al que voy a ir va a estar unido a mi componente cápsula aquí. Voy a hacer clic en Agregar. Esto va a ser Colisión Esfera, y voy a llamar a esto mi rango de detección de jugador. Después voy a seleccionar de nuevo mi componente de cápsula, y voy a adjuntar otro a él. Voy a hacer clic en Agregar. Voy a agregar un poco más de colisión de esfera. A éste lo voy a llamar colisionador. Voy a tener diferentes colisionadores el jugador detecte rango y este llamado Collider por diferentes razones y ya verás para qué sirven y en un poco de tiempo aquí Bien, con nuestro componente colisionador aquí seleccionado, voy a agregar type in flip book Vamos a agregar un libro flip book de dos D. Simplemente dejaré el nombre del libro de papel. Eso está bien. Entonces voy a seleccionar nuestro colisionador una vez más porque quiero otro componente unido a nuestro colisionador. Haga clic en Agregar. Esto va a ser Box Collision, Box Collision, justo aquí. Esta va a ser nuestra caja Stomp. Vamos a estar usando esto para detectar cuándo nuestro, nuestro personaje jugador se ha detenido en Argumba Bien, sigamos adelante y comencemos a ajustar algunos de los detalles para estos diversos componentes. Voy a comenzar con mi componente de colisión de cápsulas. Ese es este tipo de cosa de aspecto en forma de cápsula. Voy a establecer la cápsula a media altura para que sea 55 y el radio sea 45. Ahora tenga en cuenta que este componente especifica que este va a ser de tipo peón Voy a desplazarme hacia abajo hasta el área de colisión. El preajuste de colisión aquí va a ser peón. Entonces puedes ver que aunque esto esté configurado como un preset de colisión de peones, su tipo de objeto se conoce como peón Y lo que va a resultar aquí es que otros objetos etiquetados como peón chocarían con él Es decir, que si tuviéramos múltiplos de estas gumbas, esencialmente chocarían entre sí Lo cual no quiero que hagan. Quiero que puedan pasar el uno por el otro. Lo que realmente voy a hacer aquí es cambiar nuestro preajuste de colisión de peón a personalizado y luego ajustar algunos de nuestros canales de colisión aquí Voy a hacerlo para que todo vaya a comenzar como ignorar, pero luego voy a establecer para nuestro mundo estático y dinámico mundial. Voy a poner esto a bloquear para que esta gumba no caiga por el mundo Asegúrese de que esta sea su configuración de colisión para su componente de cápsula. El tipo de objeto personalizado es peón, y luego estos diversos ajustes de canal aquí mismo A continuación voy a seleccionar nuestro jugador detectar rango el radio de la esfera. Para esto voy a establecer bastante grande. Voy a fijar esto a 2000. Y simplemente vamos a estar usando esto para detectar cuándo nuestro personaje jugador ha entrado en este radio. Entonces la gumba puede comenzar a moverse de alguna manera, forma o forma Puedes poner eso a lo que quieras, pero el mío va a ser bastante grande para empezar. Bien. A continuación, voy a seleccionar nuestro componente colisionador Ese es este radio minúsculo justo aquí. Para esto, voy a establecer el radio de la esfera para que sea un poco más grande. Voy a ponerla en 55, un poco más grande así. Y luego en los presets de colisión, voy a ampliar esto también Voy a cambiar esto para que sea personalizado en lugar de bola solapada, va a ser personalizado. Voy a configurar esto para bloquear para todo excepto que lo voy a cambiar para que los peones, cualquier cosa etiquetada como un tipo de objeto de peón se pueda solapar Detectaremos si un jugador, el jugador que también es un tipo de peón se superpone para determinar si tú, el jugador muere o pierde algo También tenga en cuenta que este componente en particular va a bloquear una bola de fuego Vamos a usar esto para detectar si una bola de fuego golpea este componente, porque está configurada para bloquear una bola de fuego para determinar si la gumba debe ser A continuación, pongamos nuestro libro volteo de papel. Sigue adelante y selecciona ese componente. En el panel de detalles, tenemos un área donde podemos colocar un flip book fuente. Haga clic en eso. Tenemos nuestro libro de Goomba Va a comenzar bastante grande, así que sigamos adelante y escalemos hacia abajo. Haga clic en ese botón de bloqueo para escalar esto de manera uniforme. Voy a establecer esto para que sea 0.25 en todos los ámbitos, así que eso va a encajar dentro de ahí bastante bien. También voy a bajar y establecer la colisión para que esto sea sin colisión colisión colisión preestablecida. Vamos a establecer esto para que no sea una colisión. No vamos a estar comprobando contra esto por ningún tipo de colisiones. eso van a estar aquí nuestros otros colisionadores a continuación, hagamos clic en nuestra casilla de parada Y con esto seleccionado sobre en el panel Detalles, voy a establecer la extensión de la caja para que sea de 40 por 100 por tres, algo así como delgado. Y luego voy a moverlo hacia arriba en dirección Z. Voy a cambiar eso para que sea 60 así descansa sobre la cabeza de Argumba así Y entonces tengo que bajar bajo la colisión. Sabes qué, en realidad, antes de que baje bajo el preajuste de colisión, voy a establecer el grosor de la línea para que sea un poco más grueso también. Voy a poner eso para que sea algo así como tres, solo para que eso sea un poco más obvio que esa va a ser nuestra zona de stop box. Bien, entonces con eso seleccionado, baja debajo de la sección de colisión. Vamos a cambiar el preajuste de colisión aquí para que sea personalizado. Y para esto vamos a configurar esto para bloquear todo por todo excepto vamos a ignorar las bolas de fuego, así que no queremos que las bolas de fuego choquen mágicamente contra Estamos bien con que pase por aquí. Vamos a estar revisando este otro colisionador para ver si eso está siendo alcanzado por una bola de fuego Nuestro stop box va a ser estrictamente para ver si un peón va a estar parando encima Y en realidad vamos a comprobar eventualmente, a través de algún guión, si nuestro personaje está cayendo sobre esto en la dirección Z. Bien, una cosa más que quiero ajustar aquí la va a encontrar en nuestro componente de movimiento de personajes. Esto vino automáticamente al tener esto como un plano de clase de personaje Este es el componente mágico que va a determinar gran parte de las características de movimiento sobre este plano de clase de personajes Si bajo abajo en el panel de detalles, eventualmente voy a encontrar esta sección de movimiento de cepilladora Quiero restringir nuestro movimiento de goombas a un plano determinado. Entonces voy a seleccionar aquí mismo, y quiero asegurarme de que hemos limitado nuestro plano al eje y. Tenga en cuenta que una vez que establezca esto en Y, va a establecer nuestra restricción de plano en uno en el eje y. Lo que esto esencialmente va a hacer es prohibir nuestra gumba se mueva en el eje y Sin embargo, se permite moverse en el eje x y el eje z. Ahora voy a ayudar a restringir significa que no puede moverse en ese eje dado Entonces déjame compilar esto y guardarlo enseguida. Y colocar uno de estos en nuestro nivel. Tengo mi set principal de dos D snapping en mi ventana gráfica aquí. Déjame seguir adelante y arrastrar y soltar en un Goomba como. Entonces. Toca la tecla para ponerlos al suelo. Para que veas que el plano Y está denotado por nuestra flecha verde aquí Entonces, esencialmente estamos diciendo que no se puede mover a lo largo de este eje verde. Puedes moverte a lo largo del eje x rojo, o el eje z azul, pero no a lo largo de la Y. Muy bien, estamos en un comienzo bastante bueno aquí Entonces con eso todo hecho, asegúrate de haber guardado todo. Puedes venir bajo archivo y salvar a todos los chicos. Eso lo va a hacer por este, ganar el siguiente. 58. Goomba Damages Player: Bien, bienvenido de nuevo. En este video, nuestro objetivo es hacerlo para que nuestra Goomba pueda dañar al jugador Ahora, como este va a ser un video corto, voy a mostrarte muy rápido cómo puedes configurar tu propia imagen en miniatura aquí también Porque en estos momentos nuestra BP Goomba acaba de tener esta cara como imagen en miniatura Si haces clic derecho sobre este activo y vas a acciones de activos, puedes capturar una miniatura Para que puedan ver, ya tengo mi gumba tipo de enmarcada en mi ventana gráfica aquí Sólo voy a tocar la tecla G para ocultar todos esos íconos. Gkey puede mostrar u ocultar todos esos iconos del editor. Voy a hacer click derecho sobre esto. Vamos a ir a Actuar Acciones y capturar una miniatura. Entonces ahí tenemos una bonita imagen en miniatura. Déjame seguir adelante y saltar dentro de nuestra Goomba ahora seleccionándola y golpeando esta barra espaciadora Y ahora trabajemos en hacerlo para que nuestra gumba pueda dañar a nuestro jugador dentro de nuestro plano de Goomba Vamos a agregar una variable sobre en la sección Mi Blueprint Haga clic en el botón de la variable más aquí. Voy a llamar a esta salud para restar y voy a hacer de esto un entero Si compilo esto en el panel de detalles, voy a establecer el valor para que este sea negativo. Y verás y negativo uno en tan solo un segundo aquí. Entonces lo que voy a hacer es que voy a hacer clic derecho sobre nuestro componente colisionador, este tipo de aquí mismo Vamos a acercarlo para que veas de cuál estoy hablando. Entonces queremos que sea para que nuestro personaje se vaya a dañar cuando se topan con nuestra gumba Vamos a estar usando este componente colisionador para eso. Haga clic derecho sobre esto en el evento para comenzar la superposición. Eso nos va a saltar a nuestro gráfico de eventos. Podemos comprobar si nuestro otro actor es nuestro personaje en tercera persona. Así que arrastra fuera de aquí y escribe el personaje en tercera persona que queremos lanzar a nuestro personaje en tercera persona. Porque dentro de nuestro personaje en tercera persona, si recuerdas de antes en el curso, creamos un evento personalizado que se llamó ajustar puntos de cadera. Aquí es donde podemos llamar a ese evento personalizado y luego podemos enchufar cuántos puntos de cadera queremos modificar y tenemos nuestra salud para restar intoger aquí mismo Tiene un valor de uno negativo. Entonces podemos enchufar esto justo así. Ahora solo para dejar esto claro exactamente lo que está pasando aquí, voy a hacer doble clic en nuestra llamada de puntos de acierto ajustados aquí. Una vez más, este es un evento personalizado que vive dentro de nuestro personaje en tercera persona. Y si hago doble clic en esto, abrirá mi plano de personaje en tercera persona y me lanzará directamente a donde existe este evento personalizado Ahora se puede ver que allá por mi plano BP Goomba, estamos pasando por nuestros puntos siendo modificados aquí en nuestra BP Aquí estamos diciendo nuestro modificador de punto de golpe, queremos pasar por el valor de uno negativo. Uno negativo va a fluir a través de este evento personalizado y luego hacia abajo por aquí para ser ajustado a partir de la cantidad actual de puntos de acierto de nuestros personajes. Si nuestro personaje tiene dos puntos de hit, si pasamos por un 12 negativo más uno negativo obviamente va a ser uno. Así es como funciona eso. Bien, con eso, sigamos adelante y compilemos aquí nuestro Blueprint de Goomba Guardar, déjame solo clic izquierdo y arrastre. Voy a hacer un cuadro de comentarios alrededor de este jugador de Goomba Daños. Y luego entraremos en las pruebas de juego aquí rápidamente. Ahora antes de hacer eso, quiero saltar a mi personaje de BP en tercera persona y asegurarme que tengo todo arreglado aquí por eso Lo que quiero asegurar es que mire mi punto de vista. Actualmente mi personaje es pequeño y tienen esta coloración azul y material azul aplicado a ellos. Quiero asegurarme de que nuestro valor actual de hit point también corresponda a esto. Así que voy a establecer mis puntos de acierto aquí mismo. Actualmente está incumplido a dos. De hecho quiero por defecto esto a uno. Cuando tenemos un hit point, quiero ser azul. Permítanme saltar de nuevo a mi gráfico de eventos aquí, donde estamos ajustando nuestros puntos de éxito, que llamaremos este evento de clientes. Quiero asegurarme de que nuestros materiales por los que estamos intercambiando en base a la cantidad de puntos de vida que tenemos, tengan sentido Nuevamente, por defecto, vamos a tener un hit point. Quiero asegurarme de que cuando este índice de hit point sea uno, nuestro material aquí en realidad va a ser azul. Quiero que sea azul. Y tenemos un hit point. Y quiero asegurarme de que cuando nuestro valor de hit point aquí sea dos, que en realidad vamos a ser verdes. Y estoy compartiendo verde y creo que ese es el único lugar donde estábamos ajustando el material. Parece que lo es. Bien. Entonces sigamos adelante y compilemos y guardemos esto. Y ahora lo voy a saltar en juego. Estoy azul ahora mismo antes de encontrarme con esta goomba. De hecho voy a recoger esta flor de fuego aquí. Saltando hacia arriba. Soy azul con un punto de acierto, y tengo dos puntos de acierto. Yo soy verde, eso es genial. Vamos a encontrarnos con nuestra goomba aquí. Nada cambia. Obviamente, eso es un problema. Ahora la razón de este problema es porque actualmente no nos encontramos con ese colisionador, nos estamos topando con esta plataforma Stomp Y es difícil de ver desde este ángulo, pero si voy desde la perspectiva de nuestro jugador, podemos ver que nuestras gumbas están un poco fuera de nuestra línea central aquí cuando colocamos nuestra gumba en nuestro Y permítanme simplemente intentar colocar uno nuevo. Actualmente lo está colocando a una amplia profundidad de negativo 63, que no es lo que queríamos, incluso con nuestros ajustes de snap encendidos. No estoy seguro de por qué está haciendo eso. Permítanme borrar eso. Pero voy a poner esto a cero en la Y. De esa manera nuestra gumba debería estar en línea con nuestro personaje Así que ahora cuando salte y juegue, comenzaremos a recoger esa flor de fuego, Al, ¿verdad? Y vamos a encontrarnos con nuestra goomba aquí. Pierdo un punto de cadera y técnicamente estamos muertos en estos momentos. Entonces eso parece estar en buen estado. Bien, tengo todo limpiado ahí arriba chicos, eso lo hará fuera de este A ver cuándo será el siguiente. 59. Destruye Goomba a través de Stomp: Bienvenida. En este video, nuestro objetivo es hacerlo para que nuestra goomba pueda ser destruida con un pisotón Entonces, saltemos directo a ello. Voy a seleccionar nuestra goomba aquí en nuestro control de nivel, más E para abrir nuestro plano Lo primero que voy a hacer es agregar una variable. Ahora bien, esta va a ser una variable entera que va a contener un valor de punto. Así que solo voy a seleccionar nuestro estado existente para restar la variable entera Voy a hacer control más D para duplicar eso. Y simplemente voy a llamar a esto puntos. Pulse Intro. Entonces voy a compilar esto, y voy a decir un pisotón o destruir nuestra Guba en general va a valer 200 puntos por aquí en el panel de detalles Dulce. Lo siguiente que quiero hacer es que quiero encontrar algún espacio vacío aquí en nuestra gráfica. Voy a hacer algo fuera de Event Begin Play. Entonces voy a hacer click izquierdo y arrastrar alrededor de estos dos. Deshazte de eso justo debajo de Event Begin Play. Voy a hacer click derecho. Vamos a conseguir el controlador del jugador. Y vamos a arrastrar fuera de aquí y vamos a lanzar al controlador nuestro controlador BP Player. Y la razón por la que vamos a estar haciendo esto es para que podamos crear una referencia a nuestro controlador de jugador aquí al comenzar el juego. Entonces solo voy a escribir pincha sobre este pin. Vamos a promover esto a una variable. Simplemente acortaré el nombre para que sea Player Controller. Y eso lo hará por este guión. Así que haz clic izquierdo y arrastra, toca la tecla C y llamaré a esto mi guión F to Player Controller y colocaré este negro como lo hago. Ahora mi razonamiento para agregar esta referencia del controlador Player es porque vamos a querer llamar a nuestro evento personalizado de puntos de anuncios dentro de nuestro controlador Player en un poco de tiempo aquí. Pero antes que nada, vamos a preocuparnos por crear nuestra interacción, nuestro script de stop interaction. Entonces para esto, volvamos a nuestro Viewpoort que podamos ver a qué carajo estamos tratando Creamos este colisionador de cajas Stomp. Así es como lo llamamos de todos modos, está justo encima de nuestra cabeza de goombas Y lo llamábamos Caja de Stomp. Esta es una colisión de caja que acabamos de apallar. Vamos a hacer click derecho sobre este componente, y luego vamos a agregar un evento para cuando golpeemos este componente. Al hacer eso, nos va a saltar a nuestro gráfico de eventos. Y voy a tirar esto un poco hacia abajo. Y lo que queremos hacer es fuera de nuestro pin de otro actor, queremos asegurarnos de que es nuestro personaje jugador el que está haciendo el pisón Entonces podemos hacer iguales y luego podemos arrastrar fuera de este personaje get player. Alternativamente, también podrías hacer un elenco a tu personaje en tercera persona aquí. Para hacer un cheque, voy a arrastrar fuera de esto y traer un nodo de sucursal. Voy a enganchar la condición automáticamente. Pero en realidad hay dos condiciones que vamos a querer comprobar aquí. Comprobando para ver que es el personaje jugador el que hizo el pisoteo es uno Pero la otra cosa que queremos hacer es averiguar qué dirección estamos golpeando esta caja pisada Solo queremos seguir adelante si estamos cayendo encima de nuestro stop box aquí. Para eso podemos romper nuestro hit aquí, arrastrar fuera de ahí break hit resultado. Vamos a expandir esto hacia abajo así. Vamos a salir de nuestro impacto normal aquí mismo. Y entonces vamos a traer aquí un nodo igual para nuestra tolerancia. Puedes establecer esto para que sea algo pequeño, como 0.1 Esto es solo esencialmente cuánto perdón quieres tener en términos de cuán directo es nuestro descenso en la Z? Para nuestra Z, queremos verificar si estamos cayendo sobre ella en lugar de golpearla desde la parte inferior Para ello, vamos a sumar un valor de uno negativo. Un valor de uno negativo va a comprobar si estamos cayendo hacia abajo en el eje z, bajando por encima de él. Y esto es sólo darle un poco de perdón. Entonces esta es una segunda condición con la que queremos verificar porque tenemos dos condiciones con las que queremos verificar. Voy a hacer click derecho y traer un y Bullull. Ahí vamos. Y lingotes, si nuestro jugador es lo primero que queremos comprobar y comprobar para ver si estamos bajando un top Es lo segundo que quiero comprobar, si ambos son ciertos, esa va a ser nuestra última condición. Vamos a comprobar si esto y aquello son ciertos. Lo que queremos hacer es entonces traer un nodo de secuencia, mantener pulsada la tecla S y hacer clic izquierdo. Eso te conseguirá un nodo de secuencia. Y luego voy a agregar otro pin a esto para que podamos organizar nuestros próximos guiones aquí. Agradable y ordenado, pero esa va a ser la parte inicial aquí mismo, Bien, Fuera de nuestro entonces pin cero, tenemos múltiples cosas que vamos a estar haciendo. Así que sólo voy a hacer una paliza por aquí un poquito. Lo primero que voy a hacer es arrastrar fuera de aquí y escribir en juego. Sonido Tocaremos un sonido de dos D, y el sonido que quiero tocar va a ser Swish. Bien, Lo segundo que quiero hacer es que quiero tomar nuestro componente colisionador Entonces voy a arrastrar esto a nuestra gráfica. Ahora bien, si no estás seguro de cuál es el componente colisionador aquí en nuestra ventana gráfica, es esa cosa la que actualmente está dañando Jugador. Estamos comprobando para ver si nuestro jugador se encuentra con eso. Y en realidad se extiende un poco más allá del costado de nuestro stomp box aquí Según lo diseñado, lo que queremos hacer es querer luego arrastrar fuera de nuestro colisionador Queremos establecer la colisión habilitada. Va a traer otra copia de nuestro colisionador aquí mismo Puedes eliminar uno de estos. Lo que queremos hacer es cambiar eso para que no sea colisión, ya no queremos poder chocar contra eso Lo siguiente que queremos hacer es que queremos traer nuestro componente stop box. Vamos a arrastrar eso. Vamos a destruir ese componente Una vez que nos hayamos detenido en nuestro gumbo aquí, sigamos adelante y simplemente destruyamos toda esa caja de parada Ya no lo necesitamos. Lo siguiente que vamos a hacer es traer nuestro libro de papel, arrastrar a ese tipo y vamos a establecer la escala mundial de este conjunto a escala mundial tres D, esencialmente vamos a apilar esto hacia abajo Así que tengo algunos valores duros recubiertos solo voy a puñetear aquí. Voy a establecer esto en 0.25 por 0.25 por 0.1 Ahora bien, podemos ajustar eso en algún momento en el futuro, pero vamos a intentar eso como nuestro valor squish Ahora, además de abatir nuestro libro abatible, también queremos moverlo hacia abajo en la dirección z Porque si solo lo hubiéramos de aplaudir, lo machacaría tanto desde los límites superior como inferior Y parecería que estaba flotando en el espacio, lo cual no quiero. Vamos a arrastrar nuestro libro volteo de papel aquí y vamos a agregar offset mundial. Y vamos a moverlo un poco hacia abajo en el eje z, cuánto voy a ir con un valor Z de 35 negativo. De nuevo, podemos ajustar eso, pero comencemos con eso. Entonces, lo último que quiero poder hacer es desactivar el movimiento de esta goomba Ahora, ahora mismo, nuestras gumbas no se mueven, pero vamos a conseguir nuestra gumba se mueva aquí en poco tiempo Y quiero asegurar que una vez que nos detengamos en él, que ya no pueda moverse, aunque nuestras chicles no se muevan en este momento Vamos a hacerlo para que garantizemos que han detenido el movimiento tan pronto como nos detengamos sobre ellos arrastrando nuestro componente de movimiento de personaje, puedes encontrar esta función para deshabilitar el movimiento Entonces ese es el primer bit de guión que queremos hacer aquí. Voy a arrastrar todo esto. Haga clic izquierdo, toque la tecla. Entonces voy a decir fuera de nuestro pin cero, este va a ser nuestro ME ja ja, ja squish X. Voy a colorear ese negro enseguida. Lo siguiente que me gustaría hacer es venir bajo la entonces una porción de nuestra secuencia aquí. Déjame acercar hacia arriba manteniendo presionado el control y usando esa rueda de desplazamiento. Voy a hacer click derecho. Vamos a conseguir actor. Aquí va a ser donde vamos a hacer algunos puntos de trabajo aquí. Vamos a estar usando nuestro actor transform porque vamos a hacer clic derecho y engendrar actor de clase Vamos a necesitar que nuestro actor se transforme, nuestros chicles se transformen, para contar nuestros puntos, nuestros puntos BP para engendrar Recuerdas esto de antes, nuestro BP apunta ahora una vez más en nuestro plano de puntos P. Sólo voy a navegar hasta él navegando hasta él. Aquí está, abajo en nuestro navegador de contenido, puntos BP, lo hicimos para que este puntos para agregar variable que vive dentro de aquí se expone en spawn Eso es hacerlo para que aquí en nuestro BP cuando estemos desove esto, ese valor puntual va a quedar expuesto Para que podamos personalizarlo donde queramos aquí. Dentro de nuestra Goomba, queremos sumar 200 puntos. Así que vamos a arrastrar y soltar nuestra variable a nuestros puntos añadir. Simplemente ajustaremos esto como así. Entonces eso va a generar esa exhibición en el juego. Esta es solo la porción de visualización. Ahora necesitamos realmente sumar los puntos a nuestro controlador de jugador. Entonces para esto tenemos nuestra referencia de controlador de reproductor. Arrastra eso, vamos a conseguir eso. Entonces vamos a arrastrar fuera de esto y escribir sumar puntos. Una vez más, tenemos ese evento personalizado dentro de nuestro controlador de reproductor llamado Add Points. Y aquí también podemos deslizarnos en cuántos puntos quieres sumar? Bueno, tenemos una variable para eso podrías arrastrar fuera de esto y enchufar eso como para que fuera completamente válido. Sin embargo, sólo voy a arrastrar uno nuevo solo para fines organizativos. Así que ahora, una vez más, una vez que hemos pisado nuestro Goomba aquí, y hemos verificado que esto es cierto, nuestro personaje los está pisando fuerte, y estamos pisando fuerte en dirección descendente Vamos a estar sumando estos puntos. Y si hago doble clic en esto aquí mismo, esta llamada de los puntos de suma, nos va a sacar de nuestra BP Goomba a donde realmente vive este evento personalizado dentro de nuestro controlador de reproductor BP Entonces aquí es donde va a suceder la suma real de puntos. Y recuerda una vez más en nuestro Hud, nuestro Hud está ligado a esta variable de puntos aquí, dentro de nuestros controladores de jugador Así que eso también se actualizará aquí atrás en Argumba. Voy a hacer click izquierdo y arrastrar alrededor de estos. Voy a tocar esa tecla C y voy a llamar a esto mi programa Agregar puntos guión y colocarlo negro como mi alma. Muy bien, un poco más de guión aquí para agregar. Vamos a mover nuestro nodo de secuencia hacia abajo un poco más. Mantenga presionada la tecla de control y acerque el zoom hacia arriba. Este último trozo de guión, vamos a destruir a Argumba en un respiro de gloria Así que vamos a arrastrar fuera de aquí, vamos a traer un nodo de retardo. Y vamos a demorar medio segundo, 0.5 va a ser bueno. Después vamos a hacer click derecho y teclear Interact. Ahora tengo esta función que creamos dentro nuestra biblioteca de planos antes en el curso Estaba destinado a interacciones de bloqueo, pero también podemos usarlo aquí dentro de nuestra Goomba. Vamos a traer esto. Nos está pidiendo que insertemos un efecto de sonido en algunos efectos visuales, así como una ubicación de efecto visual para nuestro efecto de sonido. Vamos a codificar duro esto para que sea una explosión. Voy a usar la explosión que. También vamos a solo código duro en un efecto de partícula, voy a escribir en explosión de llama Este es uno que también existe en el paquete de efectos infinity blade. Ahora para nuestra ubicación de efecto V, voy a elegir la ubicación de nuestro colisionador aquí mismo Y entonces voy a lograr esto en digamos obtener ubicación mundial. Vamos a usar la ubicación de nuestro colisionador aquí como un lugar donde vamos a desovar en esos efectos visuales Entonces una vez hecho todo esto, voy a arrastrar fuera de esto y escribir en destruir actor así. Clic izquierdo, arrastre, toque esa tecla que debo hacer para destruir. Entonces ahí vamos, coloreando ese negro también. Ahora esto va a quedar bastante bien aquí, así que alejemos un poco. Tu guión final se verá algo así. Sigamos adelante y compilemos y guardemos. Y ahora vamos a comprobar para ver si al jugar nuestro juego podemos pisar nuestra gumba. Aquí vamos. Bien, obviamente la gumba no es móvil en estos momentos, sino pisándole pisándole, unos cientos aparece Guba quedó machacada. Guba murió. Todo parecía estar funcionando como se pretendía ahí. Y también, solo quiero asegurarme de que si tuviéramos que encontrarnos con el costado de ella, en realidad vamos a chocar y morir con ella primero antes de golpear esa caja de pisoteo Si lo acercamos desde un lado, sí. Debería morir así. Pero si vuelvo a saltar y jugar, debería poder detenerme una vez más sobre él. Observa cómo lo aplauden ahí abajo, y vive medio segundo antes de que lo destruyan por completo Entonces llegamos a apreciar el efecto squishing. Excelente. Ahora bien, si solo quieres ver estos guiones una vez más, voy a resaltar cada porción aquí si quieres pausar el video. Este es un nodo igual que es uno negativo fuera del pin entonces cero sin colisión para el colisionador Estamos usando ese colisionador para generar efectos de partículas abajo. Este es nuestro efecto de sonido squish. 0.25 0.25 0.1 negativo 35. Y la Z para el mundo offset muestran sumar puntos desove en nuestros puntos BP Creamos nuestra variable de puntos para conectar una cantidad Z de puntos para agregar que actualmente está establecida en 200. Y luego finalmente estamos jugando a nuestros efectos de destrucción. Después de medio segundo, ya tenemos medio segundo ahí. Estamos usando la ubicación de nuestro colisionador desde donde generar un efecto de partícula, un efecto de sonido, y luego destruir al actor Bien chicos, eso va a ser amigo para este. Te veremos en la siguiente. 60. Destruye Goomba con Fireball: Bienvenida. Ahora que podemos destruir nuestra goomba pisándola pisándola, hagámosla para que podamos destruir nuestra goomba disparándole bolas de fuego Entonces voy a seleccionar mi gumba aquí mismo en mi control Viewport Plus E es una tecla de acceso rápido para abrirla de inmediato. Y voy a saltar a mi pestaña Viewport y seleccionar mi componente colisionador Y déjame solo o arriba en esto. También puedes tocar la tecla para enfocarte en ella después de haberla seleccionado. Echemos un vistazo, una vez más, como recordatorio, con nuestro colisionador seleccionado en el panel de componentes, cómo tuvimos la colisión para esto configurado en el panel de detalles, lo configuramos para que este colisionador bloqueara Nuevamente, nuestro plano de bola de fuego está etiquetado como un tipo de objeto de bola de fuego Ahora hicimos esto intencionalmente para que podamos detectar golpes para cuando las bolas de fuego choquen con este colisionador Entonces lo que vamos a hacer es hacer clic derecho sobre nuestro componente colisionador Vamos a agregar un evento para cuando otro componente llegue a esto. Vamos a ser saltados de nuestra ventana gráfica a nuestro gráfico de eventos Voy a hacer click derecho y hacer pan aquí abajo. Aquí está nuestro componente On, golpeó el colisionador. Y lo que queremos comprobar es si el otro actor que golpea esto es nuestra bola de fuego BP, vamos a lanzar a BP bola de fuego, no barra de fuego bola de fuego Así que solo ten cuidado con eso. Entonces lo que queremos hacer es después esta bola de fuego golpee ese ruido, queremos destruir la propia bola de Voy a arrastrar fuera de mi bola de fuego BP y decir destruir actor que va a destruir la bola de fuego Y luego vamos a traer una nota de secuencia. Entonces voy a mantener pulsado el SK click izquierdo. Y vamos a hacer varias cosas fuera de nuestro nodo de secuencia. Lo primero que quiero hacer es sumar puntos, igual que si tuviéramos que detenernos en él. Entonces voy a hacer trampa y subir aquí y agarrar todo nuestro show sumar puntos. Sólo voy a hacer click izquierdo y arrastrar todo esto. Golpea el control C, voy a copiar eso. Entonces voy a usar el botón derecho del ratón para volver aquí abajo, izquierda dando click a la derecha sobre aquí. Y luego controlar V para pegar todo eso. Envuelva mi nodo de secuencia ahí también. Así que eso va a ser un poco de atajo. Nada más que cambiar con este guión, aunque sólo voy a cambiar el comentario para tener un cero al frente. Entonces eso es lo primero que queremos hacer, es mostrar y sumar puntos. Voy a hacer doble clic en este cable para traer el nodo de reencaminamiento Y luego lo segundo que quiero hacer, y una vez más podemos robar algún código desde arriba, es mi juego destruir efectos. Quiero la mayor parte de esto, aunque no quiero hacer este retraso aquí. Entonces voy a seleccionar todo esto, voy a hacer control C, luego voy a hacer click izquierdo aquí mismo. Y luego controlar V a pasos. Yo solo voy a deshacerme de este retraso también, porque quiero que la bola de fuego la destruya de inmediato Y voy a cambiar este cuadro de comentarios también. En la ubicación de nuestros colisionadores, vamos a tener ese juego de explosión Esa llama explota partícula. Y entonces vamos a destruir al propio actor, es decir, Argumba Con todo esto en su lugar, voy a seguir adelante y compilar y ahorrar. Y vamos a saltar y jugar. Aquí vamos. Voy a recoger mis flores de fuego. Bien, y luego dispararle a una bola de fuego. Y ojalá, bueno, primero le lleguemos a pegarle. Boom sube en llamas de inmediato. Entonces eso está funcionando como se pretendía. Excelente. Ahora lo hemos logrado para que podamos dispararle a nuestro Umba y destruirlo una vez más. Ahí está la parte inicial de nuestro guión. Estamos lanzando a la bola de fuego. Destruir la bola de fuego. Y luego fuera de nuestro nodo de secuencia. Aquí estamos mostrando y sumando algunos puntos. Una vez más, esta función sumar puntos. Esto llama a este evento personalizado en el propio controlador del reproductor. Y entonces vamos a jugar esos efectos de destruir. Nos deshicimos de ese nodo de retardo del bit de script Stomp arriba Bien chicos, eso va a hacerlo todo por este. Te veremos en la siguiente. 61. Patrulla de Goomba (parte 1): Bien, así que ahora lo hemos conseguido para que nuestra Goomba pueda dañarnos a nosotros, al jugador, y podamos destruir a los Ahora hagamos que nuestra Goomba se mueva alrededor de nuestro nivel. Y vamos a empezar dándole un comportamiento básico de patrulla. Y esto nos va a involucrar una vez más, buceando dentro de nuestro plano de Goomba Para que puedas seleccionarlo y otro medio de abrirlo está aquí en nuestro outliner con él seleccionado, ve a editar BP Gumba vamos a empezar creando algunas variables sobre en el panel del blueprint M. Entonces, debajo de la sección de variables, haga clic en este botón más. Este primero, voy a llamar velocidad Vamos a cambiar esto a un flotador, y esto va a ser usado para determinar qué tan rápido queremos que se mueva nuestra Goomba La segunda variable que quiero hacer aquí se va a llamar flip book. Multiplicador de tasa de juego. Ahora, dependiendo de qué tan rápido se vaya a mover nuestra Goomba, es posible que queramos ajustar la rapidez con la que se está jugando nuestro libro plegable Así que vamos a tener una configuración de guión para que esencialmente vamos a leer en la velocidad de nuestro Goomba y ajustar la tasa de juego de nuestro libro flip para que nuestro Goomba aquí pueda estar deteniendo sus pies más rápido o más lento Y luego voy a agregar una variable más aquí. Esto se va a llamar mover a la izquierda. Esto va a ser un lingote. Se va a utilizar para determinar si queremos que nuestra Guba se mueva a la izquierda originalmente cuando comiencen a patrullar aquí Ahora, voy a compilar para que pueda establecer algún valor predeterminado algunos valores predeterminados. En realidad hay algunas otras casillas que voy a querer marcar también. Empecemos con nuestra velocidad. Voy a establecer esto en un valor predeterminado de 200, y también voy a marcar esta casilla por ejemplo editable Cuando compruebe esto, también van a ver este icono de bola, vamos. Hacen lo mismo, básicamente haciendo editable esta instancia variable Lo que esto significa es que después de compilar, Aquí en tu editor de niveles, tienes un Goomba seleccionado Ahora puedes ver esa propiedad en el editor de niveles. Bajo nuestro default, si solo busco default, lo encontraré. Bien. Hay velocidad predeterminada. Déjame solo ex salir de ahí. Muy bien, saltando de nuevo a nuestro plano Gumbo, nuestro multiplicador de tasa de reproducción de libros volteados En realidad vamos a calcular cuál debería ser este valor. Entonces está bien que deje esto como un valor de cero por ahora porque a través de algún script, en realidad vamos a por defecto, tener un valor aquí dentro. Y entonces nuestro movimiento dejó booleano aquí. Voy a decir, sí, queremos movernos a la izquierda por defecto. Así que sigamos adelante y verifiquemos eso. Y hagamos esta instancia editable también para que esta propiedad también quede expuesta en el editor Adelante, compile y ahorre. A continuación, saltemos a nuestra pestaña de script de construcción. Ahora, el script de construcción es donde puedes configurar algún script que quieras ejecutar durante el tiempo de diseño. Esto es útil para establecer algunos parámetros que quizás quieras tener dentro tu blueprint antes de que el juego realmente comience a funcionar Y vamos a usarlo para ese propósito. Lo primero que voy a hacer es que voy a traer nuestro componente de movimiento de personajes. Ahora, nuestro componente de movimiento de personajes determina muchas cosas sobre cómo se mueve nuestro personaje, incluida una propiedad muy importante aquí llamada Max Walk Speed. Este tipo de aquí dentro del componente de movimiento del personaje llamado Max Walk Speed determina qué tan rápido puede moverse tu clase de personaje. Ahora, esencialmente quiero anular eso. Y la forma en que puedo anular eso es arrastrando nuestro componente de movimiento de personaje Una vez que tenemos nuestro componente, entonces podemos hablar y editar cualquiera de estas diferentes propiedades en nuestro panel de detalles. Así que voy a arrastrar fuera de aquí y escribir en establecer velocidades Max Walk. Entonces aquí vamos. Arrastra fuera de aquí. Ajuste la velocidad Max Walk. Y notará que nuestra velocidad máxima de caminata es un valor flotante, y esencialmente vamos a anular nuestra velocidad máxima de caminata predeterminada por nuestra variable de velocidad aquí. Entonces esencialmente, aquí durante el tiempo de diseño, vamos a decir, Oye, sé que tienes esta velocidad de caminata predeterminada de 600. Pero, oh, sí, antes de que llegue el juego , vamos a anular eso. Vamos a cambiar tu velocidad para que sea lo que esté contenido dentro de esta variable flotante. Todo bien. Una vez más, mencioné antes que vamos a usar este multiplicador de tasa de reproducción de libro volteo aquí en este script de construcción, y vamos a calcular este valor de forma automática. Ahora, la forma en que vamos a hacer eso es que vamos a salir de nuestra velocidad máxima de caminata, y vamos a dividir Y vamos a dividir por 100. ¿100? Bueno, es porque es un valor que determiné con anticipación, funcionó bastante bien. Y vamos a tomar el resultado de esto, y vamos a sujetarlo. Vamos a sujetar flotador. Vamos a asegurar que este valor que se genera a través de esta matemática siempre va a permanecer entre 0.1 y un máximo de tres. Y esto, vamos a conectarnos a nuestro multiplicador de tasa de reproducción de libro volteo. Arrastre y suelte esto en tu gráfica. Queremos establecer esto. Entonces aquí es donde vamos a estar configurando nuestro multiplicador de tasa de reproducción de libros volteados. Mencioné que no se iba a quedar a un valor de cero. Entonces, el resultado de esta matemática, vamos a enchufar ahí como nuestro multiplicador de tasa de reproducción de libros volteados. Y así, si tuviéramos que tomar este valor, nuestro valor de velocidad de 200 y dividirlo por 100, eso equivaldría a eso estaría dentro de este rango. Y así ese sería nuestro multiplicador de tasa de juego flip book. 62. Patrulla de Goomba (parte 2): Así que ahora hemos calculado nuestro multiplicador de tasa de juego flip book, pero en realidad no lo estamos usando todavía y para eso necesitamos saltar a nuestro gráfico de eventos. Ahora aquí dentro de nuestro injerto de eventos, vamos a agregar algún script para detectar cuándo nuestro jugador está dentro del alcance. Sólo vamos a hacer que nuestro jugador comience a patrullar cuando nuestro jugador esté al alcance. Ahora déjame ir a nuestra ventana gráfica aquí. Voy a ir un poco atrás aquí y tengo este radio gigante alrededor de mi Guba A esto lo llamo nuestro jugador detectar rango. Entonces esto es lo que vamos a usar para detectar si el personaje del jugador está dentro del rango. Si están en el rango, entonces vamos a hacer que este tipo se mueva. Así que sigamos adelante y hagamos clic derecho sobre nuestro rango de detección de jugadores. Vamos a agregar un evento para cuando empecemos a superponerse a eso. Nos va a saltar a nuestro gráfico de eventos, lo cual es genial. Y mientras estamos aquí, vamos a traer una superposición final de inmediato también. Haga clic derecho en el rango de detección de su jugador. Vamos a agregar un evento para la superposición final. Para ello vamos a detectar si es nuestro jugador el que es el que está haciendo la superposición o terminando el solapamiento. Para que pueda hacer click derecho, voy a conseguir personaje jugador. Si nuestro otro actor es igual al personaje del jugador, también podrías hacer un reparto de dos personajes en tercera persona aquí. Este es solo el método que estoy usando para comprobar que es nuestro personaje jugable Voy a duplicar este control D para duplicar ese otro acto. Entonces voy a traer dos notas de rama manteniendo pulsada B, click izquierdo, click izquierdo, como. Entonces vamos a decir que si es cierto que nuestro personaje jugador se superpone, ese jugador detecta rango. Vamos a enchufar esto esencialmente en un nodo de puerta. Para abrir la puerta, esencialmente vamos a estar comprobando cada fotograma si nuestro jugador está o no dentro de este rango o no. Para eso, vamos a necesitar un nodo tick. Si escribo Click en algún espacio vacío, voy a traer un evento de nodo tick Tick, esto dispara cada fotograma individual. Y luego voy a escribir click en algún espacio vacío y traer un nodo de puerta. De hecho, si mantienes pulsada la tecla G y haces clic izquierdo, también traerás un nodo de puerta. Cada marco que vamos a entrar en nuestra puerta, se puede pensar en esta puerta como una verdadera puerta de hierro. Y vas a hacer una pausa aquí en esta puerta hasta que se diga que la puerta esté abierta. Ahora vamos a abrir esta puerta y así avanzar más allá de este punto sólo si nuestro jugador está superponiendo ese jugador detecta alcance. Sin embargo, vamos a cerrar esta puerta si nuestro jugador ha terminado superponiendo ese rango. Estás viendo cómo va a funcionar esto. En cada cuadro estamos esencialmente en la puerta. Sin embargo, no vamos a avanzar más allá de aquí, a menos que nuestros jugadores se superpongan que detectan rango. Y vamos a avanzar más allá de esta puerta. Si hemos solapado ese rango de detección, vamos a cerrar esa puerta decir, no vamos a avanzar más allá aquí si hemos terminado superponiendo ese rango. Entonces, ¿qué queremos hacer si vamos más allá de la puerta aquí? Bueno, queremos hacer click derecho y vamos a agregar entradas de movimiento. Este nodo que apunta a nuestro peón, que un personaje es un peón, puede mover automáticamente a nuestro personaje aquí Ahora bien, ¿en qué dirección queremos moverlos? Bueno, vamos a elegir una dirección para mover nuestra Guba aquí, izquierda o derecha, dependiendo de este lingote de aquí mismo Ahora vamos a arrastrar fuera de nuestro movimiento de lingotes de izquierda y traer aquí mismo un nodo selecto Dependiendo de cuál sea nuestro valor de retorno aquí. Vamos a retroceder el arrastre fuera de nuestra dirección mundial aquí. Este es un vector x, y y z. Vamos a poder establecer cuál es nuestro valor de retorno aquí en base a nuestro lingote Si esto es cierto, vamos a establecer nuestro valor x en uno negativo. Esencialmente, eso va a estar moviéndose la izquierda en esta dirección en el editor de niveles. Sin embargo, si se mueve hacia la izquierda, si este booleano es falso, lo sacaremos como nuestra dirección mundial, estableciendo el valor x Estás viendo cómo funciona esto aquí, dependiendo del valor de este booleano Si es cierto, vamos a sacar este conjunto de valores como nuestra dirección mundial para mover nuestra Goomba aquí Si esto es falso, vamos a elegir este conjunto de parámetros como nuestra dirección mundial. Un poco más para ir aquí, solo necesitamos ahora. Trae nuestro flip book, tasa de reproducción, multiplicador, arrastra y suelta eso. Vamos a conseguir eso. Y también nuestro propio componente de libro de papel. Vamos a arrastrar en nuestro libro de papel. Ahora vamos a arrastrar nuestro flip book y decir set play rate. ¿Cuál es la tarifa que queremos nuestro libro de papel flip book? Esto es sólo por el aspecto visual en sí. Bueno, aquí mismo queremos jugarlo a este ritmo. Nuevamente, esto es todo auto calculado aquí en nuestro script de construcción. Si tuviéramos que aumentar la velocidad de nuestra Goomba por decir 300, sería 300/100 que serían tres Nuestro multiplicador de tasa de juego flip se incrementaría para reflejar nuestro aumento en la velocidad. Ese va a ser nuestro guión aquí mismo para mover a la Guba en una dirección determinada Voy a hacer click izquierdo fuera de esto y arrastrar y tocar la tecla C. Y voy a llamar a esto mi Bomba. En una dirección dada sólo si el jugador está en rango, entonces voy a colorear este negro. Está bien golpeado. Ahora voy a compilar aquí solo para asegurarme de que nuestro script se vea bien. Y lo es, voy a hacer clic en Guardar. Ahora si ves mi configuración aquí en el nivel, solo reviso un poco las cosas entre videos para acortar la duración de este video Pongo a mi jugador inicio actor camino hacia la izquierda aquí. Acabo de extender un poco mi nivel y los he puesto fuera del rango. Guba aquí. El rango de detección de Goombas está aquí. Ahora echemos un vistazo en el panel de detalles. Si escribo por defecto en el área de búsqueda, ahora voy a desplazarme hacia abajo. Y aquí en la parte inferior, se puede ver que tengo mi valor de velocidad establecido para ser 200 y mi movimiento a la izquierda está comprobado. Una vez que mi jugador se superponga a este radio, debería comenzar a moverse a la izquierda. Ahora, va a haber un problema con esto todavía, pero sigamos adelante y saltemos a jugar y probarlo. Bien, en mi nivel voy a estar superponiendo esta gama aquí viene el señor Gumba Ahora bien, el problema que vas a notar aquí es que no tiene ningún medio para dar la vuelta. Sólo va a seguir moviéndose a la izquierda hasta que se caiga del acantilado. ¿Hay alguna manera de atraparlo para que se mueva bien? Bueno, de hecho la hay. Vamos a saltar de nuevo a nuestro plano de goomba. Y la forma en que vamos a hacer esto es detectar si nuestra goomba golpea algo Y si golpean algo mientras se mueven a la izquierda, sólo vamos a dispararles en la otra dirección alternando este movimiento toro izquierdo Para esto vamos a desplazarnos un poco aquí abajo en nuestro gráfico de eventos. Y vamos a venir y agarrar nuestro componente cápsula justo arriba en la parte superior aquí. Déjame saltar a mi punto de vista para que veas dónde está nuestro componente cápsula. Voy a hacer click derecho aquí y tocar la tecla para saltar sobre ella. Entonces vamos a estar usando este componente aquí mismo, vamos a detectar un golpe en ese tipo. Dato curioso, además de hacer clic derecho y agregar un evento usando el menú de clic derecho con un componente seleccionado. También puedes arrastrar hacia abajo en el panel de detalles así. Y puedes encontrar una lista de eventos aquí. Voy a encontrar en componente, pulsa aquí mismo, haz clic en este botón más y eso me va a saltar aquí mismo. Entonces lo que voy a hacer es romper mi golpe aquí. Mantener pulsado el control, acercar el zoom hacia arriba, arrastrando. Vamos a romper nuestro resultado hit. Amplía esto. Vamos a usar nuestro impacto normal aquí mismo. Arrastre este tipo en el signo igual. Aquí vamos a añadir un poco de tolerancia. Vamos a hacer 0.1 Y vamos a decir que si impactamos algo en esta dirección, voy a establecer nuestro valor x para que sea 1.0 Entonces vamos a 1.0 Entonces vamos arrastrar fuera de esto y enchufar esto a un nodo de rama. Pero también quiero asegurarme de que hagamos esto una vez para que esto no registre múltiples hits. Voy a mantener pulsada la tecla y hacer clic izquierdo. Y vamos a decir que si nuestra Goomba aquí golpea algo, mientras vamos a alternar o mover una vez a la izquierda, vamos a arrastrar esto adentro, vamos a configurarlo De hecho voy a traer un duplicado de esto de inmediato porque nuestra configuración va a verse así. También voy a traer aquí mismo un nodo flip flop. Chanclas. Y vamos a ir así, vamos a ir así. Y voy a traducir esto para todos ustedes aquí en sólo un poquito. Asegúrate de que con este movimiento inferior, Setter Izquierdo, marques esta casilla Deja este en la parte superior, sin marcar. Entonces después de esto, vamos a traer un nodo de retardo. Entonces voy a mantener pulsada la tecla y click izquierdo, traer un retraso. Vamos a enchufar los dos aquí. Voy a tener un retraso de digamos medio segundo. Vamos a decir después de medio segundo vamos a reiniciar esto una vez. Y odio estos cables entrecruzados, así que solo voy a hacer doble clic en esto un par veces para traer esto alrededor Vamos a ir arriba y otra vez así. Este será esencialmente nuestro guión para cambiar nuestro movimiento de lingotes de izquierda Olvidé una cosa justo aquí fuera de nuestro impacto normal. Sólo voy a cortarle este cable manteniendo pulsada la tecla Alt y dando click izquierdo Quiero obtener el valor absoluto aquí. Arrastre fuera del impacto normal, vamos a escribir vector, obtener Abs. Vamos a tomar la salida de esto y conectarlo la parte superior así no importa en qué dirección vayamos, izquierda o derecha, vamos a obtener el valor absoluto de ese impacto normal. Vamos a decir, oye, ¿ eso es igual a x valor de uno? Si eso es cierto la primera vez, vamos a verificar mover a la izquierda la segunda vez y luego vamos a demorar medio segundo. Vamos a resetear esto. Después le volvieron a golpear. Vamos a volver a encenderlo. Golpea otra vez a otra cosa. Vamos a apagarlo. Golpea algo otra vez, vuelve a encenderlo, etcétera. Voy a hacer click izquierdo y arrastrar todo esto, toca la tecla C, esto va a llamarse mi detectar Goomba golpea algo y cambia de dirección si lo hace Bien, vamos a colorear este negro y luego vamos a probar esto. Compilar esto y guardar Para probar esto, simplemente voy a arrastrar en un bloque. Puede ser cualquier cuadra aquí, pero sólo voy a hacer un bloque rompible Voy a tocar esa llave para ajustarla al piso. Y en realidad lo voy a mover un poco hacia arriba para que no se pegue por el suelo. Ahí vamos. Todo bien. Saltando y jugando. Actualmente no estoy en el rango de detección. Se mueve a la izquierda. Va a golpear ese bloque, va a dispararle ahora mismo. Veamos si realmente va a mover nuestra Guba hacia el otro lado Sólo voy a mover mi Guba un poco más de esta manera. Me muevo un poco fuera del camino, y voy a traer un segundo ahí mismo. Aquí vamos. En el rango de disección, goma golpea un bloque, va en la otra dirección, golpea un bloque, va en la otra dirección Entonces esa va a ser una verdadera patrulla sencilla. Y una vez más, podemos personalizar nuestra Gumba aquí determinando cuál va a ser su dirección predeterminada Tengo mi Gumba seleccionada, solo escribí por defecto aquí para ver mis parámetros expuestos Voy a cambiar la velocidad esta vez para que sea 300. Y voy a decir esta vez no quiero que se muevan a la izquierda, así que una vez que superponga este rango, en realidad va a empezar moviéndose a la derecha. Así que sigamos adelante y danos una jugada rápidamente, Empezó moviéndose a la derecha. Como puedes ver, se mueve más rápido, su libro plegable se mueve más rápido. Y así tenemos gumbas altamente personalizables, puedes cambiar esos valores para cualquier instancia Bien chicos, eso va a hacerlo todo por nuestro patrullero Gumba Los veremos a todos en el siguiente video. 63. Buscador de Goomba: Bienvenido de nuevo. Pues tenemos una goomba que puede patrullar en nuestro nivel Hagamos una versión que sea un poco más agresiva, una que pueda buscar a nuestro jugador. Para ello, vamos a bucear de nuevo dentro de nuestra BP Goomba Adelante y haz doble clic en eso. Vamos a comenzar creando otra variable encima en la sección de variables, haciendo clic en este botón más, voy a crear una que sea buscador enemigo Voy a compilar enseguida y voy a hacer editable esta instancia, es decir, que puedo ajustar esto cuando tengamos nuestra Goomba en el nivel Y también voy a decir que por defecto no es un enemigo secreto. Lo tendremos como patrullero por defecto. Pero si queremos voltear esto a ser un enemigo secreto, podemos hacerlo con esta variable booleana ahora creada Podemos entrar bajo nuestro bit de guión existente aquí mismo. Y solo vamos a agregar algún script justo aquí para evaluar esa variable. Así que voy a mantener pulsado el control y clic izquierdo y vamos a arrastrar esto justo por aquí. Y luego voy a arrastrar fuera de aquí y enchufar esto a un nodo de sucursal. Y vamos a ajustar nuestro flujo fuera de esta puerta para que en lugar de mover automáticamente a nuestro jugador de mover automáticamente a nuestro jugador alguna manera de patrulla a la izquierda o a la derecha, vamos a evaluar, ¿es esto un enemigo buscador Ahora bien, si es falso que esto no es un enemigo buscador, simplemente vamos a hacer el movimiento de patrullaje No obstante, si es cierto, lo que vamos a hacer es que vamos a hacer clic derecho en algún espacio vacío. Vamos a conseguir controlador, el peón, conseguir controlador También vamos a hacer clic derecho y sacar personaje del jugador de nuestro controlador aquí. Voy a arrastrar y escribir en simple movimiento a actor. ¿A quién queremos que controle aquí? El controlador de nuestra Goomba aquí, ese va a ser nuestro controlador y el objetivo es nuestro personaje jugador Ahora bien, en lugar de sumergirse en algunos árboles de comportamiento, que es la forma correcta conseguir que los enemigos se muevan por tu nivel, este es un medio realmente sencillo de tener alguna IA realmente simple, por así decirlo. Diremos que si es un enemigo secreto, simplemente vamos a mover nuestra goomba aquí para apuntar a nuestro jugador Ese va a ser el objetivo. Eso es bastante simple. Algo más que queremos hacer aquí es venir bajo el default de clase de nuestra gumba Lo que vamos a hacer aquí es ampliar esto un poco. Vamos a escribir controlador y queremos desmarcar esto, usar la rotación del controlador ya Si esto se comprueba, lo que esencialmente pasaría es que si nuestra gumba estuviera configurada para ser un buscador, giraría e intentaría ir tras ti No queremos que nuestra goomba gire de ninguna manera. Queremos que se mantengan orientados, algo así como frente a la cámara aquí. Entonces, al desmarcar eso, esencialmente vamos a asegurarnos de que no rotemos nuestro personaje en absoluto Ahora bien, si tuviéramos que intentar saltar y probar esto compilando, guardando e yendo a nuestro editor de niveles y diciendo que Argumba aquí es una nota de enemigo buscador, estoy buscando por mi La razón por la que todas estas variables existen por defecto, por cierto, es porque todas estas variables que se establecen para ser editables por instancias, permítanme aclarar el panel de detalles aquí La categoría en la misma se llama default. Voy a configurarlo para que sea un enemigo buscador. Al hacerlo, todo este movimiento a la izquierda en realidad no hace nada, realmente no importa. Considera esto, califica. Lo que vamos a hacer ahora es probar esto. Y en cuanto mi jugador se superponga, el Guba va a empezar a buscar a mi jugador A pesar de que vas a notar un problema, oye, parece que estoy en el rango pero Gumba no viene tras de mí. ¿Qué está pasando? Bueno, para que este simple paso al nodo actor funcione, necesitamos agregar algo conocido como malla de navegación a nuestro nivel. Para ello, tenemos que saltar de nuevo a nuestro editor de nivel aquí y en el panel de actores de lugar. Y si no tienes el panel de actores de lugar encendido, puedes conseguirlo viniendo aquí, seleccionando el panel de actores de lugar y tecleando nav. Queremos agregar algo conocido como un volumen de límites de malla de navegación Y lo que esto esencialmente hace es que especifica un área del espacio donde puedes tener enemigos como la argumba aquí, donde puedan navegar Una vez que traigas esto, va a ser bastante pequeño. Voy a hacer esto más grande de lo que tiene que ser. Y lo puedo hacer tenerlo seleccionado sobre en el panel de detalles. Y quiero encontrar mis ajustes de pincel aquí. Donde puedo definir un tamaño de este volumen dado. Voy a hacer esto enorme en mi, voy a hacer que esto sea 40 mil algo enorme así. Mucho más grande de lo que necesitaba para ser algo para cubrir toda esta franja de tierra Voy a establecer el valor y aquí para que sea algo mucho más amplio de lo que necesitaba ser. Entonces lo configuraré para que sea algo así como el 2000. Y voy a establecer la z para que sea algo así como 5,000 en caso de que construya este nivel verticalmente, algo enorme así. Esencialmente está envuelto alrededor de todo mi espacio de juego aquí. Ahora para poder ver realmente dónde está cubriendo esta malla de navegación, puedes tocar la tecla P, como en Paul. Y cualquier cosa en el verde aquí se identifica esencialmente como espacio que se puede navegar. La llave puede activar o desactivar eso. Adicionalmente, si vas debajo de la opción Mostrar aquí, puedes ver que la navegación se muestra u oculta con esa tecla. También puedes hacer clic en él usando este método. Ahora puede notar algunas áreas que no están cubiertas por nuestra malla de navegación verde aquí. Como alrededor de nuestras cuadras en el suelo e incluso alrededor de la propia Goomba, Esos designan zonas donde nuestro enemigo, nuestra Guba de aquí, no puede ir Quiero endurecer un poco ese espacio, así que tengo un pequeño truco aquí dentro de mi goomba Volvamos a sumergirnos en nuestra goomba aquí. Y voy a seleccionar cuatro componentes diferentes. Y voy a ir a mi viewport aquí solo para que puedan ver qué componentes son estos Voy a seleccionar mi componente cápsula y después voy a mantener presionada la tecla de control y hacer que mi jugador detecte rango, mi colisionador y mi caja de parada Los cuatro de esos, esos son varios volúmenes de colisión. Entonces en el panel de detalles, voy a hacer una búsqueda para siempre tengo esta casilla de verificación para N alguna vez efecto de navegación Quiero desmarcar esto. Ahora bien, si guardo esto y vuelvo a mi nivel, se puede ver que este espacio se aprieta debajo de nuestra gumba Esto hará que sea para que cuando nuestra gumba se mueva de un lado a otro, no se vaya a parar en una zona donde empezó por primera vez. ¿Todo bien? Entonces con todo eso, asegúrate de tener tu gumba seleccionada en tu nivel En tus parámetros predeterminados aquí que has expuesto al editor. Has comprobado que es un buscador. Tenga en cuenta que cuando es un buscador, este movimiento a la izquierda realmente no importa Voy a saltar y jugar. Ahora, cuando mi personaje se superponga al alcance de detección, Argumba buscará ahora El jugador no se ve muy diferente en este momento, pero fíjate en lo que está siendo muy agresivo en cómo me busca. Aunque yo suba aquí, tú también me buscarás. Ahora te darás cuenta que básicamente se detiene y se mueve en un centavo. Y eso es porque en argumbjavascript, esencialmente estamos evaluando cada tick si se trata o no de un enemigo secreto Y si es cierto, nos estamos moviendo hacia nuestro personaje jugador. Ahora bien, si no quieres que sea tan agresivo, lo que podrías hacer es que podrías bajo tus incumplimientos de clase Vamos a aclarar nuestra búsqueda del Ken siempre. Y puedes ajustar tu tasa de tick. Actualmente esto está haciendo tictac. Eso es disparar todos los fotogramas. Pero podrías establecer esto para que sea algo así como decir 0.25 así que cada cuarto de segundo. Ahora, hay que tener cuidado con esto. Y te voy a mostrar un problema si vas por esta ruta. Porque ahora mismo estamos configurando nuestro intervalo de tick un cuarto de segundo para todos nuestros goombas aquí Entonces ahora si tuviera que saltar en una jugada, esto puede hacer que nuestro enemigo buscador se mueva un poco más realista para que no persigan a nuestro jugador del todo así en un centavo, si se quiere Ahí hay un poco de pausa. Sin embargo. El problema con esto es si vas y haces tu gumba, no un buscador, y luego saltas y juegas Ahora es sólo un patrullero regular, no se va a mover muy bien O te recomiendo no ajustar tu tasa de tick aquí en tu clase por defecto de tu gumba, o si quieres tener una Sekumba que sí tenga un intervalo de tick más modificado, tal vez medio segundo, tal vez cada segundo, que crees un duplicado de esta goumba que se dedica a ser únicamente un buscador y no un Para que así puedas tener una tasa de tick más modificada para eso. Con eso, adelante y compilar y guardar, y chicos que va a hacerlo todo por crear una versión buscador de nuestra Goomba Aquí. Los veremos a todos en el siguiente video. 64. Plano de tuberías de deformación: Bienvenida. En el transcurso de los próximos videos, vamos a estar trabajando en armar un plano de tubería warp Y este plano va a ser altamente personalizable en que vamos a poder establecer qué tan alto queremos hacer nuestra pipa, vamos a poder establecer a dónde nos deformamos Vamos a poder interactuar con la tubería bajando a través de ella. Y además, vamos a poder interactuar con esta pipa subiendo a través de ella también. Ahora para volver a empezar aquí en nuestra versión de trabajo del proyecto, solo vamos a crear el material verde que va a ir en nuestra pipa así como armar el plano de la clase actor para la propia pipa Terminaremos agregando los componentes necesarios para esta tubería y configurando los detalles para ello. Y eso es lo lejos que vamos a llegar en este. En primer lugar, para crear el material verde, voy a comenzar aquí en mi carpeta Materiales de la plataforma de contenido. Voy a hacer click derecho en algún espacio vacío. Vamos a crear un material completamente nuevo. Voy a llamar a esto M, Subrayado Verde. Y entonces sólo voy a golpear la barra espaciadora en esto para abrirla. Este será un material realmente básico. El primer nodo que voy a buscar agregar se llama un nodo constante de tres. Podemos obtener uno de estos manteniendo pulsada la tecla tres y haciendo clic izquierdo. Y esto nos va a permitir conectarnos a nuestro nodo de material maestro aquí mismo y darle un color base. Con este nodo seleccionado en el panel de detalles, puede establecer un valor R, G, B, es decir, un valor rojo, verde o azul. Podrías elegir este recogedor de color aquí mismo para elegir un color No obstante, sólo voy a establecer un valor verde de uno. Pulse Intro. Ahora este es un color verde plano, y quiero que el mío se vea un poco más metalizado. Tenemos esta entrada metálica en el nodo de material maestro, y si enchufamos un valor 0-1 podemos especificar qué tan metálico queremos que sea esto Para ello, voy a agregar un nodo constante uno manteniendo pulsada la tecla uno y haciendo clic izquierdo puedo agregar uno de estos. Voy a enchufar esto a la entrada metálica. Aquí en este nodo voy a especificar un valor de uno. Y se puede ver de nuevo en el previewer aquí, se ve un poco más metálico Ahora, también quiero cambiar la aspereza de esto para sumar a este efecto Al mantener pulsada la tecla una vez más, voy a hacer click izquierdo, voy a enchufar este valor en la rugosidad. Y se puede ver al enchufar un valor de cero, hemos hecho este súper, súper suave y por lo tanto súper brillante y reflectante No quiero que sea bastante así de reflexivo, así que voy a establecer el valor aquí para que sea 0.5 en su lugar, algo áspero. Ese va a ser el aspecto de nuestra pipa ahí mismo. Verde. Un valor de uno en metálico, un valor de 0.5 en la rugosidad. Sigamos adelante y guardemos eso y luego podemos cerrar fuera de aquí. A continuación, voy a seleccionar nuestra carpeta de planos abajo en el navegador de contenido Y vamos a crear nuestro plano de pipa de guerra simplemente haga clic derecho en alguna clase de plano de espacio vacío Esto va a ser un plano de clase de actor. Voy a nombrar a este BP subrayado Warp Pipe. Entonces con esto voy a hacer doble clic sobre él para abrirlo. Dentro de aquí voy a agregar todos los componentes necesarios. Y luego voy a regresar y establecer los detalles para cada uno, para esta parte. Añadiendo los componentes, anote la relación de vinculación porque eso será importante. Voy a dejar mi raíz de escena predeterminada por aquí. Ese es este icono de aquí mismo. Todos los componentes que voy a agregar van a estar unidos a esto. El primero que voy a agregar va a ser conocido como una malla estática instanciada, no la jerárquica, la malla no la jerárquica, la estática de instancia Y voy a llamar a esto un solo cuerpo. Ahora con esto, vamos a establecer una malla estática que va a ser de forma cilíndrica. Y vamos a agregar secciones de estas a través del script. Dependiendo de qué tan alto o grueso queramos que sea nuestra pipa. Una vez más, voy a añadir estos detalles más adelante. El segundo componente que quiero agregar, quiero agregar también a nuestra raíz de escena predeterminada. Vamos a adjuntarlo a eso. Vamos a agregar uno. Esta va a ser una malla estática simple y voy a llamar a esta una tubería superior. Esta va a ser la parte superior de nuestra pipa que va a ser un poco más ancha. Ahora con nuestra tapa de tubería seleccionada, vamos a unir dos componentes a esto. Asegúrate de tener eso seleccionado. El primero que vamos a agregar aquí va a ser una malla estática y voy a llamar a esta pipa adentro. Esto va a ser para el aspecto interior de nuestra pipa, esencialmente coloreándola de negro. Para eso va a ser eso. adelante y seleccionemos nuestra parte superior de tubería nuevamente porque este siguiente componente también se va a unir a la parte superior de la tubería y, por lo tanto, se sangrará también se va a unir a la parte superior de la tubería y, por lo tanto, se sangrará Esta misma profundidad. Esto va a ser colisión cápsula, aquí mismo bajo la categoría de colisión, vamos a llamar a esto simplemente colisión. Bien, tenemos dos componentes más que quiero agregar aquí. Ambos se van a agregar a la ruta de escena predeterminada. Asegúrate de tener esto seleccionado. El primero que vamos a agregar va a ser conocido como cartelera. Esto simplemente va a ser un icono que va a representar un punto en el espacio. Así que adelante y selecciona esto. Vas a ver aparecer un icono de cabeza de dragón aquí. Esto se va a llamar nuestro Warp in point. Y luego voy a agregar uno más y va a estar a la misma profundidad. Selecciona tu ruta de escena predeterminada. Voy a añadir, y voy a escribir Billboard, este va a ser nuestro punto Warp O. Estos íconos van a representar simplemente un punto en el espacio donde vamos a estar instruyendo a nuestro personaje para que se deformar, o deformarse desde Bien, con nuestros componentes en su lugar, sigamos adelante y fijemos los detalles para cada uno. Voy a empezar con mi cuerpo de pipa, asegúrate de que tengas ese seleccionado. Voy a establecer la ubicación para esto, la ubicación z para que sea cinco. Y voy a poner la báscula enseguida, incluso antes de fijar mi año de desastre estático. De hecho, déjame seguir adelante y establecer la malla primero para que puedas ver algunos de estos cambios. El año de desastre, vamos a usar un cilindro y vamos a elegir este cilindro del camino de formas básicas del motor. Se puede ver en la parte superior de esa punta de herramienta allí. Con esto ahora implementado, vamos a establecer la escala. Voy a poner la escala a 2.252 0.25 Y luego vamos a establecer 0.1 para la escala Z. Voy a revisar este botón de bloqueo o desbloquearlo más bien. Para que cuando cambie uno de estos valores, no todos van a cambiar al mismo tiempo, y esto va a ser 0.1 también me equivoqué ahí porque esta es una instancia de malla estática No vamos a ver ninguno de estos agregados a nuestra ventana gráfica de inmediato. Estos chicos van a ser agregados través de nuestros guiones de construcción, así que no verás nada aquí todavía, pero esperarlo en futuros videos. Además, lo que quiero hacer es cambiar nuestro material aquí para que sea verde. Porque esto va a ser verde, va a ser nuestro material aquí. Esta va a ser la longitud de nuestra tubería, el propio cuerpo de la tubería. Todo bien. Con todo eso hecho, vamos a pasar a nuestro top de pipa. Adelante y selecciona eso para esto. También vamos a agregar un tipo de cilindro en cilindro. Una vez más va a ser del paquete de formas básicas del motor. Voy a establecer esto para que sea verde también. Ese mismo material M, subrayan verde porque se trata de una malla estática Veremos esto en nuestra ventana gráfica en el área de escala. Voy a establecer la escala para que sea 2.75 en la x y la y, déjame acercarme un poco aquí atrás. déjame acercarme un poco aquí atrás En mi ventana gráfica, la z va a ser 0.5 para la ubicación z Voy a poner esto en 35. Va a ser ahí arriba un poquito siguiente para nuestra pipa adentro. Sigamos adelante y seleccionemos eso. Esto también va a ser un cilindro para la malla estática. Lo mismo del motor. Las formas básicas empacan nuestro material aquí, lo voy a poner en algo negro. Si tecleas material negro iluminado, encontrarás un buen tono de negro plano. Voy a establecer la ubicación para esto en la Z para que sea 25.5 así que va a estar apenas alcanzando un poco Ahora estás viendo algunos peleando aquí por la báscula. Vamos a bajar nuestra escala a 0.8 para la x, 0.8 para la y, y nuestra z va a ser 0.5 Ahora cuando haga esto, vas a tener este tipo de look. Entonces va a parecer el interior de una pipa. Bastante listo, ¿eh? Bien, a continuación tenemos nuestra colisión, nuestra colisión cápsula. Adelante y selecciona eso. Lo que vamos a hacer aquí es cambiar la ubicación de esto. La ubicación Z va a ser 80. Estamos empezando a verlo por encima de la parte superior de nuestra pipa aquí. Tenemos que hacer esto más grande también. La media altura, voy a poner esto en 300. El radio de la cápsula aquí se va a establecer en 40. Y vamos a estar usando esto para comprobar cuando nuestro personaje está por encima de la tubería o si esta tubería está invertida, si el carácter se superpone o no a esto. Así podremos comprobar para ver si el personaje está presionando un botón para así interactuar con la tubería y deformarla. Además, tenemos que pasar por debajo de la sección de colisión. Entra por debajo del ajuste preestablecido de colisión. Vamos a configurar esto para que sea personalizado. Vamos a ignorar todo. Vamos a aceptar superposiciones por el peón, es decir cuando nuestro personaje se superponga a esto, lo reconoceremos justo Sigamos adelante y seleccionemos nuestro warp in point. Una vez más, esto va a especificar un punto que vamos a comenzar a deformar. Para esto, voy a establecer nuestra ubicación z aquí en la Z. voy a ponerla en 70 La va a colocar justo por ahí, justo encima de nuestra pipa. Podemos juguetear con esto, pero voy a dejarlo a los 70 por ahora Para nuestro punto O, eso va a estar abajo un poquito. Entonces voy a poner la Z para que esto sea negativo 35. De nuevo, podemos juguetear con eso, pero ese va a ser un buen punto de partida, así que cuando te enturbes, vamos a usar eso como un punto warp Cuando nos deformemos, vamos a usar eso como un punto de warp out para principiantes. Bien, y con eso, eso nos va a dar un comienzo bastante bueno para nuestra pipa. Obviamente mucho más trabajo por hacer aquí. Scripting sabio, seguro. Adelante y guarda esto y llamaremos a este video. Te veremos cuando, el siguiente. 65. Script de construcción de tuberías en Warp: Bienvenida. Vamos a seguir adelante con nuestra pipa de guerra BP aquí. Y nuestro siguiente paso va a ser agregar algún script dentro de nuestro script de construcción para que nuestra pipa sea altamente personalizable. Para hacerlo de manera que podamos hacer el cuerpo de la tubería la longitud de la tubería si se quiere. Tan alto o tan gordito como nos gustaría. Ahora la buena noticia aquí es que vamos a poder tomar prestado algún guión de nuestra plataforma Mushroom que creamos antes en el curso Entonces saltemos directo a ello. El primer paso aquí es que vamos a crear una variable. Al hacer clic en ese botón más. Voy a llamar a esto mi punto final de tubería. Asegúrate de que se trata de una variable vectorial para que puedas seleccionarla ahí mismo y cambiarla a vector. Entonces voy a seguir adelante y compilar enseguida. Porque quiero establecer un valor predeterminado para esto en la Z. quiero establecer esto para que sea negativo 100 Y luego voy a marcar estas casillas para que esta instancia sea editable, así como para mostrar el widget tres D. Ahora lo que esto va a hacer es dejarme seguir adelante y compilar y ahorrar aquí. Y arrastra esta pipa de guerra a mi nivel en alguna parte. Por el momento, voy a colocarlo justo cerca de mi inicio de jugador. Ahora con esto en nuestro nivel, podemos ver que tenemos este punto final de tubería, esta variable, ahora está expuesta al editor, podemos ver aquí mismo. Y así podría cambiar este valor aquí dentro del editor, arriba o abajo. Déjame volver a poner eso por defecto. O en realidad puedo hacer clic en este widget de tres D y moverlo hacia arriba o hacia abajo también. Permítanme seguir adelante y poner eso de nuevo a su defecto de 100 negativo. Ahora vamos a estar usando ese valor de esta variable dentro de nuestro script de construcción. Así que volvamos a sumergirnos en nuestra pipa de guerra, a nuestra pestaña de script de construcción. Dentro de nuestro script de construcción, esencialmente queremos agregar algún script que va a agregar algunas secciones de nuestro cuerpo de tubería aquí. Y esto va a hacer esto agregando porciones de nuestro cilindro aquí dentro de nuestro cuerpo de tubería instancia malla estática. Ahora bien, si esto está sonando un poco familiar porque hemos hecho algo similar a esto, hecho idéntico a esto dentro de nuestro lanzador de plataformas BP Ahora vamos a poder tomar un poco de atajo aquí robando algún guión dentro de aquí. Pero solo déjame recordarte lo que hicimos antes en el curso. Al arrastrar uno de estos a nuestro nivel, dentro de nuestro lanzador de plataforma BP, agregamos una variable llamada punto final troncal Esta era una variable vectorial y la hicimos editable de instancia y la hicimos para que tuviera este widget de tres D. Y al modificarlo aquí en el editor de niveles, realidad estamos agregando secciones de nuestro tallo lanzador de plataforma. Vamos a tener esa misma configuración aquí dentro de nuestra pipa. Básicamente vamos a poder seleccionar este diamante para nuestra variable de punto final de tubería. Vamos a arrastrarlo hacia abajo y luego nuestro script de construcción sólo va a rellenar algunas secciones de tubería. Mismo método aquí, dentro de mi lanzador de plataforma. Simplemente voy a abrir este plano haciendo clic en el Outliner Vamos a editar eso dentro del script de construcción de nuestro lanzador de plataformas. Voy a robar algún guión dentro de aquí. Voy a hacer click y arrastrar justo por aquí. Y luego voy a mantener pulsado el control y obtener nuestro bucle cuatro también. Vamos a estar buscando robar estos nodos. 1,234,567.8, Con los seleccionados hacer control Vayamos a nuestro guión de construcción de pipa de guerra. Voy a hacer click izquierdo y luego controlar V a ritmo. La razón por la que esto va a funcionar casi idénticamente bien va funcionar de manera idéntica es porque en nuestro lanzador de plataforma BP, tenemos esta instancia de malla estática para el tronco Y he aquí, mira la malla que estábamos viendo ahí. Fue el mismo cilindro que tenemos para nuestra malla estática instantánea aquí en nuestro tubo warp. Nuestro cuerpo de tubería va a estar usando ese cilindro también. Ahora una cosa que sí necesito actualizar aquí para que este script funcione exactamente igual es notar aquí en nuestro lanzador de plataforma BP, este tallo de tronco de papilla, tengo la escala para la Z establecida en uno Déjame regresar y revisar esto en nuestra pipa de guerra. Voy a cambiar la escala Z a una también, que este bit de guión funcione manera idéntica aquí en nuestra pipa de guerra BP Esta va a ser una revisión del video anterior. Voy a cambiar mi cuerpo de pipa escala Z. Asegúrate de que esto esté desbloqueado para que puedas cambiar la escala Z independientemente a una. Bien, con eso ahora todo lo que necesito hacer es tomar mi punto final de tubería. Voy a enchufar eso a mi longitud de vector. Voy a dejar eso ahí. Voy a conectar mi script de construcción para que esto pueda ejecutarse durante el tiempo de diseño aquí. Siempre que hagamos algún cambio en este plano, también lo va a actualizar en nuestro editor de niveles aquí Y luego tenemos que enchufar en qué instancia queremos agregar. Este va a ser nuestro cuerpo de pipa. Vamos a arrastrar esto así. Todas estas matemáticas deberían ser las mismas. Dividiendo por 100 ahí, multiplicando por 100 negativos aquí mismo. Sigamos adelante y compilemos esto, asegurémonos de que todo quede bien. Vamos a salvar esto. Y ahora de vuelta en nuestro editor de niveles, podemos ver que hemos agregado algunas secciones de nuestra pipa. Ahora bien, si agarro este punto final aquí y lo extiendo hacia abajo, se puede ver que cada vez que lo mueva en 100 unidades irreales extra, va a agregar una sección de tubería Altamente personalizable de hecho. Y nuevamente, esto funciona durante el tiempo de diseño. No mientras el juego esté funcionando, sino durante el tiempo de diseño. Bien, así que eso es todo lo que queríamos lograr en esta porción de nuestra pipa de guerra. Mucho más trabajo por hacer, pero ahora tenemos un guión de construcción construido que agregará piezas de nuestro cuerpo de tubería para que podamos hacerlo largo y grueso Por grande que sea lo que queramos hacerlo chicos, eso va a hacerlo fuera para este. Te veremos en la siguiente. 66. Entradas de tuberías de deformación: Bien, así que ahora que nuestra pipa se ve bastante bien visualmente a través de los componentes que hemos agregado y el script de construcción que hemos creado, es hora de que volvamos nuestra atención al propio script de Warp pipe. Ese es nuestro jugador realmente interactuando con esta pipa de guerra para conseguir que se deformen a alguna otra área del nivel. Ahora para que esto suceda, necesitamos una entrada adecuada. Y antes de comenzar con esa discusión, es hora de revisar un poco sobre cómo se estructuran nuestros insumos dentro de nuestro proyecto. Ahora como saben, estamos controlando nuestro carácter de tercera persona en nuestro proyecto y dentro de nuestro personaje de tercera persona. Este guión ya había existido. Esto es agregar un contexto de mapeo de entrada. Esto es lo que determina todas las entradas que son relativas a este carácter en particular, las entradas que este personaje puede usar. Ahora tengo este activo IMC default abierto a lo largo de la parte superior aquí Dentro de este activo, podemos ver las diversas asignaciones de entrada que se han agregado a este valor predeterminado de IMC Uno de estos es disparar la Bola de Fuego, que agregamos antes. Además, agregamos uno para un jugador abajo, y usamos este dentro de nuestra plataforma BP, saltar a través. Lo hicimos para que cuando se active esta acción, podamos caer a través de nuestra plataforma. Y lo hicimos para que esta acción sea desencadenada por la tecla S, además de empujar hacia abajo en el eje y de nuestro thumbstick izquierdo Ahora, para que nuestra interacción de tubería de guerra funcione, en realidad vamos a usar esta entrada de jugador que creamos. No obstante, vamos a estar modificando un poco las cosas, así que ahí es donde vamos a recoger las cosas. Ahora bien, si olvidaste dónde existe este athot, puedes encontrarlo aquí en nuestra carpeta de acciones de entrada en tercera persona Y aquí es donde creamos nuestra acción de entrada A player down. Ahora bien, si no tienes este activo desde antes en el curso, la forma en que creamos esto fue haciendo clic derecho en algún espacio vacío bajo entrada. Esta fue una acción de entrada. Lo llamamos IA jugador abajo. Vamos a abrir este respaldo porque vamos a hacer algunas modificaciones a esto. Entonces, actualmente dentro de nuestra acción de entrada de IA player down, establecemos el tipo de valor para que sea un boule digital ¿Eso sucedió o no? Vamos a cambiar esto ligeramente al pasar por debajo de la sección de gatillo. Actualmente está configurado para apenas abajo. ¿De verdad estamos empujando hacia abajo? En nuestro caso, el IMC por defecto por ejemplo, estamos empujando hacia abajo digamos el SQ ¿Sucedió o no? Ahora vamos a estar cambiando esto ligeramente para que este tipo de valor siga siendo el mismo bool digital ¿Sucedió, no? No obstante, vamos a estar cambiando el en el índice de abajo a espera. Vamos a estar comprobando si estamos manteniendo pulsado un botón dado. Ahora bien, si expandimos esto un poco más, vamos a cambiar nuestra retención al umbral de tiempo para que sea 0.2 segundos. Y nuestro umbral de actuación va a ser uno, esencialmente todo el camino estableciendo esto en un valor 1.0. Esencialmente, estamos queriendo averiguar ¿nuestro pulgar izquierdo se ha empujado completamente hacia abajo durante al menos 0.2 segundos Eso es esencialmente lo que estamos diciendo aquí. También vamos a marcar esta casilla porque es una toma que la va a hacer para que para que vuelva a registrarse, tenemos que soltar esencialmente el thumbstick izquierdo para poder activarlo una vez más Entonces con todo esto en su lugar, bool digital sostiene el umbral de accionamiento de 0.21 disparo de uno Siga adelante y guarde esto y de nuevo en nuestro IMC predeterminado, actualmente tenemos nuestro mapeo de acción de entrada de jugador abajo establecido en la tecla S. Sin embargo, voy a cambiar este pad de juego, thumbstick izquierdo, eje y Voy a dar click en este desplegable. Y en la sección de gamepad, nuevamente, esto es solo para ustedes jugadores de gamepad Voy a cambiarlo a Gamepad izquierda, thumbstick abajo. Entonces estos dos van a desencadenar ese evento A player down. Tanto en nuestro salto por plataforma como lo está haciendo ahora, pero también dentro de nuestra pipa de guerra, que es donde la vamos a usar en el siguiente video. Ahora queremos crear en realidad un mapeo de jugadores más aquí en mapeo de acción. Tenemos este reproductor caído de nuevo en nuestro navegador de contenido. Sigamos adelante y dupliquemos esto. Y podemos duplicar esto ya sea haciendo clic derecho sobre él y eligiendo duplicar, O Control más D duplicará eso. Y voy a configurar esto para que sea un jugador arriba. Ahora la razón por la que estoy agregando un jugador aquí arriba es simplemente porque quiero poder bajar por una pipa así como subir por una pipa también. Ahora bien, si abro esto, quiero asegurarme de que esto tenga exactamente la misma configuración que nuestro jugador abajo. Por lo que está configurado en toro digital y los disparadores están establecidos para mantener 0.2 segundos. Yo quiero que esto se ajuste a un disparo en el umbral de accionamiento va a ser uno también. Déjame solo volver a revisar aquí en mi jugador abajo, tenemos digital Bull hold 0.21 Digital bool hold 0.21 tiro en 1.0 Eso está todo bien, así que adelante y guarda esto Ahora también necesito agregar esta acción de entrada en particular dentro de nuestro contexto de mapeo de entrada, ese IMC predeterminado Y si has olvidado dónde estaba ese IMC predeterminado, una vez más vuelve aquí en nuestro navegador de contenido Éstas existían en la serie de carpetas en tercera persona, y puedes encontrar esta en la carpeta de entrada, IMC default Así que voy a abrir eso de nuevo. Tengo que abrirla por la parte superior aquí. Ahora para agregar este reproductor IA a nuestra lista de posibles acciones de entrada, necesitamos hacer clic en este pequeño botón más. Lo va a agregar aquí abajo. Ahora tengo que realmente ranura en esta acción de entrada vacía. Entonces voy a hacer una búsqueda para arriba así. Ahora necesito averiguar qué botones o entradas quiero poder activar ese jugador de eventos de acción de entrada. Bueno voy a hacer un evento de teclado para W. Si hago clic aquí mismo en este icono de teclado. Con eso en naranja, ahora puedo simplemente presionar el Wkey y automáticamente lo mapeará a eso Haré clic en este botón más una vez más, y me permitirá agregar otra entrada. En lugar de hacer clic en el teclado esta vez voy a hacer clic realmente al lado del teclado y voy a ir al gamepad Busco gamepad, pulgar izquierdo arriba. Esos serán mis dos mapeos para disparar ese evento de acción de entrada Con eso, sigamos adelante y guardemos nuestro mapeo de entrada. Contexto predeterminado aquí y ahora vamos a estar en posición donde podamos agregar estos eventos particulares. Nuestro jugador abajo y nuestro jugador arriba dentro de nuestro gráfico de eventos warp pipe. Entonces eso es todo para entrar. El siguiente video, te veremos ahí. 67. Script de urdimbre para tuberías #1: Bien, así que en nuestro último video modificamos nuestro activo de entrada de acción player down. Y también duplicamos eso y creamos una acción de entrada de IA player up. Entonces nos aseguramos de que ambos estuvieran ranurados dentro de nuestro defecto de IMC Este es nuestro contexto de mapeo de entrada para que tengamos nuestro reproductor IA aquí mapeado a un par de entradas, así como nuestro jugador hasta un par de entradas. Un teclado y un controlador. Ahora vamos a estar haciendo uso de estos dentro de nuestra pipa de guerra BP. Así que encuentra tu camino por aquí, voy a hacer clic izquierdo, arrastrar una selección de marquesina y eliminar estos eventos existentes dentro de nuestro gráfico de eventos de nuestra pipa de guerra Y vamos a agregar nuestros dos nuevos eventos aquí mismo. Nuestro jugador abajo en, nuestro jugador arriba para que comencemos con nuestra interacción inicial de pipa. Entonces voy a hacer click derecho en algún espacio vacío. Vamos a hacer una búsqueda de jugador arriba y estamos buscando eventos de acción mejorados. Busca el que tenga este icono de tipo flecha. Y luego vamos a hacer click derecho y voy a hacer una búsqueda de jugador abajo. Nuevamente, los eventos de acción mejorados que la flecha icono uno. Pongamos esto así. Bien, entonces vamos a estar usando un par de variables y un nodo de puerta y algunas superposiciones para detectar si nuestro jugador está realmente en condiciones de interactuar con nuestra pipa de guerra Ahora, antes de ir más allá aquí usando estos eventos, vamos a seguir adelante y crear un par de estas variables en el panel my blueprint que vamos a necesitar Así que viniendo bajo la sección de variables más, vamos a agregar una variable para poder interactuar con la pregunta. Esto será un lingote. Esencialmente vamos a estar usando esta variable para preguntarnos a cada pipa individual que colocamos en el nivel, ¿podemos realmente interactuar con ella? Puede haber algunas pipas que solo estamos colocando por ahí con fines decorativos. No hay intención de que el jugador interactúe realmente con esto, así que esta es una forma de marcar eso, sí, esta es una pipa de guerra que realmente queremos deformar a nuestros jugadores Los otros solo van a ser decorativos con esta variable seleccionada aquí. Yo sólo voy a hacer control más D para duplicarlo. Y éste también va a ser un lingote. No obstante, a éste se le va a llamar es pipa. Va a ser un signo de interrogación. Y esto es esencialmente hacer la pregunta, es esto una pipa que queremos bajar versus es una pipa que queremos subir? Entonces esto va a ser utilizado para determinar la animación de nuestros jugadores cuando están interactuando con la pipa. ¿Van a bajar por ella o van a subir por ella? Ahora vamos a seguir adelante y compilar estos. Entonces podemos establecer algunos valores predeterminados para estos. Esto puede interactuar, queremos dejarlo como falso. Digamos por defecto todas nuestras pipas vamos a decir que no podemos interactuar con ella. Sin embargo, podemos verificarlo, si lo verificamos en el editor. Así que asegúrate de marcar esta casilla, por ejemplo, editable, que cuando tengamos nuestra tubería seleccionada en nuestro nivel, podamos marcar esta casilla para cualquier instancia particular de la misma Cuatro es lingotes de tubería abajo, lo comprobaremos por defecto y también diremos que es instancia editable Así que de vuelta en el editor una vez más también podemos modificar estas variables. Ahora bien, si tuviera que seguir adelante y compilar y guardar esto y seleccionar mi pipa de guerra de nuevo en mi nivel, ahora pueden ver que estas dos variables están disponibles para mí dentro del editor de niveles, puedo marcar o desmarcar que Ken interactúe o esté abajo de la casilla de verificación de tubería, bien, Saltando de nuevo a nuestra pipa de guerra cuando nuestro jugador presiona Queremos revisar algunas cosas para ver si son ciertas antes incluso de seguir adelante. Y lo que queremos comprobar para ver si es cierto o no es ¿podemos interactuar con la pipa? Así que vamos a arrastrar esto a nuestra gráfica. ¿Podemos interactuar con la pipa? También queremos revisar para ver si no se trata de un tubo descendente. Voy a traer mi es bajando la pipa. Vamos a conseguir esto. Voy a arrastrar fuera de esto y decir que estoy buscando un booleano Ese nodo ahí mismo. Ahora quiero comprobar si ambos son ciertos. Para ello, puedo hacer clic derecho en algún espacio vacío y traer un nodo. Busco un booleano. Voy a tapar esto puede Interactuar en la parte superior y luego está por debajo de la tubería en la segunda entrada aquí. Y vamos a estar enchufando la salida de esto en un nodo de rama manteniendo pulsada la tecla B y haciendo clic izquierdo Vamos a enchufar esto como, así que vamos a disparar fuera de aquí. O solo nos importa cuando se dispara fuera de aquí cuando hemos comenzado este Input. Acción larga historia corta aquí con nuestro jugador arriba. Acción de entrada. Esto se disparará de ese pin iniciado aquí atrás en nuestra pipa de guerra. Se va a disparar fuera de aquí, fuera de este pin iniciado. Tan pronto como se cumplen estas condiciones, hemos mantenido presionado el WK en nuestro teclado o el thumbstick izquierdo en la posición ascendente durante al menos 0.2 segundos Si hemos cumplido esas condiciones, entonces vamos a estar haciendo la pregunta, oye, ¿ podemos incluso interactuar con esta pipa? Y oh, por cierto, ¿ no es esto un tubo descendente? Si eso es cierto, queremos entrar por una puerta. Voy a arrastrar fuera de aquí y escribir en una búsqueda de puerta. Busco un nodo puerta. Vamos a entrar por una puerta. Esencialmente nos estamos acercando a una puerta dura y queremos saber si la puerta está abierta o si está cerrada. Ahora bien, si la puerta está abierta y piensa en una puerta física, si está abierta, vamos a hacer cualquier guión que venga más allá aquí. Sin embargo, si la puerta está cerrada, no vamos a avanzar más allá de aquí. Ahora antes de llegar a la apertura o cierre de la puerta, manejemos a nuestro jugador abajo de entrada. Ahora para ahorrar un poco de tiempo, voy a copiar estos nodos aquí arriba. Entonces voy a hacer click izquierdo y arrastrar obtener estos cuatro. También voy a mantener pulsado el control y click izquierdo y agarrar este quinto nodo aquí mismo. Entonces con los seleccionados, voy a hacer control más D para duplicarlos y traerlos aquí abajo. Ahora bien esto va a ser en gran parte lo mismo, sin embargo para el jugador abajo de entrada no necesito este nudo nodo. Eso son muchos nudos. Entonces voy a eliminar esto para esto. Vamos a decir que cuando estamos presionando hacia abajo, esa es la tecla S en nuestro teclado, o nuestro pulgar izquierdo está abajo. Una vez que eso haya comenzado, entonces vamos a verificar, ¿podemos interactuar con él y de hecho es una tubería descendente? Éste sí queremos averiguarlo, ¿ en realidad es un tubo de bajada? Y si eso es cierto, que podemos interactuar con él, y es un tubo descendente, un tubo que podemos bajar. También queremos entrar por una puerta. Entonces estamos esencialmente si estamos tratando de subir una tubería o bajar por una tubería. Esta es nuestra manera de acercarnos a la puerta para ver si una interacción es incluso posible. Ahora para saber si una interacción es posible, queremos averiguar si realmente estamos en condiciones de bajar por esa tubería. Y para eso vamos a estar usando nuestro solapamiento de colisiones aquí mismo. Ahora permítanme simplemente saltar por encima de nuestra ventana gráfica muy rápidamente y hacer zoom en la parte posterior. Tenemos esta colisión, este componente de colisión cápsula que esencialmente queremos verificar tiene a nuestro jugador incluso por encima de la tubería así. Si lo están, si están dentro de esta zona, vamos a decir que sí, la puerta está abierta. Adelante. Sin embargo, si nuestro jugador no se superpone a esta colisión, esencialmente vamos a decir, no, perdón No se puede avanzar en absoluto más allá este nodo de puerta. Así que no se puede hacer. No se puede bajar por la tubería de guerra con este nodo de colisión seleccionado aquí en nuestros componentes. Vamos a hacer clic derecho en algún espacio vacío. Vamos a agregar un evento para cuando empecemos a superponerse a eso. Ahora una vez que haga clic en esto, va a colocar este nodo aquí abajo. Y déjame mover mi andar aquí abajo y enmarcarlo así Entonces, lo que quiero averiguar sobre el componente comienza a superponerse. Queremos averiguarlo oye, ¿es nuestro jugador el que se superpone a esto? Así que una vez más puedo hacer clic derecho en algún espacio vacío. Yo podría hacer un personaje get player y podríamos hacer todo esto igual fuera de aquí. No obstante, quiero saber específicamente si es nuestro personaje en tercera persona que está haciendo la superposición aquí. Porque si es así, quiero realmente guardar una referencia a nuestro personaje en tercera persona para más adelante en el guión. Entonces en cambio, esta vez voy a sacar de mi otro pin de actor y voy a hacer un reparto a personaje en tercera persona. Entonces, si es el personaje en tercera persona el que está haciendo la superposición de esta colisión, vamos a enchufar esto a nuestras notas abiertas de la puerta, así que vamos a decir, sí, la puerta está abierta. Proceder. Puedes ir más allá de aquí siempre y cuando hayas presionado arriba o hacia abajo dependiendo del tipo de tubería con la que estemos tratando de interactuar. Bien, entonces también hagamos clic derecho en nuestro componente de colisión aquí arriba nuevamente en el evento, para terminar una superposición. Aquí también, también podemos traer a nuestro elenco de personajes en tercera persona. Nota Voy a hacer el control D con ese seleccionado. Mueve esto a posición así. Vamos a decir si has terminado esa superposición, es decir, no estás dentro de esa zona de colisión, vamos a cerrar esas puertas y por defecto vamos a comenzar con la puerta cerrada. Esencialmente, este va a ser el comienzo de nuestro script de interacción de tuberías porque este es un poco alto. Voy a tratar de enmarcarlo como celular. Trate de conseguir esta parte superior en su lugar. Si quieres pausar el video aquí, puedes ver que tenemos nuestras variables por aquí, player up, player down. Esos dos van a alimentarse en la parte de entrada de la puerta. Y el abrir y cerrar va a estar determinado por si en realidad estamos superponiendo este componente de colisión o no. Ahora nada de esto funcionará absoluto si no entramos dentro de nuestros valores predeterminados de clase aquí dentro de nuestra pipa de guerra y cambiamos este parámetro aquí abajo en la sección de entrada Ahora mismo, esta pipa de guerra no reconocerá ninguno de estos eventos. Aunque fuéramos a hacer como, la tecla W o S de nuestro teclado no va a reconocerlas en absoluto. Y eso es porque dentro de los valores predeterminados de nuestra clase, un plano de clase actor no reconocerá ninguna entrada a menos que bajo la categoría de entrada cambie la entrada de recepción automática de deshabilitada a jugador cero En nuestro caso, debido a que se trata de un juego para un jugador, todo lo que tenemos que hacer es verificar si el jugador cero, es nuestro jugador de préstamo, está ingresando cualquier tipo de entradas, el WK, la tecla S, o tal vez arriba o abajo en el thumbstick izquierdo Bien, con todo eso hecho, asegúrate de compilar para asegurarte de que nuestro script existente aquí se vea bien. Sigamos adelante y digamos eso, y eso nos va a dar nuestro punto de partida para nuestra interacción de pipa de guerra. Mucho más trabajo por hacer, pero continuaremos dentro del siguiente video. Te veremos ahí. 68. Script de urdimbre para tuberías #2: Bienvenido de nuevo aquí en nuestra pipa de guerra BP cuando nuestro personaje está superponiendo el volumen de colisión adecuado. Y cuando tenemos entrada la entrada adecuada, avanzando así más allá de la puerta. Necesitamos mover a nuestro personaje arriba a través de la tubería o hacia abajo a través de la tubería, dependiendo en qué dirección queramos interactuar con la tubería. Y para ello, vamos a necesitar una referencia a nuestro personaje. Entonces lo primero que voy a hacer es acercar el zoom aquí. Y cuando hayamos avanzado más allá de la puerta, necesitamos crear una referencia a nuestro personaje. Voy a escribir, da click en este pin aquí mismo. Vamos a promover esto a variable. Eso va a crear una variable por aquí. Voy a ponerle nombre a este mi jugador. Y vamos a necesitar esta referencia para decirle a nuestro jugador se mueva por una pipa en cualquier dirección, hacia arriba o hacia abajo. Bien, después de que hayamos hecho esto, lo siguiente que queremos hacer es asegurarnos de que nuestro jugador no ingrese ninguna otra entrada. Porque una vez que nuestro personaje se mueve por esa pipa, no queremos intentar saltar o disparar una bola de fuego ni nada por el Para hacer eso, vamos a hacer clic en Escribir , obtener el controlador del reproductor. Y luego vamos a arrastrar fuera de esto y escribir inhabilitar entrada. Ahora tenga en cuenta que cuando hagamos esto, esto va a enchufar el valor de salida de nuestro nodo get player controller aquí en el objetivo. Esto en realidad es incorrecto. Lo que queremos hacer es mover esto hacia abajo al controlador del reproductor. Entonces, si mantengo presionada la tecla de control aquí, puedo mover esto hacia abajo en el pin del controlador del reproductor. Y el objetivo aquí, quiero ser mi jugador. Así que esencialmente estamos diciendo hey jugador, no puedes ingresar ninguna acción mientras vamos a estar moviéndonos a través de nuestra pipa. Con eso, lo siguiente que quiero hacer es hacer una pregunta. Quiero traer un nodo de sucursal manteniendo presionada la tecla B y haciendo clic izquierdo. Y la pregunta que quiero hacer es, ¿es esto un tubo descendente por que vamos a estar viajando? Porque dependiendo de si vamos a ir bajando por una tubería o subiendo por una tubería, queremos reproducir diferentes tipos de animaciones de personajes para mostrarles bajando por ella o subiendo a través de ella. Así que arrastra y suelta esto en nuestra condición. Entonces lo que vamos a hacer es fuera de la verdadera rama, vamos a construir a partir de ahí. Primero vamos a traer en una secuencia notas. Entonces voy a mantener pulsada la tecla S y hacer click izquierdo. Porque va a haber un par de cosas que quiero que pasen. Si es una pipa que nos dirigimos hacia abajo. Lo primero que quiero hacer es agregar una línea de tiempo aquí. Porque quiero manipular una variable a lo largo del tiempo, una variable flotante, con el fin de mover a mi jugador una cierta cantidad dentro la dirección z para bajar por la tubería. Agreguemos una línea de tiempo. Al hacer clic derecho, voy a buscar la línea de tiempo. Va a estar muy en la parte inferior. Si acabo de poner ahí la palabra tiempo, voy a llamar a esta línea de tiempo. ver, lo vamos a llamar, no vamos a tapar eso en la tubería de abajo. Y luego voy a hacer doble clic sobre esto para abrirlo. Y dentro de aquí voy a agregar una pista de flotación. Así que haz clic en el botón Rastrear. Vamos a agregar una pista de flotación. Simplemente voy a llamar a esto movimientos. Y voy a cambiar la longitud de nuestra línea de tiempo aquí para que sea de 1 segundo. Porque quiero mover a nuestro personaje en la dirección Z el transcurso de 1 segundo. Necesito agregar un par de fotogramas clave aquí. Así que voy a mantener pulsada la tecla Mayús y luego hacer clic izquierdo una y dos veces. La primera clave, voy a seleccionar y establecer el tiempo para que sea cero y el valor sea cero. Y luego el segundo fotograma clave, voy a seleccionar eso, voy a establecer el tiempo para que sea uno y el valor sea negativo 200. Ahora después de haber pulsado Enter, puedo presionar estas teclas de flecha para enmarcar esto. Esto es una especie de representación visual lo que va a pasar aquí. Vamos a estar moviendo a nuestro personaje por 200 unidades irreales en el transcurso de 1 segundo Con esta pista agregada, podemos volver a nuestro gráfico de eventos. Y ahora podemos ver esta salida de movimiento aquí mismo. Nuevamente, si esto es un tubo descendente, si es cierto que estamos interactuando con una pipa que está etiquetada, sí, es una tubería descendente. Vamos a jugar desde el principio aquí mismo. Entonces vamos a traer una referencia a nuestro jugador. Vamos a arrastrar y soltar esto. Vamos a conseguir eso, vamos a arrastrar fuera de mi jugador. Y vamos a decir establecer ubicación relativa y rotación para el componente de cápsula. Este de aquí mismo, va a traer en dos nodos, nuestra referencia de componente cápsula, así como este conjunto de ubicación relativa y rotación. Como esta línea de tiempo se está actualizando, queremos enviar a nuestro jugador a una nueva ubicación. ¿Qué ubicación? Bueno, vamos a arrastrar hacia atrás fuera de este nuevo tipo de ubicación en make vector para que podamos dividir esto en los componentes x, y, z de este. Entonces lo que voy a hacer es que voy a traer una referencia a nuestro punto, este componente aquí mismo. Arrastremos esto a nuestra gráfica. Y sólo para ir a nuestro punto de vista, este es nuestro punto warp. Esta cabeza de dragón de aquí mismo. Este va a ser esencialmente el punto de partida desde que nuestro personaje va a estar deformado. Bien, vamos a arrastrar fuera de aquí, escribir, obtener la ubicación del mundo, entonces vamos a arrastrar fuera de aquí y escribir en vector de ruptura. Esto es la salida de la ubicación X, y, y Z, la ubicación de nuestro punto warp Estamos dividiendo eso en sus componentes x, y y z. Cuando estamos deformando a nuestro jugador, queremos mantener la x igual y queremos mantener la y igual No obstante, el valor z es lo que queremos cambiar. Queremos tomar nuestro valor z de nuestro punto warp y queremos arrastrar fuera de ahí, poner la tecla plus, traer un nodo add. ¿Qué queremos añadir a eso? ¿Qué queremos añadir a este poco de movimiento? Nuevamente, esto va a cambiar el valor de esto por 200 negativos en el transcurso de 1 segundo. Ese va a ser nuestro nuevo valor z. Enmarquemos esto un poco mejor. Así va a ser así. Y luego voy a hacer click izquierdo y arrastrar toque la tecla. Y este va a ser nuestro guión enter down pipe. Voy a colorear este negro enseguida. Así que voy a moverlo un poco aquí arriba. Si es una tubería descendente, si es una tubería etiquetada como una tubería descendente en nuestro editor, si eso es cierto, así es como vamos a mover a nuestro personaje hacia abajo a través de esa tubería. Ahora otra vez, tenemos que preocuparnos por ellos, ya sabes, que salgan de la pipa, pero eso nos preocuparemos en un poquito Ahora bien, lo segundo que quiero que suceda, si van bajando por la tubería, esto esencialmente va a ser mover a nuestro jugador es que yo también quiero tocar un efecto de sonido. Entonces es por eso que tenemos este nodo de secuencia aquí mismo. Voy a arrastrar esto, traer un nodo de retardo, nodo de retardo. Y voy a dejar este valor de 0.2 Y luego voy a arrastrar fuera de esto y traer un nodo Sound dos D. Para ello, voy a hacer una búsqueda de pipa. No, no es pipa. Creo que lo llamé Warp. Urdimbre. Ese es el que quiero introducir, esencialmente. También vamos a tocar este efecto de sonido también. De hecho, voy a dejar clic alrededor este tapkey y voy a llamar a esto nuestro warp X así Bien, voy a colorear este negro también, solo para que eso sea agradable y claro. Ahora bien, aún no hemos terminado aquí cuando hayamos terminado con esto, cuando esta línea de tiempo haya terminado aquí arriba. Después de un segundo, quiero que haya pasado algo más. Para eso, voy a tomar prestados estos dos nodos aquí mismo. Voy a seleccionar mi nodo retrasado, mi Play Sound Two D, y voy a hacer un Control D con ambos seleccionados. Voy a mover esos aquí fuera de nuestro pin terminado aquí mismo. Voy a enchufar a este nodo de retardo y voy a cambiar nuestra duración aquí para que sea 0.4 segundos. Eso va a ser bastante bueno, 0.4 Entonces quiero volver a tocar este sonido warp. Esencialmente, cuando hayamos terminado de pasar por esta pipa, vamos a volver a tocar ese efecto de sonido. Así que esencialmente efecto de sonido para entrar. Y luego cuando terminamos, antes de deformarnos, mostramos a nuestro personaje como que sale de la pipa. Vamos a volver a tocar ese efecto de sonido. Ahora va a haber un nodo más, en realidad dos nodos más que vamos a agregar. Justo aquí. Voy a agregar un nodo de rama, así que manteniendo presionada la tecla B y haciendo clic izquierdo. Yo también me voy a enchufar a esto. Y vamos a revisar otra condición. Y la condición que vamos a estar comprobando aquí es si nuestro jugador va a salir levantándose de una pipa. O si van a caerse de una pipa, eso va a determinar cómo manipulamos nuestro personaje levantándose de una pipa o cayendo de una pipa. Entonces para esto vamos a necesitar una variable booleana. Permítanme seguir adelante y seleccionar este existente en mi panel de planos control D para copiar eso Y voy a llamar a ésta salidas levantándose de tubería. Quiero que esto se exponga también. Y voy a seguir adelante y compilar esto y voy a decir que sí por defecto, vamos a dejar eso como cierto. Esta será nuestra condición que vamos a comprobar. Y nuevamente, vamos a estar usando esta rama para determinar si nuestro personaje va a estar levantándose de una tubería o cayendo a través de ella. Entonces eso va a venir aquí en un poquito, pero lo que voy a hacer es arrastrar este bit de guión, tocar esa tecla C y esto se llamará un poco nuestro peso antes de salir del guión de tubería Bien, así que lo conseguimos en su lugar, excelencia. Así que simplemente enmarcaré esto aquí arriba para que puedan ver lo que viene de nuestro nodo de sucursal, luego nuestro nodo de secuencia. Entonces, si es cierto que nuestro jugador va bajando por la tubería, esta va a ser la línea de tiempo para hacer que nuestro jugador baje por ella. Ahora la mala noticia es que esencialmente tenemos tres secciones más así como esta para agregar al guión. Pero la buena noticia es que hemos construido esta sección del guión y vamos a poder reutilizar la mayor parte para la última parte de este plano Entonces vamos a llamarlo un video aquí mismo. Así que adelante, compila y ahorra. Y en la siguiente manejaremos subiendo por una tubería y luego también saliendo de la tubería también. Te veremos ahí. 69. Script de urdimbre para tuberías #3: Bienvenido ahora, antes de continuar con nuestro guión, solo quiero probar esto dentro de nuestro nivel. Y solo quiero que pongas atención a nuestras diversas variables que hemos expuesto al editor. Tenemos este para, es un tubo de bajada? ¿Es decir, se supone que vamos a bajarlo? Y si es así, ¿en qué dirección se supone que vamos a bajar por la tubería? Vamos a tener eso revisado. Además, también vamos a tener este can Interact booleano revisado también en nuestro editor Ahora bien, si recuerdas nuestro Interact, estamos comprobando para ver si eso es cierto o no. Para ver si alguna de estas entradas es incluso válida. Si podemos llegar incluso más allá de este punto. Pipa seleccionada en tu nivel. Aquí tenemos está el tubo de bajada ya comprobado. Pero no tenemos puede interactuar check. Entonces voy a seguir adelante y comprobar esto. Y esto debería hacer que cuando presionemos hacia abajo en nuestro teclado, voy a presionar la tecla S. Esa va a ser nuestra llave abajo. Vamos a avanzar más allá la parte inicial del guión aquí porque esto va a desencadenar puede interactuar va a ser cierto. Y entonces porque esto es un tubo de bajada, vamos a bajar por esta pipa. De hecho, activaremos este poco de guión aquí y aquí mismo. Esto realmente no entrará en juego todavía, pero con todo esto hecho, realidad deberíamos ver nuestro personaje moverse hacia abajo en la tubería. Entonces vamos a probar esto. Saltando y jugando. Bien, saltando encima de nuestra pipa Y si presiono la tecla S en el teclado, puedes ver que mi personaje baja. Pero aún no tienen a dónde ir. Entonces eso es lo que vamos a estar arreglando en esta siguiente parte. Bien, primero, abordemos esta parte justo por aquí. Cuando terminemos de terminar nuestro en la tubería descendente, vamos a esperar un poco antes de salir de una tubería. Y vamos a hacer la pregunta, ¿ vamos a salir levantándonos de una pipa o vamos a caernos de una pipa? Así que agreguemos un poco de guión aquí mismo. Hagámoslo para que salgamos levantándonos primero de una tubería. Una vez más, puedo robar mucho del código que hemos hecho aquí, ahorrar un montón de tiempo. Entonces voy a darle click izquierdo y darle al control C ahí mismo. Entonces me voy a mover por aquí y hacer control V para pegar control D simplemente duplicaría eso de inmediato en lugar de copiar y pegar. Y lo que voy a hacer es que voy a engancharme de esta sucursal de aquí mismo. ¿Vamos a estar saliendo, levantándonos de la tubería Si esto es cierto, voy a enchufar esto en juego desde el principio ahora. Aún no hemos terminado. Aquí tenemos algunas cosas para cambiar. Para empezar, quiero deshacerme de esta urdimbre en punto. Esa no es la ubicación desde la que quiero empezar. Para esto, quiero estar comenzando en un conjunto dado de coordenadas que especificamos un warp a locale Y vamos a necesitar una nueva variable para esto. Va a ser una variable vectorial, así que voy a seleccionar mi variable vectorial existente aquí en mi panel de blueprint Va a hacer el control D para duplicar eso. Y voy a llamar a este warp a locale. Y si compilo esto de inmediato, esto se va a establecer en un valor predeterminado. Déjame seguir adelante y ponerla a cero en todos los ámbitos. Quiero asegurarme de que esta instancia sea editable porque vamos a estar configurando esto en nuestro nivel No necesito mostrar el widget de tres D aquí, así que me voy a deshacer de eso. Entonces esa va a ser nuestra variable aquí. Vamos a estar partiendo de una configuración regional determinada que finalmente especificamos que aún no hemos Vamos a enchufar eso a este vector break así. Ahora nuestra línea de tiempo aquí también necesita ser arreglada. Porque en vez de entrar a una pipa de bajada, permítanme seguir adelante y cambiar este título de nuestro cuadro de comentarios aquí. Vamos a salir levantándose de una tubería. Y debido a que vamos a salir levantándonos de una tubería con este poco de guión, necesitamos cambiar nuestra línea de tiempo para que nuestro fotograma clave aquí mismo, nuestro segundo fotograma clave, no baje 200 En cambio va a estar subiendo 200. Entonces todo lo que tenemos que hacer aquí es con ese último fotograma clave seleccionado, deshacernos de ese signo negativo Va a ser más 200 así. Esa es la dirección que queremos mover es hacia arriba. Ahora, una vez que finalmente hayamos terminado de movernos hacia arriba y fuera de esta tubería, necesitamos habilitar de nuevo los controles de nuestros personajes. Porque si recuerdas al principio mismo de este script deshabilitamos nuestra entrada. Sigamos adelante y seleccionemos nuestro controlador get player aquí. Y vamos a golpear el control D para duplicar eso porque vamos a necesitarlo de nuevo. Voy a mover eso todo el camino aquí tratando de encontrar el camino a lo largo de este paisaje. Y voy a arrastrar fuera de aquí el get player controller y teclear enable input. Ahora bien, una vez más esto no está enchufado a la entrada adecuada. Necesito que el controlador del reproductor esté enchufado a la entrada del controlador del reproductor Así que voy a mantener presionado el control clic izquierdo, y asegurarme de que eso esté en la entrada del controlador del reproductor. Justo aquí para el objetivo. Quiero hacer click derecho y escribir en obtener personaje jugador, ese va a ser nuestro objetivo cuando hayamos terminado de levantarnos de la pipa. Cuando hayamos terminado de levantarnos de la tubería. Vamos a habilitar nuestro aporte. Una vez más, vamos a hacer clic izquierdo y arrastrar alrededor de este toque, esa tecla C y esto se va a llamar habilitar el control de usuario nuevamente. Todo bien. Ahora colorea este negro de inmediato también. Bien, entonces ahora hemos cubierto los escenarios en los que vamos a estar revisando, es una tubería descendente, es una tubería que vamos a bajar y vamos a salir levantándose de una tubería? Entonces ahora tenemos que lidiar con las otras situaciones. Eso es nosotros subiendo por una tubería y bajando por una tubería. Entonces para eso vamos a poder robar un poco más de este código abajo en esta sección queremos manejar lo que va a pasar si es falso, si no es un downpipe. En cambio, vamos a estar subiendo por una pipa. Una vez más, vamos a necesitar otra nota de secuencia aquí. Así que voy a mantener pulsada la tecla S y clic izquierdo si esto es falso aquí mismo. Lo primero que todavía vamos a querer hacer es tocar algunos efectos warp. Podemos enchufar eso aquí así. Pero ahora queremos movernos hacia arriba a través de la tubería. Ahora bien, si recuerdas aquí mismo lo que acabamos de hacer, alteramos esta línea de tiempo para que en vez de que bajemos, vamos a estar subiendo 200 unidades irreales De hecho, podemos hacer clic izquierdo y arrastrar. Vamos a copiar este poco de guión. Con eso copiado, sólo voy a venir aquí abajo. Control C, control V para pegarlo, tengo que hacer control C, control V para pegar eso justo aquí abajo. Ahí vamos. Vamos a enchufar esto en juego desde el principio. En aras del tiempo, no voy a renombrar estas líneas de tiempo, aunque debería, una vez más, esta línea de tiempo aquí arriba, vamos a estar subiendo 200 unidades irreales, que es lo que Sin embargo, volviendo a nuestro gráfico de eventos, no queremos tener nuestra variable warp a localidad, la que leemos aquí. Vamos a subir enseguida. Esto va a ser similar a esto y que nuestro punto es lo que queremos usar. Voy a robar estos dos nodos ahí mismo. Voy a golpear control C. Voy a seguir adelante aquí mismo, hacer control V, y ese va a ser nuestro punto de partida desde el que vamos a partir, y luego vamos a subir sumando 200 al movimiento de nuestros jugadores. Bien, eso está todo bien y bien. También tenemos que asegurarnos de que aquí tuviéramos nuestro acabado enchufado a esperar un minuto antes de salir de la tubería Aquí también, tenemos que tomar nuestro acabado y enchufarlo aquí. Cambiemos este cuadro de comentarios aquí mismo. Esto va a ser entrar por tubería solo para que las cosas sean un poco más claras. Sólo para acercar un poco aquí. Puedes ver cómo se ve nuestro guión actualmente. Como puedes adivinar, necesitamos otra sección de guión para ir aquí mismo. Ahora esto va a estar saliendo, cayendo de una tubería Ahora, porque vamos a estar cayendo de una pipa, ya lo hayas adivinado Podemos tomar prestado de este bit de guión porque esta línea de tiempo aquí mismo nos va a enviar 200 unidades irreales . Izquierda, haga clic, arrastre. Voy a golpear el control C aquí para copiar eso. Voy a seguir adelante hacia abajo, solo así voy a estar bajando a esta sección de aquí mismo. Voy a hacer control V para pegar. Permítanme simplemente cambiar el nombre de esta sección de inmediato. Estas van a ser nuestras salidas fuera de tubería aquí. Estamos haciendo la pregunta, ¿vamos a salir levantándonos de la tubería aquí? Estamos diciendo que no, esto es falso. Vamos a salir cayendo de una tubería. Conecte lo falso a la reproducción desde el inicio de nuestra línea de tiempo. Una vez más aquí nos va a mostrar bajando 200 unidades irreales Genial. Volviendo a nuestro gráfico de eventos. Sin embargo, una vez más aquí, no vamos a estar cayendo desde nuestro punto warp. Vamos a eliminar esto. En cambio, vamos a estar usando esta variable aquí arriba. Deformar dos vectores. Bien, así que conecta nuestro lugar warp dos. Ese es el que queremos. Entonces no te olvides aquí mismo, fuera de nuestro pin terminado, también necesitamos habilitar nuestro control de usuario. Una vez más, mucho código aquí, muchos cables. Así que permítanme volver a subir para mostrar el aspecto general de este guión. Tú esencialmente, tienes cuatro cuadras de mover a nuestro personaje, entrar en la bajante, entrar en una tubería ascendente, salir, levantarse de una tubería, y salir, caer de Estamos inhabilitando el control aquí mismo. Y luego al final, estamos habilitando el control aquí mismo. Bien, con todo eso hecho, sigamos adelante y compilemos y guardemos. Ahora bien, si tuviera que entrar en mi editor de niveles aquí, aquí está mi pipa. Lo tengo seleccionado en el panel de detalles. Lo he configurado para poder interactuar con él. Ahora tenga en cuenta que mi localidad warp two está actualmente establecida en 2000. En el siguiente video, te voy a mostrar cómo trabajar para establecer una configuración regional adecuada de warp two Pero podemos probar esto ahora mismo. Entonces voy a seguir adelante y hacer clic en Reproducir. Soy una pulsación de la tecla S para seguir abajo y me va a deformar a la ubicación 000 en mi nivel. Entonces simplemente me deformó a donde sea que estuviera en mi nivel. Y se puede ver que ahora estoy de vuelta listo para jugar, lo que obviamente no se ve bien, deformándose a ninguna parte Pero en el siguiente video, te voy a mostrar cómo trabajar con estas pipas y cómo establecer un warp a locale, cómo está destinado a funcionar todo esto Muy bien chicos, eso va a desaparecer para este. Te veremos en la siguiente. 70. Conexiones de tuberías de deformación: Bienvenidos de nuevo a todos. Bueno, ahora que tenemos nuestro masivo guión de pipa de guerra BP en su lugar, pensé que sería buena y adecuada para mostrarle cómo trabajar exactamente con esto cuando esté de vuelta en el editor de niveles. Ahora entre videos aquí, sí agregué una segunda versión de nuestra pipa para que pueda presumir diversas interacciones. Ahora tenga en cuenta que sí tengo una pipa seleccionada aquí en mi nivel. Este es el de antes. Lo hago en el panel de detalles, tengo el lingote Ken Interact establecido en true Esta es una pipa de bajada, es decir, es una que pretendo bajar. Y también tengo este cheque donde pretendo salir levantándose de una tubería. Tengo la intención de levantarme de esta segunda pipa de aquí mismo Ahora mi locale warp two, necesito especificar algo para eso Ahora con el fin de poner en la coordenada adecuada. Lo que puedo hacer aquí es seleccionar esta pipa. Y abajo en el panel de detalles, se pueden ver todos mis diversos componentes que conforman mi pipa de segunda guerra. Si no ves estos, es porque esto puede estar colapsado aquí mismo. Se puede ver como estoy pelando esto de nuevo para revelar todos los componentes. Lo que quiero hacer es seleccionar los puntos warp out. Ese punto está algo enterrado dentro de la propia tubería. Ahora lo que quiero hacer es que quiero obtener la ubicación mundial de este punto warp out. Con esta seleccionada, se puede ver la ubicación relativa de esta es negativa 35. Sin embargo quiero la ubicación mundial para eso. Puedo seleccionar este menú desplegable y quiero que los cambios sean la ubicación mundial. Entonces ahora mismo, estas son las coordenadas mundiales para este componente en particular. Para esta pipa, quiero copiar estas coordenadas. Y para hacer esto simplemente puedo hacer clic derecho aquí mismo, digamos copia. Ahora tengo estas coordenadas copiadas. Ahora voy a volver a nuestra primera pipa, seleccionarla, y puedo medir esas coordenadas aquí mismo en nuestra variable regional warp two Entonces voy a hacer click derecho aquí mismo y vamos a pasearlos. Entonces ahora le estamos diciendo a esta pipa que oye, queremos poder interactuar contigo. Eres una pipa que queremos bajar. Vamos a levantarnos de nuestra pipa objetivo y oh, por cierto, esta es la ubicación objetivo. Quiero que te deforme a Con todo esto en su lugar, sigamos adelante y probemos esto. Saltando y jugando. Y vamos a saltar aquí arriba. Voy a tocar hacia abajo mi pulgar izquierdo en mi controlador bajando, y estamos llegando justo arriba. Ahora bien, si tuviera que tratar interactuar con esta pipa de aquí mismo, voy a, ya sabes, tocar la tecla S, la tecla W. Mi pulgar izquierdo se pega hacia arriba, ya ves, no puedo interactuar con él. Sin embargo, podría seguir dando vueltas. Esta vez voy a presionar S en el teclado hacia abajo y subiendo y ahí vamos. Bien, entonces ahora cubrimos ese escenario clásico de que un jugador bajara por una pipa y luego se levantara de una pipa. Vamos a cambiar las cosas un poco aquí. Esta vez vamos a mostrar bajando por una pipa y luego cayendo de una pipa. Entonces para esto, vamos a seleccionar nuestra pipa inicial aquí. Vamos a decir que sí, podemos interactuar con él. Es una pipa que vamos a bajar. Eso es lo que hace esta pregunta. ¿Es un tubo de bajada? Sí, vamos a estar bajando por esa pipa. ¿Vamos a estar saliendo, levantándonos de una pipa No, no lo estamos. En cambio, vamos a estar cayendo de una pipa. Entonces solo para mostrar dónde se activaría esto dentro de nuestra gráfica, la salida levantándose de la tubería es falsa. Entonces eso significa aquí en nuestro guión, cuando lleguemos a este punto, cuando salimos levantándonos de tubería. Si esto es falso, vamos a bajar por aquí y vamos a salir cayendo por la tubería. Bien, para que esto suceda, tengo que establecer ese lugar warp dos. Aquí está mi pipa inicial, con la que voy a estar interactuando. Necesito establecer ese lugar warp dos. Entonces voy a recoger mi pipa objetivo. Este tipo aquí mismo en el panel de detalles. Voy a encontrar mi componente warp out point. Ahí está. Una vez más necesito encontrar la ubicación mundial. Voy a seleccionar mi ubicación aquí, cambiarla a la ubicación mundial. Voy a hacer click derecho. Vamos a copiar eso. Y voy a volver a mi pipa interactiva, seleccionarla. Voy a pegarlos para mi locale warp dos aquí mismo Pegar. Bien, sigamos adelante y probemos este escenario. Saltando y jugando. Voy a saltar encima de mi pipa aquí mismo Voy a presionar la tecla S en mi teclado, bajando y saliendo. Ahora si trato de interactuar con esta pipa, estoy presionando las teclas, me acerco a esto. No voy a pasar por esto porque esta pipa de aquí mismo no es interactiva como puedes ver aquí mismo. Entonces intentemos hacer de esto una calle de dos vías ahora. Intentemos hacer esto para que pueda interactuar también con este tipo. Y cuando intente subir por esta pipa, en realidad voy a salir de esto. Vamos a invertir las direcciones si quieres para esto. Voy a hacer que esta pipa de aquí sea interactiva. Entonces voy a seguir adelante y marcar esa casilla. ¿Esto es un tubo de bajada? No, no lo es. Estoy diciendo que esto no es una pipa que bajemos, vamos a estar subiendo por ella. Donde esto entra en juego, el is down pipe es camino hacia el inicio de este guión es down pipe. Si esto es falso, vamos a estar bajando por aquí. Vamos a estar entrando por la tubería. Bien, entonces estamos diciendo que esto no es un tubo de bajada, vamos a estar subiendo a través de ella. ¿Vamos a estar saliendo, levantándonos de la tubería Sí. Es nuestra intención salir levantándose de esta tubería de aquí mismo. Entonces dejaré ese cheque abajo. Sin embargo, necesito establecer una localización warp dos para esto. Voy a seleccionar esta pipa, voy a seleccionar ese punto warp out otra vez, está enterrado ahí en mi pipa en alguna parte. Voy a encontrar la ubicación mundial para eso. Voy a hacer click derecho. Voy a copiar. Entonces voy a seleccionar mi pipa interactiva aquí mismo, seleccionando eso. Voy a pegarlos como mi locale warp two. Ahora esencialmente he montado una calle de dos vías aquí donde puedo bajar por esta tubería y salir. Y de igual manera, puedo subir por esta pipa y salir por esa vía. Sigamos adelante y le demos una prueba. Bien, voy a hacer mi interacción original aquí. Bajando, estoy usando el teclado aquí, así que acabo de hacer la tecla S ahí. Ahora voy a saltar hacia arriba y cuando esté hacia la cima de mi salto, voy a presionar la WK Voy a subir por esa tubería y voy a salir, abajo y arriba y arriba. Y ahí lo tenemos chicos. Hemos completado nuestra pipa de guerra interactiva. Solo asegúrate de que cada vez que coloques estas pipas de guerra dentro de tu nivel, estableces ese warp en locale Eso lo va a hacer por este chicos. Te veremos en la siguiente. 71. Blueprint de modos de juego: Bienvenidos de nuevo a todos. En el transcurso de los próximos videos aquí, vamos a estar armando un plano de punto de control Y este plano de punto de control va a ser tal que cuando superpongamos un punto de control, vamos a ver subir una bandera Un poco de efectos de partículas se apagan. Va a salvar nuestra ubicación para que si morimos, vamos a reaparecer en ese, su Entonces eso es lo que hay en la tienda en el transcurso de los próximos videos aquí. Bien, aquí atrás en nuestra versión de trabajo del proyecto, vamos a empezar hablando de nuestro modo de juego en tercera persona, Blueprint Desconocido para ti en este momento. Este plano de juego en tercera persona se especifica en nuestro entorno de proyecto como el plano del modo de juego que nuestro proyecto está utilizando Ahora tengo la configuración de nuestro proyecto abierta a lo largo de la parte superior aquí, pero solo para mostrarte cómo llegar a esto, si te encuentras en la configuración en el extremo superior derecho, configuración del proyecto, así es como puedes abrir eso. Quiero llamar su atención sobre esta opción Mapas en modos. Entonces aquí mismo, nuestro modo de juego predeterminado, el plano del modo de juego que está usando nuestro proyecto es nuestro modo de juego en tercera persona Ahora bien, este plano del modo de juego determina estos otros planos que nuestro proyecto está utilizando Y está especificando cosas como qué peón estamos usando, ese es nuestro personaje en tercera persona, así como nuestro controlador de jugador Esos son dos grandes. Ahora estamos hablando del plano de Gamo porque aquí es donde vamos a albergar nuestro guión de reaparecer Porque este es un plano utilizado por nuestro proyecto. Tiene sentido alojarlo aquí. Ahora voy a saltar a nuestro BP, tercera persona, plano de Gamo Lo puedo encontrar aquí mismo dando clic en esta carpeta. También está aquí en tu carpeta de planos de contenido en tercera persona Haga doble clic en eso para abrirlo. Lo primero que voy a hacer es que voy a crear una nueva variable dentro del panel my blueprint, haciendo clic en este botón más variable para generar la transformación Como habrás adivinado, esta va a ser la variedad transform Ahora es muy importante compilar y guardar aquí. Todavía no tenemos que establecer una transformación de spawn predeterminada, porque eso va a entrar Nuestro siguiente paso aquí, todo lo que tenemos que hacer es crear esta variable y luego compilarla y guardarla. Ahora la razón por la que queremos compilarlo y guardarlo es para que podamos establecer esta variable dentro de nuestro blueprint de caracteres Salta a tu plano de personaje en tercera persona. Y si has olvidado dónde está eso, aquí es donde se encuentra en tu navegador de contenido. Bp, personaje en tercera persona. Ahora dentro de aquí, vamos a saltar a nuestro gráfico de eventos. Y vamos a hacer click derecho en algún espacio vacío. Escriba en juego. Puedes ver que ya se está usando aquí para establecer nuestro contexto de mapeo de entrada. Sólo se puede tener uno de estos dentro de este plano. Podríamos extender nuestro guión aquí si quisiéramos. No obstante, solo para que esto sea un poco más limpio, lo que voy a hacer es que voy a traer en un nodo de secuencia, mantener presionada la tecla S y dar click izquierdo. Y voy a cablear esto por aquí. Y voy a cablear esto por aquí. Voy a usar esta área aquí mismo para volver a usar el evento comenzar a jugar. Haz que esto se vea un poco más limpio. Ahora lo que voy a hacer es que voy a clic derecho en algún espacio vacío y escribir en modo get game. ¿Y qué modo de juego quiero obtener? Voy a arrastrar fuera de aquí y escribir elenco en tercera persona a nuestro modo de juego en tercera persona. Ahora la razón por la que estoy haciendo esto es porque en nuestro modo de juego en tercera persona, acabamos de crear una variable llamada spawn transform Y ahora quiero poder establecer eso. Entonces, si arrastro fuera de este pin aquí mismo, puedo escribir en set spawn transform Entonces, esencialmente, estamos llegando al interior de este modo de juego en tercera persona y estamos diciendo, oye, tienes una variable llamada spawn transform dentro de ti Quiero poder establecer eso. ¿Qué quiero establecer eso también? Quiero configurarlo para que nuestros actores transformen a nuestros personajes en tercera persona. Entonces, si hago clic derecho en algún espacio vacío, voy a escribir en conseguir que el actor se transforme así. Esencialmente, esto va a establecer nuestra variable de transformación de engendro que se encuentra dentro de nuestro modo de juego para ser la ubicación de donde nuestro personaje aparece inicialmente Para que eso quede claro, voy a hacer click izquierdo y arrastrar alrededor de este tap. La tecla C en mi cuadro de comentarios se establecerá nuestros personajes por defecto spawn transform al comenzar a jugar así Bien, hay una cosa más que quiero hacer aquí antes de que llamemos a este video wrap. Y es que queremos crear una nueva variable aquí dentro de nuestro personaje de tercera persona. Entonces voy a hacer clic en este botón más aquí mismo. Y voy a llamar a esto nuestro tamaño Respawn. Y voy a establecer nuestro tamaño de repawn aquí, el tipo para que sea un vector Si compilo, voy a establecer los valores para esto en el panel de detalles para que sean 0.75 en todos los ámbitos. 0.7 5.0 0.75 Ahora te estarás preguntando, espera, ¿por qué quiero reaparecer a esta talla Nuevamente, voy a estar usando esta variable para determinar el tamaño de nuestros caracteres reapareados. La razón por la que lo estoy configurando a estos valores es porque nuestros componentes cápsula hace algunos videos. Establecimos nuestra escala predeterminada aquí para que sea 0.75 en todos los ámbitos. Así que esencialmente estamos haciendo coincidir eso con esta variable. Bien, ahora tenemos nuestro trabajo inicial de punto de control hecho fuera del camino Sigamos adelante y compilemos y digamos esto. Ahora estamos en condiciones de crear el punto de control después del plano de clase también Eso va a venir siguiente video. Te veremos ahí. 72. Blueprint de puntos de control: Bien, bienvenido de nuevo. Un pequeño adelanto aquí de lo que pretendemos armar en este video Ese es nuestro plano de punto de control. Vamos a llegar tan lejos como armar nuestros componentes y establecer los detalles para eso. Y entonces llamaremos a eso un video. Pero solo quería mostrarte a lo que estamos apuntando en esta. Ahora también es importante tener en cuenta que a medida que pasamos por esto, no tienes que hacer que el tuyo se vea exactamente como el mío se ve aquí. Puedes jugar un poco con las imágenes aquí en nuestra versión de trabajo del curso, voy a crear nuestro nuevo plano de clase de actor aquí dentro de nuestra carpeta de planos de plataforma Voy a hacer click derecho por aquí en alguna clase de plano de espacio vacío Esta será una clase de actor y voy a nombrar a este punto de control de subrayado de BP Sigamos adelante y golpeemos la barra espaciadora aquí para abrirla con esa seleccionada. Dentro de nuestro plano de punto de control, podemos ver nuestra ruta de escena predeterminada, Este icono aquí mismo Vamos a proceder añadiendo los componentes necesarios y luego vamos a volver atrás y establecer los detalles para cada componente. El primer componente que vamos a estar buscando agregar aquí va a ser un colisionador de cajas Simplemente busca un colisionador de cajas, voy a nombrar esta caja. Ese nombre va a estar bien. Vamos a estar usando esto para detectar cuándo nuestro jugador se superpone a esta caja con el fin establecer y guardar un punto de generación en un lugar dentro del mundo que queremos reaparecer un lugar dentro del mundo que queremos Bien, apegado a nuestra caja. Así que asegúrate de tener seleccionado a este tipo. Vamos a agregar otro componente. Este va a ser una malla estática y este va a ser nuestro punto de pivote de bandera, así. Ahora voy a agregar varias mallas estáticas más aquí. Entonces con este seleccionado, voy a hacer click derecho sobre esto. Vamos a duplicar esto enseguida. Se puede ver el comando de tecla de acceso directo para duplicar este. Voy a llamar a mi bandera bas, presiona enter ahí con esto resaltado en azul. Una vez más puedo hacer control D. Este va a llamarse Arm. Entonces con eso resaltado, volveré a hacer el control D. Y a éste se le va a llamar simplemente bandera. Ahora quiero que mi bandera esté adherida a mi brazo de bandera. Entonces voy a hacer click izquierdo y arrastrar esto encima de mi brazo bandera, para que veas esa relación de apego a través de esa sangría ahí mismo Bien, Siguiente voy a regresar y seleccionar mi casilla, porque quiero agregar un componente más aquí. Al hacer clic en Agregar, este va a ser un componente de flecha. Y esta voy a renombrar mi transformación de Respawn. Esencialmente, esto solo va a definir un punto en el espacio donde vamos a volver a engendrar al jugador Bien, con todos nuestros componentes en su lugar, sigamos adelante y fijemos los detalles para cada uno. Y voy a ir justo abajo de la lista aquí. Empezando por nuestra caja, voy a establecer la extensión de la caja, es decir, ¿qué tan grande va a ser esta caja? El valor X va a ser 200, el valor y va a ser 200, el z va a ser 500. Y voy a hacer zoom aquí atrás para mostrarles que esta es la talla un poco más grande. Voy a establecer el grosor de línea aquí para que sea cinco, solo para que esta caja va a ser más fácil de ver cuando la coloquemos en nuestro nivel. Y ahora voy a mover esto hacia arriba en la dirección z también, en la ubicación. Voy a ponerle eso a 500. Ponlo en marcha. Y esto no va a parecer una gran diferencia en estos momentos. Pero también voy a cambiar nuestra rotación aquí en la z para que sea 90 también. Ahora otra vez, no va a parecer mucho, pero al rotar esto, va a rotar también todos los componentes conectados. Y vamos a necesitar eso para los componentes que vienen. Ahora también es importante tener en cuenta aquí que puedes extender tu caja para que sea más alta. Y tal vez quieras hacerlo al final de esto porque solo tenemos que asegurarnos de que el jugador pase por esta zona de checkpoint Para garantizar que pasen por esto, es posible que desee tener esta extensión hasta el cielo. Bien, entonces con eso hecho, pasemos a nuestro punto de pivote de bandera. Seleccione eso. Voy a establecer la malla estática enseguida. Al hacer clic en esta esfera material desplegable es lo que estoy buscando. Esta malla estática debería existir dentro de tu contenido de inicio. Eso se puede ver en la punta de la herramienta ahí mismo. Material en sí, elección del distribuidor. Puedes decidir lo que quieras que sea esto. Pero voy a poner el mío para que sea piso básico. Este es el material que existe en el contenido de inicio también. Y con eso todo hecho, voy a reducir esto. Quiero escalarlo uniformemente en la x, y y z. Así que asegurándome de que tengo esta verificación de bloqueo, voy a hacer 0.5 en la X y presionar Enter. Y porque esto está bloqueado, va a propagar ese cambio a la Y y a la Z. va a hacer que eso sea un poco más pequeño Entonces voy a mover la ubicación de esto hacia abajo en dirección Z, voy a poner esto en negativo 400. Entonces en la dirección x, voy a poner eso en negativo 200. Eso sólo va a empujarlo ahí atrás un poco. Bien, a continuación voy a seleccionar nuestra base de banderas para esto. Voy a tener ese mismo partido estático. Va a ser material, esfera, esfera. El material que voy a aplicar a éste también es un muro básico, aunque quiero que sea. Sí, esta pared de aspecto blanco, El tamaño. Vamos a establecer la escala para esto. Voy a desbloquear mi báscula porque no voy a hacer esto uniformemente en la X, voy a ir 0.5, En la y voy a ir dos. Y en la z voy a ir dos también. Entonces para la ubicación, voy a establecer la ubicación z para que sea negativa 500. Estableciendo eso en la x, voy a empujarlo de nuevo a negativo 200. Así pueden ver que tengo esta base que esencialmente va a estar cortando un poco el piso. La parte inferior no vas a ver, y este va a ser esencialmente nuestro punto de pivote. La bandera va a girar hacia arriba desde ese punto ahí mismo. Bien, entonces con eso hecho, sigamos adelante y seleccionemos nuestro componente de brazo bandera Siguiente. La malla estática que vamos a agregar para esta va a ser llamada S M underscore pillar frame Nuevamente, estoy usando esta malla estática porque se encuentra en el contenido de inicio. No tienes que usar este exactamente de manera simple. Lo estoy usando porque parece una suerte de brazo. Ahora, voy a estar jugando con la escala y ubicación de esto también Podrías cambiar el material, voy a dejar el material en ese momento. Pero podrías cambiar eso para que sea lo que quieras. Escala. Voy a ir 0.5 en la x, adelgazarla un poco, voy a dejar la y y z 1.1 para la ubicación. Voy a poner la ubicación z abajo a 390 negativo, abajo así en la x Necesito empujar eso un poco hacia atrás, así que voy a ir negativo dos oh cinco para la rotación x. Voy a establecer la rotación x para que sea negativa 90. Y luego presiona Enter ahí para tener esto volteado hacia abajo. A continuación, tomemos nuestro componente de bandera aquí mismo y fijemos los detalles para eso. Para el lío estático aquí, voy a dar click aquí mismo y voy a elegir una forma subrayado quad pirámide Voy a elegir esta otra vez porque está en el contenido de Stargard Vamos a tener forma de triángulo. El material aquí, de nuevo, elección del distribuidor. No obstante, voy a elegir el color de vértice. Voy a elegir esta verde. Esto se encuentra en el contenido del motor. Si no vuelve a ver esto , puede hacer clic aquí. Haz clic en este ícono de engranaje, asegúrate de que tienes el contenido del motor activado. Ahí es donde vive ese material o la ubicación de éste. Voy a establecer la ubicación Z para que sea 350 hacia el final de nuestro brazo ahí. Establezca la ubicación X en diez, la ubicación Y para que sea negativa diez. Una vez más, determiné todos estos parámetros antes de tiempo. La báscula que voy a asegurar está desbloqueada. Voy a establecer esto para que sea 0.2 1.2 más largo. Así, voy a establecer la rotación aquí para que sea negativa 90 en la x. Así se puede ver que la bandera está rechazada. Cuando esto finalmente se voltea hacia arriba, el brazo de la bandera se va a voltear hacia arriba y debido a que la bandera está unida al brazo de bandera, va a llegar para el paseo Bien, por último pero no menos importante, tenemos nuestra transformación Respawn Nuevamente, esto va a definir un punto en el espacio donde queremos que reaparezcan nuestro personaje. Para esto, voy a establecer la ubicación para que sea negativa 400 en la Z, para la rotación, voy a poner eso negativo 90 en la Z también. Así que es un poco difícil de ver porque lo tengo seleccionado, así que permítanme hacer clic en él. Pero ahí está nuestro componente de flecha. La base de este componente de flecha es esencialmente donde vamos a estar diciéndole a nuestro jugador que reaparezca en él. Justo ahí. Bien, entonces con todo eso hecho, voy a seguir adelante y salvar esto. Y sigamos adelante y bajemos uno de estos a nuestro nivel. Sólo para que nos hagamos una idea de cómo va a quedar esto aquí en mi navegador de contenido. Estamos arrastrando esto. Voy a levantarlo en el aire, tocar esa tecla N, darle una bofetada al suelo Así que eso es esencialmente lo que va a parecer. Y puedes ver que nuestro jugador va a estar en el camino superponer eso cuando navegue por nuestro nivel. Bien, nos vamos a dar un buen comienzo. Aquí estamos en posición de comenzar nuestro scripting de puntos de control 73. Scripts de puntos de control: Bien, bienvenido de nuevo. En este video vamos a crear el guión para hacer que nuestra bandera se voltee cuando nuestro personaje se superponga a esta casilla de activación de aquí mismo Así como para establecer nuestro punto de reaparecer de personajes dentro de nuestro plano del modo de juego Para ello necesitamos seleccionar nuestro componente box y necesitamos crear un evento para ello. Podríamos hacerlo haciendo clic derecho, agregando un evento. Pero me gustaría presumir diferentes métodos de hacer las cosas con este componente seleccionado. Entra en el panel de detalles. Desplázate todo el camino hacia abajo, tenemos una lista de eventos que podemos agregar. Vamos a hacer en el componente comenzar, Superposición. Haga clic en este botón más. Eso nos va a saltar a nuestro gráfico de eventos. ¿Bien? Queremos verificar para ver quién es el otro actor aquí. Podríamos arrastrar fuera de aquí y hacer un personaje igual a conseguir jugador. No obstante, simplemente voy a arrastrar fuera de esto y voy a hacer un reparto a personaje en tercera persona, ese es el personaje que estamos controlando. Esta es una simple verificación para asegurarnos de que es nuestro personaje en tercera persona el que se superpone a esa caja. Si es así, lo que vamos a hacer es que entonces vamos a conseguir un modo de juego. Haga clic derecho, obtenga el modo de juego. Tenemos que averiguar qué modo de juego. Así que vamos a arrastrar fuera de esto y lanzar al juego específicamente nuestro modo de juego en tercera persona así. Y si es cierto que nuestro personaje en tercera persona está superponiendo esa caja, vamos a llegar al interior de nuestro juego o plano Y vamos a establecer spawn transform. Recuerda que tenemos esa variable dentro de aquí llamada spawn transform Vamos a ponerlo aquí. ¿Y a qué vamos a fijarlo? Bueno, vamos a poner esto a nuestra transformación de Respawn. Pongo transformar no transformar. Vamos a golpear dos en esto, crear o arreglar ese nombre. Para transformar, vamos a arrastrar esto. Vamos a conseguir una referencia a nuestra transformación de repawn. Ese es este componente de flecha aquí abajo en nuestra ventana gráfica Estamos consiguiendo una referencia a eso. Entonces vamos a arrastrar fuera de aquí y escribir en conseguir que el mundo se transforme, conseguir que el mundo se transforme. Entonces esencialmente estamos diciendo, oye, la transformación del mundo de nuestro punto de reaparecer ahí mismo para nuestro punto Vamos a establecer eso a medida que nuestro engendro se transforme en cuanto superpongamos esa caja con nuestro personaje en tercera persona Bien, eso está bien y bien. Después de que lo hayamos hecho, vamos a hacerlo una vez. Voy a mantener pulsada la tecla y hacer clic izquierdo para traer un nodo de una vez. ¿Qué queremos hacer una vez? Bueno, queremos jugar en animación de nuestra bandera aquí volteando hacia arriba. Para hacer esto, voy a usar una línea de tiempo. Así que vuelve a nuestro gráfico de eventos. Voy a hacer clic derecho y buscar un nodo de línea de tiempo. Simplemente voy a nombrar esta bandera de rotación. Vamos a deshacernos de nuestra actualización del comando aquí. Una vez que hayamos hecho esto, vamos a jugar esto desde el principio. Ahora nuestra línea de tiempo aquí. Vamos a saltar dentro de aquí. Vamos a establecer esto para que sea muy corto. Va a ser décima de segundo, 0.1 va a ser la longitud de nuestra línea de tiempo. Aquí vamos a agregar una pista de flotación. Así que haga clic en pista, Agregar pista flotante. Simplemente llamaré a esta bandera alfa con el tiempo. Verás por qué lo estoy llamando así sólo un poquito. Va a tener un poco más de sentido cuando muestre qué nodo enchufar esto. Ahora aquí en nuestra línea de tiempo, voy a hacer click derecho y voy a agregar una clave. Y luego voy a hacer click derecho otra vez y agregar una segunda clave. Ahora voy a seleccionar mi primera clave aquí. Con esa primera clave seleccionada, voy a establecer el tiempo para que sea cero, el valor también sea cero. Para mi segunda clave aquí mismo, voy a establecer el tiempo para que sea 0.1 y el valor sea uno. Aquí va a saltar de arriba. Entonces voy a hacer clic en estas dos flechas para enmarcarla hacia arriba. Mi primero se establece en 0.0 Mi segundo fotograma clave se establece un tiempo de 0.1 que coincide con la longitud de mi línea de tiempo y un valor de uno. Ahora la razón por la que configuramos esto como lo hicimos es porque aquí en nuestro gráfico de eventos, nuestra bandera alfa a lo largo del tiempo ahora está siendo emitida por nuestra línea de tiempo. Vamos a usar esta salida para conectarnos a un nodo rotador Lp de clic derecho nodo rotador Lp de clic Ahora la forma en que funciona este nodo es cuando A es cero, vamos a estar 100% en una rotación. Cuando B es uno, vamos a estar en otra rotación, alfa es cero. Vamos a estar todo el camino en A. Cuando alfa es uno, vamos a estar todo el camino en B. Y en algún punto intermedio vamos a estar en un ángulo de 45 grados. Entonces, para lo que vamos a usar esto es para determinar la rotación de nuestro brazo bandera. Aquí déjame mostrarte esencialmente lo que vamos a estar apuntando a hacer en nuestra ventana gráfica Tenemos este brazo bandera y esto es lo que vamos a estar rotando. Permítanme simplemente traer nuestra rotación aquí por. Presionando la rotación. Nuestra rotación para este brazo bandera, nuestra rotación A va a ser la rotación que vemos aquí mismo en nuestra ventana gráfica Ahora nuestra rotación va a estar todo el camino hacia arriba así. Cuando nuestro valor alfa es uno, vamos a estar en esta posición aquí. Ahora, cuando nuestro valor alfa está en 0.5, esencialmente vamos a estar dividiendo la diferencia. Entonces va a ser en un ángulo de 45 grados Cuando alfa es cero, estamos aquí cuando alfa es uno. Estamos aquí cuando alfa es 0.5 Estamos a medio camino entre ahí Así es como va a funcionar, ¿verdad? Volvamos a nuestro gráfico de eventos ahora. ¿Necesitamos un par de variables para sostener nuestras diversas rotaciones deseadas Para esto voy a escribir, da click en nuestro valor aquí. Vamos a promover esto a una variable. Se va a crear un tipo de variable rotador. Ahora necesito darnos un nombre mejor que a. Voy a llamar a esta bandera rotar. Comience con este seleccionado. Voy a seguir adelante y hacer control D. Para duplicar esto, voy a hacer mi brazo bandera girar fin. Y voy a enchufar esto en el valor. Ahora necesito compilar esto para establecer un valor predeterminado aquí. Ahora obviamente ahora mismo ambos están establecidos 00.0 Ahora bien, si voy a mi ventana gráfica y tomo mi brazo bandera y giro esto hacia arriba así, puede ver que mis valores de rotación son ceros Cuando está abajo así, mis valores de rotación son negativos 900.0 Voy a copiar estos valores aquí mismo, Clic derecho Quiero que este sea mi valor inicial. Voy a bajar aquí bajo brazo de bandera. Girar, iniciar. Voy a hacer click derecho y pagar valores de aleros justo aquí porque mi rotación final deseada va a ser 00.0 voy a dejar eso Volviendo a mi gráfico de eventos aquí, necesito decirle a mi brazo bandera, vamos a arrastrar y soltar una referencia a esto en nuestro gráfico que ese es el elemento que quiero rotar. Así que voy a arrastrar fuera de esto y escribir en conjunto rotación relativa. A medida que nuestra línea de tiempo se va actualizando, vamos a actualizar la rotación de nuestro brazo bandera. ¿A qué rotación queremos configurarlo? Bueno, queremos empezar aquí cuando nuestro alfa esté en cero. Al inicio de nuestra línea de tiempo, el alfa está en cero. Y luego en el transcurso de 0.1 segundos, este valor de salida va a cambiar 0-1 cuando estemos en cero Va a ser esta rotación. Cuando estamos a la una, es decir, al final de esta línea de tiempo, vamos a estar en esa rotación. Y eso va a suceder en el transcurso de 0.1 segundos. Ese va a ser nuestro guión para que nuestra bandera rote hacia arriba. Entonces lo que tenemos que hacer es querer agregar algo de flash, algunos efectos para cuando terminemos esta rotación de bandera. Vamos a construir a partir de este pin terminado aquí mismo. Para esto voy a arrastrar a una obra de teatro. Sonido Dos D. Solo voy a bajar esto de este acabado para que veas adónde va a ir ese cable para la obra. Sonido de nuevo, elección del distribuidor. Aquí, voy a hacer Enter Simulate. Este es un sonido que debería existir en el contenido de tu motor. Así que podrías hacer clic en este engranaje, asegurarte de que tienes contenido del motor, pero eso es lo que voy a elegir. Y luego me voy a arrastrar fuera de aquí y voy a hacer sistema de desove en el lugar System es un sistema de partículas del Niágara. Ahora para mi plantilla aquí, voy a elegir este estallido radial que existe en ese camino en particular ahí mismo. También podrías hacer un emisor de desove en la ubicación. Ahora para esta partícula en particular, es bastante genérica. No es súper llamativo. Entonces voy a escalarlo súper enorme para ser 101010 en la escala Ahora necesito alimentar esta ubicación. Tengo una ubicación en la mía voy a arrastrar en Respawn transform Voy a arrastrar fuera de aquí. Voy a decir obtener ubicación mundial. De hecho quiero compensar esto un poco. Voy a sacar esto, toca el botón más para que pueda agregar a esto. Y voy a compensar esto en 200 en la dirección z. Ese será el lugar donde engendrar este sistema. Voy a hacer click izquierdo y arrastrar alrededor de este toque la tecla C. Voy a tener esto decir que esta es mi play FX y VX. Y luego justo aquí arriba, aquí es donde estamos haciendo la rotación de nuestra bandera misma. Voy a dejar eso sin comentar, pero voy a cambiar este cuadro de comentarios de aquí a negro Bien, así que voy a tratar de enmarcar esto aquí arriba en un par de vistas. Entonces iré todo el camino hasta la vez aquí mismo en caso de que quieras pausar el video aquí para ver qué hemos construido. Una vez más, esta es nuestra caja ahí mismo. Esta transformación de desove. Esto lo conseguimos agarrando aquí y buscando la transformación de desove Esa es una variable que vive dentro de nuestro modo de juego en tercera persona. Entonces aquí está la segunda parte de nuestro guión. En caso de que quieras pausar el video aquí, solo nos enfocaremos en esta parte superior, la rotación de la bandera aquí mismo, pasando de 00 a 0.11 Entonces fuera de esto, una vez que hayamos terminado, estos son los efectos que vamos a tocar ahí mismo Bien, obviamente esto no va a funcionar en su totalidad todavía. Todavía tenemos que trabajar en re, engendrar al personaje mismo y conseguir que ese guión funcione todo Pero al menos deberíamos poder compilar esto, superponer esta casilla en particular con nuestro personaje y ver si la bandera se voltea hacia arriba y ver si vemos algunos efectos Y ver algunos efectos, y aquí hay algunos efectos. Entonces aquí vamos. Voy a saltar y jugar. Tengo mi punto de control ahí, trata de superponer esto Y aquí vamos, la bandera se levanta, vemos un poco allá, aquí, un poco de jazz Y eso parece estar funcionando como se pretendía. Voy a tratar de superponer esto una vez más. Se puede ver que sólo estamos haciendo ese efecto una vez. Y eso está todo bien y bien. Bien chicos, ahora estamos en una buena posición para estar trabajando en nuestro guión de Respawn que viene a continuación dentro de nuestro modo de juego, en nuestro guión de Respawn que viene a continuación dentro de nuestro modo de juego, Blueprint. Te veremos ahí. 74. Script de reaparición en modo de juego: Bienvenida de nuevo. Ahora que tenemos un plano de punto de control en el que estamos estableciendo una variable de transformación de spawn dentro de nuestro blueprint una variable de transformación de spawn de modo de juego adelante y buceemos dentro de nuestro modo de juego en tercera persona para configurar nuestro guión de Respawn Para ello, vamos a sumergirnos en nuestro navegador de contenido. Y voy a empezar en mi modo de juego en tercera persona. Pero también voy a abrir mi personaje en tercera persona de inmediato. Porque voy a señalar algo dentro nuestro plano de personaje en tercera persona en el camino Así que adelante y abre los dos de vuelta aquí en nuestro modo de juego BP en tercera persona. Vamos a comenzar en el gráfico de eventos haciendo clic derecho y buscando un nodo de inicio de reproducción. Una vez más, esto va a dispararse cuando comencemos a jugar. ¿Y qué quiero hacer fuera de Begin Play? Bueno, voy a hacer click, voy a conseguir personaje de jugador. Y voy a arrastrar fuera de este nodo. Y vamos a emitir a personaje en tercera persona. Y vas a ver por qué aquí en tan solo un momento. Ahora voy a hacer la transición de aquí en mi plano de modo de juego a mi personaje en tercera persona Ahora dentro de nuestro personaje en tercera persona, si haces clic en este ícono de engranaje en el panel my blueprint, estoy mostrando variables heredadas Estoy mostrando todas estas cosas diversas aquí mismo. Si apago esto, no vas a ver ningún despachador de eventos aquí abajo con esto en mostrar variables heredadas Estoy llamando su atención sobre esta sección de despachador de eventos La razón por la que estoy llamando su atención aquí abajo es si entramos en juego de despacho de eventos, tenemos este despachador de eventos para cuando nuestro personaje sea destruido Cuando nuestro personaje es destruido, podemos pedir que algo más suceda en otro plano usando un despachador de eventos No creé este despachador de eventos en particular. Esto viene junto con nuestros padres de clase de personajes. La razón por la que estoy señalando esto es porque esto sí existe dentro de nuestro carácter de tercera persona. Podemos hacer que algo suceda dentro de otros planos. Cuando nuestro personaje en tercera persona es destruido, mueren. Ahora voy a saltar de nuevo a nuestro modo de juego en tercera persona. Voy a arrastrar fuera de nuestro personaje de tercera persona SBP, y voy a buscar destruidos Y voy a traer un letrero encendido destruido. Esto va a traer en dos nodos. Lo que esto trae consigo es un evento personalizado. Y dejaré este evento personalizado en su nombre actual evento destruido así como este nodo bind. Esencialmente lo que estamos haciendo aquí es al comenzar a jugar, esencialmente estamos llegando al interior de nuestro personaje en tercera persona y diciendo, oye, cuando te destruyan, vamos a escuchar cuando eso suceda. Cuando eso suceda, entonces vamos a disparar fuera de este alfiler. Este evento, comenzar a jugar y vincular este evento a este evento no destruido para nuestro personaje en tercera persona básicamente es decir escuchar esto para cuando esto suceda en nuestro personaje en tercera persona Y cuando sucede, entonces este bebé se va de aquí mismo. Podemos usar eso para nuestro reaparecer deseado. Si arrastramos esto, simplemente podemos buscar actor spawn de clase El actor al que nos gustaría responder es esencialmente nosotros mismos, otro personaje de tercera persona. Aquí bajo clase, voy a teclear en tercera persona, busco personaje de tercera persona , claro, necesito especificar donde me gustaría responder? Bueno, adivina qué. En el lado de este modo de juego en tercera persona, creamos esta transformación de engendro para conectarla a nuestra transformación de spawn aquí mismo Toma nota que estamos poblando los valores de esta variable desde dentro de nuestro punto de control BP Cuando superponemos esta caja, aquí es donde realmente estamos estableciendo las coordenadas para nuestra transformación de engendro Lo estamos configurando en la transformación Respawn, nuestro punto de control aquí Genial. Volvamos a nuestro modo de juego en tercera persona. Eso está muy bien, pero esto sólo funcionaría la primera vez. Y queremos hacer esto para que este sistema Respawn pueda funcionar si morimos una y otra y otra vez Y también hay algunas otras cosas que debemos encargarnos también, siendo la primera nuestro personaje de tercera persona. Cuando desovan en, queremos asegurarnos de que su tamaño sea pequeño Queremos que estén en esta escala de 0.75 para nuestro componente de cápsula. Para asegurar esto aquí en nuestro modo de juego, voy a arrastrar fuera de este valor de retorno después de que hayamos reaparecido, un personaje en tercera persona Y voy a teclear componente de cápsula. Vamos a conseguir el componente de la cápsula y luego voy a arrastrar fuera de aquí. Y también voy a encontrar el tamaño de repawn, nuestra variable de tamaño de repawn que existe dentro de nuestro personaje de tercera persona Estamos hablando de esta variable aquí mismo, que se establece en 0.75 en todos los ámbitos. Ahora lo que vamos a hacer es que vamos a arrastrar fuera de nuestro componente cápsula y voy a decir set World scale three D. Y luego voy a enchufar nuestro tamaño de respuesta, que se establece en 0.75 en todos los ámbitos, para que sea de manera que nuestro componente Caple esté garantizado que sea 0.75 en todos los ámbitos Esencialmente nuestro personaje va a ser de ese pequeño tamaño. Bien. Entonces eso es lo primero que tenemos que hacer. Lo siguiente que tenemos que hacer es asegurarnos de que realmente, realmente ganemos posesión, algún control sobre este personaje. Para ello, voy a escribir click en algún espacio vacío. Obtener controlador de jugador es la primera nota que voy a buscar. Entonces voy a arrastrar fuera de esto y escribir en poseer. Con esta función de poseer, necesitamos especificar no sólo el controlador, sino también qué peón queremos poseer Bueno, podemos simplemente sacar de nuestro personaje en tercera persona aquí que estamos desove Conéctalo a nuestro peón aquí. Y luego solo voy a hacer doble clic en este cable un par de veces solo para traer un par de nodos de reencaminamiento para que esto se vea todo bonito Bien, todo esto está bien, pero solo echa un vistazo a nuestra configuración actual. Esto sólo funcionará la primera vez. Entonces al comenzar a jugar, básicamente estamos diciendo, oye, escucha cuando nuestro personaje en tercera persona sea destruido. Y cuando sean destruidos, de hecho engendraremos un personaje en tercera persona y los poseeremos Sin embargo, si morimos, no tenemos forma de escuchar para que este evento vuelva a suceder. Entonces, ¿cómo remediamos esa situación? Bueno, lo que podemos hacer aquí es hacer clic derecho en algún espacio vacío justo aquí arriba. Voy a escribir eventos personalizados. Voy a llamar a esto Respawn, y voy a enchufar esto exactamente en el mismo lugar en el que nuestro evento comience Play Básicamente diciendo hola, escuchemos una vez más a ese despachador de eventos destruido en nuestro personaje en tercera persona Al final de esto, después de haber creado ese evento personalizado de repawn, podemos arrastrar fuera de aquí y escribir Esencialmente lo que estamos haciendo aquí es al comenzar a tocar la primera vez que escuchamos ese evento destruido. Y de hecho esto luego se disparará en spawn en un nuevo personaje en tercera persona que luego podremos controlar Entonces básicamente estamos diciendo, oh sí, lo último. Escuchemos para que ese suceso no destruido vuelva a suceder Para que siempre podamos escuchar cuando nuestro personaje sea destruido para que podamos reaparecerlo. Bien, sigamos adelante y compilemos esto y ahorremos. Y déjame enmarcar esto aquí arriba en caso de que quieras hacer una captura de pantalla de esto. Ver exactamente lo que hicimos. Vamos a saltar y jugar aquí en un momento. Pero para probar esto realmente, necesito asegurarme de que tenemos algunos medios para matarnos aquí en nuestro editor de niveles. Déjame asegurarme de que tenemos un par de brazos de llama por aquí. Así que eso debería hacernos morir pronto saltando y jugando. Bien, voy a cruzar este puesto de control de aquí mismo Hemos establecido nuestro punto de reaparecer. Déjame seguir adelante y tropezar con un brazo de llama. Aquí he muerto y como pueden ver, respondo exactamente donde estaba destinado, parece estar trabajando como trabajo deseado. Bien hecho chicos. Ahora contamos con un punto de control y un sistema de respuesta. Nos vemos a todos en el siguiente video. 75. Secuencia de muerte de jugador #1: Bien, bienvenidos de nuevo a todos. En el transcurso de los próximos videos, vamos a estar trabajando en la creación una secuencia de muerte de jugador. Eso va a ser esto donde nuestro jugador se va a arrojar al aire, caer por el mundo, responder en el puesto de control También vamos a estar trabajando en crear un riesgo de muerte instantáneo en este segmento del curso también. Para que podamos caer por un foso así, morir y luego también resp de nuevo en ese puesto de control Pero vamos a empezar creando esa secuencia de muerte del jugador. Bien, aquí atrás en nuestra versión de trabajo del proyecto, vamos a empezar poniendo algo de guión dentro de nuestro personaje BP en tercera persona. Así que encuentra tu camino a la carpeta de planos en tercera persona. Ahí está nuestro personaje BP en tercera persona. Haz doble clic en ese tipo para abrirlo y encontrar el camino hacia el gráfico del evento. Ya tenemos mucho guión por aquí. Sólo voy a alejar el zoom con esa rueda de desplazamiento y voy a encontrar algún espacio vacío tal vez tal vez en esta región. Voy a acercar el zoom y voy a empezar creando un evento personalizado. Haga clic derecho. Vamos a escribir evento personalizado y vamos a llamar a este evento personalizado. Déjame acercar aún más. Mantener presionado el control y acercar el zoom. Voy a llamar a este jugador muere. Cuando se llame a este evento personalizado, vamos a jugar una secuencia de muerte. Ahora no quiero tener que esperar hasta que me encuentre un enemigo o caiga en un foso para iniciar este evento. Quiero poder activar esto en editor. Entonces con este evento personalizado seleccionado en el panel de detalles aquí tengo esta casilla de verificación llamada Call in Editor, por lo que si marco esto, lo haré para que pueda llamar manualmente para este evento personalizado se active mientras estoy jugando el juego Llegaremos a eso en un poquito. Esa es solo una manera realmente fácil que nos va a permitir probar esta funcionalidad sin tener que toparnos ese enemigo o caer un pip Bien, lo siguiente que vamos a hacer aquí es que vamos a crear una función. Podemos crear una función sobre en el panel my blueprint. Funciones haga clic en este botón más para crear una función. Y vamos a crear una función llamada destroy a x Cuando creamos esta función, abrimos una nueva pestaña justo arriba a lo largo de la parte superior aquí, en la que podemos agregar la funcionalidad deseada dentro de aquí. Lo primero que voy a hacer cuando se llame a esta función es que voy a arrastrar fuera de aquí y escribir en juego. Sonido Dos D, el sonido que vamos a tocar es el que hizo Mario. Sonido voy a hacer morir a Mario. Entonces después de esto, vamos a hacer clic derecho para obtener el personaje del jugador. Si hemos muerto, ya no queremos que se registren insumos. Así que también voy a hacer clic derecho y obtener el controlador del jugador, obtener el personaje del jugador, obtener el controlador del jugador. Y si me arrastro fuera de mi controlador get player, voy a escribir inhabilitar entrada. Ahora tenga en cuenta que si hiciste lo que acabo de hacer aquí, lo va a enchufar automáticamente al objetivo. De hecho, queremos mover este get player controller a esta entrada del controlador del reproductor para mantener presionado el control y hacer clic izquierdo. Y asegúrate de enchufar esto al controlador del jugador y que el personaje del jugador entre como objetivo. Bien, así que juega. Sonido Vamos a desactivar la entrada. Lo siguiente que vamos a hacer es arrastrar fuera de aquí y vamos a generar emisor en Nuevamente, puedes hacer un sistema de desove en el lugar si es un sistema de partículas del Niágara que te gustaría desovar Para ello voy a usar la vieja explosión que se encuentra en el contenido de inicio. Pero nuevamente, la elección del distribuidor aquí, puedes agregar lo que quieras. Voy a escalar esto para hacerme salir en un resplandor de gloria, escalándolo hasta 3.3 en todos los ámbitos Necesito darle de comer a esto una ubicación. ¿Dónde me gustaría engendrar esta explosión? Bueno, puedo arrastrar fuera de mi personaje get player get get actor location. Ese será el lugar donde quiero desovar en este efecto de partículas Bien, aún no hemos terminado, así que voy a mantener pulsado el botón derecho del ratón y simplemente desplazarme un poco. Lo siguiente que quiero hacer es traer una referencia al componente de movimiento de mi personaje. Ir a clic izquierdo y arrastrar. Y entonces voy a arrastrar fuera de esto y teclear desactivar Esencialmente, si muero, quiero detenerme de inmediato. Y esto va a asegurar que todo movimiento se haya detenido. Además de esto, quiero traer aquí una referencia a mi componente cápsula. Arrastre y suelte esto. Entonces vamos a arrastrar fuera de esto y vamos a establecer colisión. El nodo se llama Set Collision enabled. Quiero asegurarme de que esto esté configurado en ninguna colisión para que mi personaje simplemente caiga por todo. Entonces voy a traer en mi lío Re ese es el propio maniquí real. Arrastra eso. Entonces voy a arrastrar esto y voy a escribir animación. Entonces para esto puedo slot en una nueva animación para jugar. Si hago clic en este menú desplegable, hay un bucle de caída. Puedes ver el directorio ahí mismo. Está en el juego, personajes, animaciones de maniquíes, muchos. Eso es. ¿Ves cómo se ve eso? Si hago clic en eso, es algo así, ya sabes, oye, me estoy cayendo algo así. Pensé que esa sería bastante buena. Pero nuevamente, la elección del crupier aquí, puedes elegir la animación que quieras reproducir Puedes configurar esto para que sea bucle, si quieres. Y así esa será nuestra función que vamos a estar llamando aquí en sólo un poquito. Entonces toda esta funcionalidad ahora se almacena dentro de una función que si llamamos a esta función, esencialmente estará llamando a muchas otras funciones para que sucedan. Un poco práctico, creo. Bien, a continuación en nuestro, mi panel de planos aquí, vamos a crear nuestro propio despachador de eventos, aquí abajo. Así que da click en este botón más y vamos a nombrar esta R inicia secuencia de muerte. Bien, así que eso se crea en nuestra área de despachadores de eventos, aquí abajo. Ahora con un despachador de eventos, llamas al evento, y luego cualquier otro plano que esté escuchando para este evento puede responder Entonces de esta manera, los planos receptores que están escuchando para cuando ocurre este evento, son algo parecidos a los suscriptores que están esperando ser notificados cuando su celebridad o atleta favorito envía un tweet, suscribiendo planos, que están escuchando para que ocurra este evento pueden entonces reaccionar Es decir, pueden realizar su propio bit de guión en respuesta a este suceso que acaba de ocurrir. Ahora esto va a entrar en juego en un poquito cuando notifiquemos a nuestro bloque para escuchar cuando ocurra este evento. Bien, con esto, el jugador inicia despachador de eventos de secuencia de muerte en su lugar Ahora podemos volver a nuestro gráfico de eventos. Esencialmente saltamos de esta pestaña de funciones y podemos comenzar a construir a partir de nuestros troqueles de jugadores, evento personalizado. Entonces lo primero que voy a hacer es cuando nuestro jugador muera, cuando se llame a esto, vamos a decirle a nuestro destructor FX, esta función aquí mismo para que lo llamen. Lo siguiente que vamos a hacer es que vamos a arrastrar en nuestro despachador de eventos aquí, click izquierdo, arrastrarlo hacia adentro Y entonces vas a conseguir este pequeño submenú. Queremos llamar a este Despachador de Eventos. Va a tener este pequeño icono de sobre como así otra vez, eso esencialmente va a enviar un Tweet para cualquier otro plano que esté escuchando para este evento dado Bien, y entonces lo que queremos hacer aquí, solo mantener pulsado el botón derecho del ratón y jadear un poco, es que voy a hacer clic derecho en algún espacio vacío aquí Y voy a conseguir que el actor se transforme. Qué actor será, esencialmente nuestro personaje en tercera persona. Queremos saber dónde se encuentra este actor y girado dentro del mundo. Y la razón por la que quiero obtener esto es porque quiero hacer clic derecho sobre este valor de retorno y voy a promover esto a una variable. A esta variable se le va a llamar start death transform. Ahora vamos a estar usando esto un poco más adelante en este guión aquí después de crear una línea de tiempo a partir de la cual comenzar nuestra secuencia de muerte. Ese efecto de caída. Bien, lo siguiente que vamos a hacer es traer una referencia a nuestra malla. Otra vez, ese va a ser nuestro maniquí aquí. Arrastre y suelte eso desde el panel de componentes. Y entonces vamos a arrastrar fuera de esto y vamos a desconectarnos de los componentes Esto esencialmente va a separar esta malla de los componentes mayores de la cápsula del personaje en tercera persona para que pueda caer abajo por estas diversas reglas Vamos a cambiar todo esto para mantener el mundo. Y esa va a ser la parte inicial de nuestro guión de secuencia de muerte. Aquí mismo estamos lejos de terminar aquí. Necesitamos agregar una línea de tiempo a continuación. Pero vamos a llamar a este video y luego continuar en la segunda parte. Puedes seguir adelante y compilar y guardar para asegurarte de que has guardado tu progreso aquí. Y luego los veremos a todos en el siguiente video donde terminemos esto. 76. Secuencia de muerte de jugador #2: Bienvenido de nuevo a la segunda parte de nuestra secuencia de muerte de jugadores. Volvamos a sumergirnos en nuestro plano de personaje en tercera persona Aquí es donde lo dejamos en el último video con nuestra función separada de componente. Ahora vamos a agregar una línea de tiempo, haga clic derecho en algún espacio vacío. Vamos a agregar una línea de tiempo, agregar línea de tiempo. Voy a nombrar a esta línea de tiempo mi animación de muerte. Y voy a enganchar esto enseguida. Voy a tocar esto desde el principio. Realmente no importa cómo vamos a tener todo esto enganchado. Si se trata de jugadora desde el principio, jugaremos desde Inicio. Entonces hagamos doble clic sobre esto para abrirlo. Entonces acabamos de abrir una nueva pestaña en la parte superior aquí para que podamos personalizar nuestra animación aquí, nuestra línea de tiempo. Esta va a ser una pista de flotación. Así que sigamos adelante y agreguemos una pista de flotación. Voy a nombrar este movimiento. Voy a establecer mi duración total aquí para que sea de 1.5 segundos. Entonces voy a agregar tres fotogramas clave. Así que voy a mantener pulsada la tecla Mayús y hacer clic izquierdo una vez dos veces y tres veces en ese patrón ahí mismo. Y luego seguiré adelante y estableceré los valores para cada uno de estos. Seleccionaré este primero, el tiempo va a ser cero y el valor va a ser cero. El segundo aquí voy a seleccionar, el tiempo va a ser 0.5 segundos y el valor va a ser 500. Y luego voy a seleccionar mi último fotograma clave, aquí mismo en el tiempo va a ser 1.5 segundos y el valor va a ser negativo 1,000 Nuevamente, va a saltar de esta manera fuera de la gráfica. Entonces, si haces clic en estas teclas de flecha, deberías enmarcarlas así. Solo estoy usando la rueda de desplazamiento para hacer zoom hacia atrás. Ahora bien, esta es una gráfica un poco dura. Es ****, ****. Quiero que esto sea curvo, así puedo curvar esto haciendo clic izquierdo y arrastrando alrededor de todos estos diversos puntos Y luego puedo hacer click derecho sobre cualquier punto y simplemente hacer autointerpolación. Eso va a crear este tipo de curva suave así. Ahora bien, esta está destinada a ser nuestra animación de mallas. Entonces, esencialmente, ser arrojados al aire y luego cayendo. Después de que hayamos agregado esta pista, podemos saltar de nuestra animación de muerte, nuestra línea de tiempo aquí mismo. Vuelve a nuestro gráfico de eventos. Ahora vemos esta salida de movimiento. Y esencialmente vamos a estar usando esta salida de movimiento para agregar. Vamos a hacer un agregado de operador a una ubicación z determinada. Ahora vamos a traer una referencia a nuestro inicio de transformación de la muerte. Al traer esto, vamos a conseguir esto. Recuerda antes en el guión aquí, cuando morimos, básicamente vamos a obtener nuestra ubicación actual cuando morimos y guardaremos esto en una variable. Y la razón por la que estamos guardando este conjunto de coordenadas, si se quiere, dentro de esta variable es para que podamos usarla aquí para una posición de partida desde la cual comenzar esta animación de muerte a de esta transformación de muerte de inicio. Voy a alargar y decir break. La razón por la que estamos rompiendo esta apertura es porque realmente solo nos importa la información de ubicación. Así que voy a hacer click izquierdo y arrastrar fuera de aquí, vamos a romper este vector en sus componentes x, y, y z. Esencialmente va a estar agregando la Z de nuestra transformación de profundidad de inicio a la salida de valor de nuestra línea de tiempo. Una vez más, nuestra línea de tiempo va a estar cambiando. Este valor se emite desde cero hasta 500, medio segundo adentro y luego bajando a 1,000 negativos a 1.5 segundos. Va a estar alterando este valor a lo largo 1.5 segundos como acabamos de mencionar aquí. Bien, todo esto va a ser necesario porque en última instancia vamos a estar usando esto para conectarlo a una ubicación relativa establecida y nodo de rotación. Queremos establecer la ubicación relativa y la rotación de nuestra malla aquí. Arrastremos eso a nuestra gráfica. Ahí está nuestra malla. Arrastra fuera de aquí. Establezca la ubicación relativa y rotación a medida que actualizamos nuestra línea de tiempo. Justo aquí. Vamos a desembocar ahí. Y la nueva ubicación que vamos a arrastrar de aquí, vamos a hacer un vector. Hacer vector. Vamos a mantener los valores x e y desde nuestra posición inicial. Eso está todo bien. Solo queremos cambiar la posición z. La salida de esta matemática aquí mismo, que esencialmente va a enviar nuestra malla hacia arriba en el aire y luego caer de nuevo hacia abajo así. Ahora después de este bit de script aquí, voy a traer un nodo de retardo. Voy a demorar 2.5 segundos. 2.5 entonces lo que voy a hacer es arrastrar fuera de aquí y decir actor. Es decir, nuestro carácter de tercera persona. Ahora bien, ¿por qué 2.5 segundos? Bueno, a través de algunas pruebas, esencialmente descubrí que ese era el tiempo suficiente para asegurar que nuestro jugador se haya caído de la pantalla. Entonces este esencialmente va a ser nuestro guión. Y solo voy a tratar de trabajar hacia atrás aquí para que puedas pausar el video donde sea necesario para que veas todo lo que hemos reunido aquí. En solo un poquito aquí, podemos seguir adelante e intentar llamar manualmente a este evento personalizado. Sigamos adelante y compilemos y guardemos aquí solo para asegurarnos de que todo se vea bien. Para probar esto, voy a saltar de nuevo a mi editor de niveles aquí. Voy a dar click sobre estos tres puntos aquí en el editor de niveles. Y voy a cambiar de una nueva ventana de reproducción del editor a mi ventana gráfica seleccionada Ahora la razón por la que voy a hacer esto es porque ahora puedo estar jugando en mi viewport, pero también veo a mi outliner también Cualquier actor en este color naranja amarillento. Se generaron automáticamente aquí al comenzar la jugada. No existieron hasta que jugamos el juego. Esto me va a permitir seleccionar mi personaje en tercera persona. Y pueden ver que podría hacer clic aquí y moverme para recuperar el cursor de mi mouse. Es solo shift y uno que devolverá el cursor de mi mouse con el seleccionado. Si buscas jugador abajo en tu panel de detalles aquí como acabas de ver que tenía antes, puedo encontrar a mi jugador muere. Evento personalizado ahora está aquí expuesto en el editor para que yo llame. Esto es genial para propósitos de prueba, así que todo lo que necesito hacer es hacer clic en esto y vas a ver a mi jugador jugar esa secuencia de muerte. Excelente para pruebas. Aquí vamos. Así que vigila a este personaje mientras hago clic en este. Ahí vamos. El personaje vuela hacia arriba, va hacia abajo, y está funcionando según lo previsto. Eso es genial. Pero ahora hagamos que esto realmente funcione dentro de un script relevante porque eso era solo para fines de prueba. Ahora bien, si volvemos a sumergirnos en nuestro personaje en tercera persona y encontramos nuestro guión para ajustar los puntos de éxito. Y voy a pasar por debajo mi panel de resultados de búsqueda aquí mismo. Lo pude encontrar aquí mirando a mi alrededor en mi gráfica. Pero solo para presumir diferentes cosas que puedes hacer aquí, arriba en la parte superior tengo ventana, tengo resultados de búsqueda encendidos. Y así si solo escribo ajustar, golpear Puntos y luego presionar Enter, podrás ver los resultados que obtengo. Y si solo hago doble clic sobre eso, puedo encontrar mi guión ajustar Hit Points. Me va a saltar a ese evento personalizado. Ahora lo que quiero hacer es que quiero subir en esta parte de mi gráfica. Ahora lo que estábamos haciendo aquí es que solo estábamos destruyendo nuestro, nuestro personaje en tercera persona, esencialmente de inmediato cuando se quedaron sin puntos de vida. Lo que quiero hacer es que quiero deshacerme de esto justo aquí arriba en lo más alto de esta verdadera rama. Elimine eso. En cambio, puedo llamar a esto destruir la función FX del actor más bien. Lo siento, eso no es lo que queremos hacer. Queremos llamar a nuestro jugador muere evento personalizado. Déjame arrastrarme de aquí, escribe en jugador muere. Esto va a llamar a ese evento personalizado esencialmente una vez que nos hayamos quedado sin puntos de éxito. Cuando eso es cierto, si hago doble clic sobre esto, me va a saltar a donde vamos a dar inicio a este evento personalizado. Y dentro de nuestra función de destruir actor, vamos a hacer todos estos efectos. Simplemente hago doble clic en ese nodo y luego saltando hacia atrás. Vamos a pasar por este poco de guión. Eventualmente vamos a hacer uso de este Despachador de Eventos, jugador inicia secuencia de muerte Vamos a desprender nuestra malla. Vamos a tocar esa animación de la muerte. Vamos a volar al aire y retroceder. Y luego después de que hayan transcurrido esos 2.5 segundos, entonces vamos a destruir a nuestro actor conociendo a nuestro personaje en tercera persona Sigamos adelante y compilemos esto y guardemos y probemos esto. Y esto nuevamente debería suceder cuando nos encontramos, digamos, un enemigo gumba, o nuestro peligro de arma de fuego o bien servirá Déjame toparme con mi gumba aquí arriba. Boom, estoy muerto. Me estoy quedando sin puntos de acierto. De hecho, he respondido en mi puesto de control. Genial, todo está funcionando como trabajo previsto. Bien hecho. Ahora tenemos intacta una secuencia de muerte de jugador. Los veremos a todos en el siguiente video. 77. Secuencia de muerte y bloque P: Bien, en el transcurso de los dos últimos videos, armamos este guión de die player para que nuestro jugador pudiera tocar una secuencia de muerte. Y todo esto se hizo dentro de nuestro personaje en tercera persona. Como parte del guión, también incluimos una llamada de despachador de eventos llamada secuencia de inicio de muerte del jugador Para que pudiéramos enviar mensajes cualquier otro plano que necesitara saber que nuestro jugador ha muerto Ahora dentro de cualquier otro plano, entonces podemos responder en consecuencia Que pase algo que nos gustaría que pasara. Esto es solo mandar el mensaje. Ahora necesitamos configurar en otro plano la recepción de ese mensaje y una respuesta en consecuencia Y en realidad queremos configurar esto dentro de nuestro bloque. Tengo un bloque instalado en mi nivel y como sabes cuando te detengas en esto, va a convertir algunos de mis bloques aquí en monedas. Y lo que tenemos que hacer es enviar un mensaje a nuestro bloque de que, sí, el jugador ha muerto. Para que podamos intercambiar estos bloques que se han convertido en monedas de nuevo en bloques. Una vez que nuestro jugador haya muerto, una vez más podrás abrir tu bloque seleccionándolo en tu nivel y luego en el Outliner, simplemente dando click ahí mismo O puedes encontrarlo abajo en tu navegador de contenido. Lo tenemos en esta ubicación. Con eso abierto, vamos a modificar un poco nuestro guión. Al principio, esencialmente estamos disparando todo este guión aquí mismo, cuando detectamos que nuestro jugador ha golpeado el componente de caja. Ahora necesitamos cambiar esto un poco porque necesitamos identificar si es el personaje en tercera persona y no cualquier personaje el que está golpeando esta casilla. Y la razón por la que vamos a estar haciendo eso es porque fuera de esto necesitamos encontrar este evento Dispatcher jugador inicia secuencia de muerte Bien, entonces modifiquemos un poco nuestro script de bloque P aquí. Sólo voy a hacer retroceder esto. Voy a deshacerme de conseguir personaje jugador, este igual firmado y este nodo también me deshago de este nodo re ruta también. Justo entre aquí voy a arrastrar fuera de mi otro pin de actor y vamos a echar a personaje en tercera persona. Y sólo voy a recablear esto como tal. Voy a mantener pulsado el control, click izquierdo cable esto a través mi casting al personaje en tercera persona. Lo conectaremos a la sucursal para nuestro estado para nuestra sucursal. Solo voy a sacar esto directamente de nuestro resultado de éxito aquí, averiguando si nuestro personaje está aterrizando encima de eso. Y eso va a estar enchufado a nuestra sucursal. Ahora necesitamos un objetivo para nuestro personaje de lanzamiento. Entonces, asegurémonos de tomar nuestro personaje en tercera persona y conectarlo ahí. Entonces ahora fuera de nuestro personaje en tercera persona, vamos a arrastrar fuera de aquí y voy a hacer una búsqueda de ese despachador de eventos, se llamaba muerte de jugador, jugador inicia secuencia de muerte Ahora voy a elegir esta opción aquí mismo. Jugador asignado inicia secuencia de muerte. Y va a traer en dos nodos que es lo que quiero. Va a traer en este nodo bind así como este evento personalizado. Y solo voy a dejar este evento personalizado como es donde voy a conectar estos fuera de nuestro nodo de secuencia. Vamos a añadir otro pin aquí mismo. Haga clic para agregar otro pin fuera del entonces cinco pines. Voy a enchufar esto aquí. Entonces esencialmente lo que estamos diciendo aquí es cuando nuestro personaje en tercera persona se ha detenido en esta caja y nuestro bloque está en modo bloque, es convertir esos bloques en monedas. Vamos a estar escuchando si nuestro jugador ha muerto y si nuestro jugador ha muerto aquí en nuestro personaje en tercera persona. Si se inicia este bit de guión, va a enviar un mensaje a cualquier otro plano que lo esté escuchando a través de esta llamada aquí mismo Esto es esencialmente lo que escuchamos aquí mismo con esta configuración aquí mismo, vinculándolo a ese jugador comienza la secuencia de muerte. Lo estamos escuchando y cuanto muera nuestro jugador, entonces dispararemos fuera de aquí. Bien, ahora aquí es donde voy a tomar estos dos nodos y bajarlo hacia nuestro script de temporizador de bloque aquí mismo. Voy a tratar de acercar el zoom y enmarcar esto en un poco mejor. Ahora, esencialmente, cuando nuestro tiempo de bloqueo termina, lo que estamos haciendo es tomar todos nuestros bloques que se han convertido en monedas, y simplemente los estamos volviendo atrás. Ahora queremos hacer lo mismo cuando muere nuestro personaje. Esencialmente queremos volver todos nuestros bloques a la forma en que alguna vez fueron. Para ello, todo lo que tenemos que hacer es sacar un cable de nuestro jugador inicia secuencia de muerte y vamos a enchufarlo a esto. Lo mismo para cada bucle aquí arriba. Nuevamente, todo esto está dentro de nuestro script de bloque en la parte inferior, así. Bien, con todo eso hecho, sigamos adelante y compilemos y guardemos. Y probemos esto yendo a nuestro nivel aquí. Voy a hacer clic en Reproducir. Entonces lo que voy a hacer aquí, voy a superponer nuestro punto de control, y voy a saltar sobre esta cuadra aquí Deberías ver que algunos de estos bloques se convierten en monedas. Voy a tratar de evitar mis brazos de llama aquí. Como has visto se convierten en monedas, me voy a morir. Ahora se puede ver que se han vuelto instantáneamente en bloques, que es exactamente lo que yo quería que pasara. Ahí lo tienes dentro de nuestro personaje en tercera persona vía este jugador inicia secuencia de muerte que estamos llamando. Cuando nuestro jugador muere, evento personalizado se dispara. Esencialmente estamos enviando mensajes a cualquier suscriptor si quieres. Cualquier otro plano que esté escuchando a nuestro jugador inicia despachador de eventos de secuencia de muerte Y para aquellos que están escuchando como nuestro bloque aquí, luego se disparará de este evento personalizado y hará que lo que esté adjunto a él también se desprenda. Bien chicos, eso va a hacerlo todo por este video. Te veremos en la siguiente. 78. Actualizar las vidas de los jugadores: Bien, ahora que tenemos una secuencia de muerte de jugador en la mano, sigamos adelante y arreglemos nuestro Hud Porque como se puede ver en la parte superior izquierda, supuestamente tengo tres Marios No obstante, cuando actualmente muero, ese número no cambia. Entonces vamos a arreglar eso en esta. Para hacer eso, vamos a estar trabajando dentro de nuestro plano de controlador de jugador Entonces encuentra que en tu carpeta de framework de blueprint de plataforma, está nuestro controlador de reproductor B P. Hemos hecho algunos trabajos dentro de ahí. Hagamos un poco más buceando dentro. Vamos a agregar un nuevo guión dentro de aquí. Voy a mantener pulsado el control y alejar el zoom. Este va a ser nuestro script de ajuste en vivo. Voy a bajar debajo de mis puntos Add y voy a acercar el zoom. Voy a escribir click en algún espacio vacío. Voy a agregar en un evento personalizado. Voy a llamar a este Ajustar vidas con este evento de clientes seleccionado. Voy a agregar una entrada sobre en el panel Detalles. Da clic en este botón más y la entrada que voy a agregar se va a llamar Vidas para sumar o restar Y voy a cambiar el tipo de Booleano a Entero. Lo que voy a hacer es arrastrarme fuera de aquí y traer un nodo add. Y el otro insumo que voy a enchufar aquí va a ser vidas con las que estamos empezando, en mi caso, tres vidas. Cuando llamamos a este evento personalizado, vamos a poder determinar cuántas vidas nos gustaría sumar o restar, y luego lo vamos a sumar a nuestro número de vidas Entonces lo que quiero hacer es que quiero arrastrar fuera de aquí, y voy a sujetar este número, vamos a sujetar este número entero. Y voy a mantener esto entre un valor de 0.100 Esto me va a sujetar a 100 vidas No tienes que hacer esto si no quieres, pero me gustaría taparlo a 100 vidas y luego voy a alargar mis vidas. Voy a ponerlo en este valor de retorno para traer una versión setter de nuestra variable vidas Tomaré nuestras vidas de ajuste, evento personalizado, y lo haré fluir hacia allí. Entonces lo siguiente lo que voy a hacer es simplemente alejar un poco el zoom. Voy a arrastrar fuera de esto, esto dará como resultado el número de vidas. Voy a escribir el símbolo igual para traer un nodo igual. Y voy a decir que si nuestro número de vidas es igual a cero, entonces voy a enchufar esto a un nodo de sucursal. Así que mantendré pulsado y clic izquierdo para traer un nodo de sucursal. Si esto es cierto que nuestras vidas se han hundido a cero, entonces lo que voy a hacer es arrastrar fuera de aquí y escribir en nivel abierto por nombre Ahora actualmente tengo un nivel, LV 01. Simplemente podría, cuando me quedo vidas abrir este nivel de nuevo. Voy a estar trabajando un poco por delante aquí. Sepa eso, sé que el editor va a lanzar algunos errores cuando finalmente consigamos que esto se desencadene, cuando nos quedemos sin vidas. Eventualmente, vamos a crear un menú principal en este curso. Y voy a nombrar ese menú principal LV, subrayado Menú Principal Ahora no quiero empantanar este video creando todo ese menú principal que vendrá más adelante Pero solo sé que estoy trabajando por delante aquí y eventualmente crearemos un menú principal. Y esto nos hará pasar a nuestro nivel de menú principal que hemos configurado. Bien, así que vamos a enmarcar esto. Voy a hacer click izquierdo y arrastrar toque esa tecla C. Y este va a ser nuestro guión de ajustar vidas. Me desharé de ese espacio entre ahí y colocaré este negro. A mí me gustan las cajas negras de comentarios porque hace que los cables salgan. Así que ese va a ser nuestro script de ajuste en vivo ahí mismo. Una vez más, haremos que eso funcione más adelante. Bien, con este evento de clientes ahora en su lugar, se llama ajustar vidas. Voy a subir al guión de mi moneda publicitaria dentro de este mismo plano, mi controlador de reproductor Y aquí está nuestro guión de monedas publicitarias. Y lo que estaba haciendo al final aquí es que estaba trayendo una referencia a nuestras vidas y sumando a esto para que cuando tengamos 100 monedas, vamos a conseguir una vida extra. Bueno, ahora con nuestro evento personalizado de ajustar vidas en su lugar, todo lo que necesito hacer es llamar a este evento para clientes y simplemente ingresar el número uno para ajustar nuestro número de vidas. Así que solo puedo eliminar estos dos nodos ahí mismo en nuestro script de monedas publicitarias. Voy a sacarlos con armas. Y ahora voy a sacar de mi setter de monedas aquí y escribir en ajustar vidas Entonces nuevamente, esto va a llamar a este evento personalizado aquí mismo. Yo sólo puedo poner en ese número duro vidas para sumar o restar Voy a agregar positivo uno vive y luego tocaré este Sonido. Así que tenga en cuenta que al poner el número uno aquí mismo, este número va a fluir a través del evento personalizado. De hecho, si hago doble clic en este nodo de aquí mismo, va a mostrar el evento personalizado que este llama. Entonces ese número uno va a fluir por aquí, se sumará a nuestro número de vidas, va a sujetarlo. Y va a hacer todo este jazz aquí mismo. Bien, con todo esto hecho, asegúrate de compilar y decir muy importante que compiles aquí. Porque necesitamos compilar para encontrar nuestras vidas ajustadas llamadas dentro de nuestro plano de personaje en tercera persona Ahí es a donde nos dirigimos a continuación. Así que encuentra tu plano de personaje en tercera persona. Encuentra a este jugador muere guión. Hacia el final, tenemos este retraso y este actor de destrucción. Bueno vamos a separar a nuestro actor de destruir. Mueva esto a la derecha porque vamos a inyectar un poco de guión aquí mismo. Vamos a hacer clic derecho en algún espacio vacío, obtener el controlador del reproductor. Y luego fuera de esto, vamos a lanzar a nuestro controlador de reproductor, nuestro controlador de reproductor personalizado. Vamos a fluir por aquí. Y la razón por la que estamos haciendo esto es para que podamos llegar dentro de nuestro plano de controlador de jugador y llamar a nuestro evento personalizado de ajustar vidas Porque esto es parte del jugador muere guion vive. Para sumar o restar, bueno quiero restar una vida, así que ponle una negativa ahí mismo Y entonces podremos destruir una vez más al actor. Si tuviera que hacer doble clic en esta llamada de ajustar vidas, me va a saltar a mi controlador de reproductor BP y mostrar dónde va a fluir ese número de uno negativo a través de este evento personalizado. Haz esto matemáticas y haz todo este guión. Bien, una consideración más para que abordemos, y esto va a implicar que vayamos dentro de nuestro modo de juego, Blueprints Voy a ir a planos en tercera persona, modo de juego en tercera persona Por cierto, depende de usted si desea arrastrar ambos blueprints dentro de su plataforma o carpeta de frameworks, eso depende de usted Estos también se consideran planos marco. Opté por no crear un personaje separado en modo juego para este proyecto, pero podrías haberlo hecho Voy a bucear dentro de mi BP, modo de juego en tercera persona. Y ahora mismo estamos respondiendo actualmente, el jugador, pase lo que pase, no importa si tienen tres vidas, dos vidas, una vida, o cero vidas. Tenemos que verificar para asegurarnos de que nuestro jugador no está fuera de la vida. Antes de responderles, no queremos responderles si están fuera de la vida. Entonces, para ajustar este poco de script de responder, lo que voy a hacer es justo por aquí, voy a hacer clic derecho en algún espacio vacío. Consigue el controlador del jugador, como habrás adivinado. Vamos a sacar de aquí. Vamos a lanzar a nuestro controlador de jugador BP. Ahora puedo cambiar, puedo convertir este nodo haciendo clic derecho sobre él y convirtiéndolo en un elenco puro para poder deshacerme de estos pines de entrada y salida de ejecución . Realmente solo quieres hacer esto si sabes que tu elenco aquí no va a fallar. Y sé que no va a hacerlo en este caso porque no voy a estar usando ningún otro controlador de jugador convertido a pure cast, se va a deshacer de esos pines de ejecución así. Entonces lo que puedo hacer es arrastrar fuera de mi controlador de reproductor SBP, puedo sacar nuestras vidas variables de esto Puedo alargar, ver si cero vidas, si tenemos vidas mayores que cero, entonces quiero responder. Voy a mantener pulsada la tecla B y hacer clic izquierdo cuando estén encendidas. Necesito mover todo este poco de guión por aquí. Y esencialmente voy a estar moviendo esto en juego cuando nuestro personaje sea destruido. Cuando nuestro personaje sea destruido, quiero fluir por aquí y hacer la pregunta, oye, ¿tenemos vidas mayores que cero? Y si tenemos vidas mayores que cero, entonces genial, adelante y reaparece el personaje De lo contrario no. Entonces todo esto está dentro de nuestro modo de juego en tercera persona. Adelante, compilar y guardar esto. Ahora antes de jugar el juego aquí, quiero señalar eso en nuestro plano de Hud Blueprint del widget de Hud, que se encuentra en la carpeta UI, nuestro WBP Anteriormente en el curso, en nuestra pestaña gráfica, no en la pestaña de diseñador, sino en la pestaña de grafos, agregamos este bit de script para crear una referencia a nuestro controlador de reproductor. Simplemente hice clic derecho sobre esto y promoví esto a una variable para crear una referencia a nuestro controlador de jugador Al hacer eso, eso nos permitió luego vincular este widget aquí mismo, este widget de texto, a nuestra variable en vivo del controlador del jugador. Eso se hizo por aquí, controlador de jugador, y simplemente lo mapeamos a nuestra variable de vidas. Ahora que estamos actualizando nuestra variable vidas a través de algún script que agregamos en este video, deberíamos ver este cambio de número. Pero solo quería señalar todo esto , un poco de revisión, mostrando que de hecho hemos mapeado nuestras vidas variables desde nuestro controlador de reproductor a este widget en particular. Bien, vamos a entrar a nuestro nivel, y vamos a saltar y jugar. Actualmente arrancando con tres vidas ahí. Así que déjame toparme con nuestra gumba. Aquí, ahí estamos, hasta dos vidas. Intentemos encontrarnos con la barra del brazo de llama aquí. Volvió a bajar a uno en vivo. Y vamos a bucear vía Goomba una vez más abajo a cero vidas. Ahora lo viste simplemente restablecerse ahí atrás y si me escapo va a hacer eso por el momento. A pesar de que tenemos en nuestro controlador Player, estamos tratando de volver al menú principal. Así que sepa que eventualmente con el tiempo vamos a crear otro nivel llamado LV, Underscore Main Menu Y nos echará de nuevo al menú principal una vez que nos hayamos quedado sin mentiras. Bien chicos, pero eso lo va a hacer todo por este video. Ahora tenemos nuestro número de vidas incrementándose correctamente dentro de nuestro Hud Nos vemos en la siguiente. 79. Peligro de muerte instantánea: Bien, bienvenidos de nuevo a todos. Ahora que tenemos una secuencia de muerte de jugador en su lugar y nuestro sistema de jugador en vivo está funcionando en nuestro Hud, todo ese jazz, vamos a crear un peligro de muerte int Y esto va a ser útil en una serie de casos de uso. Se puede colocar a este actor que estamos a punto de crear sobre algunos picos, sobre digamos, un pozo de lava o incluso vacío. Y el propósito de esto va a poder así para que al tocarlo nuestro jugador así, vayan a morir instantáneamente y respondan. Bien, aquí atrás en nuestra versión de trabajo del proyecto, voy a venir en mi carpeta de planos de plataforma Voy a hacer click derecho por aquí en algún espacio vacío. Clase Blueprint. Este será un plano de clase actor Va a ser uno que vamos a colocar dentro de nuestro mundo. Y voy a seguir adelante y nombrar este nuevo plano BP subrayado en Bien, y con eso seleccionado, podríamos ignorar este servidor no disponible. Este mensaje de control de origen aquí mismo. Voy a hacer doble clic en mi BP hasta la muerte. Y con esto abierto, vamos a agregar un solo componente que viene debajo del panel de componentes. Vamos a agregar colisión de caja. Y sólo voy a nombrar a esto mi Volumen de Profundidad. Y con esta seleccionada, sólo voy a darle a esto un valor por defecto. Entonces voy a establecer las ampliaciones de caja para que sean 400 por, digamos 400 por 50, 50 Y voy a establecer mi grosor de línea aquí para que sea tres, algo así. Podremos cambiar este tamaño una vez que lleguemos esto a nuestro nivel, pero eso nos va a dar un valor predeterminado bastante bueno. Bien, con esto en su lugar, voy a hacer click derecho sobre mi componente de volumen de muerte aquí. Haga clic con el botón derecho. Vamos a agregar un evento para cuando empecemos a superponerlo. Eso nos va a sacar de nuestra ventana gráfica y pasar al gráfico de eventos Ahora cuando algo se superponga a este volumen de la muerte, vamos a averiguar quién es el otro actor Vamos a lanzar a nuestro personaje en tercera persona dentro de nuestro personaje en tercera persona. Vamos a arrastrar fuera de aquí y teclear jugador muere. A esto le vamos a llamar eventos personalizados. Así que un guión muy simple y solo voy a arrastrar alrededor de este toque la tecla C, esto va a ser llamado. Aquí muere eventos personalizados dentro de nuestro personaje BP. Así que cada vez que escribas algún script, vas a querer asegurarte compilar esto para asegurarte de que no encuentra ningún error y no lo hace. Voy a seguir adelante y guardar esto ahora. Sigamos adelante y coloquemos uno de estos en nuestro nivel y solo mostremos cómo trabajar con esto en general. Entonces voy a volver a mi editor de nivel aquí. Aquí está mi BP en la muerte. Realmente no tengo ningún pozo aquí ni nada por el estilo, así que voy a arrastrar esto del borde aquí Así que aquí vamos. Sólo estoy arrastrando esto Tengo mis dos ajustes de D snap establecidos en mi nivel principal aquí. Y voy a poner mi configuración de snap aquí mismo, incrementos de digamos 50 Simplemente voy a pasar esto de nuevo así. Ahora otra vez, si estás haciendo el Pit of Doom, probablemente no quieras colocar este tipo de nivel con tus principales niveles jugables Así que solo voy a establecer esto un poco para que puedan ver este tamaño predeterminado. Pero tenga en cuenta que con este actor seleccionado, sobre en el panel de detalles, se puede seleccionar el componente de volumen de muerte. Ahora bien, si no ves esto, podría ser porque necesitas pelarlo un poco. Puedes seleccionar tu componente de volumen de muerte y puedes redimensionarlo aquí mismo Entonces, si quieres hacer ese valor x un poco más grande, ya sabes que queremos establecerlo en 1,000 Puedes seguir adelante y hacerlo así. Bien, entonces solo voy a saltar y jugar aquí, y luego simplemente saltar del borde y ver si todo esto funciona. Aquí vamos. Bien, saltando de la repisa aquí y boom, morimos tal como se pretendía Entonces, una vez más, dentro de nuestro BP hasta la muerte, solo estamos comprobando para ver si es nuestro personaje en tercera persona el que se superpone a ese volumen Y si es así, drogamos aquí afuera para llamar a este jugador muere evento personalizado. Y puedes hacer doble clic sobre esto. Y lo que esto hará es que en realidad abrirá nuestro personaje en tercera persona y te mostrará a qué evento personalizado pretende llamar Entonces, una vez más, un par de casos de uso para este peligro de muerte instantáneo. Se puede colocar en un foso como este. Podrías colocar esto sobre algo que parezca puntioso, un pozo de lava Muchos casos de uso posibles para ello a lo largo de tu nivel. Bien chicos, eso va a hacer todo por este. Te veremos en la siguiente. 80. Plano de asta de bandera: Bienvenidos de nuevo a todos. En este video vamos a trabajar en la creación e implementación de un asta de bandera de fin de nivel estilo Mario Y esto va a funcionar de tal manera que cuando nuestro personaje salta sobre el asta de la bandera, lo van a anotar Van a brotar, vamos a ver algunos fuegos artificiales y solo va a ser un buen momento. Ahora bien, este va a ser uno de los planos más complicados que armamos a lo largo de este curso Solo te estoy dando un adelanto de cómo va a ser esto en última instancia Aquí está el plano terminado. Visualmente lo que vamos a estar armando. Así que bastantes componentes, muchas variables, y una buena cantidad de script para arrancar aquí. Mucho guión. Pero vamos a romper esto en el transcurso de varios videos aquí. Y vamos a hacer esto, te prometo que no va a ser tan malo. Bien, de vuelta aquí en nuestra versión de trabajo del proyecto, entra debajo de tu carpeta Texturas de plataforma y asegúrate tener este bloque usado en la textura de bandera de Mario. Se trata de algunos activos que se importaron mucho antes en el curso. Entonces, si aún no lo ha hecho, asegúrese de haber importado estos porque los vamos a usar dentro de nuestro plano de asta de bandera Ahora con estas texturas, necesitamos convertirlas en activos materiales utilizados dentro de nuestro plano de asta de bandera Ahora ya lo he hecho antes del video. Pero solo para mostrar cómo convertir estas texturas en materiales, simplemente podrías hacer clic derecho sobre él y luego crear material a partir de ellas. Cuando lo hagas, vas a ver estos activos materiales generados dentro de tu carpeta Texturas. Y entonces todo lo que hice fue mover estos. Literalmente dejaría clic y los arrastraría mi carpeta Materiales así para moverlo allí. Ahora en realidad no quiero mover el archivo de textura aquí, pero así es como puedes mover diferentes activos entre carpetas. Entonces solo para mostrarte, dentro de mi carpeta Materiales, aquí es donde tengo mi material de bandera de Mario en mi bloque T material usado. Solo para abrir uno de estos rápidamente, todo lo que es es una muestra de textura que se conecta al color base de nuestro material maestro. Nota aquí. Ahora además de estos dos materiales, también asegúrate de que tengas el audio cuatro Mario Flagpole, ese tipo de ahí mismo, así como Mario Jump Ahora ya deberías tener eso otra vez, todos estos archivos de audio se importaron mucho antes en el curso. Entonces, si aún no los has importado, por favor asegúrate de hacerlo. Bien. Ahora, antes de seguir adelante y crear nuestro plano de asta de bandera, en realidad voy a saltar dentro de nuestra carpeta en tercera persona aquí Entra en nuestros planos, encuentra nuestro personaje en tercera persona Quiero asegurarme de que no olvidemos esta profundidad. Voy a hacer doble clic sobre nuestro personaje en tercera persona. Ábrelo, y quiero agregar otro componente a nuestro personaje de tercera persona. Voy a seleccionar nuestro componente de cápsula porque quiero adherirlo a nuestro componente de cápsula. Déjame ir a la ventana gráfica aquí. Componente cápsula. Voy a agregar un componente de flecha. Flecha. Y voy a nombrar a esta bandera adjuntar punto. Esto va a ser usado para determinar dónde debemos unir nuestro personaje al asta de la bandera para que nuestro personaje pueda bajarlo. Entonces con este componente seleccionado en el panel de detalles, voy a establecer la ubicación X para que sea 40 y la ubicación Z sea negativa 55. Y acabo de llegar a estos números a través de mucho ensayo y error. Entonces 40 y negativo 55 es que vamos a tener nuestro punto de bandera adherida. Bien, asegúrate de haber compilado y guardado esto. Entonces podemos cerrar de nuestro carácter de tercera persona. Ahora volvamos a nuestra carpeta de planos de plataforma. Y dentro de aquí vamos a hacer click derecho en algún espacio vacío. Vamos a crear una nueva clase de planos. Esto va a ser un plano de clase de actor. Y vamos a nombrar a este activo BP. Subrayado, bandera de fin de nivel. Todo bien. Después con eso seleccionado, puedes hacer doble clic sobre él o presionar la barra espaciadora para abrirla. Y lo que voy a hacer aquí es que voy a agregar todos mis componentes y luego voy a volver y establecer los detalles para cada uno. Entonces déjame seguir adelante y agregar el primero. Este va a ser un volumen disparador. Bueno en realidad se va a llamar volumen disparador. Lo que en realidad quiero es una colisión de caja, colisión de caja. Componente de colisión de caja, y voy a llamarlo volumen disparador. Vas a estar usando esto para determinar cuándo activar toda la secuencia de banderas. Ahora voy a agregar todos estos componentes se van a adjuntar a mi raíz de escena predeterminada. Entre cada componente adicional, asegúrate de haber seguido adelante y seleccionado tu raíz de escena predeterminada, porque todos estos componentes deben estar en línea recta hacia abajo y no estar unidos a nada más. El siguiente que voy a hacer un anuncio aquí va a ser un componente de malla estática. A éste simplemente se le va a llamar bandera. Y voy a seleccionar de nuevo mi componente raíz de escena predeterminado. A éste se le va a llamar asta de bandera. Vaya, estoy tratando de agregar un asta de bandera. Necesito agregar un componente de malla estática y luego llamarlo asta de bandera. Bien, seleccione raíz de escena predeterminada. Nuevamente, agregue, este va a ser un componente mallado estático A ésta se le va a llamar base de bandera. Ahora con uno de estos seleccionados, nuevamente solo mostrando diferentes formas de hacer las cosas, Control D duplicará eso, así que automáticamente lo va a adjuntar a mi raíz de escena predeterminada. Este va a ser top de bandera. Un siguiente componente, voy a seleccionar mi raíz de escena predeterminada, haga clic en Agregar. Este va a ser un componente de cartelera. Cartelera, Va a tener este ícono de Cabeza de Dragón. Voy a llamar a esto mi punto final de bandera. Aquí es donde quiero que termine la bandera cuando se haya bajado por el asta de la bandera Bien, Seleccionar escena predeterminada. Una vez más vamos a agregar, esto va a ser otro colisionador de cajas, colisión de cajas, y voy a llamar a esto mi área de fuegos artificiales Esta es esencialmente la zona de la que voy a estar generando algunos fuegos artificiales Si terminamos nuestro tiempo de nivel dentro de un dígito dado terminando en un siete, como 87 segundos generarán siete fuegos artificiales, ese tipo de cosas vamos a agregar tres componentes más Aquí vamos a agregar tres componentes más. Ruta de escena predeterminada. Voy a agregar, todos van a ser componentes de flecha, así que voy a elegir primero. Voy a llamar al jugador Punto final. Aquí es donde nuestro jugador va a terminar con este seleccionado. Voy a hacer control D. Este va a llamarse Jugador Explode Point Vaya, accidentalmente controla esos dos en eso. Este va a ser mi jugador Punto de explosión porque después de que salten del asta de la bandera, vamos a hacer que salten a la mitad de la zona de fuegos artificiales y Sólo porque es divertido con este selecto que. Voy a hacer Control D otra vez para duplicar eso. Y a éste se le va a llamar punto de inicio a mis jugadores. Tengo un punto de inicio de jugadores, un punto final de jugador, un punto de explosión de jugador Realmente no importa cómo se ordenen estos, no importa en absoluto. Entonces, si tu pedido es un poco diferente al mío, no importa. Todo lo que importa es que todos estos están en línea, que están unidos a la ruta de escena predeterminada. Ahora bien, si tienes algo accidentalmente configurado así, déjame seguir adelante y arrastrar y soltar esta pequeña sangría aquí Esto está actualmente apegado a eso. Para deshacer eso, simplemente puedes arrastrarlo y soltarlo de nuevo encima, y eso lo desatará a lo que estaba previamente unido Configurar los detalles de cada uno de estos componentes en nuestra lista de componentes. Voy a empezar con la bandera aquí. No voy a ir en orden, pero tocaré todos estos a su debido tiempo con nuestro componente de bandera seleccionado en el panel de detalles. Nuestra malla estática va a ser un plano y voy a estar buscando esta en el camino de formas básicas del motor en el panel de detalles. Voy a poner el material enseguida para que sea nuestra bandera de Mario. Solo escribe Mario, ahí está nuestra bandera de Mario. Bastante dulce. Ahora necesito ajustar un poco la ubicación, rotación y escala esto. Así que vamos primero con la ubicación. Voy a establecer la ubicación x para que sea 85, la z para que sea 845. Está saltando hasta aquí. Déjame acercar aquí atrás en mi ventana gráfica, manteniendo pulsado el botón derecho del ratón, S y D, voy a establecer la rotación, la rotación x para que sea 90 Entonces voy a poner la báscula aquí. Va a estar enfrentando así así. La escala para ser 1.5 así. Muy bien, genial. A continuación el componente de asta de bandera. Con esta seleccionada, voy a ir deslizando una malla estática de un cilindro cilindro y voy a elegir el motor, formas básicas cilindro. Ese tipo de ahí. El material, solo voy a hacer muro de subrayado básico, esto está en el contenido de inicio, de nuevo, es un asta de bandera, para que puedas decidir cómo quieres que se vea esto La ubicación, voy a establecer esto para que sea 500 en la Z. la escala que voy a establecer para que sea 0.2 por 0.2 por ocho Ahora otra vez, obtuve todo esto desbloqueando los ajustes de la báscula Si tienes esto bloqueado, sea lo que sea que pongas uno de estos dos y presiones al centro, los va a configurar para que todos lo desbloqueen. Para configurarlos individualmente. Eso viene bastante bien hasta ahora. A continuación hagamos la base de la bandera con la seleccionada, sobre en el panel de detalles, la malla estática. Voy a elegir A, este va a ser mi motor, formas básicas cubo así. Por el material me voy a meter en ese bloque. Creo que se ve bastante bien. Nuevamente, la elección del distribuidor aquí, puedes hacer que sea lo que quieras. Voy a cambiar la ubicación z para que esto sea 50, así que esencialmente va a parecer asta de la bandera está incrustado dentro de eso. Eso se ve bastante bien. Bien, entonces vamos a hacer la parte superior de la bandera del asta de la bandera ahí. Vamos a elegir un mensaje estático. Eso va a ser una forma subrayado Esfera, eso va a estar en el contenido de inicio Vamos a establecer el material para esto va a ser subrayado cubo tres instancias de material, esto es en Engine VR Editor, Formas básicas Otra vez, no es necesario tener exactamente como yo. Creo que se ve bastante bien. Entonces voy a establecer la ubicación para que esto sea 8905895. En la parte superior aquí en la escala voy a establecer para que sea 0.5 en todos los ámbitos, así que voy a bloquear la báscula, y luego voy a establecer 0.5 presione Enter, y eso se ve bastante bien arriba en la parte superior. Bien. Siguiente Voy a hacer el punto final de bandera, este componente de cartelera, ¿de acuerdo? Voy a configurar esto para que sea una ubicación, 150 en la Z, y luego voy a establecer la ubicación en la X para que sea 85. Y entonces voy a establecer la rotación de esto para que sea 90 en la X también. Presione adentro o allí. Visualmente no va a hacer mucha diferencia aquí, pero va a importar porque vamos a estar usando esto como nuestro punto final de bandera. Esto tiene que ser girado de la misma manera que nuestra bandera. Eso va a ser importante. 90 ahí para nuestra bandera. Tenemos que asegurarnos de que nuestra rotación de punto final va a ser la misma ahí, solo para verificar con eso. Bien. A continuación vamos a tener nuestra zona de fuegos artificiales. Así que asegúrate de seleccionar eso. Y voy a hacer zoom aquí atrás un poco mi ventana gráfica porque voy a tener que estar un poco por aquí Estoy manteniendo presionado tanto el botón izquierdo como el derecho del mouse para desplazarse así. Entonces voy a establecer este punto para que esté en una ubicación de 850 en la x 700 en la Z. la extensión de la caja que voy a establecer para que sea 500 por 200 por 300 Básicamente voy a estar usando esta forma para definir un área en la que puedan desovar fuegos artificiales También estableceré el grosor de la línea aquí para que sea cinco, solo para que esto sea un poco más prominente. Entonces también voy a establecer el preset de colisión aquí para que no sea colisión. No quiero que nada posible chocar con esto. Sabes, no quiero tenerlo para que si nuestro personaje está por aquí o algo así , estén tratando de disparar bolas de fuego, entonces cualquier cosa podría chocar con Así que sólo estamos apagando eso para todo. Bien, a continuación vamos a seleccionar nuestro jugador Endpoint ese tipo ahí mismo. Y para ello simplemente vamos a establecer una ubicación. Entonces voy a hacer zoom hacia arriba hacia la base de nuestra bandera aquí. Punto final del jugador, va a ser 25 negativo en la X, va a ser 30 en la Y. Para la Z, va a ser 190 frente al flagpool, pero abajo cerca de la parte inferior derecha ahí Bien, nuestro jugador explota punto. Vamos a seleccionar ese componente de flecha A continuación, va a estar en algún lugar de esta región, así que voy a seleccionar mi ubicación. X va a ser 850 y la Z va a ser 500. Eso esencialmente va a estar en algún lugar justo por ahí. Determiné. Eso está bien, los jugadores empiezan punto en la cima. Vamos a seleccionar ese componente de flecha. La ubicación x va a ser negativa 25, La y va a ser 30, y esa z va a ser 845. Así que no importa dónde van a interactuar con esta bandera, vamos a asegurarnos de que se ajusten a ese punto ahí mismo . Ahí es donde van a empezar. Van a terminar aquí abajo para montarlo amable por el asta de la bandera Ahora lo único que aún no he puesto aquí es nuestro volumen de disparo. Sigamos adelante y seleccionemos eso. Ahora en el panel de detalles con nuestro volumen de disparo seleccionado, voy a venir bajo un preajuste de colisión aquí. Y simplemente voy a configurar esto para que sea personalizado. Y voy a ignorar colisiones con todo, todo excepto quiero que nuestro peón pueda superponerse a esto Necesitamos detectar cuando nuestro peón se superpone a esto. Y quiero que este volumen disparador sea muy alto, que se extienda alto hacia el cielo. Para que si a nuestro jugador le gustan los saltos sobre el asta de la bandera, en realidad van a caer hasta este punto Y luego escríbalo. Bien, para esto voy a establecer la ubicación Z 1,000 voy a establecer la ubicación x para que sea 30. Eso va a ponerlo más o menos en línea con nuestro asta de bandera aquí mismo, así que bien. Y luego voy a establecer la extensión de la caja. Voy a establecer esa extensión en 1,000 Se va a extender hacia abajo así, justo a través de la mitad de nuestro asta de bandera, se puede ver que llega muy alto hacia el cielo Y también voy a hacer esto un poco más amplio también, aunque nuestro personaje nunca debería desconectarse. Sólo por mi propia cordura, voy a establecer la extensión y para que sea algo así como 200 Eso debería ser bastante bueno. Ahora bien, si tuviera que saltar de esta vista en perspectiva y ver esto desde digamos, una vista correcta, voy a seguir adelante y dar click en esto. Se puede ver si me acerco hacia atrás esencialmente donde se encuentra este volumen de disparo en relación con nuestro asta de bandera Ahora probablemente voy a darle un codazo un poco más solo para asegurar que nuestro personaje no golpee este asta de bandera De nuevo, podría moverlo aquí en el panel de detalles. Permítanme simplemente desactivar mi configuración de snap aquí. Voy a moverlo para decir justo por ahí. Voy a establecer esa x ubicación. Probemos diez en su lugar. Pero quién sabe, tal vez juguemos con eso al final En realidad, tampoco quieren que nuestro personaje choque en lo alto del asta de la bandera Entonces voy a poner eso a algo así como cinco, solo para darle un empujón un poco más Bien, con eso, voy a saltar de nuevo a mi perspectiva. Eso es todo lo que queríamos lograr en esta. adelante y compilemos y guardemos, y luego sigamos adelante y arrastremos esto a nuestra ventana gráfica Y sí, entre los cortes de cámara aquí, realidad hice trampa y sí se coloca en mi nivel, para que puedas ver cómo se verá cuando lo coloques en tu nivel. Algo así es como va a verse. El jugador va a interactuar con él. Van a bajar por este asta de bandera y luego van a terminar en este punto de explosión Entonces todo eso se va a hacer vía scripting. Mucho más trabajo por hacer, pero vamos a un buen comienzo. Nos vemos a todos en el siguiente video. 81. Script de asta de bandera #1: Bienvenido de nuevo. En este video vamos a agregar las variables y comenzar a escribir nuestra secuencia de asta de bandera de nivel final Volvamos a sumergirnos en nuestro BP, bandera de fin de nivel. Lo primero que voy a hacer en el panel my blueprints es crear las variables que vamos a usar para este script masivo Es decir, por venir haciendo clic en este botón más variable. El primero que voy a crear se va a llamar punto de inicio. Va a ser una variable vectorial y va a ser utilizada para determinar el punto de partida de nuestra bandera aquí. Lo ideal es que lo vamos a empezar en la cima si nuestro jugador aterriza en la cima. Sin embargo, si nuestro jugador aterriza aproximadamente en el punto medio, vamos a tener automáticamente nuestro inicio de bandera en ese punto Básicamente va a deformarse hasta ese punto y luego subir hacia abajo. Bien, con ese seleccionado, voy a hacer el control D para duplicarlo. Y a este se le va a llamar local de fuegos artificiales. Esto va a ser utilizado para determinar la zona en la que vamos a estar desove nuestros fuegos artificiales Alerta de spoiler, va a estar en este rango. Siguiente que voy a crear, voy a dar click en el botón de variables más. A éste se le va a llamar mi personaje. El tipo aquí va a ser mi BP, personaje de tercera persona, el objeto de referencia. Déjame ampliar esto para que puedas leer eso un poco más claramente. La siguiente variable que vamos a crear se va a llamar mi controlador. Este va a ser mapeado a nuestro controlador Player. Va a ser controlador de jugador. Nuestro BP, Player controller, ese es el que creamos. Referencia de objeto, esa es nuestra elección ahí. El siguiente que vamos a crear se va a llamar Firework Points Va a ser un entero. Y esto va a aguantar cuántos puntos vale cada fuegos artificiales Si conseguimos un espectáculo de fuegos artificiales con este seleccionado, voy a hacer el control D para duplicarlo. A éste se le va a llamar Número especial de fuegos artificiales. Ahora la forma en que esto está destinado a funcionar es si nuestro temporizador termina con un número dado, digamos que termina con 87 segundos. Si termina con el número siete, vamos a disparar un espectáculo de fuegos artificiales. Esto está esencialmente destinado a contener el dígito final del tiempo restante en su temporizador. Bien, con todos estos creados, seguir adelante y compilar para que podamos comenzar a agregar algunos valores predeterminados. Bien, nuestro inicio de punto de bandera va a tener ceros en todos los ámbitos, eso va a estar bien Fuegos artificiales Local va a tener ceros en todos los ámbitos, eso va a estar bien Mi personaje va a ser puesto en nulo ahora mismo. Eso también va a estar bien. Mi controlador también se va a establecer en null. Eso va a estar bien. Llenaremos estas variables en nuestro guión, nuestros puntos de fuegos artificiales Vamos a establecer que sean 500. ¿Sabes qué? Vamos a configurar esto para que sea instancia editable para que si queremos cambiar esto mientras estemos en el propio editor, podamos seguir adelante y hacer eso Entonces nuestro espectáculo de fuegos artificiales número especial, voy a establecer que sea siete Una vez más, también marcaré esta casilla de verificación editable de instancia que si queremos cambiar esto cuando estemos en editor, podemos hacerlo también Bien, con todo esto en su lugar, vamos a saltar a nuestro gráfico de eventos. Vamos a construir a partir de este evento Begin Play. Vamos a deshacernos de estos otros dos nodos que están aquí afuera. Clic izquierdo y arrastre. Eliminar fuera de Evento Iniciar juego. Lo que voy a hacer es hacer clic derecho, vamos a conseguir el controlador del jugador y luego vamos a lanzar el controlador de dos jugadores, nuestro controlador de jugador BP. Queremos hacer esto al comenzar a jugar. Y entonces lo que queremos hacer es decir esto en nuestra variable de controlador de jugador aquí mismo. Así que solo podemos arrastrar y soltar esto justo encima de este pin. Y eso traerá en un conjunto de versión. Entonces va a poblar esta variable con nuestro controlador de reproductor B P. No basta con crear esta variable y establecerla en ese tipo. Esto en realidad va a especificar en la sección de valor cuando lo estemos configurando aquí como el controlador de jugador real que estamos usando dentro del juego. Entonces voy a hacer click izquierdo en dragger en este toque la tecla C. Esto va a ser Ref al controlador del jugador Ref como en referencia. Voy a seguir adelante y ponerle ese negro. Ahora lo siguiente que voy a hacer es que voy a bajar bajo nuestra sección Despachadores de Eventos en el panel de mi plano. Voy a hacer click en esto. Para agregar un despachador de eventos. Y voy a llamar a este nivel completo. Ahora esto va a ser usado para mandar un mensaje a otros planos que necesitan saber que nuestro personaje jugador ha terminado el nivel Bien, con todo eso hecho, comencemos a crear nuestro guion masivo. Lo primero que vamos a hacer es verificar una superposición para nuestro volumen de disparo y una vez más nuestro volumen de disparo en nuestra ventana gráfica, ese va a ser este volumen gigante aquí mismo Vamos a comprobar si nuestro jugador está superponiendo eso. Ahora podemos agregar un evento de superposición para esto. Al seleccionarlo, podríamos hacer clic derecho y agregar un evento de esa manera. No obstante, sólo porque me gusta presumir de cosas diferentes, voy a seleccionarlo, llegar hasta la parte inferior de mi panel de detalles. Aquí hay varios eventos asociados con ese componente. Tenemos en componente comenzar la superposición. Voy a hacer clic en este botón más. Nos va a saltar a nuestra pestaña gráfica de eventos. Sólo vamos a bajar esto un poco. Dame un poco más de espacio aquí. Fuera de esto, vamos a averiguar quién es el otro actor. Vamos a emitir dos personajes en tercera persona. Bien, si es un personaje de tercera persona que está haciendo la superposición aquí, vamos a poblar nuestra, mi variable de carácter aquí Actualmente esto es nulo, es decir, está vacío. Vamos a enchufar esto, así que solo déjalo caer en este pin. Y eso va a conectarlo así al superponerlo. Vamos a poblar esta variable con nuestro carácter de tercera persona Una vez más, no basta con establecer ese tipo. Esto va a establecer la instancia real de nuestro personaje en tercera persona que estamos controlando en el juego. Bien, justo después de esto, sólo voy a pasar a la derecha aquí. Voy a hacer clic derecho para obtener el controlador del reproductor. Y lo que queremos hacer inmediatamente después de interactuar con ese volumen disparador es que queremos desactivar la entrada. Ahora otra vez, esto lo va a enchufar en el pin equivocado. De hecho, queremos conectar nuestro controlador de reproductor la entrada del controlador del reproductor. Entonces voy a mantener pulsado el control click izquierdo. Vamos a tapar esto abajo en la parte inferior. Muy importante. No te lo pierdas para el objetivo, vamos a enchufar a nuestro personaje. Bien, el siguiente que voy a hacer es traer un nodo de una vez. Puedo hacer esto manteniendo pulsada la tecla y haciendo clic izquierdo. Y quiero asegurar que todo lo que va a seguir sólo vamos a hacer una vez para evitar cualquier problema. Lo primero que voy a hacer una vez es que voy a llamar a nuestro despachador de eventos completos de nivel Podemos arrastrar esto como así tenemos un submenú aquí que queremos llamar a esto. Entonces tiene el pequeño icono del sobre. Entonces va a mandar un mensaje a cualquiera que esté escuchando para este evento que oye, nuestro nivel se ha completado. Bien, así que con ese poco de guión, voy a poner un cuadro de comentarios alrededor de esto. Quiero hacer un buen trabajo comentando cada sección que tenemos aquí Tecla C, voy a decir que este es mi jugador de detección lapping flag pole trigger volume También estoy deshabilitando la entrada y la mensajería de otros BP. Ese nivel está completo, ¿de acuerdo? Y siento que es bastante importante que haga un buen trabajo comentando todas estas cosas aquí. Para que cuando finalmente alejemos el zoom y veamos lo que hicimos, puedas identificar las distintas secciones. Entonces esa va a ser la sección número uno aquí. Puedes pausar el video si es necesario para ver esencialmente lo que hemos hecho aquí. Vamos a terminarlo con esa llamada a nuestro nivel despachador de eventos completo enviando mensajes que fuera. Bien, el siguiente guión que me gustaría agregar más allá de esto es establecer la ubicación de nuestra ubicación inicial de nuestra bandera cuando nuestro jugador cruza el volumen del gatillo. Ahora solo para ir a nuestro punto de vista aquí, esencialmente lo que queremos hacer es si nuestro personaje cruza este volumen disparador, ya sea en la parte superior de nuestra bandera o arriba, queremos que nuestra bandera comience su cabalgata por el asta de la bandera desde esa ubicación No obstante, si nuestro personaje cruza este asta de bandera, digamos aquí o más abajo, queremos que esta bandera comience su paseo hacia abajo en esa ubicación, ya sea en el centro o en la parte inferior, o donde sea que nuestro jugador cruce este volumen de disparo, vamos a trabajar instantáneamente la bandera ahí y luego escribirla en el asta de la bandera Bien, para hacer esto vamos a saltar al gráfico de eventos. Y una vez más vamos a estar construyendo esto fuera del final de nuestro nivel de llamada completo. Lo primero que tenemos que hacer es traer una referencia a nuestro carácter. Así que haz clic izquierdo y arrastra. Vamos a conseguir esto, vamos a arrastrar fuera de aquí, vamos a encontrar el punto de fijación de bandera. Ahora entre cortes de cámara aquí, abrí mi personaje en tercera persona. Ahora la razón por la que hice esto es para recordarles que dentro de nuestro plano de personaje en tercera persona, tengo un punto de bandera adherida Acabamos de agregar esto en el video anterior. Es un componente de flecha y se encuentra ahí mismo en nuestro personaje. Eso es esencialmente a lo que estoy haciendo referencia aquí mismo en mi BP, bandera de fin de nivel Estamos agarrando ese componente dentro de nuestro carácter. Ahora para lo que lo quiero es para saber su ubicación mundial. Obtener ubicación mundial, bien. Así que vamos a averiguar la ubicación mundial de dónde está eso. Entonces vamos a romper esto. Rompe eso en sus componentes x, y, z. Bien, aquí también vamos a querer agarrar nuestra bandera. Vaya, solo hago doble clic sobre él para saltarnos a la ventana gráfica Hagamos clic izquierdo y arrastremos eso hacia adentro. Entonces nosotros también, queremos obtener la ubicación mundial en romper este vector para esto también. Así que sólo voy a duplicar estos dos nodos. Control D, solo para tomar un poco de atajo aquí. Vamos a enchufar eso así. Ahora la razón por la que estamos rompiendo estos en sus componentes x, y, y z aquí es porque queremos comparar la altura z de nuestro punto de fijación de bandera aquí. Vamos a comparar eso averiguando si es mayor que la ubicación de nuestra bandera. ¿Nuestra bandera está unida al punto de nuestro carácter? ¿Eso es mayor que, en este caso, es más alto que la ubicación de nuestras banderas dentro del mundo? Vamos a tomar la salida de esto y conectarlo a una rama. Entonces voy a mantener pulsada la tecla B y click izquierdo. Esa va a ser la condición que estamos evaluando. Una vez más, estamos construyendo a partir del nivel de llamada completo. Vamos a cablear eso así. Bien, si esto es cierto, lo que quiero hacer es establecer mi punto de inicio de bandera. Entra debajo de tus variables aquí. Voy a mantener pulsada la tecla Alt, clic izquierdo y arrastrar para traer una versión setter de nuestro punto de inicio de bandera vamos a establecer las Aquí vamos a establecer las coordenadas de inicio para nuestra bandera. Para hacer eso vamos a arrastrar hacia atrás fuera de esto y escribir en make vector. Y vamos a hacer nuestro vector manteniendo esencialmente la ubicación x, y y z de nuestra bandera. Básicamente, si nuestro jugador aquí se adhiere a la bandera, básicamente ha volado hasta arriba o arriba Básicamente estamos diciendo aquí, sí, comencemos nuestra bandera en este punto en su paseo hacia abajo en la parte superior donde está. Por defecto, eso es esencialmente lo que estamos diciendo aquí. Ahora bien, si esto se evalúa como falso, lo que vamos a hacer es copiar este nodo aquí mismo Yo sólo voy a hacer el control D para copiar esta variable. Vamos a fluir hacia aquí y voy a limpiar mi guión aquí. Sólo un poco así para esto voy a hacer también un vector. Entonces voy a golpear el control D para copiar ese nodo. Para ello, lo que quiero hacer es mantener la x e y de nuestra posición actual de bandera. No obstante, la ubicación Z que quiero haber venido de nuestros caracteres bandera adjuntar punto. Esencialmente otra vez, lo que estoy diciendo aquí es que si nuestro punto de bandera adjunta es más alto que nuestra bandera cuando cruzamos ese volumen de activación, vamos a establecer nuestro punto de inicio bandera en donde sea que nuestra bandera esté comenzando en, ahora mismo, si eso es falso, vamos a establecer nuestro punto de inicio de bandera para sea la altura z de nuestros caracteres bandera punto adjunto. Entonces eso es lo que está pasando ahí. Ahora sólo estamos poblando esta variable, esta variable de punto de inicio de bandera Lo que tenemos que hacer es realmente usarlo. Entonces lo que voy a hacer es traer aquí una referencia a nuestra bandera. Arrastra y suelta eso, arrastra aquí. Y escriba la ubicación mundial establecida. Establezca la ubicación mundial allí mismo. Y voy a duplicar este nodo con su control seleccionado. D lo duplicará. traeremos una copia de ella aquí abajo. Alambre que. Podemos usar esta referencia de bandera en ambos nodos ahí y allá. Aquí vamos a establecer la ubicación. Esto inmediatamente va a establecer la ubicación de nuestras banderas donde sea que estén estas coordenadas. Muy bien, con eso, voy a seguir adelante y hacer clic y arrastrar alrededor de este bit de script click izquierdo y arrastrar, toque esa tecla y voy a acercar un poco hacia atrás para los comentarios. Este va a ser nuestro movimiento dos locale donde el jugador cruzó el volumen del gatillo Y vamos a darle color negro para añadir un poco de bonito contraste. Bien, con todo eso hecho, voy a enmarcar eso una vez más. Está saliendo de nuestro nivel de llamada completo. Vamos a compilar esto para asegurarnos de que nuestro script se vea bien y bien. Y guárdala. Y chicos, vamos a llamar a eso un video aquí mismo. Seguro que hay más trabajo por hacer, pero hemos tenido un comienzo bastante bueno. Te veremos en el siguiente video. 82. Script de asta de bandera #2: Bien, antes de continuar con nuestro guión de bandera, solo quería saltar y tocar y mostrarte lo que tenemos hasta ahora. Lo hemos hecho para que cuando nuestro personaje interactúe con el asta de bandera de fin de nivel, esencialmente estemos configurando esa bandera para comenzar su eventual paseo por el poste donde nuestro personaje se superponga y disparen el volumen Más trabajo que hacer aquí dentro de nuestro BP, bandera de fin de nivel y solo a tipo de marco donde vamos a construir a partir de este guión. A continuación vamos a estar construyendo primero a partir de este nodo de ubicación mundial establecido. Así que vamos a hacer clic derecho y una especie de desplazamiento hacia abajo en esta región. Acercar varias cosas que quiero hacer. El primero es asegurar que mi personaje va a estar de frente al asta de la bandera Y vamos a agregar un poco de compensación para asegurar que nuestro personaje esté frente al asta de la bandera antes de que comiencen el paseo hacia abajo. Así que también vamos a poner la animación de nuestros personajes a una pose determinada cuando también bajen por el asta de la Vamos a comenzar trayendo una referencia a nuestro personaje click izquierdo y arrastre. Vamos a conseguir eso y luego vamos a arrastrar esto y obtener nuestro componente cápsula. El componente de la cápsula es ese componente principal dentro de nuestro carácter, al que se unen otros componentes. Y vamos a arrastrar fuera de esta cápsula componentes y decir set world rotation una vez más. Dije que vamos a construir a partir de esta ubicación mundial ambientada a partir de este guión aquí mismo. Por qué esto por aquí Así. Ahora queremos alimentar esto una rotación. Queremos establecer la rotación de nuestros personajes a qué? Si bien vamos a obtener nuestro componente de punto final de jugador, solo para ir al punto de vista aquí. Este componente está justo aquí abajo. Es un componente de flecha. Ese tipo de ahí. Vamos a agarrar nuestro componente de punto final de jugador aquí. Vamos a arrastrar fuera de esto y decir obtener rotación mundial. Esa va a ser la rotación que vamos a garantizar que nuestro personaje esté mirando en esa dirección, básicamente de cara al asta de la bandera. Todo bien. Lo siguiente que quiero hacer es asegurar que nuestro personaje esté frente al asta de la bandera. Un poquito. Para hacer esto voy a arrastrar fuera del componente cápsula de mi personaje y escribir anuncio local offset wire esto en así la ubicación delta, la diferencia en ubicación es que solo voy a establecer la Y en 30. Y 30. Mientras llegué a eso haciendo algún ensayo y error. Siguiente Quiero que sea para que cuando nuestro personaje se superponga a ese volumen disparador, no se caigan de inmediato, como acabas de ver al principio de este video Más bien se congelan. Flotan en el medio. Para hacer eso, aquí voy a arrastrar fuera de mi personaje. Trae a mi componente de movimiento de personaje, sin embargo, el componente de movimiento del personaje fuera de esto. Voy a arrastrar y decir establecer escala de gravedad. Vamos a establecer nuestra escala de gravedad para que sea cero y voy a cablear esto así. Ahora solo para mostrarte qué demonios estoy haciendo aquí, voy a volver a entrar en mi personaje de tercera persona una vez más Estamos usando nuestro personaje en tercera persona dentro de este proyecto aquí. Si agarro mi componente de movimiento de personaje, este es el componente con el que estoy hablando aquí en mi secuencia de bandera de fin de nivel. Mi personaje componente de movimiento de personaje. Dentro de este componente, el componente de movimiento del personaje, tienes un valor de escala que actualmente se establece 2.5 Ahora aquí en mi bandera de fin de nivel, básicamente estoy diciendo, oye, pongamos la escala de gravedad para nuestro personaje a cero para que esencialmente vayan a flotar en el aire, congelarse en el aire cuando crucen ese volumen disparador Bien, así que solo voy a derribar esto como, así que tal vez traiga un nodo de re ruta aquí también solo para mostrar este flujo un poco mejor. Bien, lo siguiente que quiero hacer es que voy a seguir arrastrando el movimiento de mi personaje aquí. Y voy a teclear desactivar. Y eso va a hacer lo que dice, va a desactivar nuestro personaje para que no se mueva Por cierto, punta rápida aquí. Si quieres enderezar tus cables, como a lo mejor estos están un poco fuera de lugar, simplemente puedo resaltar estos dos y tocar la tecla El e está en silencio para enderezar esos cables. Avanzando, pasando un poco a la derecha aquí, voy a traer otra referencia a mi personaje para que no tenga que seguir tirando de esto y tener cables superpuestos. Y en realidad no quise traer ese componente de ruta. Déjame controlar Z. Eso bien, esto es lo que tenemos hasta ahora Voy a traer otra referencia a mi personaje, Arrastrar y soltar. Y solo aguanté la tecla de control mientras la arrastro y la suelto. Para conseguir un getter para eso, voy a arrastrar esto y escribir malla Voy a conseguir la malla. Y una vez más, saltando de nuevo a mi personaje en tercera persona, estoy diciendo que quiero este componente aquí mismo, mi maniquí malla aquí mismo Quiero conseguir esta malla porque quiero arrastrar fuera de aquí y en animación quiero que mi malla reproduzca una animación dada. Sí tengo uno en mente que me gustaría que jugara. Si selecciono aquí mismo, nueva animación para reproducir. Voy a escribir M, M, correr de guión bajo, guión bajo no N M, guión bajo, Y como puedes ver en el camino, esto está en el personaje del juego Mannequins Animation Si haces clic en esto, navegará ese activo dentro del navegador de contenido. De hecho, voy a hacer eso ahora mismo, haciendo clic en esta lupa, aquí está, justo aquí abajo Esta animación. Ahora está reproduciendo esta animación. Sólo voy a hacer una pausa aquí abajo. Ahora quiero que esto se congele esencialmente en el tiempo en un punto dado dentro de la animación. Esencialmente quiero que esto lo congele sobre la marca de 1.9 segundos, en algún lugar aproximadamente hacia el final. La razón es porque aproximadamente en este punto mano de nuestro personaje está afuera en este punto de la animación. Así que quería parecer que nuestro personaje está agarrando el asta de la bandera y escribiéndolo para que nuestro personaje juegue esta animación En este punto realmente puedo volver a mi bandera de fin de nivel aquí y puedo arrastrar fuera de nuestra malla así y escribir en establecer mi posición de animación aquí. Estoy jugando la animación. Y con esta función estoy configurando la posición, la posición en el tiempo. Entonces voy a poner esto a 1.9 como me acabas de ver puesto aquí. En la carrera al frente, pasé a la marca de 1.9 segundos. Esencialmente quiero que esa pose juegue y voy a conectar esto como si estuviera bien, así que haciendo zoom, estoy de vuelta aquí un poco es este poco de guión Voy a dar click y arrastrar alrededor de esto. Llamaré a este personaje conjunto y jugaré anim poco de guión así Encuadre eso para todos aquí un poco mejor. Y ahora antes de que llamemos a este video, voy a subir hacia lo más alto de este pedacito de guión. Estamos quitando el asta de la bandera al lugar donde el jugador cruza el volumen del gatillo Voy a construir a partir de esta ubicación mundial establecida. Tenga en cuenta un poco porque lo que queremos hacer es que queremos establecer la configuración regional del jugador si saltan sobre el asta de la bandera Entonces para hacer esto, voy a traer una referencia a mi personaje. Una vez más, mi personaje la arrastra. Voy a conseguir el personaje que voy a arrastrar de aquí. Una vez más, consigue ese componente de cápsula. Vamos a conseguir el componente de cápsula que vamos a arrastrar de aquí. Vamos a decir establecer la ubicación mundial. Y voy a cablear esto así. ¿Cuál es la ubicación que quiero establecer para esto? Bueno, voy a conseguir que nuestro jugador empiece el punto máximo. Lo que voy a decir fue mi punto de partida de jugador aquí mismo. Sólo para mostrarte dónde está esto dentro de nuestro punto de vista, el punto de inicio de los jugadores va a estar ahí mismo. Entonces, si saltan sobre el asta de la bandera, vamos a decir jugador, vas a empezar en ese punto ahí mismo Vamos a agarrar eso. Los jugadores comienzan punto, arrástralo. Vamos a arrastrar esto y decir ubicación mundial. Vamos a obtener la ubicación mundial de eso, la ubicación mundial de eso es donde vamos a establecer la ubicación de nuestros personajes. Lo que entonces tenemos que hacer es simplemente cablear el final de esto hacia aquí, estableciendo nuestra rotación mundial. Simplemente retrocediendo un poco, para que puedas ver dónde se posiciona todo esto dentro del esquema mayor de nuestro guión de blueprint Aquí, voy a acercar este poquito. Aquí mismo puedo poner un comentario a su alrededor, tocar esa tecla, y voy a llamar a esto mi set player locale Si saltan sobre el asta de la bandera, solo para dejar eso claro a la distancia, qué demonios está pasando aquí Bien, con todo eso en su lugar, claro que deberíamos compilar nuestro script y guardar. Y volvamos a saltar a nuestro nivel solo para darnos una jugada la primera vez aquí. Voy a asegurar que no salte por encima de la parte superior de mi asta de bandera. Entonces aquí vamos. Saltando y planificando, solo va a superponerse a este volumen disparador. Como puedes ver, ahora nos congelamos en su lugar y probablemente necesitemos darle codazo un poco a nuestro personaje para que parezca que están agarrando el asta de la bandera Para ello, podemos ajustar un poco la ubicación de nuestro personaje. Están un poco compensados, pero en interés del tiempo, voy a vivir con eso por ahora. Ahora necesitamos probar el escenario de nuestro personaje tratando de saltar por encima de la parte superior del asta de la bandera Para ayudar con esto, voy a poner una de mis plataformas lanzadoras justo en frente aquí. Déjame seguir adelante y seleccionar mi lanzador. Sólo voy a escalar un poco la parte superior del lanzador aquí. No voy a ser preciso, solo hay que hacer esto rebotando lo suficiente para que volemos al aire y terminemos nuestro asta de bandera Así que vamos a darnos una oportunidad saltando y jugando. Puedes ver que deformó a nuestro personaje hasta lo más alto de nuestro asta de bandera Y eso es exactamente lo que queremos que pase ahí. Bien, así que obviamente hay más trabajo por hacer para que nuestro personaje baje por el asta de la bandera, salte de él y explote en un respiro de gloria Pero ahora tenemos a nuestro personaje congelado en el punto correcto a lo largo del asta de la bandera, jugando la animación correcta, pareciendo que están agarrando un poco del asta de la bandera Además de desactivar el movimiento de nuestros personajes. Chicos, eso va a hacerlo todo por este video. Te veremos en la siguiente. 83. Script para poste de bandera #3: Bienvenido de nuevo. Nuestro siguiente paso aquí es hacerlo para que nuestra bandera y nuestro personaje animen por el asta de la bandera cuando nuestro personaje se haya solapado con este Así que volvamos a sumergirnos en nuestro plano de bandera ahora desde una vista de 10,000 pies Este es todo el guión que tenemos actualmente en su lugar. Dentro de nuestro BP, bandera de fin de nivel, notas que tenemos ciertos segmentos de nuestro guión comentado secciones de nuestro guión para ayudarnos a identificar qué carajo está pasando y dónde Ahora pensé que mencionaría esto mientras estamos aquí, que si vienes debajo del menú de la ventana y activas los marcadores, puedes hacer doble clic en cualquiera de tus nodos de comentarios aquí abajo para saltar a esa sección del guión F al personaje del jugador Simplemente haga doble clic en eso. Y ampliará esa sección del guión, establecerá la posición del personaje y jugará anum Esa sección del guión será resaltada, así que esa es una gran manera navegar por tu plano Ahora vamos a comenzar construyendo a partir de esta posición establecida, nodo fuera de este conjunto de personajes y jugar una sección de guión. Así que voy a acercarme aquí abajo. Y antes de animar a nuestro y a nuestro personaje por el asta de la bandera, vamos a traer un retraso Entonces voy a hacer click derecho, traer un nodo de retardo. Vamos a retrasar por 1 segundo Aquí, déjame acercar un poco más la línea. Una vez más estamos construyendo a partir de esta función de posición establecida. Vamos a demorar 1 segundo. Y entonces lo que vamos a hacer es que vamos a tocar un sonido. Play Sound Two D, este va a ser nuestro asta de bandera Sonido. Entonces vamos a demorar 1 segundo antes de iniciar este sonido. Y luego después de esto, vamos a hacer un par de cosas. Porque quiero hacer un par de cosas esencialmente al mismo tiempo, voy a traer un nodo de secuencia. Y voy a hacer esto manteniendo pulsada la tecla y haciendo click izquierdo, Eso traerá en un nodo de secuencia. Y solo voy a poner un cuadro de comentarios alrededor de esta tecla de clic izquierdo y arrastrar realmente rápido. Voy a llamar a esto mi pausa antes de tocar y bajar por la sección pole del guión. Solo una ligera pausa antes de reproducir este sonido. Y luego haz un par de cosas aquí. Yo también colorearé negro. Sólo para crear un poco más de contraste entre mis cables ahí, vamos a conseguir que nuestro personaje se anime por el asta de la bandera Para ello voy a traer aquí una referencia a mi personaje. Así que voy a mantener presionado el control click izquierdo. Eso va a conseguir mi carácter. Entonces voy a arrastrar fuera de mi personaje y escribir componente cápsula. Voy a conseguir el componente cápsula porque una vez más, el componente cápsula, si entro de mi BP, personaje de tercera persona, ese es el componente principal del cual todos los demás componentes que se agregan dentro de este están unidos a nuestro componente cápsula. Ese es esencialmente nuestro componente raíz aquí. Quiero entender eso y la razón por la que quiero que nuestro componente cápsula vuelva aquí en nuestra bandera de fin de nivel es para que pueda arrastrar fuera de esto y escribir en mover el componente dos. Vamos a mover ese componente. Y al mover ese componente, todos los demás componentes de nuestro personaje van a venir con él. Vamos a enchufar esto directamente en movimiento. Voy a traer en un nodo re ruta sólo para ordenar esto un poco. Ahora, ¿ a dónde queremos trasladar esto? Bueno, queremos mover esto a nuestro punto final de jugador. Así que arrastremos esto y obtengamos eso solo para mostrar dónde está esto en nuestro punto final del reproductor Viewport Acabo de hacer clic en él aquí. Se puede ver que está justo ahí abajo. Ese es esencialmente el punto en el que queremos mover a nuestro personaje de abajo hacia atrás en nuestro gráfico de eventos aquí. Vamos a mover esto hacia lado aquí, nuestro punto final de jugador. Salgamos de aquí, consigamos la ubicación mundial. Esa va a ser la ubicación a la que queremos ir. Y entonces vamos a arrastrarlo de nuevo y escribir en obtener rotación mundial así. Ahora llegamos a especificar sobre qué cantidad de tiempo va a pasar todo esto. Aquí mismo, puedes especificar una hora. Voy a hacer que esto sea 1 segundo. Eso va a hacer que nuestro personaje se mueva por el asta de la bandera. Así que permítanme hacer click izquierdo y arrastrar alrededor de este tap, esa tecla C, voy a decir animate character down the pole Colorea ese negro también. Te imaginas que vamos a hacer algo similar por nuestra bandera. Sólo voy a mover esto aquí un poco. Eso va a ser lo primero que vamos a hacer de nuestro nodo de secuencia aquí mismo. Lo siguiente que vamos a hacer fuera de nuestro nodo de secuencia es acaparar una referencia a nuestra, nuestra bandera, obviamente siendo esto ahí mismo Ese es nuestro componente de bandera. Vamos a arrastrar y soltar esto adentro. Vamos a arrastrar fuera de aquí. También vamos a traer un componente dos. Vamos a enchufar esto así, al pin de entrada. Ahora, ¿dónde queremos animar esto? Bueno, queremos trasladar esto a nuestro punto final. Tenemos un componente específico para este punto final de bandera. Si olvidaste dónde está esto, vuelve a nuestra pestaña Viewport aquí Esta cabeza de dragón de aquí. Este es nuestro punto final de bandera. Entonces va a ir así de aquí abajo para allá. Arrastre fuera de nuestro punto final de bandera y vamos a obtener la ubicación relativa. Esta es la ubicación relativa a nuestro objetivo. Y entonces vamos a arrastrar esto y vamos a escribir en rotación relativa. Así que de nuevo, vamos a especificar 1 segundo aquí mismo. Bien, entonces esto va a estar animando nuestra bandera. Haz click izquierdo y arrastra alrededor de este toque, esa tecla y esta va a ser animada bandera abajo del poste Hola, este negro. Y luego sigamos adelante y compilemos y guardemos. Y vamos a saltar y jugar y echar un vistazo a lo que tenemos. Bien, salta aquí, bandera anima hacia abajo. Nuestro personaje anima hacia abajo. Ahora con el tiempo nuestro personaje va a saltar y explotar Pero eso es esencialmente lo que queríamos que ocurriera hasta ahora. Ahora bien, una cosa con la que no me emociona exactamente aquí es que nuestro personaje, si te das cuenta y miras con atención Ahora mismo, parece que están agarrando el asta de la bandera, pero cuando empezaron parecía que estaban un poco Así que permítanme hacer esto de nuevo ahora. Mira a mano a nuestros personajes. Al principio aquí, están algo así como frente a ese asta de bandera Y luego, como que se animan a ello. Nuestra bandera está funcionando bien, pero nuestro carácter no tanto. Entonces, la forma en que podemos arreglar esto es esencialmente volver a nuestro punto de vista aquí y asegurarnos de que nuestro disparador aquí va a estar esencialmente en línea con ese punto final del jugador. Entonces, si tuviera que entrar aquí a una vista lateral, vayamos a la vista izquierda. Ahora vamos a la vista correcta. La vista correcta es la que queremos y tengo que seleccionar nuestro volumen de disparo ahí mismo. Parece que está en línea ahí mismo. Pero al parecer eso no va a ser genial visualmente. Así que sólo voy a golpear un poco más el volumen de mi gatillo. Sin embargo, quiero desactivar mi configuración de snap aquí. Voy a ir justo por el medio como pensé que quería tenerlo. Ahora podría prever un problema con la configuración de mi volumen de gatillo aquí mismo y es que mi personaje podría chocar bandera real y posiblemente incluso la parte superior del asta de la bandera Pero permítanme seguir adelante y compilar esto y guardar y jugar ahora veamos cómo reacciona mi personaje ante el asta de la bandera puede ver ahora mismo que en realidad no están superponiendo ese volumen de disparo porque nuestro personaje se está topando con el asta de la bandera Entonces, ¿cómo remediamos eso? Bueno, lo que podemos hacer en realidad es apagar la colisión para nuestro asta de bandera así como nuestro top de asta aquí Queremos asegurarnos de que nuestro personaje no se tope con estos. En cambio, pueden pasar a través de él para que golpeen ese volumen de disparo. Con ambos seleccionados, todo que voy a hacer es entrar en los presets de colisión y encender sin colisión, sin colisión para nuestro asta de bandera así como una parte superior de bandera Voy a compilar. Guarda esto nuevo. Salta de nuevo al juego. Ahora bien, si iba a saltar, voy a golpear esencialmente eso ahí. Eso es bastante bueno. Parece que nuestro personaje se animó por ese asta de bandera como se pretendía, sin que nuestro personaje chocara con el asta de la bandera en sí Así que ajusta ese volumen de disparo como desees. Otra vez, lo tengo justo en la mitad de mi asta de bandera justo ahí Si quieres ver la ubicación real, ahí es donde actualmente tengo la ubicación establecida N. Entonces si haces eso, asegúrate de simplemente apagar tu parte superior de bandera y tus postes de bandera. Colisión. Y lo hicimos al caer bajo un preajuste de colisión. Sin colisión. Bien eso, vamos a terminar este video. Aún más trabajo por hacer. Los veremos a todos en la siguiente. 84. Script para poste de bandera #4: Bien, continuando adelante con nuestra bandera de fin de nivel, volvamos a saltar para que podamos explotar al jugador, nuestros jugadores actualmente montando la bandera hacia abajo Hagámoslo para que salten y exploten justo por ahí Para volver a saltar a nuestra bandera de fin de nivel, voy a mostrar cómo podrías simplemente hacer clic derecho en el activo en tu nivel. Aquí podemos editar BP, bandera de fin de nivel. Al hacer clic en eso le irá bien. También controle la combinación fácil de teclas de acceso rápido para volver a entrar. Ahora este es actualmente nuestro guión desde una vista de 10,000 pies. Voy a hacer click derecho y hacer zoom hasta donde estábamos animando a nuestro personaje por el poste Entonces volvamos a venir justo en esa región. Está fuera de nuestra secuencia aquí mismo. Lo primero que vamos a hacer es traer otra referencia a nuestro personaje justo encima en el panel de mi plano Vamos a traer otra referencia a nuestro personaje manteniendo pulsado el control y el clic izquierdo. Vamos a conseguir mi personaje. Y entonces voy a arrastrar fuera de esto y escribir en get mesh. Quiero conseguir esa malla de maniquí desde dentro de nuestro personaje Ese componente de malla. Entonces voy a arrastrar esto y escribir animación de juego. Hay una animación específica que me gustaría tocar y va a ser M, M, Underscore J. Ump. Y vamos a enganchar esto fuera del final de este componente de movimiento dos, después de haber animado al personaje por la pole. Así que solo mostrando por dónde va a entrar eso. Ahora solo hojeando a esta animación aquí mismo, hacer clic en este icono de lupa, se va a quedar así Como nuestro personaje está agachado. Entonces, esencialmente lo que vamos a hacer es que nuestro jugador va a estar al final. El asta de bandera en la parte inferior, si se quiere. Y sólo van a hacer una pausa por un breve momento de tiempo. Y ahí es donde voy a saltar de nuevo a mi guión aquí. Y voy a decir, vamos a demorar aquí 0.3 segundos. Entonces voy a mantener pulsada la tecla por retraso, clic izquierdo. Eso traerá un nodo de retardo. Entonces tengo a mi personaje jugando esta animación, esa agachada mientras saltan Y entonces vamos a demorar 0.3 segundos y 0.3 porque, bueno eso es lo que mi prueba de juego determinó que era bastante buena. Voy a hacer click izquierdo y arrastrar alrededor de estos, Toca la tecla y este va a ser mi jugador en parte inferior del script de asta de bandera repping Diré entre paréntesis, salta. En realidad no van a estar saltando, vamos a estar moviéndolos, pero va a parecer que están saltando. Una vez más, voy a colorear este negro también. Bien. A continuación hagamos que nuestro jugador realmente salte del asta de la bandera. Así que vamos a botón de boca derecha y simplemente pan sobre. Vamos a estar construyendo a partir de este nodo de retardo. Una vez más, vamos a estar trayendo una referencia a nuestro personaje. Voy a mantener pulsado el control, hacer clic izquierdo y arrastrar. Ahí está mi personaje. Voy a sacar de esto una vez más y voy a conseguir la mish, Get ish. También vamos a jugar otra animación, drag play animación. Y lo que va a ser esto, vamos a enganchar esto de inmediato, el cable de ejecución, para que esta función, esta función de animación de reproducción suceda. Ahora la animación que quiero reproducir aquí se va a llamar fall loop. Va a estar en esa misma serie de carpetas ahí. Puedes ver el camino aquí, Fall Loop, solo para mostrarte cómo va a ser esto, va a parecer que nuestro personaje está un poco atascado perpetuamente en este bucle. Algo así. Mientras están animando desde la parte inferior del asta de la bandera hasta nuestro punto de explosión, esencialmente van a estar reproduciendo esa animación Podrías establecer esto en un ciclo si quieres. Quiero decir, todo esto va a ser relativamente rápido. Esa es la elección del distribuidor ahí mismo. Y entonces lo que voy a hacer es que voy a arrastrar de nuevo mi personaje aquí. Y vamos a conseguir los componentes de la cápsula una vez más. El componente de la cápsula es ese componente raíz principal de nuestro carácter, del cual está unido todos los demás componentes. Entonces, si movemos el componente cápsula, vamos a mover todo lo demás. Ahora la razón por la que estamos haciendo esto es porque vamos a arrastrar fuera de esto y vamos a decir mover componente a. Vamos a mover este componente, asegúrate de conectarlo como así fuera. Bueno, queremos moverlo a nuestro punto de explosión. Ahora permítanme simplemente saltar a nuestro punto de vista aquí mismo. Tenemos este jugador punto de explosión. Y lo he seleccionado sobre mi panel de componentes. Eso es esencialmente este componente de flecha aquí dentro esta caja justo ahí es donde vamos a estar moviendo nuestro componente cápsula jugadores a. Vamos a traer a nuestro jugador explotar. Apunte ese componente ahí mismo. Vamos a arrastrar esto, vamos a conseguir la ubicación mundial. Y esa va a ser la ubicación objetivo de nuestro componente cápsula. Entonces también vamos a alargar de esto y diremos que obtenga una rotación mundial una vez más, puedes decidir cuánto tiempo va a cuánto tiempo pasar esta transición, desde donde nuestro personaje está en cuclillas en la parte inferior del poste de mosca hasta la elección de este crupier Voy a poner esto a medio segundo, así que 0.5 segundos. Pongamos una caja cómica alrededor de este clic izquierdo, arrastre, toque esa tecla, y yo diré que un jugador saltando del asta de la bandera. colorearemos este negro. Basta con alejar uno. Actualmente tenemos dos bloques de guión aquí mismo que hemos escrito en este video en particular. Bien, ahora explotemos a los jugadores, ¿de acuerdo? Entonces para hacer esto, vamos a pasar a la derecha. Una vez más, queremos obtener el personaje en el componente cápsula. Una vez más, voy a tomar un atajo. Aquí. Voy a resaltar estos dos nodos controlando y haciendo click izquierdo. Yo haré el control D para duplicarlos a ambos y traerlos por aquí. Lo que quiero hacer es que quiero arrastrarme de mi componente de cápsula aquí. Todavía quiero la ubicación mundial de nuestro componente cápsula. Y la razón por la que quiero obtener la ubicación mundial de mi componente cápsula es porque ahí es donde voy a arrastrarme fuera de aquí, engendrar emisor Una vez más, desovar un emisor va a engendrar el estilo más antiguo de partículas Ahora la razón por la que estoy engendrando un estilo más antiguo de partículas es porque si hago clic aquí mismo, nuestra partícula de explosión actualmente dentro de nuestro contenido iniciado, ese es el legado, el sistema de partículas en cascada más antiguo Lo tenemos disponible para nosotros en el contenido iniciado. Si tienes una explosión de estilo más nuevo disponible a través del sistema de partículas del Niágara, podrías elegir el sistema de desove en el lugar, así es como puedes engendrar una partícula del Niágara Tenemos que enchufar esto como la ubicación donde vamos a desovar en ese efecto de partícula También voy a escalar esta explosión para hacerla un poco más grande. Entonces lo configuraré para que sean dos en todos los ámbitos. También voy a estar usando esta ubicación mundial como el lugar en el que quiero tocar un sonido. Sí, puedes reproducir un sonido en un lugar determinado. Así que voy a arrastrar fuera de aquí y escribir sonido de reproducción en el lugar. Entonces, por supuesto, si tenemos una visual para una explosión, probablemente también queremos un efecto de sonido para una explosión. Tenemos esta explosión. Lo que esto hará es que va a aleatorizar cuál de estas dos ondas sonoras dadas toca muy similar, pero podrías elegir cualquiera de estas ondas sonoras Esto va a reproducir la onda de sonido crudo en sí. Una señal de sonido ofrece un poco más de flexibilidad, puede ofrecer cosas aleatorias de esa naturaleza Entonces voy a elegir la señal de sonido. Ahora una cosa más que voy a hacer aquí es que en realidad no voy a destruir al jugador, solo voy a esconder al jugador. Entonces voy a arrastrar fuera de mi componente cápsula una vez más. Y voy a escribir en el conjunto de visibilidad. No quiero destruir al jugador y perder una vida ni nada por el estilo. Entonces voy a establecer visibilidad, asegúrate de que conectes este cable de ejecución. Y vamos a dejar esta nueva visibilidad aquí sin marcar decir, no vamos a ver a nuestro personaje explotando a nuestro jugador En realidad no nos estamos deshaciendo, no estamos destruyendo a nuestro jugador. Todo es un poco de juego una mano solo ocultándolos, haciéndolos invisibles. Bien, tocando esa tecla C. Voy a llamar a esto mi guión de Explode the Players. También colorearemos este negro. Bien, sigamos adelante y compilemos esto y ahorremos. Vamos a saltar y jugar y ver cómo se ve esto. Bien, voy a saltar sobre eso. Simplemente salta a la piscina de moscas, escríbalo, pausa, salta, y nuestro personaje no explotó ahí Entonces eso obviamente es un problema. Vamos a ver qué pasa. Bueno, y ahí lo tendríamos. Sí tengo nuestro componente cápsula golpeando, pero necesito propagarlo también a los niños Eso son todos los demás componentes que se le van a unir. Entonces, si marco esta casilla, volvamos a saltar y jugar y subirnos. Lo escribimos en abajo, boom, se ha ido nuestro personaje en un respiro de gloria Qué satisfactorio en verdad. Así que sí, por favor asegúrese de recordar marcar esa casilla para propagar a los niños también Bien, entonces en este video agregamos estas tres secciones de guión a nuestro asta de bandera de fin de nivel Y construimos esto a partir de nuestro personaje animado por el asta de la bandera Así que solo para acercar un poco cada bit de guión en caso de que quieras pausar el video aquí. Ese era nuestro jugador en la parte inferior del asta de la bandera, preparándose para saltar, jugador saltando del asta de la Y luego por último pero no menos importante, tenemos explotando a nuestro jugador Bien, un poco más para ir, pero eso va a terminar este video. Te veremos en la siguiente. 85. Secuencia de comandos para postes de bandera #5: Bien, rematemos nuestra bandera de fin de nivel haciendo clic derecho sobre ella. Lo editaré. Control más E lo volverá a saltar ahí dentro. Una vez más, así es como se ve nuestro guión desde una vista alejada de 10,000 pies Vamos a seguir camino en la parte inferior derecha de aquí, así que voy a hacer click derecho. Acercar el zoom hacia arriba. Construiremos a partir de este nodo de visibilidad conjunto. Ahora nuestro objetivo aquí va a ser jugar un espectáculo de fuegos artificiales solo si nuestro tiempo de fin de nivel termina con cierto dígito. Ahora tengo esta idea de jugar a los primeros Super Mario Brothers de vuelta en la Nintendo. Y creo que si estoy recordando correctamente, si terminaste con un tiempo de nivel teniendo un dígito de seis, así como 86 segundos, obtendrías una exhibición de fuegos artificiales que consta de seis fuegos artificiales. Entonces eso es esencialmente lo que vamos a buscar aquí. Sólo un poco de jazz extra. Ahora lo que quiero hacer aquí es que quiero saber si nuestro número de espectáculo especial de fuegos artificiales, en mi caso, tengo una variable entera establecida en el valor de siete, vamos a arrastrar esto, así que si nuestro tiempo esencialmente va a terminar con el nivel de siete, vamos a obtener esta variable que queremos reproducir fuegos artificiales. Entonces aquí estoy trayendo una referencia a esencialmente nuestro número siete aquí. Entonces ahora quiero saber si nuestro tiempo de nivel va a terminar con el número siete. Entonces, ¿cómo hago eso? Bueno, tengo que traer una referencia a mi controlador, mi controlador de reproductor BP. Entonces voy a mantener pulsado el control, click izquierdo y arrastrar. Entonces voy a arrastrar fuera de mi controlador aquí y escribir en el nivel de tiempo. Vamos a conseguir nuestro nivel de tiempo. Ahora bien, esta es una variable entera que vive dentro de nuestro controlador de reproductor BP. Así que déjame saltar rápidamente a ese plano. Hay mi variable entera de tiempo de nivel dentro de ahí actualmente establecida en 500. Volvamos a saltar a nuestra bandera de fin de nivel. Bien, Y lo que queremos hacer es averiguar el dígito más correcto de eso. Ahora para hacer esto vamos a darle click derecho en algún espacio vacío y teclearlo justo debajo de la cadena. Haga clic en la derecha para traer un nodo de función aquí. Y lo que vamos a hacer es que vamos a enchufar nuestro entero aquí en esta entrada de cadena. Esto va a convertir nuestro tiempo de nivel de un entero en una cadena. Al convertir esto en una cadena, tenemos acceso a más funciones como esta función aquí mismo para extraer información muy específica sobre ella. En este caso, solo queremos saber cuál es el último dígito de nuestro tiempo de nivel. Ahora para hacer esto, si paso el mouse sobre esto, va a decir que va a devolver la cadena a la derecha de la ubicación especificada. Contando hacia atrás desde la derecha. Si pongo mi conteo aquí en uno, esencialmente me dará el último dígito contando desde la derecha de nuestro tiempo. Si terminamos con un tiempo de nivel de digamos, 87, aquí escupirá el número siete Y vamos a comparar eso con nuestro espectáculo especial de fuegos artificiales. Para comparar estos dos, voy a hacer clic derecho en algún espacio vacío y traer un operador igual. Nuestro espectáculo especial de fuegos artificiales será, bueno, lo estamos enchufando en la parte superior Nuestro valor de retorno aquí de nuestra función va a ser enchufado en la parte inferior Va a convertir eso en una entrada de cadena de inmediato. Y entonces lo que vamos a hacer es traer una nota de rama para mantener pulsadas las teclas B y rama y click izquierdo. Esa va a ser nuestra condición que estemos comprobando aquí para ver si estos son esencialmente iguales. Una vez más, vamos a seguir adelante con nuestro explotar al jugador Para mantener el flujo de ejecución, debe tomar su pin de salida de visibilidad establecido aquí y enchufarlo a la rama. Y así con eso voy a hacer click izquierdo alrededor de estos nodos. Arrastre hacia afuera, toque esa tecla C para traer la caja cómica. Y este va a ser mi cheque si último dígito del tiempo restante es igual al número del espectáculo de fuegos artificiales, ¿de acuerdo? Y voy a colorear este negro para que sea más fácil para que veas si quieres pausar el video aquí mismo. Entonces eso es solo nosotros comprobando para ver si el último dígito del tiempo restante es igual al número especial del espectáculo de fuegos artificiales deseado. Si esto es cierto, vamos a seguir fuera de esto. La verdadera rama, voy a traer en un nodo de retardo. Mantenga pulsada la tecla D y haga clic izquierdo vamos a retrasar solo medio segundo, 0.5 segundos. Entonces vamos a hacer algo cierto número de veces. Vamos a hacer click derecho y traer un nodo. Queremos hacer algo n número de veces. Siendo esto cualquier valor que esté enchufado a esto, ¿ qué queremos hacer? N número de veces? Bueno, ¿cuántas veces queremos hacerlo? Bueno, vamos a hacerlo, nuestro espectáculo especial de fuegos artificiales número en nuestro caso siete veces. ¿Qué queremos que suceda siete veces? Bueno, ahora vamos a generar algunos fuegos artificiales. Me voy a mover por aquí, vamos a hacer clic derecho y vamos a generar emisor en no voy a enganchar esto, pero voy a enchufar o especificar mi plantilla de emisor aquí Y esto va a ser subrayado chispa explosión. Este tipo de aquí, está en el paquete de efectos de hoja infinita. Subrayar la chispa estalló. Ahora bien, ¿dónde quiero que jueguen estos fuegos artificiales? Bueno, si entro aquí en mi ventana gráfica, configuré toda esta área de caja aquí mismo De hecho, lo llamé área de fuegos artificiales. Yo solo quería desovar al azar en algún lugar de esta zona. Con este componente seleccionado en mi gráfica de eventos. Voy a traer en mi área de fuegos artificiales. Voy a arrastrarlo ahí mismo. Vamos a acercarnos un poco aquí. Esa es mi área de fuegos artificiales. Voy a arrastrar fuera de esto y voy a decir obtener ubicación mundial. Obtener ubicación mundial como. Entonces también voy a arrastrar fuera de aquí en tipo en extensión, obtener la extensión de caja, básicamente conseguirme esta área donde está nuestra área de exhibición de fuegos artificiales. Entonces voy a hacer click derecho en algún espacio vacío en tipo en punto aleatorio en cuadro delimitador Entonces voy a conseguir el centro de nuestra zona de fuegos artificiales aquí mismo. Y luego para la extensión de la caja, eso va a ser enchufado a nuestro medio tamaño, y esencialmente esto va a escoger un punto dentro de nuestra área de fuegos artificiales Esa va a ser la ubicación en la que quiero engendrar nuestros fuegos artificiales Ahora, no sólo voy a enchufar esto directamente a aquí. Lo que quiero hacer en cambio es que esto se establezca como nuestro lugar de fuegos artificiales. Porque quiero hacer esto n número de veces, que cada vez que nuestros fuegos artificiales locales, vez que esto se desprenda número de veces, en nuestro caso, siete veces va a estar eligiendo un lugar diferente Cada vez que voy a tomar nuestro local de fuegos artificiales aquí y lo voy a enchufar justo encima del valor de retorno para traer un setter Y ahora mi configuración va a ser como, así que cada vez que disparemos fuera de aquí, vamos a establecer una nueva configuración regional de fuegos artificiales aleatorios Y ese va a ser el lugar en el que engendremos un estallido de chispas, esencialmente algunos Ahora, una vez más, si quieres usar el sistema Niagara Particle, esta sería la ubicación de spawn systemt Esta partícula en particular es un poco pequeña, así que voy a aumentar el tamaño de la misma aumentando mi escala aquí a diez en todos los ámbitos. Ahora es bastante cojo tener un efecto de partículas sin algún sonido Así que sigamos adelante y toquemos algo de sonido después de esto también. Así que arrastrándonos de aquí, vamos a reproducir sonido en el lugar ¿Qué queremos para un sonido aquí? Bueno, en realidad pensé que el sonido de Mario Swamp en realidad suena bastante bien para esta explosión No sonó bien. De hecho pensé que eso sonaba bastante bien La ubicación del sonido. Bueno, una vez más puedo usar mi local de fuegos artificiales. Dondequiera que se determine nuestra localidad de fuegos artificiales, usaremos como la ubicación para que suene nuestro sonido. Entonces lo que también voy a hacer es que quiero generar algunos puntos en también Vamos a arrastrar fuera de aquí y voy a escribir sierra Acto de clase porque sería genial tener un poco de puntos de bonificación por ganar algunos fuegos artificiales si se quiere para nuestra clase aquí, voy a poner en nuestros puntos de subrayado BP que creamos antes en el curso Y claro tenemos que especificar dónde va a desovar esto Puedo simplemente arrastrar hacia atrás fuera de la transformación de engendro y escribir make transform así para la configuración regional de fuegos artificiales Podría simplemente enchufar eso como la ubicación para generar este widget de puntos, lo cual va a ser bastante genial Ahora bien, ¿cuántos puntos queremos sumar por cada fuegos artificiales? Bueno, quiero decir, tenemos que elegir aquí. Tenemos nuestra variable de puntos de fuegos artificiales. Actualmente he puesto esto en 500, así que sigamos adelante y solo conectemos esto, por eso creamos a ese tipo. Entonces lo que también vamos a hacer es traer mi mando, lo que se refiere a que nuestro controlador de reproductor arrastrando eso adentro Vamos a conseguir eso, entonces vamos a arrastrar fuera de esto y escribir sumar puntos. Vamos a sumar puntos, y voy a saltar a esto en sólo un segundo. ¿Cuántos puntos nos gustaría sumar? Bueno, podemos sumar el número de nuestros puntos de fuegos artificiales. Esencialmente, lo que estamos haciendo aquí es que vamos a exhibir puntos cada vez que se dispara un fuegos artificiales. Además de eso, estamos llamando a esto sumar puntos dentro de nuestro controlador de reproductor BP. ¿Qué hace esto una vez más? Bueno, si solo hago doble clic sobre esto, me va a saltar al mando de mi reproductor BP. Y demuestra que vamos a llamar a este evento personalizado. Y vamos a pasar por el número de puntos que hemos enchufado, aquí mismo, en este caso 500 Eso va a pasar a través de eso. 500 más nuestro total de puntos actuales. Y eso va a hacer que nuestro nuevo punto sea total. Una vez más, nuestro valor de puntos está asociado con nuestro despliegue de puntos dentro de nuestro Ud, así que eso debería estar bien en Dandy Bien, alejemos el zoom y mostremos una vez más lo que tenemos aquí. Voy a dejar clic y arrastrar alrededor de todo esto, esa clave, y voy a llamar a esto mi jugada. Fire Works, otorgando puntos extra al jugador por completar el tiempo Ahora bien, si eres realmente inteligente aquí, es posible que te hayas dado cuenta de que tengo que hacer algo todavía Déjame cambiar mi color aquí a negro Actualmente estamos permitiendo que esto pase varias veces para generar un nuevo fuego artificial Sin embargo, actualmente estaríamos pasando por una vez, pero no tenemos un medio esencialmente disparar esto siete veces como nos gustaría. Lo que tenemos que hacer aquí es crear un evento personalizado. Justo aquí arriba. Evento personalizado, y simplemente voy a llamar a esto más fuegos artificiales. Y voy a enchufar esto a nuestro retraso. Y la razón por la que vamos a hacer esto es porque si esto vuelve a ser cierto, vamos a decir, oye, vamos a retrasar medio segundo Entonces vamos a desovar en fuegos artificiales. Ahora dice tiempo de finalización debido. Entonces la primera vez que pasamos por él va a hacer todo este código, pero luego al final aquí necesitamos nuestros fuegos artificiales más, eventos personalizados que acabamos de crear. Entonces, esencialmente lo que esto va a hacer, simplemente hice doble clic en él. Nos va a dar un bucle a este evento personalizado para que podamos demorar medio segundo. Nuevamente, vienen a través de nuestro D N, en este caso por segunda vez, lo que nos permite desovar en un nuevo conjunto de fuegos artificiales Y esto va a repetirse hasta llegar a nuestro límite, en este caso de siete, en cuyo caso ya no pasará más allá de este punto. Bien, sigamos adelante y compilemos nuestro script aquí, guárdalo, asegúrate de que todo se vea bien. Eso es lo que hemos construido en esto. Un poquito, difícil de ver, así que tal vez tenga que enmarcarlo en dos tomas aquí. Bien, ahí, y justo por aquí. Y ahora vamos a saltar al juego y darnos una prueba. Bien, aquí vamos. Intenta llegar a lo alto para éste. Ah, y claro, no establecí mi tiempo de nivel, aquí no jugué con el sistema. Actualmente, mi tiempo está establecido en 500. Una vez más, vamos a incrementar nuestro tiempo muy pronto en los próximos videos, pero voy a tener que codificar duro nuestro tiempo solo para asegurarme de que esto funcione como se pretendía Entonces voy a llevar mi controlador de reproductor BP aquí. Voy a establecer mi nivel de tiempo aquí para estar. Vamos 47, así que está terminando con el número siete. Bien, sigamos adelante y guardemos esto. Volvamos a entrar y jugar mi juego. Y aquí vamos. Una vez más, está terminando con el último dígito de siete. Conseguimos siete fuegos artificiales cada uno, sumando 500 puntos. Vías esos puntos incrementar y sumar a mi total en la parte superior derecha y eso está funcionando como se pretendía Bien hecho chicos. Tenemos un asta de bandera de final de nivel ahora en algunos ajustes de nivel donde vamos a hacer que cosas como nuestro temporizador de nivel realmente funcionen. Te veremos ahí. 86. Configuración de nivel Blueprint: Bienvenido en el transcurso de los próximos videos aquí, las cosas realmente van a unirse a medida que implementemos un plano de configuración Ahora bien, este va a ser un plano altamente personalizable que vamos a poder colocar dentro de nuestro nivel Y va a determinar cosas para nosotros como qué nivel de música queremos tocar, qué tipo de límite de tiempo queremos implementar en este nivel específico. Además de modificar cuándo reproducir música, indicando que nuestro nivel de tiempo está a punto de agotarse, bloquear el tiempo. Música Todo ese tipo de jazz. Así que en éste se van a implementar cosas buenas. Y este va a vincularse con algunos otros planos que también hemos creado a lo largo del curso Entonces, antes de hacer toda esta sección de videos, asegúrate de haber completado el plano del punto de control, el widget de hud, el blueprint Porque todos van a vincularse con este sistema que estamos a punto de crear aquí. Bien, para que empecemos, una vez más, vamos a estar creando un plano de clase de actor Y lo haremos dentro de nuestra carpeta de planos. Entonces, el primer paso es venir adentro de aquí. Vamos a hacer click derecho. Vamos a crear una nueva clase de planos de la variedad de clase de padres de actor Y voy a nombrar esto. ¿Y dónde lo puso? Dentro de aquí. Ahí está, justo ahí abajo. Al golpear F dos para renombrar esto, voy a llamar a esto BP. Ajustes de nivel de subrayado. Bien, con eso seleccionado, voy a darle a la barra espaciadora para abrirla. El objetivo en este solo es poner en su lugar el componente y las variables y luego guiaremos en el siguiente video o video. Vamos a traer los componentes que vamos a querer para esto. El primer componente que vamos a anunciar, vamos a agregar un montón de componentes de audio aquí. El componente de audio está justo en la parte superior de tus anuncios. A este primero voy a estar llamando componente musical de nivel. El siguiente que voy a agregar es un componente de audio. Y realmente no importa que estén apegados aquí. Pero si te vuelve loco que se estén uniendo entre sí, puedes simplemente arrastrarlo y soltarlo encima del componente de audio existente. Este siguiente se va a llamar Time Running Out Warning. Seleccionaré mi Senior Default. Una vez más, agrega otro audio. A éste se le va a llamar tiempo caducado. El señor predeterminado una vez más va a hacer clic en Agregar. Todos estos van a ser componentes invisibles en nuestro propio juego. Por cierto, a este se le va a llamar Nivel Completo. ¡Vaya! Y escribí Nivel Completo Solo quiero agregar un componente de audio y llamarlo Nivel completo. Bien, sigamos adelante y fijemos los ajustes para cada uno de estos de inmediato, comenzando por nuestro nivel. Música Sigamos adelante y seleccionemos eso. Por encima en el panel de detalles donde dice Sonido Vamos a encajar. Música Busco nivel Mario. Música Queremos desplazarnos hacia abajo. Esto es muy importante donde dice auto activar. Vamos a elegir no activar eso automáticamente. Bien, a continuación seleccionemos nuestro El tiempo se acaba. Una vez más, desmarcaremos inmediatamente la activación automática. Pero para el sonido en sí, vamos a ranura en Mario tiempo acabando avisando luego por tiempo caducado, sigamos adelante y seleccionemos ese componente. Asegúrate de desmarcar la activación automática de inmediato. Para el sonido, vamos a elegir Mario caducado. Tiempo caducado. Entonces para el nivel completo, vas a seleccionar eso. También asegúrese de que la activación automática no esté activada. De lo contrario se va a tocar desde el principio en el sonido aquí vamos a elegir es nivel despejado, Mario, nivel despejado. Bien, así que tenemos cuatro piezas musicales diferentes, si se quiere, asociadas con nuestros ajustes de nivel. Y todas están preparadas para que no se activen al principio. Vamos a bajar y crear algunas variables. A continuación, debajo de mi panel de planos, variables, haciendo clic en el botón más A este primero se le va a llamar límite de tiempo actual. Este será un entero. Vamos a estar haciendo uso de todos estos con algún guión. Voy a seleccionar esto y con ese control seleccionado D, porque quiero otro entero, este va a ser llamado Time Limit Max. Con este seleccionado, voy a hacer el control D porque quiero otro entero. Y esta se va a llamar Time Running Out Warning, esto va a aguantar. Esto es exactamente lo mismo que mi componente aquí arriba. Voy a llamar a esto mi advertencia de Running Out, la V, la versión variable. Entonces voy a agregar otra variable. Esto se va a llamar tasa de juego de tiempo. Esto va a ser un flotador. Entonces por último pero no menos importante, voy a agregar otra variable y esto va a llamarse mi nivel. Música Para esto, voy a configurar el tipo para que sea onda sonora. Vamos a elegir tipo de objeto onda de sonido, referencia de objeto. Ahora una vez más vamos a estar haciendo uso de todos aquellos en algún guión próximo. Sigamos adelante y compilemos aquí para que podamos establecer algunos valores predeterminados para cada uno de estos. Así que adelante y compila. Eso nos permitirá establecer algunos valores predeterminados para una corriente límite de tiempo. Voy a poner eso a cero para nuestro límite de tiempo máximo. También pondré eso a cero. Tenga en cuenta que estos valores no necesitan ser establecidos aquí. Este valor máximo se establecerá en el editor de niveles y esto se va a pasar la variable de valor actual usando script. Eventualmente vamos a crear algo que sí quiero hacer, aunque con el límite de tiempo máximo es que quiero asegurarme de que configuro esto para sea editable por instancias para que podamos editar esto dentro del editor de niveles A continuación por un tiempo que se agota la advertencia, este es el límite de tiempo con el que quieres jugar algo así como esa cancioncilla advirtiendo al jugador que, oye, estás a punto de quedarse sin tiempo Entonces con esto también queremos exponer esto para que esta instancia sea editable. Entonces podemos editar eso desde el editor si queremos. Y pondremos esto en 50. Pero una vez más, la elección del distribuidor. Voy a advertir al jugador con unos 50 segundos restantes que, oye, estás a punto de quedarte sin tiempo. Mi tasa de juego, estableceré esta para que sea 1.0 lo que significa 100% su tasa habitual. Entonces esto va a ser usado para determinar qué tan rápido vamos a estar haciendo tictac segundos fuera de nuestro reloj De hecho, no todos los juegos de Mario en realidad decrementan el tiempo por el mundo real real Segundo, a veces incrementan más rápido que eso. Supongo que también podríamos hacer editable esta instancia. Podría marcar esta casilla aquí, pero también haciendo clic en este pequeño icono del globo ocular hará exactamente lo mismo Simplemente mostrando eso marcando eso o haciendo clic en ese globo ocular hace lo mismo por nivel Música Aquí también vamos a hacer editable esta instancia, es decir, que si tuviéramos que colocar nuestro actor de ajustes de nivel aquí en un nivel dos, nivel tres, nivel cuatro, etcétera, realidad podríamos cambiar el nivel predeterminado Música Por ahora voy a establecer esto para que sea el nivel Música Y ahora si los compilamos y guardamos, podríamos seguir adelante y colocar a uno de estos tipos. Solo necesitas uno de estos. La forma en que esto va a ser diseñado dentro de nuestro nivel, así que voy a simplemente arrastrar y soltar esto en mis dos D, mi capa principal aquí. Claro, déjame solo activar mi configuración de snap también. Lo voy a dejar caer justo por aquí. Y luego déjame simplemente ponerlo en el aire algo así por encima de todo. Así que tenga en cuenta que esto es solo una colección de iconos. Es un montón de, ya sabes, iconos de audio que se superponen al icono raíz de escena predeterminado aquí mismo. Y lo que realmente quería presumir es eso en el panel de detalles aquí. Ahora vamos a poder llegar a personalizar varias cosas sobre este nivel específico, el nivel uno. Entonces, tenga en cuenta que si crea un nivel dos, un nivel tres, etcétera, podría arrastrar uno de estos a un nivel dos, nivel tres, etcétera, y personalizarlo para ese nivel específico Aquí mismo desde el editor de niveles, el jugador no verá estos íconos en absoluto. La razón por la que estamos creando esto como un plano de clase de actor para ser colocado en el nivel es porque va a ser una forma muy conveniente de que esto también se comunique con otros planos de nuestro nivel Bien, así que vamos a un buen comienzo aquí. Más trabajo por hacer, especialmente en el extremo del scripting de las cosas Pero tenemos nuestra configuración de nivel BP junto con los componentes y las variables que van a ser necesarias en el futuro. Bien chicos, eso lo hará por este. Nos vemos en la siguiente. 87. Script de configuración de nivel #1: Bien, bienvenido de nuevo. En este video nuestros objetivos para crear guión dentro de nuestra configuración de nivel, plano de clase actor aquí Eso va a ejecutar nuestro temporizador de juego así como reproducir componentes de audio relevantes dependiendo de la situación del juego. Vamos a sumergirnos de nuevo aquí haciendo doble clic sobre esto, o seleccionándolo y presionando la barra espaciadora. Vamos a saltar a nuestro gráfico de eventos aquí. Y deberías ver tres nodos aquí graduados. Vamos a eliminar a estos dos. La marca de evento y el evento comienzan a superponerse. Sin embargo, vamos a hacer uso del evento comenzar a jugar. Si no ves esto ya por aquí, puedes hacer clic derecho en algún espacio vacío y buscarlo. Y lo que vamos a hacer fuera del evento comenzar a jugar es traer un nodo de secuencia. Voy a mantener pulsada la tecla S y hacer clic izquierdo para traer un nodo de secuencia. Y la razón por la que estoy trayendo esto es porque cuando me gusta hacer varias cosas en este caso fuera de comenzar a jugar, me gustaría segmentarlas en su propio tipo de guiones separados solo para fines organizativos. Ahora voy a estar haciendo cinco cosas aquí. Entonces voy a agregar algunos pines más. Y probablemente vamos a romper esto en el transcurso de un par de videos solo para que las cosas sean más breves. Ahora, antes de construir a partir de este pin entonces cero, en realidad voy a crear un evento personalizado aquí mismo, haciendo clic derecho en Evento personalizado. Y vamos a llamar a este jugador responder. Porque si bien queremos sucedan varias cosas al comenzar el juego, también vamos a querer restablecer estas cosas que están sucediendo al responder nuestro jugador. Entonces vamos a estar llamando a este evento personalizado aquí en solo un poquito. Pero sigamos adelante y conectemos esto al nodo de secuencia también. Bien, lo siguiente que queremos hacer construyendo a partir de nuestro entonces pin cero, es que queremos traer una referencia a nuestro modo de juego. Así que hagamos clic derecho para obtener el modo de juego. Vamos a arrastrar esto y vamos a lanzar dos, nuestro modo de juego. ¿Qué modo de juego estamos usando? Estamos usando nuestro modo de juego en tercera persona. Y una vez más, esta es la que está dentro de nuestra carpeta de planos en tercera persona Estamos haciendo uso de este modo de juego en tercera persona. Y déjame seguir adelante y abrir esto enseguida porque aquí dentro tenemos algún guión de Respawn Y esto esencialmente va a ser una especie de plano de conexión a nuestra configuración de nivel aquí, como veremos en solo un poco fuera de nuestro entonces pin cero Sigamos adelante y enchufemos esto aquí enseguida. Y solo sacando estos a colación un poco más alto. Ahora, antes de continuar con esto, necesitamos saltar realmente a nuestro BP, modo gay en tercera persona. Vamos a agregar un despachador de eventos dentro de aquí. Bajando por el panel de mi plano. Haga clic en este botón más para agregar un despachador de eventos. Y vamos a llamar a este jugador Respawn. Con esto creado, en realidad vamos a crear una convocatoria para esto al final de nuestro guión Respawn aquí Dentro de nuestro juego en tercera persona. Los modos llegan al final. Y vamos a arrastrar esto y vamos a llamar a esto. Ahora esto va a mandar un mensaje a cualquier otro plano que esté escuchando para esto Y entonces esos planos que escuchan pueden responder en consecuencia Entonces con esto agregado, este evento Dispatcher player responde y luego incluyó aquí esta llamada al final de nuestro guión Sigamos adelante y compilemos y guardemos. Muy importante compilas y guardas aquí. Para que ahora dentro de nuestra configuración de nivel, podamos sacar de este BP, modo de juego en tercera persona y buscar jugador, ese despachador de eventos Ahora queremos asignar reaparecer al jugador. Esto va a traer en dos nodos. Mira cómo funciona esto. Vamos a vincular este evento personalizado a ese despachador de eventos para que cuando se llame a esto aquí en nuestra configuración de nivel, lo estemos escuchando esto es para lo que está toda esta configuración, está escuchando cuando se llama a ese evento personalizado de jugadores. Y cuando eso se llame vamos a despedir entonces de este evento personalizado. Esto es esencialmente esperar a que este jugador responda despachador de eventos para ser llamado Y en el momento en que esto se llame entonces y sólo entonces se encenderá este evento personalizado. Todo lo que vamos a hacer fuera de esto es traer nuestro componente de música de nivel en nuestra lista de componentes. Arrastra eso. Y entonces vamos a arrastrar fuera de esto y escribir en conjunto multiplicador de tono. Y vamos a establecer esto para que sea 1.0 esencialmente el tono deseado que queremos que sea. Ahora bien, esto es importante hacer al responder, que nos aseguremos de que música de nuestro nivel esté sonando en este tono. Porque vamos a estar modificando este tono, ya sabes que se nos está acabando el tiempo. Entonces también vamos a rematar este bit de guión haciendo una llamada de vuelta a este evento personalizado, también llamado player respond. Así que no te confundas. Este evento personalizado de jugadores es diferente de este despachador de eventos de jugadores que vive dentro de nuestro modo de juego en tercera persona Entonces vamos a arrastrar fuera de esto y escribir en player respond, llamar a esa función, player respond, y si hago doble clic en esto, esto verificará que solo va a llamar a ese evento personalizado. Al comienzo mismo de este guión. Sigamos adelante y haga clic izquierdo y arrastre alrededor estos nodos y toque el Ckey alrededor de ellos para que podamos comentar esto Voy a llamar a esto mi escucha para despachador de eventos de respuesta del jugador en nuestro modo de juego y restablece nuestra configuración de nivel al morir Una vez más, voy a colorear este negro solo para crear un contraste más nítido Entonces eso es lo que tenemos hasta el momento. A lo mejor voy a pasar esto un poco solo para enmarcar esto un poco mejor. Bien, lo segundo que vamos a hacer fuera de nuestra nota de secuencia aquí, solo vamos a poner nuestra nota de secuencia hacia abajo, es que voy a hacer clic derecho en algún espacio vacío y voy a decir que obtenga el controlador del reproductor. Entonces voy a arrastrar fuera de aquí vamos a lanzar al controlador del jugador, nuestro controlador de jugador BP. La razón por la que estamos haciendo esto es porque queremos extraer alguna información de ella. Más bien queremos establecer una variable dentro de ella. Pero antes de hacer eso, voy a hacer click derecho sobre este pin de aquí mismo. Y vamos a promover esto a una variable. Simplemente llamaré a esto mi controlador de jugador Ref. Vamos a estar haciendo uso de este controlador de reproductor de nuevo. Simplemente sigamos adelante y promovamos eso a una variable de inmediato. Hay controladores de reproductor almacenados en esa variable. Y ahora lo que quiero hacer es que quiero arrastrar nuestro controlador de reproductor y quiero volver a establecer el tiempo de nivel dentro de nuestro controlador de reproductor. Vamos a saltar a nuestro controlador de jugador, Eso está en mi marco de planos de plataforma, Controlador de jugador Tengo esta variable de tiempo de nivel aquí mismo, actualmente ajustado a 500. Lo puse de nuevo a 500 y quiero poder establecer esto. Ahora una vez más esta variable está ligada a nuestro nivel de visualización de tiempo en nuestro capó. Y aquí dentro de nuestra configuración de nivel, estamos diciendo que queremos poder personalizar cuál es este valor. Esencialmente, nuestra configuración de nivel va a pasar un nuevo número a esta variable aquí mismo. Ahora, ¿qué quiero establecer esto también? Tengo mi límite de tiempo máximo. Solo voy a seguir adelante y enchufar esto aquí ahora con mi configuración de nivel BP seleccionada aquí en mi nivel. Lo que sea que haya establecido como mi límite de tiempo máximo aquí abajo en el panel de detalles. Entonces, permítanme seguir adelante y establecer esto en 300. Eso seguiría adelante y pasaría eso a través nuestra configuración de nivel aquí al tiempo de nivel dentro de nuestro controlador de jugador. Y para demostrarlo, si me adelanté y solo hice clic en play ahora mismo se puede ver en la parte superior ahora vemos el valor de 300 contraposición a 500 porque aquí en nuestra configuración de nivel, estoy pasando un nuevo límite de tiempo a esa variable que vive dentro de nuestro controlador de jugador Ahora una cosa más que quiero hacer aquí es que quiero tomar nuestro límite de tiempo actual y voy a arrastrar y soltar esto. Y coloca esto al final. Solo voy a arrastrarlo y soltarlo en este pin de aquí mismo para establecer nuestro límite de tiempo actual. Ahora tal vez se esté preguntando por qué estamos haciendo esto ahora. Bueno, eso es porque esta va a ser una variable que vamos a ser incremento o más bien decrementando través de un temporizador más adelante aquí abajo Así que todo lo que estamos haciendo aquí es tomar nuestro límite de tiempo máximo y luego lo estamos configurando a esta variable mapeada a nuestro Hud real Y luego también lo estamos configurando aquí también, porque esta es la variable que vamos a estar decrementando a través de un temporizador Un poco más allá abajo. Bien, con eso hecho, sigamos adelante y hagamos click izquierdo y arrastremos alrededor de este bit de guión. Sólo voy a acercarme un poco aquí. Toca esa tecla y voy a llamar a esto mi F controlador de dos jugadores y establecer script variable de tiempo de nivel también debería decir, que está ligado a nuestro Hud, eso es un buen recordatorio Y luego adelante y cambia para ser negro también. Bien, entonces esta va a ser nuestra configuración inicial aquí. Tenemos más trabajo por hacer, pero voy a llamar a esto un video aquí mismo para no abrumar y mantener esto en trozos más del tamaño de un bocado Pero si quieres pausar el video aquí, puedes ver lo que hemos construido hasta ahora. Siga adelante y compile y asegúrese de que su guión se vea bien hasta ahora y ahorre. Nos vemos a todos en la siguiente. 88. Script de configuración de nivel #2: Bienvenidos de nuevo a todos. Continuando con nuestro script de configuración de nivel BP. Voy a dar click justo por aquí en el outliner. Edite la configuración del nivel BP para volver a entrar y continuar. Bien, voy a seguir adelante hacia abajo. Vamos a construir a partir de nuestro nodo de secuencia una vez más, esta vez construyendo a partir de los entonces dos pines. Entonces lo que quiero hacer con esta sección es guión es establecer el audio que va a estar reproduciendo en nuestro nivel. Para ello vamos a traer una referencia a nuestro componente musical de nivel. Sigamos adelante y arrastremos esto. Si arrastramos fuera de esto podemos escribir en conjunto Sonido. Sigamos adelante y conectemos esto de inmediato. Ahora actualmente tengo esto por defecto a la música que va a estar sonando en esta variable aquí mismo, nuestro nivel Música Sigamos adelante y bajemos esto ahora Una vez más, hicimos editable esta instancia de variable de música de nivel , lo que significa que aquí en nuestro editor de niveles con nuestra configuración de nivel BP seleccionada, realmente podemos modificar el nivel Música Aquí mismo, actualmente está por defecto al nivel Mario Música Pero si querías cambiarlo por nivel, todo lo que tienes que hacer es arrastrar y soltar la configuración en tu nivel. Y luego puedes modificarlo para que sea lo que quieras aquí mismo. Y luego vía script, aquí es donde en realidad va a tomar lo que nos fijemos en ese editor de niveles con esta instancia editable Y va a establecer ese es el nuevo componente musical de nivel lo que queremos tocar. Bien, con esto, lo que vamos a hacer entonces es traer un poco de un nodo de retardo. Mantenga pulsada la tecla D y haga clic izquierdo. No quiero que esta Música la reproduzca enseguida, así que solo la voy a retrasar 34 de segundo, 0.75 Y luego traeré otra referencia a nuestro componente musical de nivel. Para arrastrar y soltar eso, simplemente diremos eso, oye, ahora que has estado poblado con cualquier música que hayamos puesto dentro de esa variable, ahora sigamos adelante y toquemos esa música. Y obviamente se puede especificar que la hora de inicio es cero, solo la va a jugar desde el principio. Haz clic izquierdo y arrastra, toca esa tecla. Voy a llamar a esto mis sets Audio para poblar nuestros componentes musicales de nivel Ahora algunos de ustedes pueden estar haciéndose la pregunta de, oye, este componente musical de nivel, en realidad establecemos un sonido predeterminado aquí mismo. ¿Tenemos que hacer eso? No, no lo hicimos. Podríamos haber dejado esto en blanco porque esencialmente estamos anulando este componente musical de nivel con la música de nivel real que está enchufada aquí mismo Bien, sigamos adelante y pongamos todo este cuadro de comentarios aquí para que sea negro. Y luego trabajemos aquí en la sección más torcida de nuestro guión Simplemente moviendo nuestro nodo de secuencia hacia abajo, voy a traer un retraso reactivable. Y voy a explicar por qué aquí en sólo un poquito, pero esto no va a tener sentido desde el principio. Entonces voy a enchufar esto así que voy a configurar esto para que sea 1.0 y luego voy a hacer clic derecho en él para vaciar espacio y escribir set timer by event. Y entonces lo que vamos a hacer es que vamos a arrastrar hacia atrás fuera de este evento. Vamos a traer un evento personalizado, y llamaré a esto mi temporizador de nivel de carrera. Va a ser más fácil para mí traer todo esto y luego explicar cómo está destinado a funcionar todo esto. Después de traer los nodos relevantes y tener un poco de cosas preparadas aquí por un tiempo aquí, voy a enchufar la tasa de reproducción de tiempo así. Y entonces voy a configurar esto para que sea un looping, así que marca esa casilla Asegúrate de marcar esa casilla. Bien, entonces esencialmente, al comenzar el juego, todos estos bits de guión arriba se van a disparar, y luego vamos a bajar a O. Luego tres, vamos a esperar 1 segundo y luego vamos a iniciar nuestro temporizador. Ahora bien esto se va a disparar, en este caso cada incremento de tiempo que actualmente me he fijado para ser uno Entonces eso es lo que es esta vez aquí, determinando cuánto tiempo esperar antes de ejecutar al delegado. Ese es este evento personalizado aquí mismo. Ahora, debido a que esto es un ciclo, seguirá disparando, en este caso cada segundo Ahora la razón por la que tengo esto establecido un retraso reactivable en lugar de un retraso normal, es en el caso de que nuestro personaje muera y entonces esto necesita comenzar La forma en que funciona un retraso reactivable en contraposición a un retraso regular es una vez que esto golpea, va a empezar a contar atrás, en mi caso, en mi caso, Y durante el proceso de contar atrás 1 segundo, si dijéramos morir y todo esto vuelve a empezar, volvería a poner este retraso en un segundo nuevamente. Entonces, si mientras en el proceso de contar atrás esto se ejecuta de nuevo, va a volver a establecer esto a un segundo antes de entonces hacer todo esto. Bien, lo que también vamos a querer hacer fuera de nuestros sets timer by event node es que vamos a promocionar esto aquí mismo. Vamos a hacer click derecho promover, Y vamos a llamar a esto nuestro nivel. Temporizador que ahora se guarda de manera variable. Y esencialmente, estamos haciendo eso para que podamos borrar este temporizador cuando se nos acabe el tiempo. Veremos eso en juego aquí en un poquito. Bien, qué quiero hacer después nuestro temporizador de nivel de carrera, evento personalizado aquí. Bueno, voy a traer una sucursal, así que mantén pulsada la tecla B y click izquierdo. Y queremos evaluar una condición. Ahora nuestra condición que vamos a querer evaluar es nuestro límite de tiempo actual. Vamos a arrastrar eso. Vamos a conseguir eso una vez más. Arriba estábamos estableciendo nuestro límite de tiempo actual para comenzar siendo cualquiera que sea nuestro límite de tiempo máximo. Y nuevamente, esto se establece a través del editor de niveles. Actualmente el nivel de tiempo max es 300. Básicamente estamos diciendo, oye, cualquiera que sea nuestro valor predeterminado aquí está aquí en la configuración de nivel, estamos configurando que sea 300. Eso está pasando a nuestro nivel de tiempo, Esto se mapea a nuestro capó. Y luego también estamos poblando nuestra corriente límite de tiempo con ese mismo valor de 300 En este caso, estamos tomando ese valor y vamos a averiguar si esto es igual a cero. Si esto es igual a cero, lo que esencialmente queremos hacer es limpiar nuestro temporizador de nivel aquí. Todo lo que necesito hacer es arrastrar aquí y escribir claro e invalidar temporizador por asa. Ahora automáticamente, cada vez que hago esto, en realidad va a enchufarlo aquí arriba. Lo que realmente podemos hacer es cortarle este cable aquí mismo. Sólo voy a mantener pulsada la tecla Alt en, click izquierdo. Podemos dejar este enchufe. Sin embargo, fuera de la verdadera rama de aquí mismo, sólo puedo enchufar eso así. Ahora bien, si esto es falso que nuestra corriente límite de tiempo aún no es cero, lo que vamos a hacer es simplemente vamos a decorar, esta corriente límite de tiempo La forma en que puedo hacer esto es arrastrar aquí y escribir decremento decorment int lo que esto va a hacer Se va a tomar este valor que actualmente hemos establecido en 300 por medio de este límite de tiempo, max 300. Se va a restar entonces ese valor, 299300 Entonces va a establecer ese valor aquí atrás en esta variable. Entonces este acto, este decremento actúa como una forma para que restemos inmediatamente uno de este valor especificado, y luego lo pone de nuevo aquí Entonces eso es algo útil ahora porque también quiero que esto se refleje en nuestro Hud porque nuevamente, esta variable es solo local aquí dentro de nuestra configuración de nivel aquí No tenemos esto expuesto en ningún otro lado. Voy a traer nuestra referencia de controlador, vamos a agarrar esto, vamos a conseguir eso. Entonces voy a arrastrar fuera de aquí y escribir el tiempo de nivel establecido. Básicamente vamos a pasar eso a nuestra variable de tiempo de nivel dentro de nuestro controlador de jugador porque esta es la variable que se asigna a nuestro Hud Bien, algo más que quiero hacer. Si nuestra corriente límite de tiempo aún no es igual a cero, en realidad quiero hacer otra comparación. Más allá de aquí. Voy a mantener pulsada la tecla B y hacer clic izquierdo. Así que teclea y haga clic izquierdo. Y esta vez quiero comparar si nuestro límite de tiempo actual es igual a, ¿es igual a qué? Bueno, nuestro tiempo se acaba la variable de advertencia. Ahora actualmente tengo este conjunto para ser 50. Pero una vez más, puede anular esta variable predeterminada aquí en la configuración de nivel. También lo tengo fijado a 50 ahí también. Son 50 independientemente, pero vamos a averiguar si nuestra corriente límite de tiempo está básicamente por debajo de la marca 52 Si es así, lo vamos a enchufar a nuestra sucursal aquí mismo. Vamos a traer nuestro componente musical de nivel así. Entonces vamos a arrastrar fuera de esto y escribir en set pause. Así que esencialmente vamos a hacer una pausa en esta Música. Asegúrese de marcar esta casilla para configurarla para que se pause. Entonces lo que vamos a hacer es tomarnos nuestro tiempo acabando, Advertencia. Música Esa va a ser esta pieza musical de aquí mismo, Mario, el tiempo se acaba. Vamos a tomar este componente, arrastrarlo aquí, y vamos a escribir en play para traer la función play. Esencialmente estamos pausando nuestro nivel de música para que podamos tocar el tiempo que se acaba Warning. Ahora solo me voy a mover un poco arriba de aquí porque si nuestro límite de tiempo se ha agotado, si esto ha evaluado a cierto, vamos a despejar este temporizador de nivel. Pero todavía hay algunas cosas más que quiero hacer fuera de esto. Así que voy a estar construyendo a partir de este temporizador claro e invalidado por nodo handle Y lo que quiero hacer fuera de esto es traer nuestro componente musical de nivel, una vez más arrastrar eso adentro. También vamos a arrastrar en nuestro tiempo acabando la advertencia, ambos de estos en caso de que alguno de ellos esté jugando. Y lo que quiero hacer es arrastrar fuera de aquí en tipo en parada, esencialmente queremos detener cualquier y toda la música aquí si de hecho nuestro límite de tiempo se ha agotado. Y solo además de parar la música, también quiero que nuestro personaje muera si se le acaba el tiempo. Entonces para hacer eso voy a hacer clic derecho en algún tipo de espacio vacío y obtener el personaje del jugador. Y vamos a emitir a nuestro personaje en tercera persona. Dentro de aquí, voy a arrastrar y teclear jugador muere una vez más. Si tuviera que hacer doble clic en esto, lo que esto va a hacer es que va a demostrar que vamos a llamar a este evento personalizado dentro de nuestro personaje de BP en tercera persona para hacer todos nuestros efectos de muerte. Ese es nuestro carácter de ser arrojados al aire y luego caer por el mundo. Bien, entonces ese guión estaba un poco torcido. Ahí está todo. Intenta encajarlo en la pantalla. Viniendo de nuestro nodo de secuencia, ¿de acuerdo? Y luego voy a hacer click izquierdo y arrastrar todo esto. Toca esa tecla C, te prometo que fue lo peor. Y vamos a escribir en ejecutar el temporizador y jugar apropiado. Música Dependiendo de la situación, vamos a cambiar el color de ese cometa. Es un negro de inmediato. Bien, y mirando mis notas aquí, hecho veo que me falta un poco de guión aquí abajo, pero este video se está alargando un poco. Entonces, permítanme seguir adelante y compilar y decir esto. Llamaremos a esto un video y lo recogeremos y terminaremos esto en el siguiente, mira ahí. 89. Script de configuración de nivel #3: Bienvenido de nuevo. Sigamos adelante y terminemos nuestro guión de configuración de nivel BP. Y mencioné al final del último video que me perdí mis notas, tenía algún guión más que necesitaba bajar aquí fuera de nuestro entonces tres guion. Entonces, sigamos adelante y abordemos eso. Lo que íbamos a estar haciendo es pausar nuestro nivel actual Música Vamos a tocar nuestro Time Running Out Warning. Música Pero lo que tenemos que hacer es asegurarnos de que realmente establecemos nuestro nivel Música para que vuelva a retomar después de esta obra. Entonces lo que vamos a hacer es traer un retraso. Mantenga pulsada la tecla D y haga clic izquierdo. Voy a establecer este retraso para que sea 2.8 segundos. Ahora bien, ¿por qué 2.8 segundos? Bueno, porque eso es lo que tarda en que nuestro tiempo se nos acabe. Ditty de advertencia para jugar después de esperar 2.8 segundos. Lo que voy a hacer entonces es traer de nuevo nuestro componente musical. Entonces simplemente necesitamos arrastrarnos fuera de aquí una vez más, escribir set, solo que esta vez vamos a dejar este desmarcado diciendo que sí, esencialmente no queremos hacer una pausa Entonces vamos a poner nuestro tono. Multiplicador, arrastrando fuera de nuestro componente musical de nivel. Establecer multiplicador, vamos a establecer esto para que sea 1.05 Esto va a hacer que suene como que nuestra música se está apresurando un poco como hey, tiempo se está acabando y luego, oh sí, por cierto, cuando recojamos el nivel La música vuelve a subir, vamos a tocarla en un tono más alto, más apresurado Ahora bien, esta es también la razón por la que esto se instaló aquí mismo, que cuando morimos desde el principio, es por eso que hicimos este pedacito de guión desde el principio. Ajustar nuestro componente musical de nivel a ese multiplicador de tono de uno, esencialmente configurándolo de nuevo a uno independientemente de en qué se encontraba la música cuando murieron. Bien, último guión que tenemos que poner aquí. Viniendo hacia abajo debajo de nuestro entonces pin de cuatro secuencias. Lo que vamos a hacer es escribir Click en el espacio. Vamos a conseguir el personaje jugador y como habrás adivinado, vamos a arrastrar fuera de aquí y vamos a lanzar a nuestro personaje en tercera persona Vamos a cablear eso así. Y la razón por la que estamos haciendo esto es porque vamos a arrastrar fuera de nuestro personaje en tercera persona. Vamos a llamar a nuestra secuencia de muerte. Tenemos nuestro jugador asignado inicia secuencia de muerte. Va a traer en dos nodos, así que una vez más este jugador inicia secuencia de muerte. Si tuviera que entrar en mi personaje en tercera persona, para el que tengo una pestaña, justo arriba, creamos un despachador de eventos llamado Player Starts Death Sequence Si hago clic derecho sobre esto y encuentro referencias, puedo encontrar a dónde se llama esto aquí dentro de nuestro personaje en tercera persona. Y ahí está en nuestro guión del jugador muere. Se está llamando ahí mismo cuando se llama a esto, cualquier otro plano que esté escuchando esto Y eso es lo que está haciendo todo este conjunto aquí dentro de nuestra configuración de nivel P. Esto es esencialmente escuchar para que esa secuencia sea llamada. Cuando eso llame, entonces dispararemos fuera de esto. Esta es nuestra forma de suscribirnos esencialmente al personaje en tercera persona que inicia el jugador de la secuencia de la muerte, llámalo Cuando esto sucede, sabemos dentro de nuestros ajustes de nivel BP como hey, eso pasó, sigamos adelante y disparemos fuera de aquí. Bueno, ¿qué queremos hacer? Bueno, vamos a traer nuestro componente musical de nivel. Vamos a por eso. También vamos a conseguir que nuestro tiempo se acabe la advertencia, vamos a conseguir eso. Queremos asegurarnos de que eso deje de arrastrar fuera de cualquiera de estos. Y escribe en stop, detén toda la música aquí, cable que en, así. Entonces también nuestro temporizador de nivel aquí mismo. Vamos a arrastrar esto. Vamos a conseguir que inmediatamente queremos borrar e invalidar temporizador jugador muere Siempre queremos asegurarnos de que limpiamos ese temporizador. Bien, con todo ese guión aquí, sigamos adelante, haga clic izquierdo y arrastre alrededor de este toque, esa tecla C. Esto será Stop. Cualquier Música Música Si el jugador ha muerto, entonces también sólo para señalar que este despachador de eventos es llamado en nuestro personaje en tercera persona BP Siempre es bueno dejar notas para ti mismo. Con una vista de 10,000 pies, se puede ver lo que es. Sigamos adelante y compilemos esto a salvo. Tomemos una vista de 10,000 pies de lo que estamos pasando aquí. Ese era nuestro guión entonces cuatro, si quieres pausar el video ahí mismo, pero desde una vista de 10,000 pies, esto es lo que todos hemos reunido. Y por eso, una vez más, me gustaría tener un nodo de secuencia. Porque podemos ver de un vistazo aquí cuando lo tire hacia atrás así, cómo estamos haciendo diferentes segmentos de guión. Esencialmente todo está sucediendo en sucesión muy rápida, una tras otra. Pero me gustaría segmentarlo así bien de la legibilidad Bien, sigamos adelante y probemos esto Ahora para ayudar a facilitar el juego de nuestro tiempo que se acaba, lo que voy a hacer es que voy a saltar de nuevo a nuestro nivel aquí con mi plano de configuración de nivel seleccionado Sobre en el panel de detalles. Voy a establecer mi límite de tiempo máximo para ser decir, 55 segundos. De manera que vamos a golpear ese tiempo acabando avisando bastante rápido. Y entonces lo que voy a hacer es probarlo muriendo y respondiendo y viendo como funciona todo. Dedos cruzados. Aquí vamos. El temporizador está a 55 segundos. Está decorando como se pretendía. El tiempo se acaba. Nuestra música está sonando un poco más. Rush Adelante y Muere. Aquí nos topamos con mis brazos de llama. Ahí vamos. Oh, oye, el tiempo se detuvo a los 36 segundos. Y cuando respondemos, volvemos en 55 segundos y el temporizador vuelve a subir de nuevo. Oigan, chicos no muy mal. Contamos con un sistema de ajuste de niveles en su lugar. Y una vez más, lo que hace que esto sea tan mágico es que puedas colocarlo dentro de cualquier nivel que crees. Y luego puedes personalizar los ajustes aquí desde el panel de detalles. Bien chicos, eso va a hacerlo todo por este. Te veremos en la siguiente. 90. Configuración de nivel y el bloque P: Bienvenida. En esta vamos a tratar con nuestra configuración de niveles en conflicto con nuestro bloqueo Ahora déjame seguir adelante y saltar y jugar y mostrarte exactamente lo que está sucediendo ahora mismo. Actualmente, nuestros ajustes de nivel están determinando cosas como nuestro nivel. Música Sin embargo, cuando me detengo en la cuadra, ya ves ahora tenemos todo un cúmulo de Do pasando. Y eso no queremos. Tenemos que lidiar con la situación de, oye, cuando nuestro jugador se detiene en la cuadra, estamos jugando solo al bloque. Música Vamos a pausar el nivel Música temporalmente. Y luego cuando termine el tiempo de bloqueo, vamos a terminar el bloque. Música Y solo recoge nuestro nivel. Música Una vez más, ¿cómo lidiamos con ese tema? Bueno, como habrás esperado, vamos a sumergirnos en nuestro bloque BPP Ahí está, Ahí está la ubicación donde lo tenemos actualmente en nuestro proyecto. Dentro de aquí. Lo primero que vamos a hacer es crear una nueva variable abajo en la sección my blueprint Da click en este botón más y voy a llamar a esta Configuración de Nivel. Y luego para el tipo vamos a dar click donde actualmente dice lingotes Haz clic en ese pequeño menú desplegable. Vamos a buscar nuestra configuración de nivel BP. Recuerde que creamos un plano de clase de actor llamado configuración de nivel BP Así que vamos a establecer esto para que sea ese tipo de objeto. El nivel Bp configura la referencia del objeto. Ahora cuando siga adelante y compile aquí, notará que nuestro valor predeterminado aquí es nulo. No hay nada dentro de aquí, pesar de que este es un tipo. Entonces así es como vamos a tratar de poblar esta variable en particular esta casilla, por ejemplo, editable, luego continúe y compile y guarde esto una vez más Ahora de vuelta en nuestro editor de niveles con su bloque seleccionado marque justo aquí en el panel de detalles, Podemos ranura en un actor de configuración de nivel. Ahora solo tenemos un plano de configuración de nivel en nuestro nivel porque solo necesitamos uno Pero si selecciono este menú desplegable, pueden ver que me permitirá elegir el actor de configuración de nivel de préstamo en nuestro nivel lo que queremos hacer. Así que asegúrate de haber seguido adelante y hecho eso. Ahora bien, algo que es muy importante mencionar aquí es si tienes otras instancias de un bloque en tu nivel, así que déjame seguir adelante y arrastrar otra de estas dentro. Realmente no importa dónde lo coloque porque voy a borrarlo. Pero por cada bloque P de tu nivel, tendrás que hacer esto, bien, para que podamos hacer todo el switcher de música O apropiadamente Así que asegúrate para cada instancia del bloque en tu nivel que sí estableces esa variable de configuración de nivel. Permítanme seguir adelante y eliminar esta. Todo bien. Ahora déjame saltar de nuevo a mi cuadra aquí. Si nos alejamos, lo que vamos a hacer es construir a partir de esto, entonces cero bits de guión actualmente. Estos son nuestros efectos de bloqueo. Vamos a construir a partir del final de esto. Ese será un lugar agradable y conveniente para esto. Actualmente, estábamos tocando algo de música cuando pisamos fuerte en la cuadra, ese es nuestro bloque Música Cuando estamos tocando nuestro bloque. Música Aquí, lo que queremos hacer es traer en nuestra configuración de niveles. Eso lo conseguimos, entonces podemos arrastrar fuera de aquí y podemos obtener el componente de música de nivel. Entonces vamos a obtener el componente de música de nivel, ese es este componente que vive dentro de nuestra configuración de nivel BP. Vamos a conseguir eso y luego vamos a arrastrar fuera de aquí y escribir en set pausado Asegúrate de conectar esto así. Y que marques esta casilla, básicamente estamos diciendo, oye nivel Música que se está reproduciendo en nuestra configuración de nivel. Vamos a hacer una pausa cuando nos detengamos en la cuadra. Ahora, obviamente, si estamos haciendo una pausa esta música al detenernos en la cuadra, tenemos que ponerla en pausa Voy a destacar estos tres nodos aquí mismo. Yo sólo voy a hacer el control C para copiarlos. Entonces voy a bajar hacia mi secuencia de comandos de temporizador de bloque dentro de aquí. Al final, cuando el tiempo de bloqueo ha terminado y estamos poniendo todos los bloqueos de nuevo a normalidad y estamos deteniendo nuestro bloqueo. Música Vamos a construir a partir del final de este control V para pegar esos nodos que acabamos de copiar así. Y claro lo único que tenemos que hacer aquí es desmarcar esto básicamente, oye, continuar a nivel Música Bien, así que con esto hecho, sigamos adelante y compilemos y guardemos, y luego saltemos y toquemos. Bien, escuchamos nuestro nivel Música. Ahora en cuanto me detenga en este bloque, nuestra música de nivel debería hacer una pausa. Y lo hace. Y luego, cuando nuestro tiempo de bloqueo haya terminado aquí, creo que tengo ese conjunto en el bloque de 8 segundos, música termina y nuestra música de nivel vuelve a subir. Y así, ahora hemos hecho que nuestros ajustes de nivel BP jueguen bien con nuestro bloque BP. Esa también es parte de la razón, que creamos un plano de clase de actor que podríamos colocar para nuestros ajustes de nivel en nuestro nivel para que pudiera hablar amablemente con nuestro bloque BPP Aquí utilizamos un método aquí llamado comunicación directa de planos En el que dentro de mi bloque BP P, creé una variable del tipo de configuración de nivel, y luego hice una instancia editable Y luego dentro de mi editor de niveles, estoy asociando mis ajustes de nivel BP directamente con este trabajo de bloque en particular Bien hecho, bien. Eso lo hará por esta C cuando sea la siguiente. 91. Configuraciones de nivel y el asta de la bandera: Bienvenidos de nuevo a todos. Ahora que tenemos nuestra configuración de nivel y nuestros planos de bloque jugando bien en este, debemos asegurarnos de que nuestros ajustes de nivel y nuestros planos de bandera de fin de nivel jueguen Porque lo que ocurre actualmente es que una vez que termino el nivel saltando sobre nuestro equipo de bandera, la música simplemente continúa. Nuestro temporizador sigue adelante, es solo un desastre caliente. Entonces vamos a estar lidiando con eso en esta. Para ello, vamos a estar comenzando en nuestro ajuste de nivel BP. Asegurémonos de abrir eso. Vamos a comenzar creando una variable dentro de aquí. Haga clic en este botón más y vamos a llamar a esto nuestra variable de fin de nivel de pierna. Para el tipo. Vamos a establecer esto en nuestro tramo de fin de nivel, nuestro BP, bandera de fin de nivel, la referencia del objeto, ese plano Bien, igual que me viste hacer en el último video donde hice esa instancia variable comestible, voy a hacer esta instancia comestible también. Así que podríamos hacer eso haciendo clic en esta casilla de verificación en el panel Detalles Sin embargo, al hacer clic también en este globo ocular, haremos que esa instancia sea editable también Déjame seguir adelante y compilar esto. Por lo que actualmente se puede ver que el valor por defecto de esta bandera de fin de nivel está vacío. Sin embargo, si entro de mi editor de niveles y selecciono mis ajustes de nivel, permítanme simplemente saltar a él buscando ajustes de nivel aquí en mi outliner Y si hago doble clic en esto, eso me va a saltar a donde está esto a mi nivel con esta configuración de nivel BP seleccionada en mi nivel. Mira hacia abajo en el panel de detalles. Ahora hemos expuesto esta variable de bandera de fin de nivel. Actualmente está configurado en ninguno. Ahora podría seleccionar esto y luego elegir mi bandera de fin de nivel, porque aquí solo tengo una. Pero solo para presumir de un método diferente de hacer esto, voy a sobrevolar a mi bandera de fin de nivel. Y también podría, con mi configuración de nivel BP seleccionada, clic en este pequeño ícono de gotero ey Entonces voy a hacer eso. Y luego mover el cursor del mouse a la ventana gráfica Y ahora también puedo seleccionar manualmente mi bandera de fin de nivel. De cualquier manera puedes poblar esa variable. Ahora esencialmente lo que queremos que suceda aquí es que queremos que nuestros ajustes de nivel BP respondan a nuestra bandera de nivel, informándole que se ha completado. Entonces para esto vamos a abrir nuestro plano de bandera de nivel final Déjame seguir adelante y seleccionar esto. Voy a salir de mi búsqueda de nivel en el outliner. Voy a abrir este plano. Y ahora si recuerdas, dentro de nuestra bandera de fin de nivel tenemos este despachador de eventos completo de nivel Lo que vamos a hacer en nuestra configuración de niveles es escuchar cada vez que se llame a esto. Ahora bien, si olvidaste dónde se llama esto en nuestra bandera de fin de nivel, solo voy a escribir click sobre esto. Vamos a encontrar referencia para cuando se llame a esto. Y si hago doble clic sobre esto en los resultados de búsqueda, se puede ver que estamos llamando a este nivel completo camino hacia el inicio de este script. Entonces sí, agregamos este evento Dispatcher con un propósito y este es ese propósito para que nuestra configuración de nivel pueda escuchar esto y luego responder en consecuencia Bien, para configurar todo eso dentro de nuestra configuración de nivel BP, vamos a subirnos allí. Vamos a agregar otro pin justo en la parte inferior aquí. Permítanme seguir adelante y arrastrar esta secuencia nota hacia abajo hacia abajo aquí. ¿Bien? Y lo que vamos a hacer es traer nuestra bandera de fin de nivel y vamos a mantener pulsado el control en click izquierdo para traer ahí a un getter Y luego voy a sacar de este tipo en nivel completo. Ahí está nuestro despachador de eventos, vamos a traer el nivel de asignación completo Traerá dos nodos. Enganchemos esto en el pin de cinco. Esencialmente, todo este conjunto lo está haciendo para que estemos escuchando para que este evento completo sea convocado desde nuestra bandera de fin de nivel. Cuando esto se llama nuestra configuración de nivel BP, que ahora es escuchar, esto es para lo que está toda esta configuración. Una vez que esto suceda, luego se disparará de este evento personalizado. Bien, entonces, ¿qué queremos hacer cuando nos hayan informado aquí en nuestros ajustes de nivel que, oye, hemos interactuado con ese asta de bandera de fin de nivel, estamos considerando que el nivel está completo Bueno, queremos traer nuestro componente musical de nivel así que también vamos a traer en nuestro tiempo acabando la advertencia en caso de que eso también esté sonando porque podría ser. Entonces vamos a arrastrar cualquiera de estos y decir parar. Vamos a detener estas dos músicas en caso de que alguna de ellas continúe Lo siguiente que vamos a hacer es traer aquí nuestro temporizador de nivel. Vamos a conseguir eso. Y luego vamos a arrastrar fuera de esto y escribir en Pause Timer by handle. Sólo lo vamos a hacer una pausa de inmediato. Haga una pausa en ese temporizador, luego simplemente moviéndose un poco a la derecha de aquí. Voy a traer un nodo de retardo manteniendo presionada la tecla D y haciendo clic izquierdo. Vamos a demorar por digamos 3 segundos. Eso suena bien. Entonces voy a traer en mi nivel componente completo. Este va a ser nuestro tipo de nivel despejado. Música Vamos a arrastrar eso. Vamos a decirle esto para activar como. Entonces. Entonces vamos a decorar, el tiempo restante cuando nuestro nivel esté completo Ahora para hacer esto, voy a traer otra nota de retraso. Entonces voy a mantener pulsada la tecla D y click izquierdo. Y voy a estar construyendo un poco de bucle aquí, bucle circular de código. Voy a establecer esta duración de tiempo para nuestro retraso, Algo realmente pequeño, como 0.05 Entonces lo que voy a hacer es traer nuestra referencia de controlador de reproductor. Vamos a conseguir que mantenga pulsado el control y haga clic izquierdo. Eso lo sacaremos de esto. Quiero obtener nuestro nivel de tiempo. Consigue nuestro nivel de tiempo. Entonces vamos a sacar de esto y escribir decremento. Vamos a enchufar esto así que nos vamos a retrasar muy brevemente, entonces vamos a averiguar por mucho tiempo que tengamos. Vamos a decrementarlo por uno y luego se va a meter de nuevo aquí Eso es lo que hace este decremento en nodo. Se resta uno y luego esencialmente lo pone de nuevo aquí Ahora también vamos a comparar entonces este valor frente a un nodo mayor. Trae una rama manteniendo pulsada la tecla B y haciendo clic izquierdo si esto es cero o debería decir si esto es mayor que cero. Lo que queremos hacer es arrastrar fuera de nuestra referencia de controlador de reproductor aquí mismo. Vamos a llamar a sumar puntos. Tenemos esta función de llamada añadir puntos, y voy a hacer doble clic sobre eso aquí en sólo un poquito. Si nuestro tiempo de nivel es mayor que cero, vamos a sumar algunos puntos. ¿Cuántos puntos quieres sumar? Bueno, sumemos 50 puntos por cada segundo, esencialmente permaneciendo en nuestro temporizador cuando completemos el nivel. Entonces además de esto, toquemos un poco de sonido también. Entonces arrastrando fuera de esto, vamos a tocar así dos D para el sonido aquí voy a hacer cámara, esto es en el motor VR suena Yo camino solo para tener un poco de sonido para acompañar cada incremento de puntos Entonces lo que voy a hacer es que voy a rodear esto todo el camino de vuelta. Simplemente acercándome un poco aquí. Clic izquierdo y arrastre. Bucle esto de vuelta a mi retraso. Y si hago doble clic en este cable un par de veces, puedo traer algunos nodos re round solo para que esto se vea un poco más limpio así todo este bit de script aquí mismo, voy a hacer click izquierdo y arrastrar alrededor, toque esa tecla. Esta va a ser mi decramentiempo restante cuando el nivel esté completo y Vamos a llenar este negro de inmediato también. Si quieres pausar el video aquí mismo, puedes ver esencialmente para qué está todo listo para hacer esto. Luego moviéndose un poco hacia la izquierda, puedes ver ese poco de guión, todo esto saliendo del entonces cinco pin aquí, dentro de nuestra configuración de nivel BP. Bien, con eso, sigamos adelante y compilemos para asegurarnos de que nuestro guión se vea bien. Y guardar ahora en play testing aquí queremos asegurarnos de que nuestra música de nivel se detenga cuando completemos el nivel. Y también queremos asegurarnos de que nuestro temporizador de nivel cuente regresivo y obtengamos puntos por el tiempo que nos quede. Saltando y jugando aquí, oye, tenemos nuestro nivel. Reproducción de música. Sigamos adelante y completemos el nivel. El nivel Música debe detenerse y debemos comenzar a escuchar el nivel completo. Música Kick in. Y también deberíamos ver nuestro temporizador parar y luego eventualmente comenzar a contar atrás. Aquí vamos. Temporizador de parada, nivel completo. Música Estamos contando atrás, estamos obteniendo 50 puntos por cada cantidad de tiempo, o cada segundo que nos quedaba en el reloj. Y eso es un pequeño bono agradable de hecho. Ahora lo hemos logrado para que nuestra bandera de fin de nivel funcione muy bien con nuestra configuración de nivel BP. Trabajo bien hecho chicos. Asegúrate de archivar y guardar todo. Ocasionalmente, solo para asegurarte de que has ahorrado todo tu arduo trabajo, eso lo hará todo. Para este C, gana el siguiente. 92. El asta de banderas y el bloque P: Bien, antes de seguir adelante, vamos a limpiar un tema más relacionado con nuestro bloque y nuestra bandera de nivel final no jugando bien juntos. Esto no está necesariamente relacionado con los ajustes de nivel, sin embargo, está relacionado con los otros planos con los que hemos estado tratando aquí recientemente Voy a presumir del tema y luego seguiremos adelante y lo arreglaremos. El tema es que si iba a parar en una cuadra y estamos cerca del final del nivel, van a notar que las monedas cambian. No obstante, una vez que interactúo con el asta de bandera de fin de nivel, las monedas simplemente continúan Necesitamos tener nuestro asta de bandera de fin de nivel con nuestro bloque para detener ese bloque Música Y revertir el efecto de bloqueo en el momento en que interactuamos con ese asta de bandera Sigamos adelante y sigamos con esto. Vamos a comenzar dentro de nuestro bloque de bloques más bien vamos a crear una nueva variable. A éste se le va a llamar nivel. Esta vez voy a establecer el tipo de variable a fin de nivel flag el tipo de objeto BP, flag end of level, object reference. Y tal como lo hicimos antes, vamos a hacer que esta instancia sea comestible ya sea haciendo clic en esta casilla de verificación de aquí mismo, o haciendo clic en este icono del globo ocular abierto Sigamos adelante y compilemos y guardemos esto. Y ahora si vuelvo a mi nivel y he seleccionado mi bloque, puedo asociar nuestra bandera de fin de nivel con este bloque. Genial. Ahora, una vez más, vas a querer hacer esto para cualquier instancia de tu bloque que puedas tener en tu nivel. Bien. Ahora lo que podemos hacer aquí es entrar en nuestro bloque BP y podemos hacer que este plano escuche a nuestro despachador de eventos de nivel completo que configuraríamos en nuestra bandera de fin de nivel Ahora una vez más nuestra bandera de fin de nivel tiene este nivel de despachador de eventos completo que se está llamando Entonces, todo lo que tenemos que hacer es asegurarnos de que nuestro bloque esté escuchando eso dentro de nuestro bloque haciendo zoom. Voy a traer nuestro nodo de secuencia hasta aquí abajo. No importa esos cables cruzados. Vamos a agregar un pin más aquí abajo. Para ello, vamos a traer aquí abajo nuestra referencia de bandera de fin de nivel. Mantengamos presionada la tecla de control y hagamos clic izquierdo. Eso va a traer nuestra bandera de fin de nivel. Vamos a arrastrar este tipo en nivel completo Para asignar nuestro nivel completo, va a traer en los dos nodos. Vamos a cablear esto de inmediato. Entonces una vez más con esta configuración, estamos teniendo aquí nuestro bloque BP P. Escuche este despachador de eventos completo de nivel que está sucediendo en nuestra bandera de fin de nivel Tan pronto como eso suceda vamos a disparar fuera de este evento personalizado asociado con eso. Ahora la buena noticia es, es que en realidad solo queremos enchufar esto en el código que viene de nuestro entonces cuatro pines. Así que permítanme señalar que todo esto está saliendo del entonces seis pin aquí mismo. Voy a mover nuestro nodo de secuencia de nuevo a su lugar para no tener demasiados cables entrecruzados Bien, y esencialmente estamos queriendo enchufar esto y no arruinarlo. Mucha gente lo estropeó al enchufar este cable. Queremos que este evento completo de nivel se enganche justo en este bucle de cuatro, nuestro temporizador de bloqueo. Así que tenga en cuenta que tenemos tres cosas en este punto del curso fluyendo hacia este cuatro, cada bucle. Este temporizador de bloqueo, esto va a estar devolviendo los bloques a normalidad y cerrando ese bloque Música Siempre que se termine el tiempo de bloqueo. Entonces, esencialmente, lo que estamos haciendo aquí es que estamos escuchando para ese despachador de eventos completos de nivel dentro de la bandera de fin de nivel Y tan pronto como eso suceda, solo nos estamos conectando con este tiempo de bloque sobre un poco de script para volver a poner todos los bloques a la normalidad. Detener la música. Una vez más, esto de aquí mismo, este cable es lo que está enganchando en el para cada bucle. Adelante y compile esto. Sigamos adelante y ahorremos. Y entonces claro, siendo buenos diseñadores, vamos a probar esto. Bien, vamos a parar en este bloque, vamos a ver estos ladrillos cambiando en las monedas, y vamos a escuchar ese bloque. Música Bien, y en cuanto toquemos este asta de bandera de fin de nivel, todos vuelven a cambiar Esos bloques se volvieron a convertir en bloques que bloquean. Música Termina inmediatamente. Trabajo bien hecho chicos. Eso va a hacerlo todo por éste. Nos vemos en la siguiente. 93. Transición de niveles: Bienvenida de nuevo. En este video, vamos a mostrar cómo hacer la transición de un nivel a otro una vez que hayamos completado el nivel. Para que no solo estemos tuck mirando nuestra pantalla. Una vez que se hayan tabulado todos los puntos, en realidad vamos a poder transferir sobre nuestros puntos que hemos acumulado, nuestro vidas que tenemos actualmente y nuestro número de monedas al segundo, tercero, cuarto, sea cual sea el nivel al que transitemos Ahora solo para revisar dónde estamos actualmente con las cosas, antes en el curso, creamos un plano de controlador de jugador Y dentro de nuestro plano de controlador de jugador, que puedes encontrar aquí en este camino, hicimos alguna adición de monedas, alguna suma de puntos, alguna suma o resta Eso es justo aquí abajo, y restaurando eso en estas variables. Ahora lo que tenemos que hacer es cuando hacemos transición de un nivel a otro, necesitamos pasar esta información otro tipo de plano que vamos a crear aquí en solo un poco Y luego vamos a pasar esa información de nuevo a nuestro controlador de jugador para que en realidad hayamos mantenido y trasladado nuestros valores desde el nivel anterior a nuestro nuevo nivel. Ahora para hacer esto vamos a entrar dentro de la configuración de nuestro proyecto. Puedes acceder a eso aquí en la configuración superior derecha, Configuración del proyecto. Dentro de aquí, vamos a ir a Mapas y modos. Y tenemos nuestros diversos planos de marco aquí arriba Pero también tenemos este especial, un plano de instancia de juego aquí abajo. Ahora bien, este es un tipo especial de blueprint que no obtiene sus valores, sus valores variables se restablecen siempre y cuando tu juego siga funcionando Así se puede pasar del nivel uno, nivel dos, el nivel tres, etcétera, y cualquier dato variable contenido dentro de allí puede trasladarse de un nivel a otro Voy a crear una nueva clase de instancia de juego aquí simplemente haciendo clic en este botón más aquí. Y me va a preguntar, ¿ dónde quiero guardarlo? Vamos a entrar en nuestros planos de plataforma. Voy a poner esto en mi marco de carpeta de blueprint y voy a ir a BP underscore game instance como nombre Y voy a salvar esto. Y ahora ves de nuevo en la configuración de mi proyecto, ha sido ranurado Este será el plano de instancia de juego que usaremos aquí Lo tengo abierto y lo que puedes ver aquí es tengo mi panel de planos en el que puedo crear algunas variables para almacenar la información de nuestro controlador de reproductor BP Básicamente vamos a estar pasando aquí algunos datos variables dentro de nuestro controlador de jugador. Cuando terminemos el nivel, vamos a pasar estos datos monedas, vidas y puntos a nuestra instancia de juego. Entonces lo vamos a volver a pasar aquí dentro de nuestra instancia de juego BP. Vamos a crear esas tres variables. El primero van a ser las monedas. Voy a establecer esto en un entero con este seleccionado voy a hacer el control D para duplicar. Voy a llamar a este siguiente puntos también un control entero D. De nuevo, esta va a ser vidas. Y si compilo esto, podemos ver que tenemos 00.0 como valores predeterminados En realidad, voy a cambiar nuestras vidas para ser tres por defecto para que coincidan con lo que actualmente tenemos por defecto en nuestro controlador de jugador. Y te vas a ver aquí en sólo un poquito. Bien, lo siguiente que voy a hacer es volver a nuestro nivel aquí. Y quiero entrar dentro de nuestra configuración de nivel BP. Y lo puedo encontrar en mi carpeta de planos. Mi configuración de nivel BP, ¿Dónde está eso? Aquí está. Ajustes de nivel Bp. Voy a saltar dentro de este plano y voy a crear una nueva variable Entonces voy a dar click en este botón más. Y voy a llamar a este nivel para ir dos. Y voy a cambiar esto para que sea un nombre, y ya verás aquí en un poquito. También voy a hacer esta instancia Editible. Si haces clic en ese pequeño icono del globo ocular, marca esa casilla ahí mismo. Voy a compilar esto. Actualmente, esto está configurado en ninguno, pero vamos a poblar esto en solo un poquito Bien, sigamos adelante y digamos esto y saltemos de nuevo a nuestro nivel. Ahora tengo mi ajuste de nivel en algún lugar aquí en mi nivel. De hecho puedo ver, lo tengo aquí mismo en mi ventana gráfica Pero si solo escribiera nivel en mi Outliner, eso me ayudaría a reducirlo. Ahí está mi configuración de nivel BP y ahora podemos ver que tenemos este nivel para ir, exposiciones variables actualmente establecidas en ninguno Ahora en realidad queremos ranurar en otro nivel para ir a. Entonces para esto voy a ir a mi carpeta de niveles y quiero crear un nivel dos, otro nivel al que ir. Entonces simplemente voy a hacer click derecho sobre esto. Voy a duplicar esto, y déjame seguir adelante y guardar esto enseguida. Eventualmente probablemente querré saltar al nivel dos y hacerle algunas modificaciones, pero voy a colocar esto como LV sobre en mis paneles de detalles. Mi nivel al que ir es LV guión bajo 02. Sí, voy a necesitar que esto se vea un poco diferente visualmente. De lo contrario va a parecer que en realidad no cambiamos de nivel en absoluto. Bien, lo siguiente que tenemos que hacer aquí es saltar dentro de nuestra configuración de nivel BP. Y vamos a estar construyendo algún guión a partir del final de este guión. Así que salga de la porción entonces cinco de su nodo de secuencia, tenemos este nivel de script de tipo completo. Tenemos esta decrementación de la época en que se completa el nivel Vamos a estar construyendo a partir de esta falsa rama de aquí mismo. Ahora bien, aquí es donde vamos a pasar algunos datos variables de un plano, nuestro controlador de jugador a nuestro plano de instancia de juego Entonces voy a comenzar haciendo clic derecho en algún espacio vacío. Vamos a sacar al controlador del jugador de esto. Voy a arrastrar y lanzar a nuestro controlador de reproductor BP. Ese es el controlador de reproductor que estamos usando en este proyecto configurado en la configuración de nuestro proyecto. Controlador de reproductor Bp ahí mismo. Ahora, yo no, no quiero realmente cablear un pin de ejecución a través de esto. Sé que este es el controlador del reproductor. Mi proyecto es usar lo que puedo hacer aquí para evitar que tenga que cablear por aquí. Sólo voy a hacer click derecho sobre esto y convertir esto un elenco puro que elimine ese pin de ejecución dentro y fuera. Con esto puedo entonces arrastrar fuera de aquí y conseguir mis monedas. Consigue monedas. Vamos a extraer estos datos variables de nuestro controlador de reproductor. Al obtener las monedas, vamos a conseguir puntos. Vamos a conseguir vidas. Vamos a pasar estos datos a nuestro Blueprint de instancia de juego ¿Cómo lo hacemos? Haga clic derecho en algún espacio vacío aquí. Voy a decir obtener instancia de juego. Vamos a arrastrar fuera de esto. Y creamos uno llamado instancia de juego BP. Aquí también. Puedo hacer click derecho sobre este nodo. Déjame acercarme un poco aquí. Haga clic con el botón derecho. Vamos a convertir esto en un elenco puro. Ahora en lugar de obtener esos datos, vamos a establecer esos datos. Arrastre las monedas del conjunto. Déjame mover esto un poco hacia abajo. Los tres de estos. Ahí vamos. Y vamos a establecer puntos y vamos a establecer vidas. Entonces, ¿a qué queremos establecer esos valores? ¿A qué les queremos establecer? Lo que exista actualmente dentro de nuestro controlador de reproductor. Entonces vamos a enchufar nuestras monedas aquí, nuestros puntos hasta aquí, y nuestras vidas hasta aquí. Estamos pasando esos datos de un plano a otro. Ahora tenemos que cablear un cable de ejecución a través de estos diversos nodos setter Entonces podemos hacer eso fuera de esta falsa rama. Entonces vamos a ir así, aquí mismo , aquí y aquí. Y aún no hemos terminado del todo. Vamos a estar construyendo a partir de aquí. En realidad vamos a estar diciéndole nuestro juego a qué nivel queremos ir a continuación. Haz eso, vamos a añadir un poco de retraso aquí. Así que voy a mantener pulsada la tecla D y click izquierdo, agregaremos un retraso y voy a codificar duro un retraso de digamos 2 segundos. Entonces solo construyendo a la derecha aquí, hay un nodo llamado Open level por su nombre. Y aquí es donde podemos enchufar el nombre del nivel según lo especificado por esta variable. Así que solo voy a arrastrar y soltar esto justo encima de ahí. Y se puede ver el valor por defecto aquí en el panel de detalles es ninguno. Voy a seguir adelante y compilar esto enseguida. Pero recuerda que configuramos esto para que sea instancia editable. Así que aquí, en nuestra configuración de nivel de editor de niveles, tenemos eso seleccionado aquí mismo. Estamos especificando que esta variable se va a poblar con LV subrayado dos, ese nivel ahí mismo Bien, pero aún no hemos terminado. De hecho, tenemos que trabajar dentro nuestro plano del modo de juego para acabar con nuestra configuración aquí Entonces voy a ir a nuestra carpeta de planos en tercera persona. Estamos usando nuestro BP, modo de juego en tercera persona. Entonces voy a seguir adelante y abrir esto. Aquí es donde tenemos algún guión de respuesta. Voy a encontrar algún espacio vacío, tal vez abajo un poquito. Déjame acercar el zoom y voy a crear un nuevo evento personalizado. Haga clic con el botón derecho en una búsqueda de eventos personalizados. Y vamos a llamar a este evento personalizado arrastre las estadísticas del juego. Bien, ahora lo que vamos a hacer aquí es en este plano en particular, vamos a estar pasando nuestros datos de nuestra instancia de juego de vuelta a nuestro controlador de jugador Esencialmente, cada vez que abrimos un nuevo nivel dos, nuestro plano del modo de juego va a comenzar de nuevo Nuestra obra de Begin va a suceder. Y lo que vamos a hacer fuera de E Begin Play justo aquí arriba, es que finalmente vamos a llamar para desprenda este evento personalizado. Y al hacer eso vamos a contar todas las variables dentro de nuestra instancia de juego para luego transferirlas de nuevo a nuestro controlador de jugador. Sigamos adelante y configuremos eso. Voy a hacer click derecho en algún espacio vacío aquí, obtener instancia de juego. Vamos a arrastrar aquí y lanzar a nuestra instancia de juego B P. Una vez más, voy a hacer click derecho sobre esto y convertir esto en un elenco puro. En realidad no, no voy a convertir esto en un elenco puro. Lo dejaré como un molde impuro para cablear estos cables de ejecución solo para demostrar que se podría hacer esto de cualquier manera aquí Y luego me voy a arrastrar y vamos a conseguir monedas, vamos a conseguir vidas, vamos a conseguir puntos. Tenemos que transferir todo esto a nuestro controlador de jugador. Haga clic derecho, obtenga el controlador del reproductor. Vamos a arrastrar fuera de esto, vamos a lanzar dos controladores de jugador BP. Voy a convertir este en un elenco puro haciendo clic derecho. Conviértalo a puro elenco así. Entonces vamos a arrastrar fuera de esto y vamos a poner monedas, Mueve esto hacia arriba, establece vidas, Lo adivinaste Vamos a establecer puntos así, asegúrate de que todos estos cables vayan de ahí para allá para allá. Y no olvides transferir esos datos de tu instancia de juego de vuelta a tu controlador de jugador. Una vez más, tu plano de modo de juego. Si hago clic en Class Defaults, tu plan de juego determina qué controlador de jugador vas a usar nuestro controlador de jugador BP Así que estamos pasando todos esos datos de vuelta a nuestro controlador de reproductor BP. Bien, voy a hacer click izquierdo y arrastrar todo esto, toca esa tecla C y mi comentario será, Tendencias, estadísticas del juego desde la instancia del juego BP vuelta al controlador del jugador BP. Genial, excelente. Voy a cambiar mi color cómico aquí a negro también. Ahora necesitamos llamar realmente para este evento personalizado porque esto no se llamará y ninguna de esta transferencia de datos se llevará a cabo a menos que llamemos al evento del cliente. Bien, así que para hacer eso solo necesitamos subir donde actualmente tenemos nuestro evento comenzar a jugar Tenemos nuestros diversos guiones de respuesta. Sólo voy a respaldar esto un poco. Así, voy a agregar una nota de secuencia manteniendo pulsada la tecla S y dando click izquierdo. Voy a cablear así. Y voy a cablear así. Y todo lo que haré fuera de este entonces pin cero es llamaré a ese evento personalizado llamado carry over game stats. Entonces esto va a hacer esta llamada. Si hago doble clic en esto, va a llamar a esto aquí mismo. Podría haberlo hecho, si quisiera tener un cable realmente feo, en lugar de tener todo esto configurado, nuestro evento personalizado siendo convocado por esto, podría haber simplemente drogado un cable hasta aquí abajo, y eso funcionaría igual. Pero me gusta que mi código se vea un poco más limpio. Algo más que quiero mencionar aquí antes de probar esto, sigamos adelante y compilemos y guardemos. Una vez más, sepan que nuestro plano de modo de juego se va a disparar cada vez que comencemos nuestro nivel Ahora algo que volví e hice, o me atrapé cuando creamos nuestra instancia de juego, es que puse mis vidas en tres por defecto. Y la razón por la que hice eso es porque dentro de nuestro modo de juego, comienza este evento. Se va a llamar al juego incluso para el nivel número uno. Y así a esto se le va a llamar esta transferencia del estado del juego. Así que quiero asegurarme de que nuestras vidas al ser tres viniendo de nuestra instancia de juego también se transmitan a nuestro controlador de jugador. Bien, una cosa más quiero hacer antes de probar esto. Necesito saltar del nivel uno aquí y de hecho ir al nivel dos para que se vea un poco visualmente diferente para que veas que las cosas realmente están sucediendo. Entonces solo voy a hacer doble click en el nivel dos aquí. Se va a decir, oye, ¿quieres guardar todo lo que has cambiado hasta ahora? Vamos a guardar Seleccionado. Y esto es solo un ahorro extra ya que viene por alguna razón. Ahí vamos. Y voy a guardar mi nivel dos aquí también. Guarde eso. Bien, vamos al nivel dos. Voy a hacer doble clic sobre esto para abrirlo. Voy a desmarcar estos ajustes de auto aquí mismo. Sigamos adelante y guardemos eso. Y aquí estamos en el nivel dos. Ahí va a estar mi inicio de jugadores, que pongo justo cerca del final. Así que permítanme simplemente eliminar algunos activos aquí. Vamos a eliminar. Eliminar. Eliminar. Eliminar, eliminar. Así que vamos a tener un lugar muy árido donde engendremos aquí para el nivel dos Esa va a ser nuestra diferencia visual entre el nivel uno y el nivel dos. Sigamos adelante y guardemos el nivel dos entonces voy a saltar de nuevo al nivel uno pasando por debajo de archivo, niveles recientes, nivel uno, no voy a guardar estos activos temporales. Aquí vamos. Aquí estamos, vuelta en el nivel uno. Sigamos adelante y demos una jugada a esto. Bien, y antes de que realmente complete el nivel, debería anotar algunos puntos. Aquí tengo algunas monedas. Bien, ahí tengo tres vidas, cuatro monedas. Y veamos cuántos puntos terminamos con. Tres vidas, cuatro monedas, y algunos miles de puntos aquí, 4 mil 500 puntos Entonces veamos si esos datos se transfieren al nivel dos. Aquí estamos el nivel dos y se puede ver que tenemos tres vidas, cuatro monedas y 4 mil 500 puntos Ese sistema está funcionando de hecho. Muy bien chicos. Eso lo va a hacer todo por éste. Nos vemos en la siguiente. 94. Nubes: Bienvenida de nuevo. Bueno, hasta este punto del curso, nos hemos centrado prácticamente exclusivamente en la jugabilidad central de nuestro nivel Mario aquí, que es importante concretar primero. Pero en algún momento, una vez que tengas suficientes elementos de juego en su lugar, puedes centrar tu atención vestir tu nivel. Entonces eso es en lo que nos vamos a centrar en esta sección. Y vamos a comenzar agregando algunas nubes aleatorias a nuestro fondo aquí. Y no estoy hablando de estas hermosas nubes irreales arriba en el cielo Estoy hablando de estas nubes más céntricas de Mario. Ahora bien, si solo toco la tecla G, voy a mostrarles esencialmente lo que vamos a construir aquí. Lo que tengo es una caja, un volumen si se quiere, en el que estamos desove aleatoriamente estas diversas nubes Y estos son todos tamaños aleatorios y podemos elegir cuántos nos gustaría que abarcaran el espacio. Va a ser un plano muy flexible que nos va a permitir agregar nubes en cualquier región de nuestro cielo que queramos Entonces eso es lo que le espera a éste. Bien, aquí atrás en nuestra versión de trabajo del proyecto, voy a importar un par de texturas que no estaban en el pack de texturas original, aunque voy a volver atrás y ponerlas disposición en el pack de texturas originales. Quienes vean este curso en una fecha posterior deben encontrarlos ya aquí. Pero originalmente no tenía estos aquí, así que voy a seguir adelante y traerlos a mi navegador de contenido. Además, dependiendo de dónde estés viendo este curso, puedo adjuntar estas texturas particulares que estoy a punto de mencionar aquí mismo a este video también. En pocas palabras, debes asegurarte importar estas dos texturas. Tengo una nube uno y una nube dos. Sólo voy a hacer uso de uno de estos, pero voy a darte dos solo para que puedas escoger y elegir cuál de estos quieres agregar. Arrastrando estos a mi carpeta Texturas, ahí vamos. Tengo una especie de esta versión NES de la nube. Voy a estar usando esta versión de la nube. primero es lo primero, necesito transformar la textura que quiera usar aquí en un material De hecho, convertiré ambos en material, así que seleccionando ambos manteniendo presionado el control, luego podré escribir, hacer clic en él y crear materiales a partir de estas texturas. Entonces sigamos adelante y hagamos eso. Aquí están mis dos materiales que acaba de crear. Voy a arrastrar y soltar estos activos materiales, que puedes ver ahí, materiales porque están etiquetados en la parte inferior, en mi carpeta Materiales. voy a mover aquí y luego voy a ir a buscar mi material de una nube, mi nube T uno. Ese es el que quiero trabajar en mi proyecto. Pero otra vez, si quieres esa vieja escuela NES Cloud, puedes usar esa también. Solo necesitamos hacer doble clic sobre esto para abrirlo y hacer un par de cambios aquí. Para empezar, aquí en mi adelanto, voy a colocar esta nube no en una esfera. Tienes estos pequeños íconos abajo en esta vista previa aquí. Entonces, si tuvieras que optar por ponerlo en un avión, puedes ver esencialmente cómo va a ser esto. Ahora ves esa extraña veta pasando en el fondo. No te preocupes por eso. Vamos a arreglar esto en solo un poquito aquí porque vamos a seleccionar nuestro nodo de material maestro en la sección de modo de fusión. Vamos a cambiar esto de opaco a máscaras. Ahora lo que eso nos va a permitir es entonces tapar nuestro valor aquí, el valor alfa de esta sectura, en la entrada de la máscara de opacidad Y eso va a deshacerse de esos raros efectos de rayas en la parte posterior. Ahora pretendo solo tener estas nubes visibles desde esencialmente este tipo de ángulo Pero si vuelo por la parte de atrás, fíjate que no puedes verlo. Entonces esto va a ser completamente opcional. Si quisieras hacer un material de dos caras aquí con tus nodos de material maestro seleccionados, podrías marcar esta casilla para dos caras. Y eso hará que puedas ver estos desde ambos lados. Solo para su información, Muy bien, con esto voy a seguir adelante y guardar esto y luego seguir adelante y cerrarlo aquí atrás en mi editor de niveles Voy a ir a la carpeta de planos y voy a crear una nueva clase de actor, blueprint, haciendo click derecho a clase de blueprint Será una clase de actor porque esta va a ser una que vamos a colocar en nuestro nivel, y simplemente la llamaré BP subrayado nubes Con eso seleccionado, voy a tocar la barra espaciadora para abrirla. Y yo sólo voy a agregar dos componentes aquí. El primer componente que voy a agregar va a ser un colisionador de cajas, desplazándose sobre colisión de caja hacia abajo Y voy a llamar a esto mi área de desove. Esto esencialmente va a definir la zona en la que quiero generar algunas nubes Ahora con esta seleccionada, en realidad no voy a determinar las ampliaciones de la caja todavía. Voy a determinarlos en nuestro guión de construcción. Pero voy a establecer nuestro grosor de línea para que sea un poco más grueso para que esta zona sea más fácil de ver una vez que tengamos este lugar en nuestro nivel. Entonces grosor de línea aquí, voy a cambiar eso a 20, que va a parecer súper voluminoso por ahora Pero una vez que expandamos nuestra área de desove aquí, va a ser mucho más fácil de ver cuando es enorme A continuación voy a seleccionar nuestro componente raíz de escena predeterminado. Ese es este componente de aquí mismo. Ese pequeño icono una vez más, porque quiero agregar otro componente, adjunto otro componente a eso. Y eso va a estar escribiendo en instancia, en instancia malla estática. Con este seleccionado, voy a llamar a esto Nubes. Y luego en el panel Detalles, voy a encajar como nuestra malla estática. Un avión. Voy a elegir este avión. Esto va a ser de la carpeta de formas básicas del motor. Y luego por el material que va a ser ese material en el que yo estaba trabajando aquí, nube uno. Ahora no vemos nada aquí todavía porque vamos a generar instancias de esto a través de nuestro script de construcción, que va a entrar un poco Pero necesito hacer esto frente a nuestra configuración de cámara. Y para poder hacer esto, y lo determino a través de algún ensayo y error aquí, nuestra rotación aquí en la x, necesitamos cambiar eso a ser 90 para que estos planos con la imagen de la nube en él estén enfrentados a nuestra cámara. Algo más que voy a hacer enseguida aquí está en el panel de detalles. Sólo voy a escribir sombra y apagar esto de lanzar sombras. Eso ahorrará un poco nuestro rendimiento, además de evitar que se proyecten sombras raras desde nuestra nube. Entonces eso es opcional, pero me gustaría hacerlo. Bien, a continuación vamos a agregar algunas variables que van a ser utilizadas una vez más en nuestro script de construcción. Todo esto se va a hacer en el script de construcción, que es el script que se va a ejecutar durante el tiempo de diseño, no durante el tiempo de ejecución. Haciendo clic en nuestras variables. El primero que vamos a agregar aquí va a ser llamado instancias para engendrar Esta es la cantidad de instancias en la nube que queremos. Este será un entero. El siguiente que voy a agregar, haciendo clic en este botón de variable más, se va a llamar spawn extensión X. Esto va a ser un float Esto va a determinar, junto con las otras dos variables que van a seguir aquí, el tamaño de nuestra zona de desove Verás eso aquí en sólo un poquito. Con ese seleccionado, sólo voy a hacer control D para duplicarlo un par de veces. Volviendo y renombrando esto. Este va a ser llamado spawn extensión Y y éste se llamará spawn extensión Z. bien, el siguiente vamos a agregar aquí, golpeando control D para duplicar esto va a ser llamado scale min y luego control D A esta se le va a llamar scale max y esto solo va a determinar un tamaño mínimo y máximo. Y vamos a aleatorizar entre esto para generar en nuestra nube Bien, con esto, sigamos adelante y compilemos para que podamos establecer algunos valores predeterminados aquí instancias para generar Voy a poner esto en 25, eso va a ser un valor inicial bastante bueno. Marque esta casilla, por ejemplo, comestible. Eso hará que podamos editar esta propiedad, esta variable desde el editor de nivel spawn extensión x. Simplemente configuraré esto en, diremos 5,000 desde el principio También voy a hacer esta instancia editable, spawn extensión Y, también instancia comestible Pongamos esto a, no sé, 1,000 Y luego engendrar extensión z. ¿Qué tan alto queremos que esto alcance en el aire? Digamos 2000 también haciendo esta instancia editable escala min. También voy a hacer editable esta instancia. Y diremos que la escala en será tres veces el tamaño de la escala del plano. X establecerá esto diez veces el tamaño de nuestro avión normal aquí. Y también vamos a establecer esto para que sea instancia comestible. Tenga en cuenta que todos estos globos oculares están revisados, lo que significa que estos son comestibles por instancia, lo que podemos editar estos desde el editor de niveles, lo cual haremos en un poco Sigamos adelante y repasemos a nuestro guión de construcción. Aquí es donde vamos a poner todo el guión para determinar en cuántas nubes queremos generar, El tamaño de nuestra área de desove, y el tamaño de nuestras nubes también Entonces primero determinemos el tamaño de nuestra área de desove. Entonces tenemos esta área de desove, vamos a arrastrar eso a nuestra gráfica Déjame acercarme un poco a uno aquí arriba. Vamos a arrastrar fuera de eso y luego vamos a escribir int, vamos a establecer la extensión de la caja ahora solo para martillar a casa esencialmente lo que estamos haciendo aquí, agregamos este componente de área de desove Este es un disparador de caja, esencialmente estamos queriendo establecer las extensiones, estas extensiones X, Y y Z que están predeterminadas en 32. Ahora la forma en que podemos hacerlo es arrastrar hacia atrás fuera de aquí y escribir arrastrar hacia atrás fuera de aquí y escribir el vector make que lo dividirá en sus componentes x, y y z. Y tenemos variables que van a determinar los X, Y y Z. así que vamos a arrastrar y soltar estos apropiadamente en los pines adecuados así Ahora nuestras áreas de desove, las extensiones de caja aquí mismo no son 302-30-2302 sino que son más bien Pero una vez más, podremos editarlos desde el editor de niveles, para que podamos cambiarlos dentro del editor de niveles. A continuación, queremos trabajar para generar instancias de nuestras nubes aquí, así que vamos a arrastrar en nuestras nubes Y vamos a querer arrastrar fuera de esto y agregar una instancia. Ahora la pregunta es, ¿en cuántas de estas instancias queremos desovar ? Y entonces, ¿dónde queremos engendrar estos? Para ello, vamos a estar haciendo uso de un bucle de cuatro, justo entre aquí, clic derecho y traer en un bucle de cuatro. Un simple bucle de cuatro hará el truco. Entonces vamos a fluir así y así. Así va a funcionar esto. Vamos a establecer nuestro primer índice aquí para que sea uno, así vamos a estar empezando a contar con el número uno. Y nuestro último índice va a estar determinado por el número de instancias a generar Entonces vamos a poner esto en el último índice. Entonces, la forma en que esto funciona es durante el tiempo de diseño aquí, cada vez que metemos esto en nuestro nivel, va a establecer la extensión de la caja y luego vamos a golpear este bucle de cuatro. Y así esencialmente vamos a hacer esto, el cuerpo de bucle aquí 25 veces, comenzando desde el número uno, luego yendo a 234, todo el camino hasta nuestro último índice, 25. Vamos a agregar, agregar una instancia, agregar una instancia comenzando en el número uno, pasando por el número 25. Ejecutando esto una y otra vez, y una y otra vez. Entonces ahora tenemos que decir esto ¿ dónde queremos desovar? Entonces para esto vamos a arrastrar hacia atrás fuera de nuestra instancia transform. Aquí vamos a escribir make transform para la ubicación de nuestras nubes. Lo que vamos a hacer es traer así a nuestra zona de desove Entonces vamos a arrastrar fuera de esto, obtener la extensión de la caja. Entonces voy a arrastrar fuera de esto y escribir punto aleatorio en cuadro delimitador Por defecto se conecta a nuestro, ese no es en realidad el punto central que queremos aquí. Queremos que nuestra extensión de caja esté enchufada al pin inferior aquí, el tamaño medio para el centro de nuestra caja delimitadora Simplemente podemos arrastrarnos de nuestra área de desove aquí y escribir para obtener una ubicación relativa así Esencialmente diciendo aquí, queremos algún punto dentro de nuestro cuadro delimitador de nuestra área de desove aquí, algún punto dentro de ahí, ahí es donde deberíamos engendrar locacionalmente, una Ahora para la báscula, tenemos una báscula adentro. Voy a mantener pulsado el control, arrastrar eso en una escala max. pulsado el control, consiguiendo que queremos algún valor aleatorio entre nuestro min y nuestro max. Y para esto voy a hacer click derecho flotar en rango es lo que estamos buscando cada vez que engendramos en una instancia de nuestra nube También vamos a engendrarlo en una escala aleatoria. Aquí, simplemente voy a enchufar esto aquí. Va a convertir nuestro valor flotante en un vector si elige, digamos, el valor de cuatro, porque eso está entre el mínimo y el máximo. Establecerá esa escala de cuatro para que sea uniforme a través de los x, y y z que componen el vector de escala. Ese va a ser nuestro guión final aquí mismo. adelante y compilemos este guardado, luego vayamos a nuestro editor de niveles y llevemos uno de estos a nuestro nivel. Bien, arrastrando nuestras nubes aquí afuera. Antes de hacer eso, en realidad quiero establecer esto. Tengo mis dos ajustes de D snap encendidos actualmente. Eso es lo que significa ese azul de ahí mismo. Voy a poner esto en mi capa trasera extrema, y de hecho, podría incluso querer colocarla más allá de ahí. Pero voy a empezar por ahí. Entonces mi capa posterior extrema, una vez más, al hacer clic en esto, puedo ir a Editar Capas. Puedo ver que la capa de fondo extrema se va a establecer en negativo 1,000 en el eje y. Así que sigamos adelante y arrastremos esto. Y puedes ver como lo estoy moviendo, cada vez que hagas algún cambio a este plano, va a ejecutar ese script de construcción Por eso sigo viendo este patrón aleatorio diferente. Porque cada vez que lo mueva un poco va a volver a ejecutar ese script de construcción. Bien. Y ahí lo he colocado dentro de mi nivel, obviamente no es una gran colocación del gecko Puede ver dónde está generando instancias de nube dentro de esa área de cuadro delimitador Así que déjame retroceder un poco esto porque no estaba muy contento con eso. Bien, entonces ahora puedes ver cómo con esto seleccionado en el panel de detalles, puedo especificar un número de instancias. Puedo cambiar cualquiera de estas diferentes propiedades. Entonces estableceré el número de instancias en 100, lo que probablemente va a ser una locura. Puedo alterar la extensión X de engendro, hacer que esa manera sea más amplia como, así puedo alterar la extensión Y, hacerla un poco más alta como, entonces la extensión Z, puedo cambiar eso también y hacerla un poco más alta. Lo siento, Y lo hace, ya sabes, más amplio, en nuestro caso, Z lo hace más alto. Y así ahí vas. Simplemente puedes posicionar esto en consecuencia para que puedas tener algunas nubes en el cielo. Fiddle con eso a tu gusto. Pero ahora tenemos un generador de nubes aleatorio. Bastante dulce en verdad. Bien chicos, eso va a hacer todo por este. Aquí está ese guión. Una vez más, si quieres pausar el video aquí, te veremos en el siguiente. 95. Piezas de nivel: Bienvenida. En este video vamos a aprender a crear estas piezas de ladrillo más grandes aquí, ya que estas comprenden la mayor parte de nuestro nivel y probablemente muchos niveles. Ahora la razón por la que voy a presumir esto es porque estos necesitan construirse tal manera que cuando le coloques uno de estos materiales así, suciedad, no se vea estirada. Y solo para martillar a casa este punto, si tuviera que crearlo de la manera en que gente probablemente piense que esto es creado, permítanme acercarme un poco más. Voy a colocar aquí un simple cubo de malla estática. Y sólo voy a escalarlo para que sea un tamaño gigante como. Entonces esta es la manera que mucha gente piensa que esto podría crearse. Uno de estos ladrillos gigantes. Yo sólo voy a colocar un material de tierra sobre esto. Tenemos nuestro material de suciedad de nuestras carpetas aquí. Ahora puedes ver que aquí se ve muy estirado. Mientras que por aquí no se ve estirado, Se ve alicatado. Entonces eso es lo que vamos a aprender a crear en esta. Cómo hacer una pieza de bloque más grande como esta que no tenga un material estirado sobre ella. Esto esencialmente va a resultar en que hagamos nuestras propias mallas estáticas Entonces mostraremos cómo hacerlo de nuevo en nuestra versión de trabajo del curso. Entonces con mi trabajo a nivel de progreso, se puede ver que tengo esta plataforma gigante seleccionada aquí en mi ventana gráfica. En el outliner. Esta pieza de piso es un actor de malla estática. Entonces, si tuviera que aplicar nuestra suciedad a este material de suciedad, va a quedar muy estirada. Y una vez más, eso no es lo que queremos. Voy a borrar esto, adiós. Y vamos a reemplazar esto con un pincel de geometría aquí arriba en el panel del actor del lugar. Y si no ves el lugar panel del actor, da clic aquí mismo. Coloque el panel del actor. Vamos a ir a los pinceles de geometría. Vamos a agregar un pincel de caja. Simplemente voy a arrastrar esto. Déjame hacer esto en mi nivel principal aquí, y no voy a ser muy particular sobre dónde se coloca esto por el momento. Luego, en el panel de detalles, en lugar de escalar esto usando mi herramienta de escalado así, voy a establecer el tamaño del pincel en el panel de detalles. ¿Cuánto tiempo quiero hacer esto? Bueno, supongo que voy a establecer el valor x para que sea algo así como 20,000 algo súper largo así, y. Voy a configurar esto para que sea algo así como 2000. El z, voy a poner eso para que sea algo así como, no sé, 5,000 o 500. Vamos. Algo así. Una vez más, voy a darle un codazo esto solo un poquito aquí, Intenta hacer nuestra base de juego como la teníamos antes Voy a afinar eso en sólo un poquito. Bien, entonces ahora lo que tengo que hacer es que necesito convertir este pincel de caja, esto se conoce como actor de pincel, en una malla estática. Ahora la forma en que esto se puede hacer está entrando bajo los ajustes de pincel avanzados, tenemos la capacidad de convertir esto en una malla estática. Una vez más eso fue avanzar la configuración del pincel, crear una malla estática. Entonces voy a hacer eso. Al hacerlo, me va a preguntar en qué carpeta me gustaría decir esto. Así que déjame entrar en mi carpeta de plataformas. Voy a hacer clic derecho sobre esto, crear una nueva carpeta. Y solo voy a llamar a este nivel Pieces level underscore. Yo lo llamaré mallas de subrayado de nivel. Y simplemente voy a llamar a esto mi pieza subrayado uno. Eso va a ser lo suficientemente bueno para mí crear la malla estática. Ahora esto va a convertir esto en un actor de malla estática. Ahora bien, si iba a aplicar mi material a esto, sigamos adelante y busquemos suciedad. Lo aplicará allí de una manera alicatada y de aspecto agradable. Ahora, va a haber otro problema con esto actualmente, como es para demostrarlo. Solo voy a mover esto un poco hacia abajo para asegurarme de que tengo a mi actor de inicio de jugador en su lugar que se ve bien sobre el nivel correcto. Bien. Mis jugadores empiezan actor, ¿de acuerdo? Y el problema va a ser este saltar y jugar es que mi personaje va a estar cayendo justo por el mundo. Y la razón de eso es porque una vez que creamos una malla estática a partir de un cepillo de caja, no tiene colisión sobre ella. Entonces para arreglarlo, voy a ir a donde ahora reside esta malla estática en mi navegador de contenido. Y eso lo puedo hacer con él seleccionado. Al hacer clic en esta carpeta de aquí mismo, me va a mostrar dónde existe esto en mi navegador de contenido. Voy a hacer doble clic sobre esto para abrirlo. Pero antes de hacer eso, note en este tooltip, en naranja, dice colisión Primsero que está demostrando que no hay colisión aplicada Vamos a aplicar manualmente alguna colisión. Voy a hacer doble clic sobre esto para abrirlo. Y solo haciendo zoom en la parte posterior aquí debajo de la sección de colisión, podemos agregar diferentes tipos de colisión Ahora bien, debido a que esta es una forma de caja simple, todo lo que necesito hacer al caer en colisión es agregar una simple colisión de caja. Al hacer esto voy a agregarlo. Ahora van a ver este contorno verde rodeando esta malla. A esto se le está aplicando ahora la colisión. Eso es lo que es ese contorno verde. Ahora algo más a tener en cuenta aquí es que podría, con esta malla estática ahora agregada a mi navegador de contenido, podría agregar una segunda versión de esto. Déjame seguir adelante y colocar uno aquí. Ahora tenga en cuenta que esta versión no tiene mi material aplicado automáticamente a ella. Y a lo mejor quiero reutilizar esto en otros lugares de mi nivel. Entonces lo que puedo hacer aquí está de vuelta en mi editor de malla estática, que tengo abierto, Justo aquí está slot en un material por defecto en el panel de detalles. Y eso se puede hacer haciendo clic aquí mismo , simplemente haciendo clic en Suciedades. Ahora bien, si guardo este activo, lo guardará como el material predeterminado para esta malla estática. Y además tiene una colisión aplicada a ella, solo mostrando si iba a traer una segunda versión de esto en, va a tener ese material automáticamente aplicado a ella. Y ahora si entro y juego, mi personaje en realidad chocará con el suelo como de costumbre Entonces así es como puedes crear algunas piezas de piso de malla estáticas personalizadas piso de malla estáticas Eso lo hará todo por éste. Nos vemos en la siguiente. 96. Accesorios de nivel y sintonización de cámara: Todo bien. Entonces, a pesar de que tenemos algunas mallas gigantes que tienen un material bonito en ellas, todavía se ve bastante soso por aquí Entonces sigamos adelante y poblemos nivel aquí con algo de follaje, y te voy a mostrar un método realmente rápido y fácil de hacer esto Y entonces puedes tomar ese concepto y rodar con él a partir de ahí. Pero para comenzar aquí, voy a ir al lanzador de Epic Games y voy a mostrarte un bonito paquete para agregar a tu proyecto aquí que puede ayudar a mejorar el aspecto de forma rápida y sencilla. Así que aquí en el lanzador de Epic Games, tengo Unreal Engine seleccionado a lo largo del lado izquierdo en el mercado Si haces una búsqueda del pack Advanced Village, este es el pack que voy a agregar a mi proyecto Unreal Engine Ahora va a mostrar las versiones actuales del motor admitido. Tenga en cuenta que si su versión de motor no es compatible aquí, hay una manera de que aún pueda agregar esto. Vamos a Agregar al Proyecto aquí. Si no ves tu proyecto, puedes hacer clic en esta pequeña casilla de verificación aquí para mostrar todos los proyectos existentes Y luego tienes que desplazarte hacia abajo y encontrar el proyecto que quieras agregar Este paquete de contenido dos para mí, esa va a ser esta plataforma uno. Ahora va a decir, oye, los activos no son compatibles con esta versión, así que solo selecciona la última versión. Esto es lo que debes hacer si está demostrando que ese asset pack es incompatible con tu última versión, aún puedes agregarlo. Sólo tienes que seleccionar la última versión. Para mi va a ser 5.3 Y luego voy a dar click en Agregar al Proyecto. Ahora al hacer esto, vas a ver esta pequeña barra de progreso ya que todo este contenido se está agregando a tu proyecto. Entonces voy a pausar el video aquí, y luego cuando terminemos, te mostraré dónde vive ahora este contenido en tu navegador de contenido. Bien, para que ese paquete de contenido haya terminado de instalarse. Y aquí en mi navegador de contenido, puedo ver que tengo esta nueva carpeta llamada Advance Village pack. Y lo que voy a hacer aquí es que voy a ordenar por mallas estáticas Entonces, si no tienes un filtro de malla estático existente por aquí, puedes girarlo o hacerlo disponible más bien haciendo clic aquí mismo para mallas estáticas, porque quiero encontrar estos accesorios Entonces voy a encender este filtro. Y ahora puedes ver todos estos diferentes, estos apoyos que puedes colocar en tu nivel Ahora quiero colocar un montón de pasto tipo de encima de mi superficie aquí Entonces, la forma en que puedo hacerlo es seleccionar en esta barra de búsqueda aquí mismo. Voy a hacer una búsqueda de pasto, eso va a encontrar algunos parches de pasto. Me gusta este parche de pasto v uno. Y luego voy a cambiar el modo editor aquí del modo de selección en el extremo superior izquierdo al modo follaje. Shift más tres teclas de acceso rápido para llegar hasta aquí. Bien, en modo follaje, puedes colocar cualquier malla estática de forma rápida y sencilla No sólo tiene que ser pasto o árboles o rocas o algo así. Entonces aquí mismo va a decir soltar follaje aquí. Esencialmente, puede colocar cualquier malla estática en esta área. Voy a soltar este clic izquierdo arrastrar. Lo vamos a dejar caer aquí como. Entonces, lo que me gusta hacer es cambiar esta vista de vista en miniatura a vista de lista Podríamos tocar algunos otros aquí también. De hecho, déjame buscar y ver si hay árboles en este paquete. Quiero algo que se vea relativamente bien. Supongo que vamos a ir con uno de estos árboles aquí mismo tal vez. ¿Hay un pino? A ver si hay un tipo de pino en pino. Ahora vamos a ir con el árbol normal, ¿de acuerdo? Este tipo va a hacer muy bien arrastrar y soltar eso aquí. La forma en que esto funciona es con cualquier cosa que se marque aquí en su lista de follaje. Siempre y cuando haya seleccionado su herramienta de pintura, puede hacer clic izquierdo y agregar instancias a su nivel. Ahora obviamente al hacer eso, lo que acabo de hacer, eso se ve terrible. Eso es demasiado denso. No me gusta. Podría hacer el control Z para deshacer esto, pero lo que voy a hacer en su lugar es mantener presionado shift en click izquierdo, manteniendo presionado shift en click izquierdo, voy a estar intercambiando a esta herramienta Borrar y borrará lo que sea que haya seleccionado aquí Así que manteniendo pulsada la tecla Mayús, puedes ver que mi herramienta Borrar ahora está seleccionada. Entonces ahora dejé click y voy a borrar ese follaje. Ahora, una vez más, viste que era demasiado denso y de hecho, no quiero agregar árboles y pasto al mismo tiempo, Así que voy a tener recién la hierba encendida. Y ahora lo que puedo hacer es seleccionar mi pasto. Y con solo seleccionar mi pasto abajo, puedo establecer todo tipo de propiedades respecto a cómo quiero que este pasto aparezca en mi nivel, incluyendo lo denso que es. Déjame bajar esta densidad , justo aquí. Voy a ir a algo así como punto. En realidad, déjame configurarlo en uno. Por ahora se fijó en 100, así que ahora si iba a hacer click izquierdo, puede ver lo escaso que va a ser eso Eso es demasiado denso. Así que vamos a probarlo de nuevo a los 100. E inténtalo de nuevo, haz click izquierdo que veas lo denso que es ahí. Creo que voy a configurar esto para decir, 200. Ahora puedo establecer todo tipo de otras propiedades por aquí también, incluyendo una escala. Este es otro común con el que quizás quieras jugar. Si yo fuera a dar click a la izquierda ahora mismo, todas las instancias de mi pasto van a ser exactamente de la misma altura, que tal vez quieras, a lo mejor no. Quiero tener un poco de variedad aquí. Entonces solo voy a hacer el control Z para deshacer eso. Y pondré mi escala de menta 0.5 y mi escala Mac en dos. Entonces tengo un poco de variación en los sitios de pasto y ahora puedes ver lo que hace eso. Bien, algunas otras cosas que quizás quieras ajustar aquí. Desplazamiento en ángulo de inclinación aleatorio hacia abajo. Este realmente se nota con árboles. De hecho, déjame encender un árbol. Ahora acabo de seleccionar mis árboles. Con esta seleccionada, puedo alterar las propiedades de mis árboles. Déjame simplemente bajar mi densidad a algo así como uno. Lo que va a hacer el ángulo de paso aleatorio es aleatorio el ángulo en el que crece el árbol. Ahora mismo está creciendo enseguida. Hacer control Z. Si hago ángulo de paso aleatorio de digamos hasta 20 grados, eso hará que sea para que mis árboles puedan estar ligeramente inclinados Va a elegir al azar, así que solo estoy dando click para que veas que uno está bastante recto, ese está inclinado hacia un lado, etcétera Solo te da un poco de variedad ahí mismo. Bien, entonces voy a comenzar con pasto solo tener mi hierba seleccionada aquí. Mis propiedades pertenecientes a mi pasto que puedo ajustar. Voy a seguir adelante y click izquierdo y arrastrar. Ahora podría ir así a pintar pasto por todo mi nivel. Sin embargo, también podría aumentar el tamaño de mi pincel aquí para darme un pincel de burbuja más grande para pintar en todo mi nivel. Entonces déjame hacerlo rápido. Solo estoy manteniendo presionado el clic izquierdo. Ahora bien, esto puede ser lo que quieras, tal vez no, pero me gustaría tener un poco de pasto o más bien tierra, en este camino principal para que sea más fácil identificar mi trayectoria lineal de recorrido. Entonces voy a establecer el tamaño de mi pincel algo así como tal vez decir 300. Y ahora si solo tuviera que entrar en decir, esta vista, mantenga presionado el turno en clic izquierdo, puedo borrar algo de follaje a lo largo de mi camino principal de viaje. Entonces puedes imaginar cómo podrías estirar eso todo el camino por el camino así. Mantener presionado el turno, así como así. Bien, ahora solo digamos que quería agregar algunos árboles a mi nivel. Ahora podría usar el pincel de burbujas para agregar algunos árboles. No obstante, voy a seleccionar mi árbol, así que solo quiero árboles. Vas a deseleccionar mi pasto. También voy a cambiar la escala aquí para que sea 0.2 hasta 0.8 alguna variedad allá. Voy a tener ángulo de cabeceo aleatorio de hasta 20 grados. Ahora una vez más, podría hacer brocha de burbujas y agregar múltiplos de estos. Sin embargo, también puedes usar este modo único. Al elegir este modo único, se encuentra en modo de instancia única. Ahora tienes este diminuto, diminuto cepillo de burbujas ahí mismo. Dondequiera que hagas clic, engendrarás un árbol. Esta es una manera realmente rápida y fácil de poblar tu nivel con algún follaje o cualquier otra malla No tiene que ser árboles, no tiene que ser pasto. Entonces hay una técnica rápida en cuanto a cómo puedes decorar tu nivel. Ahora puedes encontrar instancias como esta donde no quieres pasto en mi cuadra. La razón por la que se aplicó encima de este bloque es porque aquí mismo tengo mis diversos filtros en cuanto a lo que se considera un alquitrán válido. Colocar un Pon mallas estáticas es una de estas. Si quiero borrar esto de mi malla estática aquí, necesito seleccionar mi pasto. En este caso saldré del modo de instancia única. Y ahora solo manteniendo pulsada la tecla Mayús, puedo hacer click izquierdo y lo he borrado Ahora bien, si no quiero que se le permita incluso ir encima de esta malla estática, simplemente desmarcaría la malla estática para no permitir Ahora bien, este piso se considera actualmente una pieza de malla estática, pero así es como se puede determinar qué es válido pintar sobre los actores del paisaje paisajista, lo que no hemos hablado en este curso. ¿Mallas estáticas? Sí. Incluso otro follaje. Bien, así que hay un disfraz de imprimación rápida sobre cómo puedes agregar un montón de follaje o accesorios a tu nivel Me gustaría usar la herramienta de follaje para agregar mallas de cualquier tipo de forma rápida y sencilla No tiene que ser pasto, no tiene que ser árboles. Podrían ser cercas, casas, cajas, barriles, lo que sea. Quiero agregar una adición rápida a este video. Porque después de que tengamos estas piezas de nivel aquí y sigas adelante y juegues tu nivel, podrías tener algo que ahora se ve así. Donde tal vez tu cámara está muy puesta. No quieres volver a un lado de tu nivel, aquí es donde puedes volver a tu personaje en tercera persona y ajustar la cámara. Si recuerdas de mucho antes en el curso, realidad tenemos la capacidad de establecer algunos ajustes de cámara temporales aquí dentro de nuestro nivel. Sólo quiero señalar un par de cosas. Actualmente estoy jugando dentro de la ventana seleccionada, luego mientras estoy jugando en la ventana seleccionada, puedo pasar por debajo de mi outliner y puedo elegir mi spawn en personaje en Con esta seleccionada bajo la categoría general, hemos expuesto estas variables desde antes en el curso. Para ajustar la cámara en tiempo real, voy a actuar y activando esto, va a habilitar todos estos ajustes. Así que ahora puedo intentar ajustar el offset de mi cámara para que eso sea lo que quiero. A lo mejor algo como 300 en la Z es lo que quieres. Tal vez 400. Sólo voy a seguir desplazándolo hacia arriba. A mí me gustan 400. Ahora una vez que salga de aquí, voy a golpear escape. Eso es sólo un ajuste temporal que tenía ahí mismo. Nuevamente, eso viene a través este guión dentro de mi personaje en tercera persona. Estábamos ajustando el desplazamiento Z de nuestra cámara cuando esto estaba configurado para ser cierto. Si tuviera que volver a entrar y jugar, lo va a volver a volver a la configuración de su antigua cámara ¿Cómo lidiamos con ese ajuste de cámara? Bueno, de nuevo, me gusta ese Z 400. Esto está afectando a mi cámara. Boom. Entonces, si voy insecto mi componente de pluma de cámara, déjame ir a mi ventana gráfica y mostrar dónde está mi componente de brazo de cámara. Es esa línea roja. Bien, si tuviera que configurar mi componente de boom de cámara en la ubicación Z para que fuera 400, va a configurarlo así que lo guardé y ahora si vuelvo a entrar en juego, mantendrá ese cambio. Entonces así es como se supone que eso funcione. Solo quería agregar ese addendum aquí a este video. Por favor, tenga un bonito campo de vista al agua jugando. Ver en la siguiente. 97. Nivel del menú principal: Bienvenida. En el transcurso de los próximos videos, vamos a crear este, un menú principal para nuestro juego que va a tener un solo botón en él, y cuando hacemos clic en él, simplemente lanza el nivel aquí atrás. En nuestra versión de trabajo del proyecto, vamos a comenzar creando un nuevo nivel. De hecho vamos a empezar en este nuevo nivel. Y en ese nuevo nivel, vamos a generar un widget, blueprint nuestro menú principal Y luego de ese menú principal, haciendo clic en ese botón vamos a ir. Pasaremos de nuestro nivel de menú principal a este nivel. Así que sigamos adelante y creamos este nuevo nivel. Subir bajo archivo en la parte superior. Nuevo control de nivel es la tecla de acceso rápido para crear un nuevo nivel. Traerás este pequeño nuevo recogedor de nivel, Vamos a crear un nivel vacío, así que sigue adelante y selecciona eso, y luego haz clic en Crear Estamos dentro de nuestro nuevo nivel vacío, actualmente está sin título Sigamos adelante y guardemos esto. Podemos hacer clic aquí mismo para guardarlo. Nos avisará dónde nos gustaría guardar esto. Vamos a nuestra carpeta de niveles de plataforma. Y simplemente voy a llamar a esto LV subrayado Menú Principal. Y luego sigamos adelante y guardemos esto enseguida. Entonces ahora tenemos nuestro nivel de menú principal. La única otra cosa que me gustaría lograr en este video es venir en nuestra configuración. Pasemos bajo la configuración de nuestro Proyecto y dentro de aquí, déjame acoplar esto a través de la parte superior, voy a venir bajo mapas y modos y aquí mismo para nuestro editor start up map, vamos a cambiar esto de LV uno a nuestro nivel de menú principal. Déjame simplemente escribir en principal ahí. Lo que esto va a hacer es la próxima vez que abramos irreales, automáticamente se abrirá a este nivel de menú principal Entonces estamos agregando un poco de fricción aquí, saltando a nuestro juego comenzando en nuestro nivel de menú principal. Y luego otra vez a partir de ahí haremos la transición a nuestro LV uno. Bien, eso es todo lo que quiero lograr en esta. No tienes que guardar nada aquí en la configuración de tu proyecto. Es sólo que va a recordar que la próxima vez que abras el editor. Eso lo va a hacer por este. Ver ganar el siguiente. 98. Diseño del menú principal: Bien, ahora que tenemos nuestro nivel de menú principal en este, nuestro objetivo es crear un plano de widget que va a servir como interfaz de usuario para el menú principal de nuestro juego, esencialmente nuestro diseño de menú principal Ahora antes de que realmente nos sumerjamos en esto, asegúrate de haber importado todas esas fuentes de mucho antes en el curso que deberían importarse todas porque vamos a estar haciendo uso de esas. Además, asegúrate de haber importado todas las texturas que se adjuntan a este curso, así como estaremos haciendo uso de algunas de estas. Bien, con eso, entremos dentro de nuestra carpeta U I. Vamos a hacer click derecho en algún espacio vacío. Vamos a elegir widget de interfaz de usuario, blueprint. Y vamos a elegir este widget de usuario como la clase padre en la parte superior aquí. Sigamos adelante y danos un nombre. Voy a llamar a esto BP subrayado Menú Principal. Y luego con eso seleccionado, solo podemos tocar la barra espaciadora para abrirla. Bien, sobre el lado izquierdo tenemos varios widgets que podemos agregar para conformar nuestro menú principal. Esta es la zona de diseñadores, justo aquí. Aquí abajo va a mostrar la jerarquía, la relación de varios widgets entre sí. Y luego otra vez en el panel de detalles, podemos establecer varias propiedades para cada uno de los widgets que añadimos. Los widgets con los que quiero comenzar aquí es un panel de lienzo. Así que sólo voy a escribir panel de lienzo, voy a arrastrar eso adentro. Eso esencialmente va a actuar como una especie de tablero de corcho, si se quiere, El tablero de tachuelas a la que vamos a anclar otros widgets Entonces esa es la primera. El segundo va a ser una imagen. Así que sólo voy a darle una bofetada a eso aquí como para que puedan ver aquí abajo en la jerarquía Se adjunta a nuestro panel de lona. Voy a seguir adelante y renombrar esta de inmediato para no confundirme con mi siguiente imagen. Entonces seleccionando esos dos, esto va a ser imagen subrayado fondo y voy a establecer los detalles para estos después Pero el siguiente que voy a agregar también va a estar unido a mi panel de lienzo. Simplemente arrastremos otra imagen así, renombrando esto presionando F dos sobre ella. Esta será mi imagen, título de subrayado. Por cierto, con cualquiera de estos widgets seleccionados, puedes renombrarlo haciendo F dos o en el panel de detalles justo arriba en la parte superior. También puedes renombrarlo ahí. A continuación, voy a traer aquí mismo un widget de botón. Mi botón va a ir a algún lugar alrededor de esta vecindad. Así que vamos a arrastrarlo y soltarlo ahí mismo. Voy a cambiar el nombre de este botón, guión bajo Play. Y luego voy a arrastrar algún texto para ir encima de mi botón. Así podría arrastrarlo y soltarlo aquí mismo encima de mi botón Reproducir en la jerarquía, o podría darle una bofetada justo encima del botón aquí En la vista del diseñador, esa sangría muestra esa relación de apego y simplemente renombraré este juego de subrayado Bien, siguiente, sigamos adelante y fijemos los detalles para cada uno de estos. Primero, seleccionaré mi fondo de imagen actualmente ahí mismo en el panel de detalles. Voy a poner el ancla para esto, estar a pantalla completa. Eso va a establecer mi punto de anclaje en todos los sentidos así. Ahora bien, para que esto vaya a pantalla completa, tengo que deshacer mis compensaciones aquí Así que permítanme hacer clic en estos botones de retroceso, justo, justo ahí, y justo ahí. Tenemos este desplazamiento aquí mismo todavía establecido en 100. Sigamos adelante y pongamos eso a cero. En el fondo de desplazamiento, también va a ser cero. Nuestro ancla va a ser esta pantalla completa. Y entonces nuestras compensaciones van a ser cero en todos los ámbitos y eso realmente lo hará a pantalla completa Ahora quiero realmente establecer una imagen aquí atrás, así que bajo la sección de pincel de apariencia que viene debajo de imagen, voy a buscar el menú principal y tengo esta textura que podemos poner en el fondo, es bastante agradable. A continuación nuestro título de imagen, actualmente esta caja blanca. adelante y fijemos el ancla para que este sea este superior derecho que va a tratar mantener este título en la parte superior derecha de nuestra ventana de juego. En caso de que intentemos cambiar el tamaño de nuestra ventana de juego para la posición x, voy a establecer esto para que sea negativo 700, la posición Y. Voy a establecer que sea cero Y se puede ver esto moviéndose por ahí. A medida que estoy actualizando estas tallas, voy a establecer que sea 700 y la talla que voy a establecer sea 400. Ahora, ¿por qué elegí esa talla ahí mismo? Bueno, es porque mi imagen de pincel aquí mismo, voy a elegir ser mi texto de Super Mario. Este de aquí mismo. Y eso encaja muy bien. Una vez más, tenga en cuenta que estas posiciones, estas son relativas al punto de anclaje, debido a que los puntos de anclaje en la parte superior derecha aquí, esta posición x, que es relativa a ese punto de anclaje. Bien, a continuación vamos a elegir nuestro botón, jugar y establecer algunos parámetros relacionados con eso. Voy a probar un ancla que está justo aquí a lo largo del ancla del lado derecho. Voy a probar esta caja de aquí mismo, algo así, ¿verdad? Cuadro para la posición x. voy a elegir negativo 115. Determiné todos estos antes de tiempo, la posición y. voy a establecer que sea 256. Voy a establecer eso para que sea 450, el tamaño y. Voy a establecer que sea 130. Ahora parece que va a estar desbordando por el borde de mi pantalla aquí. Pero échale un vistazo a esto. Voy a establecer la alineación para esta sea una en la X, una en la y. Una vez más, si haces 0.5 por cada una de estas, eso va a estar dividiendo la diferencia relativa a tu punto de anclaje y tus desplazamientos aquí Ajustar esto a 1.1, va a establecerlo en los extremos para ese posicionamiento Bien, por el estilo que me voy a quedar. En realidad, volveremos al estilo aquí en sólo un poquito. Hagamos esto. Endopacidad de color, apariencia, endopacidad de color Soy. Establecer el color de fondo y el color de fondo para esto, voy a establecer un valor rojo de 0.2 un valor de cero, un valor B de cero, y el valor que es el valor alfa de uno. Entonces sí, voy a ir con eso con mi esquema de color. Para el estilo de apariencia. Ahora podemos establecer el estilo de este botón para varios estados. El estado normal, el estado de flotación cuando estás flotando sobre él. El estado de prensa al hacer clic en él, ese tipo de cosas. Así que comencemos con nuestro estilo normal. ¿Cómo va a quedar este botón normalmente? Bueno, quiero dibujar como una caja redondeada. Eso va a estar todo bien y bien. Los ajustes de esquema que quiero establecer para esto van a ser 444.4 en todos los ámbitos Sin embargo, mi ancho aquí se va a establecer en siete, luego el tipo de redondeo, y aquí es donde realmente lo va a estilizar Voy a establecer a radio de media altura, eso le va a dar este aspecto redondeado ahí mismo, que me gusta. Así va a verse normalmente el botón. Ahora vamos a configurarlo para cómo va a verse bajo el estado flotado cuando estamos pasando el mouse sobre él Una vez más vienen bajo los ajustes de esquema porque si no cambiamos estos ajustes de contorno para que coincidan, lo que va a pasar es que va a empezar luciendo así, pero luego va a volver a su tipo de aspecto boxy cuando pasemos el cursor sobre él, lo cual no queremos, el ancho aquí va a estar establecido Una vez más, el tipo de redondeo se va a establecer en radio de media altura, el contorno No obstante, voy a poner en un color amarillento, así que vamos a ponernos amarillos, algo así Lo configuraré para que sea semitransparente. Tal vez 0.5 valor para el. Vamos a hacer clic bien. Allí, la elección del distribuidor con lo que quieres establecer eso cuando estás flotando sobre él. Bien, y luego para nuestro estado de prensa, eso va a ser cuando hagamos clic en él, vuelva a estar bajo la configuración del esquema. Voy a poner ese ancho en siete. El tipo de redondeo va a ser radio de media altura, el contorno, supongo que voy a dejar eso en este tipo de color blanquecino Eso va a estar bien. Y, ya sabes, solo para diferenciar esto un poco, supongo que voy a poner mi ancho aquí para que cuando lo presionemos sea diez, solo haciendo que eso sea un poco más grueso. Y luego abajo aquí, tenemos este sonido presionado y tenemos este sonido flotante Qué bueno que aquí tengan estos campos. Así podemos deslizarnos automáticamente en algunos efectos de sonido para cuando pasamos el cursor sobre este botón, así como cuando presionamos sobre este botón Entonces hagamos primero lo que se cernía. Voy a poner eso para que sea el agarre, V, R, agarrar. Y para la prensa Sonido para cuando hagamos clic en esto, voy a poner esta para que sea mi moneda. Sonido Bien, a continuación vamos a establecer nuestro texto. Cambiemos el estilo del texto aquí. En primer lugar, vamos a pasar debajo de la sección de relleno, expandiéndola un poco. Y voy a poner el relleno para esto. En realidad, ¿sabes qué? Voy a volver al acolchado aquí solo un poquito. Vamos a establecer primero el estilo de fuente. Pero en realidad, incluso antes de que hagamos eso, sigamos adelante y fijemos el texto real. Y voy a cambiar esto a, vamos a signo de exclamación. Vamos a deshacernos de donde dice bloque de texto ahí mismo. Borra eso al cabo. Let's go the font family. Voy a configurar esta para que sea mi fuente Super Mario. Lo configuraré a la elección de mi distribuidor de fuentes Super Mario o 256 cuanto a lo que quieres configurar eso. El tamaño aquí, vamos a aumentar el tamaño. Voy a ir a, intentemos 45, algo así. Y el tamaño del contorno. Cambiemos nuestro tamaño de contorno. Entonces estamos delineando un poco nuestro texto aquí. Voy a cambiar eso para que sea seis. Puedes establecer un color de contorno con eso ahí mismo. Lo dejaré en negro. Ahora bien esto no se ve muy centrado dentro de mi botón, así que por eso voy a volver y arreglar, así podemos hacerlo a través estas opciones de relleno en la parte superior aquí. Una vez más, lo amplié. Voy a poner mi relleno izquierdo a cero. Y mira cómo ese texto da un empujón a medida que actualizamos estos valores El acolchado superior puso eso a diez, El relleno correcto, voy a poner eso a cero. En la parte inferior, pondré eso a cero también, y eso se ve decentemente centrado. Bien, con eso, tenemos un diseño decente del menú principal. Sigamos adelante y compilemos esto y salvemos a los chicos. Eso es todo lo que queríamos lograr en esta. Nos vemos en la siguiente. 99. Script para el menú principal: Bien, en este vamos a agregar algún script para que se muestre nuestro menú principal. Y también para hacer nuestro menú principal interactivo para que podamos lanzar nuestro primer nivel. Así que aquí estoy en mi menú principal LV. Este nivel vacío en blanco. Vamos a entrar en nuestro plano de nivel. Y acabo de hacer clic ahí arriba, plano de nivel abierto. Y vamos a estar trabajando fuera de este evento existente. Comenzar a jugar. Así que me voy a deshacer de Event tick aquí mismo. Si no ve el juego Event Begin aquí, simplemente puede hacer clic derecho y encontrar Comienzo del evento. Juega fuera de esto, voy a traer un nodo de secuencia, mantén presionada la tecla S y click izquierdo. Vamos a hacer tres cosas distintas fuera de empezar a jugar aquí. Entonces haré clic en ese botón Agregar pin para agregar otro. Lo primero que quiero hacer es arrastrar fuera de esto y escribir en crear widget, Crear widgets al nombre del nodo. Aquí podemos slot en el widget que nos gustaría crear, Ese va a ser nuestro menú principal de BP. Ahora no es suficiente simplemente crear el widget, en realidad tenemos que decirle que se agregue a nuestra ventana gráfica Entonces para hacer esto, podemos arrastrar fuera de aquí y decir Agregar a Viewport Si realmente puedo deletrear Add to Viewport correctamente, ahí está Agregar a Viewport. Este widget crea el widget del menú principal. Y éste le está diciendo a ese widget que se agregue a nuestra ventana gráfica Lo siguiente que voy a hacer es hacer clic derecho y escribir en get player controller. Y fuera de esto voy a arrastrar fuera de esto y decir mostrar cursor del ratón. Vamos a establecer mostrar el cursor del ratón. Vamos a comprobar esto para que eso sea cierto, esto va a hacer que nuestro cursor del mouse aparezca para que podamos hacer clic en ese botón Vamos a ir. Ahora algo que debo señalar aquí, ¿cómo sabía siquiera que existía esta propiedad? Bueno, déjame ir a mi blueprint framework, mi controlador BP Player, y dentro de aquí mi controlador BP Player, si voy a class defaults over en el lado derecho, puedo escribir mouse en la parte superior del mouse y ahí está, mostrar cursor del mouse Esa es una de las propiedades predeterminadas de un controlador de reproductor. Por defecto, no estamos mostrando el cursor del mouse, pero lo que esencialmente estamos diciendo ahí en nuestro script de menú principal aquí, es que, oye, sea cual sea el controlador del reproductor que estemos usando, queremos asegurarnos de que mostramos el cursor del mouse para que podamos interactuar con nuestro menú principal aquí. Bien, lo último que quiero hacer es simplemente quiero tocar un poco de música. Entonces voy a arrastrar esto y decir Sonido a A D. El sonido no se localiza a ningún punto en particular dentro de tu nivel. No tiene una ubicación X, Y y Z desde la que se reproduce. Y para ello, puedes hacer slot en cualquier música que te guste. Simplemente voy a poner en Starter Music Esta es una música que está en la carpeta Starter Content. Otra vez, puedes poner cualquier cosa aquí, pero sólo voy a tener un poquito de música sonando. Entonces ese va a ser nuestro guión final para cuando toquemos este nivel. adelante y compilemos aquí, asegurémonos de que nuestro guión se vea bien, y guardemos. Ahora si iba a jugar, mi menú principal aparecerá en la pantalla. Pero vas a ver algunas cosas que son problemáticas. Una es que vemos a nuestro Hud en la pantalla, que no queremos ver El número dos es que en realidad no puedo interactuar con esto. Se puede ver que ese efecto de libración de botón entra en vigor Y de hecho, puedo hacer click en él, pero en realidad no pasa nada. No me llevan a otro nivel. Así que arreglemos ambos problemas, comenzando con nuestro Hud que se muestra Ahora la razón por la que nuestro Hud está siendo exhibido, si vuelvo a mi editor de nivel principal aquí Vamos a nuestra configuración Y dentro de la configuración de nuestro proyecto, si vamos a mapas y modos, puedes ver que nuestro modo de juego predeterminado para este proyecto es nuestro modo de juego en tercera persona. Ahora bien, si voy a este activo en particular, ahí está en mi contenido iniciado o mi carpeta de planos en tercera persona Y abro esto, este es el plano que determina otros planos que nuestro proyecto está usando, como nuestro controlador de jugador y nuestra clase de peón predeterminada Ahora otra vez, estoy en los valores por defecto de clase de nuestro modo de juego en tercera persona Entonces nuestro modo de juego determina estos otros planos que nuestro proyecto está usando más prominentemente, la clase de jugador y nuestra clase de peón predeterminada Tenga en cuenta que estos son exactamente los mismos que podemos encontrar aquí en nuestra configuración del proyecto modo de juego en tercera persona, es decir, determinar nuestra clase de peón Y nuestro controlador de reproductor. Ahora nuestro controlador de reproductor, que he abierto aquí mismo, esto es lo que está agregando el Hud a la ventana gráfica Entonces ahora mismo cuando estamos jugando nuestro juego y nos cargamos en nuestro nivel de menú principal, nuestro proyecto es aplicar este modo de juego en tercera persona a este nivel. Y eso a su vez está determinando que se esté utilizando nuestro controlador de jugador así como esta clase de peón por defecto Porque se está utilizando nuestro controlador de reproductor, eso es lo que está mostrando nuestra capucha. Simplemente no queremos que eso se muestre. Entonces, ¿qué podemos hacer? Bueno, aquí hay una solución muy simple y es simplemente crear un modo de juego completamente nuevo para que crear un modo de juego completamente nuevo solo este nivel en particular lo use. Entonces, esencialmente, puedo anular el modo de juego desde la configuración de nuestro proyecto aquí mismo en este nivel en particular. Nuestro menú principal de nivel. Y eso lo puedo hacer a través de World Settings. Ahora bien, si no ves esta pestaña de Configuración Mundial, si vienes en Configuración, puedes ir a Configuración Mundial alternativamente. Window World Settings, que también puede activar este panel con nuestro World Settings justo aquí. Podemos anular nuestro modo de juego que se usa solo para este mundo. Justo este nivel, mundo y nivel se utilizan indistintamente aquí Entonces seguiré adelante y crearé un modo de juego completamente nuevo. Y puedo hacer eso, podría escribir click en algún espacio vacío aquí en el navegador de contenido. Pero también puedo hacerlo de inmediato desde esta pestaña World Settings. Entonces iré al modo de juego. Haz clic en este botón más aquí para crear un nuevo plano de modo de juego Y simplemente voy a elegir un lugar me gustaría decir esto. Déjame ir y decir esto en mi carpeta Blueprints Frameworks Y voy a llamar a esto mi modo de juego BP Menú principal. Después haré clic en Guardar. Una vez más es el plano de Gamo el que va a determinar todos los demás planos diversos que estamos usando aquí Ahora nuestra clase de controlador de jugador estaba predeterminada en simplemente controlador de jugador Esto es diferente de la configuración de nuestro proyecto, que está usando nuestro controlador de reproductor personalizado. Entonces este no está usando nuestro controlador de reproductor BP. Como puedes ver, es solo el controlador de reproductor predeterminado. No tenemos ningún código dentro de aquí. Entonces ahora, si simplemente tuviera que jugar nuestro juego, ya no vemos al Hud en la pantalla porque creamos un modo de juego completamente nuevo que no está utilizando nuestro controlador de jugador personalizado Eso es decirle a nuestro Hud que aparezca en la pantalla. Estamos anulando el modo de juego desde la configuración de nuestro proyecto para que se solucionen los problemas A continuación, sigamos adelante y hagamos que nuestra interfaz del menú principal sea realmente funcional. Para ello, vamos a entrar en nuestra carpeta de interfaz de usuario de plataforma. Encuentra nuestro menú principal, haz doble clic sobre eso para abrirlo si aún no lo tienes abierto. Y aquí vamos a pasar a la pestaña gráfica por encima del lado derecho. La pestaña gráfica es donde puedes ir para escribir algún script que sea específico este widget en particular, blueprint Ahora tiene algunos nodos de eventos aquí de los que podríamos construir. Pero en realidad no quiero ninguno de estos, así que sólo voy a eliminarlos. Ahora nota sobre en el panel de mi plano tenemos juego de botones Esto hace referencia a ese widget de botón en nuestra pestaña de diseñador, nuestro botón juega aquí mismo Tenga en cuenta que con este widget seleccionado en el panel de detalles, esta casilla de verificación se marcó automáticamente para es variable. Eso es lo que permite que esto aparezca bajo la sección de variables en el panel my blueprint Ahora con este seleccionado, podemos agregar un evento para este widget en particular. Y sí queremos agregar uno para on click. Entonces tenemos este botón más justo aquí. Si haces clic en esto, agregará un evento para cuando hagamos clic en ese botón. Es decir, lo seleccionamos con nuestro cursor del mouse aquí. Entonces, ¿qué queremos hacer? Bueno, voy a añadir un poco de retraso porque no quiero saltar a nuestro nivel inmediatamente después de hacer clic en esto. Así que voy a mantener pulsada la tecla D y hacer clic izquierdo. Simplemente voy a demorar por, diremos medio segundo. Y luego voy a arrastrar este tipo en nivel abierto por nombre. Y ¿cuál es el nivel que quiero abrir? Bueno, si vuelvo a mis niveles aquí mismo, ese es el nivel que quiero abrir. Lv, subrayado uno. Si hago clic derecho sobre eso, renombrarlo, solo voy a darle al control C para copiar eso. Después entra en mi widget de menú principal. Entra aquí, controla V para pegar eso. Ese es todo el guión que necesitamos para que realmente sea funcional. Déjame hacer clic en guardar aquí. Ahora si tuviera que saltar y jugar. Bien, todo nuestro guión está trabajado ahí dentro. Incluso poca música de fondo. Si hago clic en mi botón Lets, tenemos un pequeño retraso. Y luego en nuestro juego vamos. Bien, así que ahora tenemos un menú principal funcional. Una vez más, configuramos un nivel vacío dentro de nuestro nivel vacío. Entramos en el plano de nivel y configuramos algún script para mostrar nuestro menú principal para mostrar el cursor del mouse También estamos tocando un poco de música de fondo. Y luego también lo configuramos para que estemos anulando nuestro plano de modo de juego aquí en la configuración del mundo para que nuestro capó de juego no se muestre Y luego, por último, en nuestro widget de menú principal, simplemente agregamos un poco de script para nuestro botón aquí, porque nuestro botón está configurado para ser una variable. Con eso, simplemente agregamos un evento para cuando hacemos clic en él. Vamos a demorar y luego vamos a abrir el trabajo de nivel apropiado. Bien hecho chicos. Sigamos adelante y archivar guardar todo lo que va, hazlo por éste. Te veremos en la siguiente. 100. Anims de widgets del menú principal: Bienvenido de nuevo. En este video, vamos a agregar un poco de jazz a nuestro menú principal mostrando cómo animar varios widgets Ahora el concepto mostrado para nuestro menú principal también podría aplicarse a tu cabaña. Vayamos directo a ello. Entonces, para animar cualquiera de los elementos de tu menú principal aquí, es decir, escalarlo, girarlo, para que se desvanezca Cualquiera de ese tipo de cosas, tenemos que traer en nuestra ventana de animaciones que se puede hacer aquí dentro de nuestro menú principal de WBP Siga adelante y haga clic en la ventana en la parte superior. Y aquí mismo tenemos esta ventana de animaciones que no está encendida. Vamos a encenderlo. Eso pondrá un panel de animación en la parte inferior. Bien. La forma en que esto va a funcionar es que vamos a crear una animación con nombre. vamos a contar varios elementos de Aquí vamos a contar varios elementos de nuestra pantalla para animar y luego a través de algún guión, vamos a decirle a esta animación que reproduzca Así que vamos a crear nuestra animación nombrada haciendo clic en este botón verde más animación. Simplemente voy a llamar a esta intro prensa Enter. Ahora con esta animación seleccionada, esencialmente lo que quiero hacer es que nuestro botón de reproducción comience desde el borde de la pantalla aquí. Y luego animar en eso, es deslizarse hacia adentro. Así que asegúrate de que tienes eso seleccionado, porque quiero que esto comience desde la pantalla, voy a establecer una nueva posición relativa x aquí. Entonces voy a establecer esto de negativo 115 a 600 y presionar Enter. ¿Cómo llegué a ese número? Bueno, eso fue solo a través de muchos ensayos y errores antes de filmar este video. Entonces 600, va a comenzar desde el borde de mi pantalla aquí. Ahora anote cualquier propiedad sobre este widget de botón que nos gustaría cambiar con el tiempo a través de nuestra animación. Aquí puedes ver eso denotado en el panel de detalles con este pequeño diamante con el botón más en él Así podemos agregar fotogramas clave para estas diversas propiedades. Y aquí abajo hay más que puedes cambiar también. Puedes agregarlos a tu línea de tiempo simplemente haciendo clic en estos. Entonces quiero cambiar la posición x aquí de mi botón con el tiempo. Entonces voy a seguir adelante y dar click aquí mismo. Agregar un fotograma clave para esta propiedad en mi animación. Entonces ahí está. Acabo de hacer clic en eso Y ahora podemos ver nuestro botón, nuestra ranura de panel de lona, nuestras compensaciones Ahora aquí es donde las cosas se ponen un poco complicadas. botones, juego de botones, ranura para panel de lona, compensaciones de ranura de panel Bien, todos estos son considerados compensaciones, pero no hicimos clic en algo llamado posición X, sino aquí abajo ese es técnicamente nuestro desplazamiento izquierdo Entonces hay un poco de discrepancia entre el etiquetado de estos que puede confundir a muchos estudiantes Así que tenga en cuenta que esa es la propiedad que quiero cambiar aquí. Actualmente se encuentra en un valor de 600. Eso va a estar asociado con nuestro desplazamiento izquierdo aquí mismo. Bien, entonces en la marca de cero segundos en nuestra línea de tiempo, aquí es donde queremos comenzar nuestra posición de botones. Ahora bien, si tengo una especie de ratón aquí abajo, puedo ver como el ratón aquí abajo, tengo estas dos clases de tablillas que denotan el principio y el final de Quiero sacar este derecho a la suma correcta así. Bien. Y como pueden ver, esta línea roja también va por el paseo. Esto va a denotar el final de mi animación. Así que simplemente puedes arrastrar eso de un lado a otro para tu animación sea más larga o más corta en duración. Por cierto, la rueda de desplazamiento, manteniendo presionado el control en la rueda de desplazamiento encogerá o expandirá su línea de tiempo. Si mantiene pulsado el botón derecho del ratón, puede desplazarse hacia la izquierda y hacia la derecha. Solo algunas notas básicas de navegación que una vez que retiramos esto, pudimos ver nuestro único fotograma clave allí en la marca de cero segundos para nuestro desplazamiento izquierdo. De nuevo, esa es nuestra posición x. Ahora voy a querer que esta animación sea bastante rápida. Entonces voy a tirar del final de esta línea de tiempo a la marca de 0.25 segundos. Entonces voy a mantener pulsado el control y la rueda de desplazamiento adentro solo para expandir esto un poco más. Ahora esencialmente quiero que este botón se mueva en esta dirección en el transcurso de un cuarto de segundo. Así que voy a mover mi deslizador de línea de tiempo hasta la marca de 0.25 segundos. Y entonces necesito determinar a dónde quiero trasladar esto. Bueno, he determinado un valor que me gustaría tener para esto es negativo 115. Entonces, literalmente, puedo hacer clic aquí mismo donde dice izquierda. Yo hice clic donde mostraba el número 600. Voy a poner en negativo 115 y presionar Enter. Entonces eso va a denotar esencialmente el final de mi animación Entonces ahora si tuviera que fregar esto de un lado a otro, se puede ver cómo eso va a moverlo el transcurso de un cuarto de segundo. De hecho, si pongo mi deslizador de línea de tiempo justo atrás al principio aquí y luego hago clic en Reproducir, puedes ver cómo se va a deslizar eso. Ahora tenga en cuenta que va a ser la única propiedad que estoy buscando cambiar aquí con mi botón en el transcurso de 0.25 segundos. Pero también podrías ajustar otras propiedades con tu botón aquí. El color y la opacidad, el color de fondo, todo ese tipo de cosas Para algunas de estas otras propiedades que posiblemente podrías ampliar, es posible que tengas que hacer clic en algunos de estos triángulos desplegable Así podríamos cambiar el pivote, el ángulo de corte, la escala, todo ese tipo de cosas. Se podría hacer en esta misma animación de introducción. Bien, entonces tenemos una animación con nombre. Y le estamos diciendo a nuestro botón que haga algo en esta llamada animación. Ahora, ¿cómo conseguimos que esto se desencadene? Bueno, para esto tenemos que ir a nuestra pestaña gráfica, justo aquí arriba. Vayamos por aquí. Tenemos este script para botón click, click on button, iniciar nuevo nivel. Ahora queremos agregar algún guión que vaya a reproducir esa animación. Tuvimos una construcción de evento aquí antes. La construcción del evento es como el evento comienza a jugar de un widget, blueprint Voy a hacer click derecho y traerlo de vuelta. Y solo voy a escribir ahí hay constructo de eventos. Ese es el que estamos buscando Fuera de esto, me voy a retrasar un poco. Entonces voy a mantener pulsada la tecla D y click izquierdo, traer un nodo de retardo. Voy a demorar 2 segundos. Entonces también voy a acompañar esta animación que estoy a punto de tocar con un sonido. Voy a hacer un sonido dos D. El sonido que me gustaría reproducir se va a llamar drop drop item from content browser que está en las carpetas VR del motor. Si no ve esto, puede hacer clic en este icono de engranaje aquí mismo. Asegúrate de mostrar el contenido del motor. Eso te dará acceso a ese tipo. Entonces lo que quiero hacer es traer mi animación para que pueda platicar con ella y decirle que juegue Bueno, en mi pestaña de diseñador, tengo esta animación llamada Intro Pero por aquí en mi gráfica no la veo en ningún lado. Entonces, ¿cómo hago referencia a eso? Nosotros justo debajo de la sección de variables, si vengo bajo animaciones, ahí está el nombre de esa animación que acabo de crear. Intro, eso es hablar de esta intro animación aquí mismo. Vamos a traer eso a nuestra gráfica. Arrástralo y suéltalo, vamos a conseguir eso. Y entonces si arrastramos esto, podemos decir play animation. Y ahora tenemos mucho control sobre esta animación. A partir de esta función, podemos decirle qué hora en la animación queríamos tocar. Juguémoslo desde el principio. Entonces lo dejaremos a 0 segundos. Número de bucles para jugar. Puedes tener esta reproducción de múltiples bucles. Podrías jugar este delantero, podrías jugar hacia atrás, o hacer ping pongándolo de un lado a Y también puedes ajustar la velocidad de reproducción justo desde aquí, así que si no estás contento con ese cuarto de segundo, puedes extenderlo teniendo una velocidad de reproducción más lenta. O acelerarlo. Bien, entonces ese va a ser nuestro guión para reproducir esta animación 2 segundos después de que nuestro menú principal salga a la vista. Entonces sigamos adelante y compilemos eso y ahorremos. Ahora si jugamos, mira esto, vemos nuestro menú principal. Pero 2 segundos después, boom, ahí se desliza en nuestro botón. Bien, ahora en realidad quiero agregar otra animación aquí. Porque quiero hacerlo de manera que cuando pasemos el cursor sobre nuestro botón, en realidad escale un poco de tamaño Entonces, sigamos adelante y agreguemos otra animación para esto. Una vez más, podría volver a la pestaña de diseñador y voy a crear una animación completamente nueva. Entonces voy a hacer click en esta animación plus y voy a llamar a esto mi animación de botón de reproducción a escala. Sí, primero tengo que asegurarme de seleccionar mi animación. Entonces, ¿qué es lo que quiero hablar? Una vez más, voy a estar escalando nuestro botón de reproducción, aunque esté fuera del costado de la pantalla aquí mismo. No importa porque la animación de introducción es lo que la va a deslizar Simplemente quiero hablar esto ahora ¿qué quiero cambiar de esto? Quiero cambiar la escala para esto. Voy a desplazarme hacia abajo en el panel de detalles. Busco la escala de render transform. Ahora puedo expandir esto para escalar solo el aspecto x o el aspecto Y de este botón, pero quiero escalarlos a ambos. Si simplemente vengo bajo escala de transformación, haga clic en esto aquí mismo. Eso va a agregar un marco clave a esto aquí abajo en mi línea de tiempo. Ampliemos esta escala. Ahora bien, si tuviera que bajar aquí en mi línea de tiempo, puedo ver esas dos tablillas Yo sólo voy a ampliar esto a cerca de una décima de segundo aquí. Eso podría ser demasiado corto. Déjame mantener pulsado el control y acercar el zoom hacia arriba. Bien, entonces más de la décima de segundo, y puedo ver esos dos fotogramas clave aquí mismo para la escala X y la escala Y. Ahora lo que voy a hacer es que voy a mover mi deslizador de línea de tiempo a la décima de segunda marca. Voy a agregar más fotogramas clave para esto. Podría hacerlo para X e Y independientemente, pero si hago clic en este minúsculo, minúsculo botón más donde dice escala, eso va a agregar dos fotogramas clave más justo en este momento marcado para el valor x e y. Voy a establecer esos dos para que sean 1.11 0.1 Ahora como estoy cambiando estos a 1.1 se puede ver cómo está escalando el botón hacia arriba Entonces puedes ver cómo esto va a escalarlo en el transcurso de esta reproducción de animación. Bien, una vez más, ¿cómo consigo que juegue esto? Bueno, voy a volver a mi pestaña gráfica. Vamos aquí abajo. Tengo mi botón seleccionado, así que mira esto. Tengo algunos eventos. Cuando pasamos el cursor sobre el botón, es decir, nuestro mouse está sobre él, así como cuando descubrimos el botón, nuestro mouse no está sobre Entonces agreguemos eventos para ambos. Ahí está el primero, déjame agregar en hover. Ahí están nuestros dos eventos. Voy a traer aquí nuestra nueva animación, la escala del botón de reproducción. Vamos a por eso. Voy a arrastrar esto y escribir animación de juego. Cuando pasemos el cursor sobre el botón, vamos a tener que crear un poco de espacio aquí abajo Cuando pasamos el cursor sobre el botón, queremos reproducir esta animación hacia adelante Déjame seguir adelante y seleccionar esto y hacer el control D para duplicar eso. Cuando descubramos el botón, asegúrate de enchufar esto como la animación para reproducir aquí también Cuando destapamos el botón, es decir no lo estamos haciendo el ratón Queremos establecer el modo de reproducción en reversa. Eso va a ser bastante sencillo. Pase el cursor hacia adelante, se ciernen, retrocedan. Sigamos adelante y compilemos esto y guardemos y jueguen. Entonces, en 2 segundos, nuestros botones van a deslizarse. Ahora cuando paso el ratón por encima, este botón se hace más grande. Deshover, vuelve a su tamaño habitual. Podemos dar click en él, lanzar el juego, y ahí vamos tenemos algunas animaciones de widgets. Trabajo bien hecho chicos. Eso va a ser amigo para este. Nos vemos en la siguiente. 101. Interacción con el controlador del menú principal: Bien, bienvenidos de nuevo a todos. Bueno, ahora tenemos un menú principal que funciona. Y podemos hacer clic en este botón vamos una vez que se deslice a la vista para poder lanzar nuestro juego. Pero como algunos de ustedes sin duda han notado, no podemos interactuar con este botón con un controlador. Entonces, si tienes un controlador físico, ya sabes, de Xbox conectado a tu computadora, en realidad no puedes iniciar el juego presionando el botón. Entonces pensé en agregar un video más aquí para mostrar cómo podemos interactuar con nuestro menú principal con un controlador. Entonces, antes que nada, asegúrate de tener un mando, como un mando Xbox, conectado a tu computadora, y así es como podemos hacer que eso suceda. Aquí estoy dentro de mi menú principal de WBP. Voy a pasar de nuestra vista de diseñador a nuestra vista gráfica. Lo que tenemos que hacer al final de nuestra construcción de eventos aquí, aquí es donde estamos retrasando 2 segundos. Entonces vamos a reproducir un sonido y animar en nuestro widget de introducción Vamos a agregar dos nodos al final aquí. El primero que vamos a agregar es una referencia a nuestro botón de reproducción. Así que vamos a seguir adelante y arrastrar y soltar esto en. Vamos a conseguir eso, entonces vamos a arrastrar fuera de esto y vamos a traer en una función conocida como Set Focus. Fije el enfoque. Asegúrate de que conectemos esto así. Ahora si presiono el botón de reproducción, vas a notar algo. Ahora cuando nuestro botón se desliza hacia adentro, vemos esta caja azul alrededor de nuestro botón vamos que está mostrando que nuestro controlador ahora tiene foco en este botón. Y si tuviera que presionar el botón, tengo un mando Xbox conectado. De hecho, me permitirá hacer clic en ese botón y luego lanzarme al juego. Ahora obviamente no quieres ver ese contorno azul ahí cuando en realidad estás en una versión oficial enviada del juego. Entonces, ¿cómo nos deshacemos de eso? Bueno, para hacer eso vamos a saltar a nuestro entorno de proyecto. Así que volviendo a mi editor de nivel principal aquí, puedo acceder a la configuración del proyecto entrando en la opción Configuración aquí mismo, Configuración del proyecto, o entrando en Editar. Ajustes del proyecto dentro de aquí. Simplemente haz una búsqueda de Render Focus. Actualmente tenemos esta regla de enfoque de renderizado, que está establecida en always. Y eso es lo que hace que ese contorno azul aparezca alrededor de este botón cuando se anima al mostrar que tiene foco Entonces, si tuviera que volver a la configuración de mi proyecto y cambiara de siempre a decir nunca, y luego volveré a entrar y jugar. Ahora en mi botón deslice a la vista. No veo ese contorno azul, aunque todavía puedo presionar el botón mi mando Xbox conectado e iniciar el juego. Muy bien con eso, Sigamos adelante y guardemos este activo. Voy a hacer click derecho sobre esto y guardar. Y chicos que lo van a hacer por este. Te veremos en la siguiente. 102. Pausa el diseño de menú: Bueno, ahora que tenemos un menú principal creado para nuestro juego, ¿no sería bueno que creáramos un menú de pausa? Yo creo que lo sería. Entonces vayamos directo a ello. Voy a empezar en mi carpeta U I aquí mismo. Y una vez más, voy a hacer click derecho en algún espacio vacío. Widget de interfaz de usuario, blueprint. Vamos a elegir este widget justo arriba en la parte superior. Y voy a llamar a este nuevo widget blueprint asset BP menú subrayado Y luego hagamos doble clic en esto para abrirlo enseguida. Ahora dentro de aquí, solo van a haber algunos widgets que vamos a agregar. Una vez más, vamos a empezar con un panel de lona. El panel de lona va a actuar como un tablero de tachuelas, un tablero de corcho con el que anclar otros widgets también. Así que el panel de lona va a ser el primero. El segundo que vamos a agregar aquí va a ser conocido como desenfoque de fondo. Así que vamos a estar esencialmente difuminando nuestro juego cuando estemos superponiendo nuestro juego con nuestro menú Paws Así que podría arrastrar eso encima mi panel de lona así. O podría arrastrarlo hasta aquí. Déjame simplemente arrastrarlo encima de mi panel de lienzo aquí solo para mostrar otra forma de hacer las cosas. Seguiré adelante y seleccionaré nuestro desenfoque de fondo de inmediato. Y seguiré adelante y pondré un ancla para esto en el panel de detalles. Este va a ser este ancla de pantalla completa. Ahora estas compensaciones van a ser todas relativas a nuestra pantalla completa, porque queremos que esta sea pantalla completa No queremos esta compensación en absoluto. Queremos que las compensaciones en izquierda, derecha, arriba, abajo sean todas cero Así que establece las compensaciones para que sean cero en todos los sentidos. Y ahora tenemos un desenfoque de fondo para toda nuestra pantalla. Ahora, por la cantidad de desenfoque que está controlada por esta fuerza de desenfoque de aquí mismo, puedes jugar con esto una vez que tengamos esto apareciendo en nuestro juego Descubrí que una fuerza de desenfoque de cinco tiende a ser casi correcta. Bien, Siguiente voy a agregar un botón a nuestra pantalla aquí. Entonces, viniendo debajo del panel de paleta, arrastremos un botón justo aquí afuera. Y se puede ver que lo adjuntó a mi desenfoque de fondo, que en realidad no quería. Y llenó toda mi pantalla por eso. Entonces lo que voy a hacer es que voy a arrastrar y soltar esto nuevo en la parte superior de mi panel de lienzo aquí. ¿Ves eso delineado? Y ahora esencialmente he vuelto a dar un puñetazo a mi botón, ya no está unido a mi desenfoque de fondo Con esto, voy a seguir adelante y establecer algunos detalles para ello de inmediato. Para empezar, voy a nombrar esto en el panel de detalles, mi botón Continuar. Sólo vamos a tener un botón que diga Continuar en nuestro menú de pausa. Ahora hemos cambiado el nombre de ese widget, el ancla. Voy a poner el ancla para que sea este cuadrado medio. Y eso significa que los desplazamientos de posición van a ser relativos a ese ancla Voy a establecer la posición x para que sea cero. La posición y para ser cero. Y ahora si me acerco a esto, se puede ver cómo está un poco alineado a esta esquina superior izquierda del botón. Echa un vistazo a esto. Si configuro mi alineación x aquí para que sea 0.5, esencialmente va a la mitad de esa alineación x. Y lo mismo con la alineación y aquí mismo. Si configuro eso para que sea 0.5 también, eso va a tener la alineación y, la alineación hacia arriba y hacia abajo. Entonces eso va a ser bastante bueno. Ahora voy a establecer el tamaño del botón aquí mismo en la X para que sea 450 en la Y. Voy a establecer que sea 130. Si me acerco hacia atrás, tiene una idea de lo grande que va a ser ese botón en la pantalla. Bien, a continuación sigamos adelante y fijemos nuestro estilo para nuestro botón. Esto va a ser muy similar a lo que establecemos para nuestro menú principal aquí, estilo normal. Voy a establecer nuestro ancho aquí para que sea siete bajo estilo. Con el tipo de redondeo, voy a cambiar a ese radio de media altura Eso le va a dar esta forma de pastilla que me gusta un poco. Ese va a ser mi estilo normal. Entonces el botón, cómo se ve normalmente sin que nosotros nos cerremos sobre él o sin nosotros hagamos clic sobre él. Así que voy a colapsar eso. Ahora vamos a establecer el estado de libración para este botón. Para ello, una vez más voy a establecer el ancho en siete. El tipo de redondeo también va a ser de media altura, radio y contorno Voy a dar click aquí mismo. Vamos a establecer esto en una especie de ese color amarillento. Y voy a establecer el valor, el valor alfa para que sea 0.5 así que eso va a ser medio transparente como, así que voy a ir con eso, eso se ve bastante bien Entonces ese va a ser nuestro estilo de botón ver. Entonces sigamos adelante y fijemos nuestro estilo prensado para esto. Voy a establecer el ancho para que sea diez, ese tipo de redondeo. Voy a establecer un radio de media altura una vez más. Y voy a dejar ese color. Así que sólo voy a estar cambiando realmente el ancho aquí de ese contorno. Y luego abajo, tenemos nuestra prensa. Sonido Y nuestro hover. Sonido Para hover Sonido Sigamos adelante y pongamos esto a nuestro grab, grab, underscore VR, grab Q. Una vez más, eso está en el editor del motor V R. Sonido Entonces, si no tienes acceso a ese camino, al hacer clic en este ícono de engranaje que muestra el contenido del motor debería llevarte ahí. Pero ahí está. Mi V R grab cue quiero para el hover Sonido La prensa Sonido que quiero es mi moneda. Moneda de Mario. Ah, y casi se me olvida. Quiero establecer un color de fondo para esto. Así que desplazándose por aquí abajo con nuestro botón de continuación seleccionado, ahí está nuestro color de fondo Yo quería algo tipo de maroonish, algo así A lo mejor un poco más oscuro, algo así es bastante bueno. No llegar a obsesionarse con ello por ahora. Haz clic en Bien, Ahora queremos poner algo de texto encima de este botón. Podemos hacerlo arrastrando aquí nuestro widget de texto. Podría arrastrarlo encima de este botón o aquí abajo en la jerarquía. Si arrastro aquí abajo debajo de la jerarquía, una vez que veo que el botón continuar ha sido rodeado por ese contorno azul, puedo arrastrar y soltar esto justo encima de esto. Y puedo seleccionar este widget de texto en el panel Detalles, lo llamaré guión bajo Continuar Si me desplazo hacia arriba en el panel Detalles, el texto de inmediato, puedo configurarlo para que se lea. Continuar. Y para la familia de fuentes, otra vez, no me gusta Roboto ahí Eso es un poco aburrido. Entonces aquí es donde esas fuentes importadas realmente vienen muy bien. Voy a poner eso a mi estilo de fuente Mario 256, algo así. Voy a establecer el tamaño de fuente en 45, mi tamaño de contorno, voy a establecer eso en seis, así que tengo un poco de contorno negro alrededor de eso. Podría haber puesto ese color rojizo para que fuera un poco demasiado oscuro. Es un poco difícil ver ese esquema. Y nuevamente, si quieres ajustar el color de tu contorno, puedes hacer clic ahí mismo y ajustarlo. Entonces quiero darle un codazo un poco a esto en este botón porque está un poco adentro hacia la parte superior de esto Entonces puedo codazar eso entrando debajo de esta sección de relleno, justo arriba en la parte superior del panel de detalles Voy a ampliar esto y para esto voy a poner la izquierda para que sea, voy a tabular hacia abajo hasta arriba. Voy a poner eso en diez. Y luego por la derecha y por la parte inferior. Al derecho. Y creo que eso va a quedar bastante bien. Sí, eso es lo suficientemente decente para mí. Con eso, seguiremos adelante y lo guardaremos. Ahora tenemos nuestro diseño de menú de pausa. En el siguiente video, seguiremos adelante y crearemos la entrada y el script necesarios crearemos la entrada y el script necesarios para que esto se muestre en pantalla y que sea interactable. Te veremos ahí. 103. Guión de menú de pausa: Bienvenida de nuevo. En este video, nuestro objetivo es hacerlo para que podamos pausar nuestro juego e interactuar con nuestro menú de pausa para que podamos reanudar el juego Para ello, vamos a empezar yendo a nuestra carpeta en tercera persona. Dentro de aquí, vamos a entrar en la carpeta de entrada, vamos a crear una acción de entrada que va a ser la encargada de pausar nuestro juego Vamos al interior de la entrada en tercera persona. Vamos a entrar en nuestra carpeta de acciones dentro de aquí. Y voy a mantener pulsado el control y desplazarme. Rueda hacia atrás para disminuir el tamaño de estas imágenes en miniatura Ese es un buen consejo para ti ahí mismo. Puede mantener pulsado el control y desplazarse. Rueda hacia arriba y hacia abajo para reducir y agrandar esas miniaturas. Y voy a hacer click derecho en algún espacio vacío. Vamos a entrar bajo Input en nuestro menú de entrada. Vamos a venir bajo Input Action. Ahora vamos a llamar a esto una pausa de subrayado. Y luego vamos a hacer doble clic sobre este tipo para abrirlo. Bien, entonces dentro de este activo, estamos definiendo algunas cosas sobre cómo se va a activar esta acción de entrada, así como cuándo se puede activar. Entonces, antes que nada, vamos a establecer cómo se va a activar esto debajo del área de disparadores. adelante y movemos esto un poquito para que veas lo que está asociado con lo que va a ser nuestro tipo de valor, boole digital como sucedió, ¿no? Activa aquí mismo. Vamos a hacer clic en este botón más y en nuestro índice cero, vamos a expandir esto hacia abajo. Y queremos activar algo cuando presionamos un botón dado. Y dice aquí mismo, va a desencadenar incendios solo una vez cuando la entrada excede el umbral de accionamiento. ¿Queremos saber cuándo se ha pulsado un botón dado? Ahora bien, esto es muy clave. No te pierdas este paso. Queremos que esto se active también cuando el juego esté en pausa. Si no marca esta casilla, entonces cuando vayamos a despausar el juego, no va a funcionar Toro digital presionado para el gatillo y luego se dispara cuando la pausa se establece en true, continúe y guarde eso. Ahora lo siguiente que tenemos que hacer es volver a nuestro plano de personaje Esta es una pequeña reseña bajo nuestro BP, personaje de tercera persona. Desplácese hacia atrás y desplácese hacia arriba donde tenemos nuestro evento comienza. Juega aquí. Y ahora mismo estamos separando nuestro evento comienza. Juega para un nodo de secuencia. Justo aquí es donde tenemos nuestro contexto de mapeo. Y esto es lo que determina qué insumos funcionan todos en nuestro juego y cuáles no. Y actualmente estamos usando este activo predeterminado de IMC dentro de nuestro blueprint de personajes Ahora puedo navegar hasta esto haciendo clic en esta lupa. Y una vez más está aquí. Dentro de nuestras carpetas en tercera persona. Y si hago doble clic en este activo, esto puede parecer familiar desde antes en el curso. Aquí es donde esencialmente estamos ranurando en nuestras diversas acciones de entrada creadas Y luego estamos asociando botones con ellos. Entonces por ejemplo, cuando estamos presionando la tecla de nuestro teclado o nuestro botón frontal del gamepad a la izquierda, eso es lo que está iniciando nuestro evento shot Fireball Bien, entonces necesitamos agregar un nuevo mapeo aquí para nuestra pausa de IA. Podemos hacerlo haciendo clic aquí arriba debajo de Mapeos, este pequeño botón más Por la razón que sea, vuelve a expandir todo esto, lo cual es un poco molesto, pero acaba de crear esta entrada aquí mismo. Entonces aquí es donde podemos slot en nuestra pausa A, Ahí está. Ahora una vez más hace esta cosa donde los expande a todos. Nuevamente, podemos asociar algunos botones con eso para pausar el juego. Quiero que sea para que la tecla de nuestro teclado, así como lo que sería una especie de botón de inicio en un pad de juego, que esos hagan una pausa en el juego, para establecer teclas que puedan iniciar este evento. Voy a hacer click en este teclado, eso lo va a convertir en naranja. Ahora sólo puedo tocar una tecla en mi teclado. Entonces voy a presionar la tecla y ahí está la tecla. Y luego voy a agregar otro para mi entrada de mando para pausar el juego. Entonces voy a hacer click en esto una vez más. Y claro que hace esta cosa molesta donde expande todas estas categorías abiertas. Y ahora puedo hacer slot en una segunda entrada para pausar el juego. Entonces voy a hacer click en esto, ahora tengo un mando Xbox conectado a esto. Voy a presionar ese botón que está justo al lado del botón X en mi mando Xbox. Por lo que va a ser conocido como Gamepad Special. Derecha. Eso fue lo que inicialmente se conocía como el botón de Inicio en los pads de juego más tradicionales. Bien, con estos ahora asociados, podemos seguir adelante y salvar esto y cerrarlo. También podemos cerrar nuestro BP, personaje de tercera persona también. Y también nuestro activo Input Action Pause también. Bien, ahora para pausar nuestro juego, en realidad quiero poner este guión dentro de nuestro plano de controlador de jugador porque nuestro personaje puede morir Sólo queremos poner esto en un plano que va a persistir ya sea que nuestro jugador esté muerto o no Entonces, sigamos adelante y busquemos nuestro plano de controlador de reproductor Y una vez más, si no estás seguro qué plano de controlador de reproductor estás usando, puedes encontrarlo en Configuración del proyecto entrando en Ajustes del proyecto en Mapas y modos Tenemos nuestro modo de juego predeterminado ahí mismo. Y este es nuestro Player Controller clase BP Player Controller. Podemos navegar hasta él allí mismo en el navegador de contenido. Ahí está en nuestra carpeta de marco de blueprint de plataforma. Vamos a hacer doble clic en ese tipo para abrirlo. Voy a desplazarme rueda atrás y encontrar algo de espacio vacío aquí. Y voy a venir justo por aquí. Entonces necesitamos encontrar ese evento de acción de entrada, o esa pausa. Entonces voy a hacer clic derecho en algún espacio vacío y escribir una pausa de guión bajo Y este es el que estoy buscando, evento de acción potenciada, Una pausa. Tiene ese icono de flecha justo al lado. Y ahí vamos. Esto es hablar de nuestro evento de pausa que acabamos de configurar en nuestro contexto de mapeo de entrada. Entonces, ¿qué queremos que suceda? Bueno, cuando empecemos presionando la tecla, dispararemos de este pin. Voy a ejecutar esto a través de un nodo de sucursal. Vas a ver Y aquí en sólo un rato. Vamos a pasar esto a través de una sucursal. Y la condición que vamos a comprobar aquí es si estamos mostrando o no el cursor del ratón. Así que voy a hacer clic derecho en algún espacio vacío y escribir mostrar cursor del mouse. Vamos a conseguir que ahora se muestre el cursor del ratón. Sólo voy a enchufar esto a la sucursal enseguida. Este es un booleano que existe aquí dentro de nuestra clase padre de controlador de jugador Si voy a los valores predeterminados de clase y sobre en el panel de detalles escribo en el cursor del mouse, Ahí está mi show mouse cursor booleano Entonces voy a estar comprobando para ver si estamos mostrando esto o no. Ahora, la primera vez que pulsamos decir, la tecla, no estaremos mostrando el cursor del ratón. Es falso por defecto. Entonces, ¿qué queremos hacer? Así que construyendo a partir de esta rama falsa, vamos a crear un widget. Bueno, ¿qué widget nos gustaría crear? Nuestro menú de pausa. Obviamente, menú de pausa WBP Ahora no es suficiente para crearlo. También hay que decirle que se agregue a la ventana gráfica. Pero antes de hacer eso, voy a click derecho sobre este pin de aquí mismo. Y voy a promocionar nuestro menú de pausa a una variable que acaba de crear este setter Y aquí en nuestra sección de variables, mi Blueprint, nos está pidiendo que le demos un nombre a nuestra variable Entonces llamaré a esto mi menú de pausa. Y entonces lo que voy a hacer es que voy a tomar la salida de esto y decir Agregar a Viewport Esto es lo que en realidad va a agregar el menú de pausa a la ventana gráfica Y luego al final de esto, voy a arrastrar y escribir el cursor show mouse. Y esta vez quiero establecer show mouse cursor. Y aquí lo voy a poner en verdad. Entonces, aquí está la idea. La primera vez que vamos a pausar nuestro juego, digamos presionando la tecla en nuestro teclado, por defecto va a ser falso. Entonces vamos a correr por aquí, vamos a mostrar nuestro menú de pausa. Y luego vamos a decir, sí, ahora estamos mostrando el menú de pausa, modo que si intentamos presionar de nuevo la tecla, vamos a disparar luego fuera de la verdadera rama. Así, sólo vamos a terminar creando uno de estos menús de pausa. No vamos a crear accidentalmente una segunda instancia del mismo. Bien, pero aún no hemos terminado. Después de mostrar alternar este conjunto, mostrar el cursor del ratón a true. Lo que quiero hacer es que quiero tocar un sonido. Así que toca un sonido, dos D, haciendo clic en este desplegable, voy a escribir en pausa. Tengo este efecto de sonido de pausa de Mario. Y entonces este es el verdadero pateador. Voy a arrastrar esto y escribir pausa de juego. Hay una función para establecer pausa de juego y esto es lo que realmente va a pausar el juego. Una vez que marques esa casilla, muy importante, marques esa casilla. Bien, genial. Entonces eso realmente hará una pausa en el juego. ¿Cómo lo hacemos una pausa con esa misma entrada? Bueno, recuerda que esto va a voltear esto a verdad la primera vez que presionemos la tecla o ese botón de inicio en nuestro controlador. Entonces, la segunda vez que intentemos presionar esto, de nuevo, vamos a correr por la verdadera rama. Entonces lo que podemos hacer aquí es traer una referencia a nuestro menú de pausa. Vamos a conseguir eso. Recuerda que creamos ese menú de pausa aquí mismo. Y entonces vamos a arrastrar esto y decir Remove Parents. Eliminar de Padre. Esto esencialmente va a eliminar ese menú de pausa de la pantalla. Así es como eliminas un widget dado de la pantalla. Obtienes una referencia a ella, y le dices que se elimine de los padres. Una vez eliminado, lo que quiero hacer, escribir show mouse cursor vuelvo a escribir show mouse cursor y vamos a decir que no, ya no estamos mostrando nuestro cursor del mouse. Así que la próxima vez que volvamos a presionar la tecla, evaluará por defecto para que podamos volver a crearla También toquemos sonido a D. Play Sound Tot. Jugaremos esa misma pausa Sonido porque aquí mismo no estamos pausando nuestro juego. Y luego vamos a arrastrar set set game pause, y esta vez asegúrate de que esté desmarcado Entonces ese va a ser nuestro guión final de pausa y pausa ahí mismo Si quieres pausar el video aquí mismo para evaluar eso, tratando de enmarcar eso lo mejor que pueda. Bien, sigamos adelante y compilemos y guardemos esto de inmediato. Y solo danos una prueba rápida. Así que saltando y jugando. Bien, así que aquí estoy. Sólo voy a tocar esa tecla en la tecla de mi teclado. Veo aparecer el menú de pausa. Voy a volver a tocar la tecla. Pausa. Genial. Voy a probarlo en mi controlador aquí. Entonces voy a presionar eso, lo que se conoce como el botón de Inicio en el controlador clásico que lo está haciendo una pausa Pausa por cierto, incluso puedes mezclar y combinar ese tiempo. Yo hago una pausa en mi mando y presiono la tecla de mi teclado para pausar el juego. Ahora eso está todo bien y bien. Sin embargo, actualmente este botón no es interactivo. Hagamos esto interactivo también. Para que también podamos hacer una pausa el juego haciendo clic en Continuum Bien, para hacer eso vamos a saltar de nuestro controlador de reproductor BP. Vamos a volver a nuestro menú de pausa BP. Vamos a pasar a la pestaña gráfica sobre el lado derecho, justo encima en la sección de variables my blueprint, hay una referencia a nuestro botón continuar Todo lo que tenemos que hacer es bajar debajo del panel de detalles donde dice al hacer clic. Agreguemos un evento para esto. Entonces voy a hacer clic en este botón más y simplemente arrastrar fuera de esto, vamos a decir eliminar de Padres. Esto esencialmente nos quitará de la pantalla si estamos en la pantalla. Y luego vamos a hacer click derecho, obtener el controlador del reproductor. Voy a arrastrar fuera de esto y decir cursor del ratón. Voy a establecer mostrar cursor del ratón. Vamos a asegurarnos de que ya no se vea el cursor de nuestro mouse . Luego tocaremos Sound two D. Estoy seguro que puedes adivinar qué sonido nos gustaría reproducir esa pausa. Sonido Y luego para terminar esta pausa de juego fuera del set. Vamos a poner eso a eso iba a decir falso, lo que también equivale a Así que asegúrate de que eso sea falso. Vamos a compilar esto y guardarlo. Y luego saltando y jugando. Voy a tocar esa tecla en mi teclado. El cursor de mi mouse está arriba. Ahora puedo hacer clic en este botón Continuar. Continuar. Y la ONU pausa el juego y lejos nos vamos. Pausa. Unpause. Trabajo. Bien hecho chicos. Tenemos un menú de pausa que funciona, chicos, eso lo hará todo por este. Nos vemos en la siguiente. 104. BONO - Sprint para jugadores: Bien, bienvenido de nuevo. Un video extra para todos ustedes en este caso, les voy a mostrar cómo pueden agregar una mecánica de sprint a su juego. Y para empezar, voy a estar en mi carpeta de acciones de entrada en tercera persona. Este directorio aquí mismo, y vamos a crear una nueva acción de entrada. Sigamos adelante y haga clic derecho en algún espacio vacío. Vamos a venir bajo acción de entrada de entrada. Ese es el activo que buscamos crear. Un sprint de subrayado es lo que voy a llamar a este tipo. Y no hay nada dentro de aquí que deba configurar, así que voy a hacer clic en esto y guardar ahora necesito agregar este evento dentro de mi contexto de mapeo de entrada. Y una vez más, para entender qué contexto de mapeo de entrada estamos usando, podemos entrar dentro de nuestro blueprint de personajes Ahí está mi BP, personaje de tercera persona. Ese es el que estoy usando para este curso aquí fuera de su evento comience a jugar. Y tengo una secuencia para anotar ahí arriba. Tenemos nuestro contexto de mapeo. Esta es la lista de eventos de entrada que nuestro juego está usando actualmente. Y si hago clic en este navegador y navegador de contenido, puedo ver que es este de aquí mismo, mi IMC predeterminado Entonces voy a hacer doble clic sobre esto para abrirlo. Y ahora necesito agregar que un evento sprint dentro de aquí. Para hacer eso, necesito hacer clic debajo este botón más para Mappings Eso va a crear esta entrada aquí abajo. Y ahora todo lo que necesito hacer es solo slot en mi sprint, esa acción de entrada que acabo de crear. Ahora todo lo que necesito hacer, y por cualquier razón sigue haciendo este tipo de efecto extraño, necesito asociar algunos botones para esto. Entonces, ¿cómo quiero hacer que mi personaje sprint? Bueno, voy a dar click en este teclado y voy a decir que la tecla Mayús izquierda hará eso. Voy a hacer click sobre esto otra vez. Va a hacer esta cosa rara, y voy a dar click en este teclado. Y voy a decir que la tecla Mayús derecha también puede hacer esto. Y luego para los usuarios del controlador por ahí, voy a hacer clic en este botón más una vez más. Y también diré que si mantengo pulsado, diré que es la tecla X en mi mando Xbox que se conoce como botón frontal de Gamepad izquierdo Que eso va a desencadenar esto también. Bien, con esto agregado a mi activo de contexto de mapeo de entrada aquí, sigamos adelante y guardemos eso. Y ahora podemos volver al interior de nuestro personaje en tercera persona. Y voy a volver a acercarme aquí. Y creo que voy a poner este pedacito de guión que estoy a punto de escribir. Va a ser bastante corto. Lo pondré justo al lado de mi entrada de salto aquí. Así que sólo voy a hacer una sartén por aquí un poquito. Voy a hacer click en algún espacio vacío y hacer una búsqueda de un sprint. Es ese que tiene la flecha justo al lado. Ahí está mi evento de acción, acercando un poco a esto Lo que quiero hacer es hablar con el componente de movimiento de mi personaje. Porque nuestro componente de movimiento de personajes dentro aquí es nuestra velocidad máxima de caminata que actualmente está establecida en 1,000 Esto es lo que determina qué tan rápido puede ir nuestro personaje. Voy a arrastrar esto, entonces voy a arrastrar fuera de esto y decir velocidad fija de caminata. Voy a querer poner esto a una nueva velocidad cuando también empecemos a iniciar esta acción. Permítanme simplemente hacer control más D para duplicar este nodo, así como cuando completemos esta acción. Eso es en nuestro caso, manteniendo pulsada una de las teclas Mayús o el botón X de nuestro mando Xbox. ¿Cuál quiero que sea la nueva velocidad máxima de caminata cuando inicie este evento? Bueno, creo que lo voy a configurar y esto en realidad va a implicar que restablezca mi velocidad de movimiento predeterminada Actualmente mi velocidad de caminata máxima predeterminada está establecida 1,000 Voy a establecer esto para que sea algo así como, diremos 650 cuando no esté corriendo Y luego voy a decir cuando esté corriendo, voy a configurar esto para que sea, diremos 1,200 Entonces porque puse esto de nuevo a 650 por defecto en el componente de movimiento de mi personaje, diré que cuando no estemos corriendo, cuando hayamos terminado de mantener presionado nuestro botón sprint, ese es el botón X en un mando Xbox o la tecla Mayús izquierda o derecha Voy a poner esto de nuevo a ese valor de 650. Eso debería hacerlo. Así que vamos a seguir adelante y compilar aquí para asegurarnos de que nuestro script se vea bien. Y guardar luego saltando y jugando. Vamos a darle una jugada a esto. Y si solo me muevo de un lado a otro, ahora voy a una velocidad más lenta. Ahora bien, si mantengo presionada la tecla de Mayús, se puede ver que estoy conduciendo a lo largo Y si solto esta tecla de Mayús, vuelvo a una velocidad más lenta. Así es como podemos agregar una mecánica de sprint a nuestro juego. Espero que a ustedes les guste ese chicos. Eso lo va a hacer por este. Veo que ganas el siguiente. 105. BONO - Dilatación del tiempo de la flor de fuego: Bien, otro video de bonificación para todos aquí. Quiero hacerlo para que cuando nuestro personaje recoja la flor de fuego, pero haya un poco de desaceleración en el tiempo a diferencia de que nuestro personaje solo corra por esa flor de fuego e inmediatamente se haga más grande Quiero vender ese efecto un poco mejor. Entonces, ¿cómo podemos hacer eso? Bueno, para esto podemos usar algo llamado dilatación del tiempo global Esa es una manera de ralentizar el tiempo. Esto se puede hacer en nuestro personaje de tercera persona, plano Si olvidaste dónde está eso, planos en tercera persona, ahí está nuestro personaje en tercera persona Vamos a abrir a este tipo dentro de aquí. Quiero ir a la sección de guión donde nuestro personaje recogió la flor de fuego. Esto consiguió el poder de las flores. Ahora lo que vamos a hacer es tan pronto como se active este evento personalizado, nos vamos a arrastrar fuera de aquí y vamos a establecer la dilatación del tiempo global Y nuevamente, esto es lo que puede ralentizar el tiempo. Un valor de 0.0 significaría que el tiempo se detiene. 1.0 significa 100% nuestro tiempo habitual. Un valor de 0.5 significaría reducir nuestro flujo de tiempo a la mitad. Voy a establecer nuestra dilatación de tiempo aquí para que sea 0.2 y luego vamos a hacer todas estas cosas aquí mismo Cuando terminamos con todo el efecto de crecimiento del personaje, esto es importante. Quiero establecer nuestra dilatación global del tiempo para que vuelva al flujo habitual del tiempo Entonces lo que puedo hacer aquí es fuera de este pin de acabado, voy a arrastrar y decir set global time dilation Sí, asegúrate de que esté saliendo del final de nuestra línea de tiempo y luego entrando en nuestro interruptor en la dirección de la línea de tiempo. Aquí vamos a hacer que nuestro tiempo vuelva al tiempo habitual, que va a ser 1.0 Eso está todo bien y bien. Hay una cosa más que quiero hacer es que aquí dentro de nuestra línea de tiempo, voy a hacer doble clic en este nodo. Dentro de aquí, tenemos estos botones en la parte superior. Y este de aquí mismo es ignorar la dilatación del tiempo. Por lo que queremos ignorar la dilatación del tiempo mientras se está dando este efecto Entonces voy a encender esto, y cuando esté encendido y sea azul aquí, entonces podemos probar todo este efecto. Así que permítanme volver una vez más a nuestro gráfico de eventos, al comienzo mismo de obtener el poder de las flores, vamos a reducir la velocidad del tiempo. Vamos a ignorar ese efecto para el crecimiento de nuestros personajes. Y luego una vez que termine esta línea de tiempo, vamos a volver a establecer ese tiempo a su flujo habitual. Vamos a compilar esto y guardar, Y saltar y jugar. Y aquí vamos. Voy a mantener presionada la tecla Mayús para usar mis nuevos poderes de sprint. Y déjame pisar esta goomba de aquí. Deshazte de él muy rápido. Al bien, y ahora mira lo que pasa cuando recojo esta flor de fuego. Un poco de tiempo lento y luego vuelta a nuestro flujo habitual del tiempo. Bien chicos, eso lo va a hacer por este. Te veremos en la siguiente.