Curso de creación de helicópteros con pistolas antiaéreas con Unreal Engine 5 | Navid Ansari | Skillshare
Buscar

Velocidad de reproducción


1.0x


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

Curso de creación de helicópteros con pistolas antiaéreas con Unreal Engine 5

teacher avatar Navid Ansari

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.

      Promoción

      1:42

    • 2.

      01 Crea proyecto e importa archivos

      3:35

    • 3.

      02 Crea plano de Helli

      3:14

    • 4.

      03 Configuración de la rueda

      3:00

    • 5.

      04 Radio de la rueda

      2:41

    • 6.

      05 Rotación de la rueda

      2:27

    • 7.

      06 Mirar hacia abajo

      4:23

    • 8.

      07 Mira de izquierda a derecha

      1:30

    • 9.

      08 Freno de mano

      2:32

    • 10.

      09 Acción de entrada para subir y bajar

      2:44

    • 11.

      10 Configuración del motor

      3:38

    • 12.

      11 Modificar el hueso del rotor

      3:12

    • 13.

      12 Rotación del rotor

      3:29

    • 14.

      13 Gestor de motores

      2:52

    • 15.

      14 Diferentes velocidades del rotor

      2:22

    • 16.

      15 Finterp a

      3:27

    • 17.

      16 Pasar arriba

      6:50

    • 18.

      17 Verifica la altura con el trazado de líneas

      4:55

    • 19.

      18 Locación de VFX con polvo

      1:45

    • 20.

      19 Velocidad de la utilería de polvo

      6:50

    • 21.

      20 Metasonido del motor

      3:52

    • 22.

      21 Sonido del motor

      3:20

    • 23.

      22 comprobar si estamos en el terreno

      6:04

    • 24.

      23 Apagado del motor

      2:59

    • 25.

      24 Ve hacia adelante y hacia atrás

      4:06

    • 26.

      25 Muévete hacia la derecha y hacia la izquierda

      2:30

    • 27.

      26 Giro en el lugar

      2:51

    • 28.

      Misiles Helli 27

      2:05

    • 29.

      28 Sonido de misiles

      4:58

    • 30.

      29 Explosión de misiles

      2:40

    • 31.

      Misiles 30

      3:38

    • 32.

      31 Número de misiles

      4:22

    • 33.

      32 misiles de recarga

      2:19

    • 34.

      33 Missile UI

      6:51

    • 35.

      34 Miras

      6:38

    • 36.

      Plano de un arma antiaérea 35

      6:38

    • 37.

      36 Modificar los esqueletos del arma

      4:14

    • 38.

      37 Calcula la dirección del arma

      7:10

    • 39.

      38 Proyectiles de pistola antiaire

      4:21

    • 40.

      39 Dispara las armas

      5:31

    • 41.

      40 Dirección aleatoria de los proyectiles

      3:50

    • 42.

      41 VFX de pistola antiaire

      3:37

    • 43.

      42 Sonido de fuego

      5:32

    • 44.

      43 Sistema de salud Helli

      3:37

    • 45.

      44 IU de la barra de salud

      4:51

    • 46.

      45 Destruir Helli

      3:19

    • 47.

      46 Punta de Helli sobre el daño

      4:54

    • 48.

      47 Sonido helli de impacto de proyectiles

      2:42

    • 49.

      48 Destruir el arma antiaérea

      4:54

    • 50.

      49 Corregir la colisión de una pistola antiaire

      4:17

    • 51.

      50 Movimiento del rotor trasero

      2:01

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

17

Estudiantes

--

Proyectos

Acerca de esta clase

aprenderemos todo sobre las ruedas, cómo moverlas, girarlas y usar un freno de mano

a continuación, aprenderemos a usar el componente de movimiento del vehículo para hacer que nuestro helicóptero vuele

luego agregamos efectos de niagara para mostrar la distancia al suelo con algo de polvo

a continuación, vamos a usar un plano de animación para girar las palas del helicóptero

para el enemigo vamos a crear una pistola antiaérea para que pueda disparar a nuestro helicóptero y destruirlo

Conoce a tu profesor(a)

Teacher Profile Image

Navid Ansari

Profesor(a)

Hello, I'm Navid.

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. Promoción: En este curso, vamos a crear un juego que podamos volar un helicóptero. Partimos de crear un proyecto. Haremos la configuración de la rueda. Entonces las ruedas de nuestro helicóptero también se mueven. Tendremos frenos de mano para esas ruedas también. A continuación, vamos por la configuración del motor, cómo podemos despegar este helicóptero. Y con eso, tendremos algunos efectos visuales como la rotación de la hoja y los efectos visuales Naga para el polvo debajo del helicóptero Tendremos algunos sonidos con eso también, así que sonará más natural. En este helicóptero, podemos ir a la izquierda. Podemos ir a la derecha. Podemos ir hacia adelante, hacia atrás. Podemos girar a la derecha y a la izquierda, también. Después de eso, implementaremos un sistema de misiles para poder disparar a lo que queramos. Y para hacer eso, necesitamos un enemigo, para poder dispararle. Entonces, para el enemigo, crearemos un plano anti pistola de aire comprimido. Para que con eso, podamos golpear nuestro helicóptero y destruirlo. Este gon antiaéreo puede disparar a nuestro helicóptero si el helicóptero está a su alcance, y girará, por lo que enfrentará al helicóptero. Para anti air gon, tendremos efectos visuales. Y suena también. Y cada vez que algunas de estas balas chocan contra el helicóptero, escucharás los sonidos de también escucharás los sonidos de su impacto contra el helicóptero. Después de eso, tendremos alguna interfaz de usuario, por ejemplo, él, punto de vista, y la cantidad de misil que podemos disparar Entonces, sin más preámbulos, comencemos. 2. 01 Crea proyecto e importa archivos: No por crear un juego de helicóptero. Primero, necesitamos un juego, y para hacer eso, quiero usar un proyecto en blanco. Estoy usando Aria Engine 5.5 0.3. Puedes usar la misma versión que yo estoy usando, pero si estás usando otras versiones, puedes hacerlo. Si eres principiante, es mejor quedes con la versión que estoy usando. Entonces no ves el cambio en el nombre del nodo. Entonces no, vamos a crear un proyecto en blanco. Haga clic en Blank. Queremos que esté en plano No necesitas el contenido inicial, y el nombre del proyecto, quiero llamarlo infierno o helicóptero. Yo lo llamaré infierno. ¿Dónde lo quiero poner? Quiero ponerlo en esta carpeta, bien. Y eso es todo, head create y va a crear el proyecto para nosotros. No, con el proyecto abierto primero y primero, necesitamos salvar este nivel. Entonces el control de la cabeza es salvarlo. Quiero crear una nueva carpeta aquí, y quiero llamarla niveles, y quiero ponerla ahí. Lo nombraré solo Nuevo Mapa, head save, y guardará el nivel ahí. No lo siguiente que quiero hacer quiero ir a Editar preferencias del editor. Y aquí dentro, quiero buscar abierto. Entonces como editor de ubicación abierta, quiero que esté en la ventana principal. Así que cada vez que abrimos algo, se abrirá por aquí. Lo siguiente que quieres hacer, quieres ir a editar configuración del proyecto e ir a mapas y modos y cambiar el mapa inicial del Editor a nuevo mapa que guardamos y el mapa predeterminado del juego a nuevo mapa también. Sólo con eso, seremos salvados. No es lo siguiente que quieras hacer. Queremos ir a Edit plugin. Y aquí dentro, busca el caos. Baja hasta llegar al plugin del vehículo del caos. Solo revisa que encabeza y reinicia tu proyecto. Sepa que nuestro proyecto es reiniciar, lo que tenemos que hacer. En la descripción de este video, hay un archivo zip que se llama Helly punto Zep. Solo descarga eso. Ponlo en tu escritorio. Puedes abrirlo si estás en Windows diez o 11. Pero si no estás en Windows diez o 11, puedes descargar el software WinRAR para extraer esto Dentro de esta carpeta, se puede ver que hay anti Argon y hay una carpeta HeL. Que dentro de cada uno de ellos, hay carpeta de activos. Estos son todos los activos que necesitas para este proyecto. Ahora, con eso hecho, podemos simplemente arrastrarlo y soltarlo y ponerlo en el escritorio para extraerlo. Ahora, se puede ver que está extrayendo. Con estas dos carpetas, necesitamos ir a Areal Engine, ir al cajón de contenido, hacer clic en Carpeta de contenido, derecha, dar hacer clic en Carpeta de contenido, derecha, clic en ella y mostrarla en Explorer Y abrirá la carpeta de contenido de Healy, ¿verdad? Con eso hecho, necesitamos arrastrar estas dos carpetas anti Airgon y infierno dentro de esta carpeta de contenido Eso es todo lo que necesitas hacer. Ahora bien, si vas al motor Areal, aquí, puedes ver que hay dos nuevas carpetas AntiArgon y Podemos simplemente hacer clic derecho sobre él, establecer un color para ellos. Por ejemplo, para el infierno, quiero usar el verde porque es el jugador, ¿verdad? Y Antiirgon quiero de nuevo, dar click derecho sobre él, establecer el color Esta vez, quiero usar rojo porque es el enemigo, ¿verdad? No, tenemos el activo necesario para crear nuestro juego de helicópteros. 3. 02 Crea plano de Helli: Sepa que tenemos los activos necesarios, solo vamos a crear nuestro primer plano para nuestro helicóptero Por hacer eso, antes que nada, si vas al interior de una de estas carpetas, cualquiera de ellas y no ves esta carpeta de activos, solo cierra tu motor Al y ábrelo de nuevo y lo verás ahí. Ahora, ve a la carpeta, da click derecho aquí, crea una nueva carpeta aquí, y podemos llamarla blueprint Entonces todos nuestros planos estarán aquí. Haga clic derecho aquí, cree clase de plano. Y esta vez, ir a todas las clases de aquí y buscar peón vehículo de ruedas, vehículo de ruedas Pan seleccionó cabeza seleccionar y podemos llamarlo Bien. Eso es. Vamos a entrar. Voy a hacer clic en él para abrirlo. Aquí, tenemos un componente de movimiento vehicular y tenemos una malla, y esta es una malla esquelética Simplemente podemos hacer click en él, y en su malla esquelética ácida, podemos elegir nuestro helicóptero y puedes verlo por aquí Eso se ve realmente increíble. No es lo siguiente que quieras hacer. Queremos agregar un brazo de resorte y la cámara. Entonces haga clic en la malla, haga clic en AD y busque brazo de resorte. Agrega el brazo de resorte. A continuación, haga clic en el brazo de resorte y haga clic en AD y agregue una cámara. Eso es muy importante. No, lo siguiente que quiero hacer, quiero cambiar la longitud del brazo o resorte. Ahora mismo, se puede ver que es demasiado pequeño. Entonces, haga clic en el brazo del resorte y cambie la longitud del brazo objetivo a 2000. Bien, si quieres aumentarlo, puedes hacerlo, pero esto es más que suficiente. No, se puede ver que el brazo de resorte es un arranque en la parte inferior del helicóptero. Lo que quiero hacer quiero sacarlo a colación un poco, así como esto a 150 quizá a mitad de helicóptero, y eso es todo. Vamos a encabezar compilar guardar. Ahora, veamos cómo podemos engendrarlo. Para engendrarlo, quiero crear una nueva clase de blueprint aquí, y quiero crearla fuera de la base del modo de juego Quiero llamarlo GM para modo juego, BP para plano. Quiero llamarlo infierno. GM BP infierno. Muñeca da click sobre él para abrirlo. Y aquí dentro, lo único que quieres cambiar es el punk default last. Quieres cambiarlo de peón por defecto a BP hell. Entonces este modo de juego se generará sobre BP hell como sus PunLSS Ahora, solo puedes guardarlo y cerrarlo. Si vas al mapa, podemos ir a la configuración de palabras. Si no tienes esta configuración de palabras, ve a Ventana y abre la configuración de palabras haciendo clic aquí. No, el modo de juego que quieres sobrescribir se llama GM BP hell game mode blueprint hell, ¿verdad? Sólo con eso, si nos dirigimos a salvo y atropellamos juego, se puede ver, no, podemos ver nuestro helicóptero con la cámara y el brazo de resorte que traen de vuelta la cámara. Derecha. Primer problema que se puede ver, se puede ver que las ruedas no son. Bien, veamos cómo podemos arreglarlo. 4. 03 Configuración de la rueda: No para fijar las ruedas de un helicóptero que no esté rotando. Bien. Por hacer eso, hay un componente de movimiento vehicular aquí hay un componente de movimiento vehicular que deberíamos decirle cuáles de estos huesos son tus ruedas, ¿verdad? Así que vamos a abrir la malla esquelética de esto. Se puede ver que hay dos delante aquí y hay uno atrás. Solo vamos al cajón de contenido. Y aquí dentro, quiero ir a Acid, ir a Vigilante content, ir a vehículo, ir a West Healy Y aquí adentro, abre el esqueleto, ¿verdad? Esqueleto de nuestro helicóptero. Entonces ahora aquí quiero buscar infierno y ya pueden ver que tenemos uno aquí. Puedo darle a F para hacer zoom en él. Se puede ver que esta es la primera. Y después de eso, tenemos junta de rueda real. Si golpeamos F, iremos ahí y podremos probarlo con girarlo, ¿verdad? Y contamos con rueda de arte Joint. Y si le pegas a F, iremos ahí, y podemos rotarlo para ver si está bien. Entonces tenemos tres ruedas Rtheljoint LF junta de rueda y junta de rueda trasera Queríamos montar estas ruedas. Así que ve a BP Healy. Aquí, tenemos tres. Así que vamos a crear tres de ellos. Ahora, vamos a expandirlo para ver qué necesita. Primero, necesita una clase de tacón. Después de eso, necesita un nombre de hueso, ¿verdad? Así que vamos a elegir primero el nombre del hueso para todas las ruedas, y después de eso, iremos y crearemos una clase de tacón si es necesario, ¿verdad? Entonces ve aquí, ve a un esqueleto aquí, y quiero hacerlo para junta de rueda izquierda, clic derecho sobre él. Copia el nombre del hueso. Y podemos simplemente pegarlo por aquí. Eso es. Podemos ir al siguiente para el siguiente. Quiero hacer el correcto rtheljoint click derecho sobre él, copiar el nombre del hueso, y pegarlo No, quiero hacer la rueda trasera. Entonces otra vez, vamos a ir aquí. Contamos con junta de rueda trasera, clic derecho sobre ella. Copiar huesos. Y pégalo por aquí. Y ahora por probar eso, solo vamos a ir o mapear para que pueda expulsarme de él, ¿verdad? Si le pego a F ocho y voy aquí, se puede ver que la rueda delantera está bien. No está rotando. No te preocupes por ello. lo arreglaremos. Pero la rueda trasera, se ve que está en el cielo, así que eso es un problema. Entonces por eso necesitamos crear clase de rueda para la rueda trasera, ¿verdad? Y también quiero crear una clase de rueda para la rueda delantera. Pero primero, vamos a crearlo para éste. Ahora mismo, la razón por la que está arriba en el cielo, es porque la clase de rueda no es buena. El radio de la clase de rueda que estamos usando aquí por defecto, no está bien. No está construido para esto. Así que vamos a ver cómo podemos solucionar este problema en el próximo 5. 04 Radio de la rueda: No, por arreglar el problema, que la rueda trasera está en el cielo. Veamos cómo podemos arreglarlo. Por arreglar eso, quiero ir al cajón de contenido, ir a la carpeta Hali, ir a Blueprint Y aquí, derecho, da clic en crear una clase de Blueprint, ir a todas las clases y buscar el caos bajamos Rueda vehicular Chaos. Así que queremos crear clase para sobre ruedas. Así que haz clic en Seleccionar, y quiero llamar a este C ww para rueda de vehículo caos, y quiero llamarlo rueda trasera Bien, rueda trasera. No haga clic en él para abrirlo. Y aquí adentro, se puede ver que podemos cambiar algunas cosas. Por ejemplo, el radio de la rueda, que es mucho más importante. Apenas con este valor predeterminado, si vas aquí y haces clic en el componente de movimiento del vehículo y vas aquí y eliges la rueda CVWrar que creamos juntos, veamos qué pasará si compilas y ejecutas no, puedes ver de nuevo que está en el cielo que no funciona No, vamos a ir aquí y cambiar el radio de la rueda a 20, por ejemplo. Y con eso, si vuelves a golpear a correr, puedes ver que está cerca del suelo. No, vamos a cambiarlo a diez y probarlo. Si atropellas un juego y expulsas, no, puedes ver que está en el suelo y eso se ve hermoso La rueda delantera está bien, pero quiero crear una clase para ellos también. Entonces, si necesitamos cambiarlos, podemos cambiarlos, ¿verdad? Así que ve a Cajón de contenido. Quiero dar click en este CVWrarWheel, Control D, para duplicarlo, y quiero cambiarle el nombre a rueda delantera, ¿verdad? Rueda delantera. Y quiero cambiar el radio 10-30 tal vez, ¿no? Cabezal compilar, guardar, ir a o BP, hacer clic en el componente de movimiento del vehículo y cambiar la clase de rueda para las ruedas delanteras del caos, rueda del vehículo a rueda delantera que creamos juntos. Entonces esta también, rueda delantera. No, digamos que se conformen. Si atropellamos juego y expulsamos, no, vamos a mirarlo. No, puedes ver que estos están bien, y los que están bien también. Todo se ve hermoso. Todo parece natural, pero el problema es que el infierno se está moviendo, pero nuestras ruedas no están rotando en absoluto. Así que vamos a ver cómo podemos rotar nuestras ruedas 6. 05 Rotación de la rueda: No, para girar nuestras ruedas, cada vez que nuestro helicóptero se mueve, para hacer eso, necesitamos crear un plano de animación para el esqueleto del helicóptero Entonces derecho dando click aquí, esta vez, quiero ir a la clase Blueprint para crear el blueprint de animación Quiero buscar vehículo. Y si vas abajo, puedes ver la instancia de animación del vehículo porque estamos usando un vehículo. El helicóptero es sólo un vehículo. Entonces, cuando creamos un plano de animación para un vehículo, necesitamos crear una instancia de animación de vehículo Así que eligelo head select, y aquí dentro, quiero llamarlo ABP Halley, Perro, da click sobre él para abrirlo. Te diré que no tiene ninguna malla esquelética. ¿ Quieres configurarlo? Dices que sí, y eliges la malla esquelética del helicóptero O y golpeas Bien, eso es todo No, solo hagámoslo, haga clic en él para abrirlo. Aquí, lo primero que quieres hacer, queremos obtener la malla f pose o el espacio de malla, si pose. Esto nos dará toda la información sobre los huesos dentro o esqueléticos Ahora después de esto, tenemos que buscar el control de rueda para vehículo con ruedas con eso No necesitas hacer nada si solo lo conectas a poste de salida. Con eso, todas las ruedas funcionarán bien. Y saber que creamos esto, necesitamos configurarlo dentro de nuestro BPhlly Haga clic en la malla esquelética o helicóptero y elija la clase anim para ello La clase animal para ello es ABP infierno. Así que vamos a elegir esa cabeza compilada guardar, y ahora sólo podemos atropellar juego. Ahora si expulsamos, puedes ver cada uno girando perfectamente bien. Se puede ver cada uno girando fino. Todos ellos están rotando bien. Pero el problema ahora mismo se puede ver el radio de esta rueda no es bueno. Está un poco dentro del suelo. Entonces solo podemos ir a rueda trasera, llantas CVWrar y cambiarlo a, por ejemplo, 15 nuevamente y compilar cabeza vamos a probarlo una vez más Y vamos a ir aquí, y eso es todo. Eso funciona bien. 15 es el buen número, ¿verdad? Este es bueno, y el frontal son buenos y están rotando. Y nuestro helicóptero se ve increíble bien. 7. 06 Mirar hacia abajo: No es lo siguiente que quieras hacer. Queríamos poder mirar alrededor nuestro helicóptero con nuestro ratón. Veamos cómo podemos hacer eso. Por hacer eso, quiero ir al cajón de contenido, y aquí en la carpeta Infierno, quiero hacer clic derecho, crear una nueva carpeta, y quiero llamarla entradas. ¿Bien? Voy a hacer clic en él para abrirlo aquí, clic derecho, ir a entrada. Lo primero que queremos crear es un contexto de mapeo de entrada, y quiero llamarlo IMC hell, ¿verdad Y no hagas clic en él para abrirlo. A continuación, necesitamos crear acciones de entrada. Yo quiero hacer primero mirar hacia arriba y hacia abajo. Haga clic derecho aquí, vaya a entrada y cree acción de entrada. Quiero llamarlo miro hacia arriba hacia abajo, ¿verdad? Dt da click sobre él para abrirlo. El tipo de valor, queremos que sea Axis one o un float porque o estamos mirando hacia arriba o estamos mirando hacia abajo. Entonces el Eje uno D es más que suficiente. Simplemente puedes guardarlo y cerrarlo. No, necesitamos mapearlo dentro o ingresar contexto de mapeo. Así que da clic aquí para agregar un nuevo mapeo, y queremos mapear el MIRO hacia arriba y hacia abajo. Y aquí con lo que queremos mirar arriba y abajo, pincha aquí, queremos hacerlo con mouse con mouse Y. Eso es todo. No, tenemos que ir a BP Healy en gráfico de eventos en comenzar a jugar Necesitamos agregar ese contexto de mapeo. Necesitamos obtener primero el controlador del reproductor , obtener el controlador del jugador. Y después de eso, necesitamos obtener una entrada mejorada de ella, mejorar el componente de entrada fuera de ella y agregarle el contexto de mapeo. Agregar contexto de mapeo, ¿verdad? El contexto de mapeo que desea agregar se llama AMC hell No, con eso hecho, podemos bajar aquí y buscar IA L arriba y abajo, y nos dará un evento aquí. Pero ¿qué queremos cambiar con este evento? Queremos cambiar la rotación de cabeceo alrededor del eje Y, ¿verdad? Entonces aquí adentro, cada vez que se activa, queremos decir add controller, pitch input porque queremos cambiar el tono para que podamos mirar hacia arriba y hacia abajo, derecho, con el valor de acción, ¿verdad? Vamos a ver qué pasará solo con esto. Si atropellas juego, ya ves, no puedo subir y bajar, pero definitivamente el tono del controlador está cambiando. Lo que quieres cambiar con el paso del controlador es el paso del brazo del resorte, ¿verdad? El paso del brazo del muelle, queremos que cambie así, ¿verdad? Queríamos cambiar así. Entonces para hacer eso, necesitamos hacer clic en o brazo de resorte y decirle que use rotación de control de juego de palabras Entonces, si el control mira hacia arriba o hacia abajo, también miras hacia arriba y hacia abajo . Entonces usa eso. Usa la rotación de control para tu propia rotación. Ahora con eso, si compilas, guardas y ejecutas no, ya ves, puedo mirar hacia arriba y hacia abajo, pero es a la inversa. Si quisieras dejarlo como a la inversa, puedes hacerlo, pero yo no lo quiero así. Entonces para arreglar eso, quiero entrar en cajón de contenido y abrir el miro hacia arriba y hacia abajo, y aquí, agregar el modificador. Agregar modificador, el tipo, quiero que sea negada. Entonces con lo negativo, invertirá lo inverso, ¿verdad? Entonces ahora, con esa, si te atropellas juego, ya ves, puedo mirar arriba y abajo normalmente con sobre alces no, queremos hacer mirar a izquierda y derecha Para mirar a izquierda y derecha, necesitamos cambiar la rotación en torno a qué? Alrededor del eje Z, eso se llama ya. Solo recuerda estas cosas. Esto es muy importante de recordar. rotación alrededor del eje Z se llama ya, y la rotación alrededor del eje Y se llama paso. Rotación alrededor del eje X que es o hacia adelante Vctor es fila Entonces no, es un reto para ti. Intenta crear la acción de entrada, mapearla. Entonces con más X, queremos cambiar la rotación alrededor del eje Z. Entonces queremos cambiar el controlador para que podamos mirar a izquierda y derecha. Intentas hacer eso. Lo haremos en la próxima. 8. 07 Mira de izquierda a derecha: No para mirar a izquierda y derecha, como antes, necesitamos acción de entrada. Así que ve a Cajón de contenido en carpeta de curación en carpeta de entrada, haz clic derecho aquí y ve a entrada y crea acción de entrada. Quiero llamarlo IA. Lo izquierda, derecha. Perro da click sobre él para abrirlo. El tipo de valor, queremos que sea eje uno d o float. No, queremos mapearlo, así que ve al infierno de IMC y agrega un nuevo mapeo Esta vez queremos hacer el look izquierda y derecha, ampliar esto. Queremos mirar a izquierda y derecha con la mayoría, ¿verdad? Entonces, eso es todo. Y ahora podemos ir a BPLli en gráfico Avant y dar clic derecho en aquí, buscar A L izquierda Esta vez queremos agregar controlador de entrada Ya como lo explicamos en el último video, rotación alrededor del eje Z se llama Ya por mirar a izquierda y derecha con el valor de acción que es valor entre menos uno y uno, ¿verdad? Entonces, vamos a compilar, guardar y ejecutar. Ahora, ya pueden ver, puedo mirar a la izquierda y a la derecha. Eso se ve increíble. Pero un problema que tenemos aquí, se puede ver por defecto, el nuestro helicóptero se está moviendo. Entonces lo que quiero hacer aquí, quiero agregar un freno de mano Entonces cada vez que golpeamos un espacio, este movimiento se detiene y nuestras ruedas se detienen. Veamos qué podemos hacer eso a continuación. 9. 08 Freno de mano: Ahora veamos cómo podemos usar un freno de mano. Podemos tenerlo dentro de cualquier vehículo, ¿verdad? Helicóptero es así. Solo vamos al cajón de contenido, y para eso, quiero crear una acción de entrada. Así que ve a input y aquí, crea input action, y quiero llamarlo un break de mano, ¿verdad? No hace falta que lo abra en absoluto. Solo necesitas mapearlo porque no necesitamos cambiar nada dentro de él. Así que ve a IMC Healy crea un nuevo mapeo, y queremos mapear el I handbake y cuando quieres que suceda, solo haz click aquí, espacio de cabeza para poner una Así que cada vez que teníamos un espacio, debería usar descanso de manos. Ir a archivo, guardar todo. Ahora, vamos a ir al infierno BP y aquí adentro, clic derecho. Y busca me rompa la mano, ¿verdad? Entonces no, dentro de este evento, no queremos usar el trigger, queremos usar el start y complete. Cuando suceda este inicio, cada vez que presionemos el espacio, este inicio sucederá. Y siempre que liberemos el espacio, esto completo sucederá. Entonces con eso, queremos tener un freno de mano. Para un freno de mano, es necesario obtener el componente de movimiento del vehículo, y en su interior hay una rotura de mano Entonces busca freno de mano, siéntate ese freno de mano adentro Poner cada vez que presionamos la barra espaciadora, queremos habilitar el handbake que es copiar y pegar con control C, control Y siempre que liberemos la guerra espacial, queremos soltar el freno de mano Pero veamos si está pasando así así. Si atropellas juego y vas a O wheels Hetaspace, no pasa nada Por qué no pasa nada. Es porque dentro de nuestra rueda, CVWRueda delantera, por ejemplo, queremos labrar para que se vea afectada por un Así que solo habilita esa cabeza segura. No queremos habilitar el freno de mano para rueda trasera, así que no te preocupes por este No es necesario habilitarlo. Ahora, con eso hecho, si atropellas juego y golpeas el espacio, puedes ver que no paró, y se detiene en el lugar. Así que eso se ve increíble. Nuestro freno de mano funciona bien. Si vuelves a atropellar el juego y puedes ver que se mueve, si golpeo el espacio, se detendrá ahí. Y también tenemos suspensión . Bastante genial. 10. 09 Acción de entrada para subir y bajar: No, en realidad queremos movernos. Veamos cómo podemos hacer eso. Para hacer eso primero, necesitamos un insumo. Entonces haciendo click aquí, crea una acción de entrada, y quiero llamarla IA, muévete hacia arriba hacia abajo, ¿verdad? No hagas click en él para abrirlo el tipo de valor, queremos que sea Axis one D. Así puedes simplemente ponerlo en Acesso uno D y simplemente puedes cerrarlo. No necesitamos esto. Y ahora queremos mapearlo o IMC infierno y aquí dentro, queremos elegir movernos hacia arriba y hacia abajo y cómo queremos movernos hacia arriba y hacia abajo Queremos hacerlo con cambio a la izquierda y control de elevación. Entonces haz clic aquí, cambio de cabeza, así estará ahí. Nuevamente, haga clic aquí para agregar otra entrada, haga clic aquí después de ese control de cabeza. Por lo que ahora tenemos el control de turno y levantamiento de la izquierda. Entonces cada vez que pulsamos el turno a la izquierda en nuestro teclado, el IA se mueve hacia arriba y hacia abajo nos dará uno. Pero cada vez que golpeamos el control de elevación, queremos que el evento IA move up and down nos dé menos uno. Así que bajamos, ¿verdad? Entonces aquí adentro, por defecto, cada vez que nos quedamos con el control, nos va a dar uno también. Pero queremos negarlo con un modificador, por lo que nos dará menos uno Entonces haz click aquí, niégalo, conoce lo que va a pasar. Siempre que teníamos turno de izquierda, nos va a dar uno. Siempre que hubiéramos dejado el control, nos dará menos uno. Sólo con eso, vamos a ir a BPL. Quiero tener algo de espacio. Derecha, haz clic aquí, busca IA, muévete y baja. Con eso, lo que quiero hacer, quiero establecer la entrada de trole que está dentro o componente de movimiento del vehículo, ¿verdad No, vamos a conectarnos así. Acabemos de tener compilar para ver si algo pasó o no. Primero, solo esperemos, cabeza turno a la izquierda. Se puede ver que no pasa nada. Si me dirijo control o turno, no pasa nada. Para que lo veas mejor, quiero usar una cadena de impresora para mostrar el valor de la acción así. Y si corres, no, queremos subir. Así que mantén el turno a la izquierda. Ya ves que nos va a dar uno, pero no va a subir. Si hubiera dejado el control, nos va a dar menos uno, pero no pasa nada, ¿verdad? Entonces para arreglar eso, lo que necesitamos, tenemos que ir al componente de movimiento del vehículo y configurar el motor. Quiero crear otro video solo para configurarlo en el motor. Así que cuando quieras, puedes volver a ese video y volver a verlo. 11. 10 Configuración del motor: No, veamos cómo podemos montar nuestro motor, para que nuestro infierno pueda subir y bajar. Para hacer eso, haga clic en el componente de movimiento del vehículo. Baja aquí hasta llegar a la configuración del trusser. Abajo, y puedes ver la configuración del trusser, ¿verdad? Entonces da click aquí para agregar el propulsor, solo necesitamos uno. Lo primero, el tipo truss, porque el motor no se mueve en absoluto, así que lo ponemos fijo No para el nombre del hueso. Sólo vamos a un esqueleto o a un helicóptero. El hueso que quiero usar, bajemos es una junta dentada que está en medio de nuestro helicóptero, y tiene todos los huesos dentro de él Entonces por eso quiero hacer clic derecho sobre él, copiar los nombres de los huesos y ponerlo por el nombre de over bone name. Entonces, ¿qué significa esto? Significa que cada vez que nos desplazamos de cabeza, esta entrada etrotal agregará algo de fuerza a ese hueso en la dirección que queramos, ¿verdad? Entonces, sólo le estamos diciendo a dónde se debe sumar esta fuerza, ¿verdad? El eje de confianza a donde debe ir, quiero ponerlo en Zone. Esto es X Y Z. La X e Y, queremos que sea cero, pero la Z, queremos que sea una Entonces cada vez que nos dirigimos el turno, el acelerador va a aumentar, y queremos aumentarlo hacia la Z positiva, así que subimos, ¿verdad? Así que vamos a bajar otra vez. A continuación, quiero cambiar la fuerza de Max Trust a 25,000. Por supuesto, puedes cambiar este valor cuando quieras, jugar con él, ¿verdad? Sólo con eso, si tuvieras compilar y correr, mantén turno, no, ya ves, está subiendo con eso. Si mantenemos el control, debería bajar. Se puede ver. No, está bajando. Y eso es todo. Estamos en el suelo y podemos golpear el espacio para detenernos. Se puede ver. Eso es genial. Pero eso no es todo lo que queremos. También quiero agregar el control de par. Por lo tanto, habilite el control de par, y quiero cambiar la escala de par de paso en uno y rodar la escala de par en uno. Así que cuando queramos rodar, podemos rodar. Y después de eso, la amortiguación de rotación, porque no quiero que gire mucho, voy a poner uno ahí también. Siguiente para estabilización o helicóptero, quiero habilitar el control de Establise, y quiero aumentar la retención de altitud Z a 15 Y estas tenencias de posición y por qué quiero disminuirla a una. Esto nos ayudará a subligar nuestro helicóptero para que no se mueva libremente Por supuesto, debemos jugar con todos estos valores hasta llegar al resultado que tú quieras. A lo mejor quieres el juego arcade. Es necesario cambiar este valor. A lo mejor quieres un juego de simulación. Nuevamente, hay que cambiar mucho estos valores, y eso es todo. O la configuración del motor es buena. Ahora, vamos a probarlo una vez más. Si mantienes turno, puedes ver lo hermoso que va y no, tiene más estabilización. Si bajas, puedes ver que está más establecido y ahora mismo, no podemos ir de izquierda a derecha Pero sí agregamos algunas cosas aquí para cambiar el tono, para seguir adelante y retroceder y cambiar la fila por ir a la derecha y a la izquierda. 12. 11 Modificar el hueso del rotor: Estamos subiendo y bajando, pero el problema es que no se ve bien. Las cuchillas no están rotando. El rotor no está girando, ¿verdad? Primero, déjame mostrarte cuál es la cuchilla. Si vamos aquí, se puede ver esto, lo llamamos pala o rotor. Entonces cada vez que arranca el motor y suben, estos rotores, estas palas deben estar rotando Y para hacer eso, tenemos que ir a Animation Blueprint. En Animation Blueprint, déjame hacer algo de espacio. El nodo que quieres usar se llama modify Bone. Así que busca Modificar Hueso. Y aquí dentro, el hueso que queremos cambiar. Cómo podemos encontrar eso. Si vas a un esqueleto, y aquí adentro, busca rotor. Se puede ver que hay muchos de ellos rotor, junta principal. Y si giras esto alrededor del eje Z, puedes ver, eso es lo que queremos rotar. Se puede ver. Eso es genial. Ahora, notamos la articulación principal del rotor óseo. Así que vamos a usarlo. En esta nota, tenemos que elegir ese rotor óseo, rotor , articulación principal, ¿verdad? No necesitamos cambiar la traducción, por lo que podemos ir al panel de detalles y decirle que no lo exponga como pin. No necesitamos cambiar la escala, así que no expongas esto como un pin, pero queremos cambiar la rotación. Y el modo de rotación, queríamos sumar a la existencia porque si tiene una rotación de antes, debería agregarle, ¿verdad? El espacio de rotación, quiero que sea espacio extra, entonces girará correctamente, ¿verdad? Porque donde el helicóptero puede rodar, puede cambiar el tono y puede hacer muchas cosas. Entonces, si lo pones en espacio extra, rotará según su padre, ¿verdad? No sobre la rotación. Haga clic derecho sobre él, divida el pasador de trazo. Necesitamos cambiar la rotación alrededor del eje Z. Por ejemplo, si pongo 45 aquí y encabeza compilar, se puede ver que es 45, no, ¿verdad? No quiero hacerlo así, lo que quiero hacer. Quiero dragonar y promover esto a una variable. Y quiero llamar a este valor del rotor, ¿verdad? Este es el valor del rotor. Cabezal compilar. No, vamos a cambiar el valor del rotor en cualquier editor de previsualización aquí para que veas que está girando correctamente. Eso se ve realmente hermoso, ¿verdad? Pero como queremos hacerlo, queremos hacerlo dentro de nuestro plano Y desde el inicio, queremos arrancar despacio primero porque el motor arranca lentamente, ¿verdad? Después de 1 segundo, debería alcanzar la velocidad máxima, ¿verdad? Entonces al inicio, queríamos rotar lentamente, sin problemas, y después de 1 segundo, queríamos ir a la velocidad máxima. Y para hacer eso, necesitamos usar este valor. Pero para calcular este valor lo que debería ser, quiero usar el plano W o BP hell Y veamos como podemos hacer eso a continuación 13. 12 Rotación del rotor: No, tenemos un plano muy bien interior o de animación que con eso, podemos rotar sobre pala Pero veamos cómo podemos rotarlo dentro del helicóptero blueprint blueprint, Entonces por hacer eso, quiero usar eventiqu, pero no quiero hacer de este eventiqu Entonces por eso quiero crear un evento personalizado. Entonces aquí dentro, buscaré en el evento Custom, y quiero llamarlo Engine Manager. ¿Verdad? Haremos muchas cosas, pero lo llamaré administrador de motores. Y quiero llamar a este evento personalizado en nuestra ruta EventQueecution Entonces, sea lo que sea que conectemos con ese evento personalizado aquí, es como conectarlo a eventiqu, Entonces ahora aquí, queremos tener una variable. Entonces con eso, giramos las cuchillas, a la derecha. La variable que quiero crear, quiero llamarla velocidad del rotor, ¿de acuerdo? Y esta velocidad rotora, quiero aumentarla cada vez Entonces esta no es la forma final de hacerlo. Lo cambiaré más tarde. Pero por ahora, vamos a mirarlo. Por ejemplo, cada vez que quiero agregarle cinco, bien, cada fotograma. Y con este valor, queremos establecer el otoraped con él, bien, así Y saber que tenemos esta velocidad del rotor, qué va a pasar. Cada cuadro, estas velocidades del rotor se incrementarán en cinco unidades, ¿verdad? Y con eso hecho, vamos a ir a nuestro blueprint de animación en gráfico de eventos Y aquí dentro, lo primero que queremos hacer, queremos crear un lugar de inicio de evento. Entonces con ella, obtenemos la BPL para que podamos acceder a las variables dentro de ella. Entonces necesitamos que el evento comience a tocar aquí, y queremos echar al actor dueño de este plano de animación Dos BP Healy, ¿verdad? Y después de eso, queremos promover estas dos variables, y quiero llamarla BP Healy Eso es más que suficiente. Ahora, en el evento de actualización aquí, queremos obtener nuestro BP Healy Queremos verificar si es válido. Por lo que la búsqueda es válida. Si es válido, queremos obtener velocidad del rotor, rotor, velocidad y configurarlo como valor del rotor, ¿verdad? Configura con la velocidad del rotor, ¿verdad? Eso es. No, el valor de velocidad del rotor en cada cuadro se guardará dentro del valor del rotor. Y debido a que conectamos el valor del rotor a este hueso modificado, debería girar, ¿verdad? Ahora bien, si atropellas juego, puedes verlo siempre girando, ¿verdad? Eso no es bueno. Queremos saber si el motor está encendido o no, si está arrancado o no, si está apagado o no. Yo por primera vez nos dirigimos turno o control en nuestro teclado, queremos girar lentamente esto, ¿verdad? Y después de 1 segundo, queremos que alcance la velocidad máxima. Entonces esta forma de hacerlo no es lo suficientemente buena. Entonces por eso necesitamos saber cuándo arrancó el motor, cuándo el motor está apagado, también. Entonces veamos cómo podemos hacer ese próximo video. 14. 13 Gestor de motores: No, estamos rotando las cuchillas, pero el problema es, siempre está rotando, ¿verdad? Veamos cómo podemos arreglarlo. Aquí se puede ver, siempre está rotando. No importa si estás en el suelo, si vas a subir o si vas a bajar. Nada está cambiando, ¿verdad? La velocidad no está cambiando. Para arreglar eso, necesitamos saber sobre el estado del motor si se arranca antes o si apenas está arrancando o si está apagado. Y por hacer eso, quiero crear alguna variable. Entonces, la primera variable que queremos crear se llama arranque del motor, ¿verdad? Y la siguiente variable que queremos crear se llama motor iniciado, ¿verdad? Y la siguiente variable que queremos crear es el motor apagado, ¿verdad? Conoce con estas variables, lo que quiero hacer aquí, siempre que nos dirijamos turno o control o teclado, queremos comprobar si el motor arrancó desde antes o no. Así que arranca el motor, y aquí dentro, quiero usar una rama como esta, conectar la ejecución pino ella. Si el motor arrancó desde antes, simplemente haga todo normalmente. Simplemente establece la entrada del acelerador con el valor de acción como antes, ¿verdad? Pero si no arrancó el motor , no, queremos arrancarlo, ¿verdad? Entonces para arrancar el motor, primero, necesitamos configurar el motor un arranque aquí, establecer el arranque del motor. Si no se arrancó el motor y se apagó el motor a false porque sí lo arrancamos, así que el motor se apagó debería ser falso. Y después de algún retraso, por ejemplo, 1 segundo, queremos decir que se arranca el motor. Entonces después de 1 segundo, queremos decir que el motor arrancó es True, ¿verdad? Cierto. Eso es. Vamos a conectarlo así. Después de eso, puedes cambiar el acelerador, ¿verdad? Eso es todo lo que tenemos que hacer. Vamos a la cabeza compilar, guardar. No pasó nada porque solo estamos cambiando algunas variables. Pero no, con esas variables, quiero comprobar en este gestor de motores que está conectado a Eventiq si este motor arranca, llegar a ser verdad Podemos verificarlo con la sucursal. Si llegó a ser cierto, en ese caso, se pueden rotar las cuchillas, ¿verdad? Vamos a encabezar, guardar y atropellar el juego. puede ver por defecto, Se puede ver por defecto, no está rotando, pero si tuviéramos turno, no, puedes que las cuchillas estén girando, y eso se ve increíble, ¿verdad? No, la pala tiene una velocidad constante. No queremos que sea así. Queremos cambiar lentamente la velocidad. Solo hagámoslo en el siguiente video. 15. 14 Diferentes velocidades del rotor: Nuestras cuchillas girarán cada vez que tuviéramos turno o control en nuestro teclado, ¿verdad? No va a rotar por sí mismo, ¿verdad? Ese es un buen paso en la dirección correcta. Pero cuando nos dirigimos el turno, queremos cambiar lentamente esta velocidad del rotor, y después de 1 segundo, queremos alcanzar la velocidad máxima, ¿verdad? Entonces por hacer eso, aquí dentro, queremos cambiar estos cinco. Entonces al principio, la velocidad de los rotadores, cada cuadro aumentará en cinco cada cuadro, ¿verdad? Queremos poder cambiar estos cinco por algún valor. Primera forma de hacerlo, podemos comprobar que este motor arrancó, ¿no? Entonces aquí dentro, podemos consultar con la sucursal. Por supuesto, esta no es la forma en que quiero hacerlo al final. Así que no lo hagas. Mira, ¿verdad? Entonces, si se arrancó el motor, queremos aumentar este valor a 25, por ejemplo. Pero si no arrancó el motor , esto cae va a pasar, y quiero controlar C control V para pegar todo aquí abajo. En caso de caídas, queremos que aumente en cinco. Ahora, veamos qué va a pasar. Compilar, guardar y atropellar juego. Y sabiendo aquí, si mantengo turno, se puede ver al principio, es menor velocidad, y de repente cuando el motor arrancó después de 1 segundo, aumentará a 25 cada cuadro. Cada cuadro 25 se agregará a la rotación. Se puede ver cómo se ve. Nuevamente, vamos a mirarlo. Al principio, la velocidad es menor se puede ver. Y después de 1 segundo, se incrementará. Y eso es con este retraso que tenemos aquí entre el arranque del motor y el motor arrancado, ¿verdad? Arranque del motor y motor arrancado, ¿verdad? Pero no quiero hacerlo con la sucursal. No se ve bien, ¿verdad? Entonces lo que quiero hacer, quiero hacerlo con intérprete. Esta nota interpretará suavemente este valor de, por ejemplo, de cero a 25, por ejemplo. Pero por hacerlo, quiero crear otro video solo para eso. Entonces veamos como podemos hacer ese siguiente video 16. 15 Finterp a: No, ya sabes lo que queremos hacer. Queremos cambiar la velocidad de rotación en función de si el motor acaba de arrancar o se puso en marcha. Conoce lo que queremos hacer. Queremos cambiar suavemente la velocidad de rotación, la velocidad rotación cuando arranca el motor, ¿verdad? Entonces para hacer eso, necesitamos cambiar estos 25 que tenemos aquí que cada cuadro agregamos a la velocidad de rotación sin problemas a 25. Entonces al principio cuando arranca el motor, debería ser cero. Y después de 1 segundo, queremos cambiar esto sin problemas a 25, ¿verdad? Entonces para hacer eso, necesitamos una variable. Aquí, quiero hacer clic derecho promocionado a variable, y quiero llamarlo velocidad del rotor tasa. ¿Bien? Entonces aquí dentro, podemos simplemente poner cualquier valor que queramos. Pero lo que queremos que suceda, queremos cambiar sin problemas esta tasa de velocidad del rotor a la velocidad máxima que es superior a 25. Entonces, por defecto, queremos que sea cero. No, con eso hecho, si pegamos a correr aquí, puedes ver si mantengo turno, nada está cambiando. Se ve que nada está cambiando porque esta velocidad del rotor es cero, y agregará cero a velocidad de rotación en cada cuadro. No pasó nada. Entonces, ¿qué quieres hacer? Queremos cambiar esta tasa de velocidad del rotor cuando el motor arranca suavemente a 25. Y eso lo podemos hacer con el nodo que se llama interp dos Y porque queremos cambiar un valor flotante 0-25, necesitamos usar F interprete que está por aquí, intérprete F. Este nodo necesita un valor actual. El valor actual que quieres cambiar es cero, que por defecto, es cero, y es nuestra tasa de velocidad rotativa. Queremos cambiar esta tasa de velocidad de rotación al valor objetivo que es 25. Y este nodo necesita tiempo delta. Podemos obtener la palabra Delta en segundo lugar para eso, y después de eso, el interpeed Para la velocidad de interposición, quiero ponerla en 0.5, pero deberíamos jugar con ese valor Entonces, ¿qué nos dará este nodo en cada cuadro, este intérprete F comprobará el valor de la velocidad del rotor y lo cambiará hacia el valor objetivo lentamente en base a esta velocidad de interpos, verdad Y en cada cuadro, tenemos que guardar este valor que este césped effin nos da también dentro velocidad del rotor, así, ¿verdad? Entonces conecta el pin de ejecución así y conecta este valor de retorno a la velocidad del rotor. Ahora, vamos a ver qué va a pasar. Si atropellas el juego, puedes ver por defecto que está apagado apagado. Si mantienes turno, puedes ver que aumentará lentamente la velocidad del rotor hasta alcanzar la velocidad máxima. No, ya ves lo hermosa que se ve. Nuevamente, vamos a mirarlo por defecto, no pasa nada. Si mantienes turno, verás, cambiará lentamente la velocidad de rotación hasta que alcance 25 cada cuadro, y eso es todo. Así es como podemos cambiar lenta y suavemente la velocidad de rotación a un valor máximo. 17. 16 Pasar arriba: Nadie cosas adicionales que queramos agregar a nuestro helicóptero es la capacidad de estar rondando, ¿verdad? Siempre que soltamos turnos, cuando estamos subiendo, queremos pasar el cursor a esa altura Y siempre que tengamos el control y vamos bajando y soltando el control, queremos pasar el cursor a esa altura Entonces veamos cómo podemos agregar capacidad de hora a nuestro helicóptero. Entonces para hacer eso, cada vez que soltamos turno o control en nuestro teclado, necesitamos guardar la altura en la que estábamos, ¿verdad? Entonces, por hacer eso, solo puedo obtener la ubicación del actor. Y con eso en un pin de asteroide partido, este valor Z es la altura de nuestro helicóptero, ¿verdad? Entonces, si lo guardamos, cuando liberemos el control de turno en nuestra palabra clave, qué pasará, ahorrará la altura en ese momento, ¿verdad? Entonces podemos promocionarlos a una variable, la Z de la misma, y puedo llamarlo altura para permanecer encendida, ¿verdad? Y si lo guardamos cuando soltamos turno o control en nuestro teclado, guardará esa altura dentro de nuestra variable, ¿verdad? Ahora bien, con eso, sabemos que hay una altura que debemos mantener, que debemos situar sobre esa altura, ¿verdad Entonces ahora, veamos cómo podemos rondar ahí. Para Hering, quiero cambiar esta entrada del acelerador hacia arriba y hacia abajo para que nos mantengamos en esa altura Y cómo podemos hacerlo, quiero hacerlo aquí. En este evento de gestor de motores que está conectado a eventiq Al final de la misma, primero, quiero consultar con una sucursal para ver si hay alguna entrada o no. Así que aquí, puedo conseguir el me muevo arriba y abajo. Entonces con esto, voy a obtener el valor de acción aquí, el valor de acción que esta IA mueve hacia arriba y no nos da. Si es igual a cero, si es igual a cero, significa que no hay entrada. Entonces si no hay entrada, podemos mantener esta altura que la guardamos dentro de esta variable, ¿verdad? Entonces, no, en caso de verdad, queremos cambiar la entrada del acelerador para subir o bajar, así mantenemos esa altura. Conjunto de control copia esto y pegarlo por aquí. Pero, ¿qué valor queremos poner aquí? Si metemos uno aquí, va a subir y si ponemos menos uno en este acelerador, bajará. Cómo podemos manejar esto, cómo podemos cambiar este acelerador, para que se quede a la altura que queramos. Por hacer eso, queremos verificar la altura actual de nuestro helicóptero y la altura en la que debe permanecer. Entonces, para obtener la altura actual de nuestro helicóptero, podemos volver a obtener la ubicación del actor, obtener la ubicación del actor. Y con esto, si estamos justo en él para dividir el pin de roca esta Z será la altura actual de nuestro helicóptero, ¿verdad? Quiero restar esto con la altura para quedarme así para ver cuál es la diferencia Si la altura actual es mayor que la altura en la que deberíamos quedarnos, entonces necesitamos disminuir el acelerador, para que el helicóptero baje, ¿verdad? Pero si el helicóptero está aquí abajo y altura para quedarse está aquí arriba, significa que debemos aumentar el acelerador, así el helicóptero sube a esa altura para permanecer encendido, ¿verdad? Ahora con esta sustracción, tenemos diferencia entre la altura Con ese valor, quiero usar un nodo que se llame map range clamped, ¿verdad? Por lo que comprobamos la diferencia entre la altura que tenemos actualmente con la altura en la que debería permanecer. Si está entre cero y -15, queremos cambiar el acelerador con un valor 0-0 0.7 Eso es. Necesito pin de ejecución. Vamos a darle eso. Déjeme explicarlo una vez más. Digamos que nuestro helicóptero está aquí arriba y la altura para quedarse está aquí. Altura de nuestro helicóptero menos la altura en la que deberíamos quedarnos, nos dará un valor positivo. Por ejemplo, diez, por ejemplo. Diez aquí no está entre A y B en rango. No va a estar entre estos dos, así que lo sujetará a cero porque está más cerca de cero. A la salida, nos dará el acelerador de cero. Entonces en ese caso, la gravedad bajará el helicóptero a esa altura para permanecer encendido. Pero en otros casos, si la altura de nuestro helicóptero era menor que la altura en la que deberíamos quedarnos, ¿qué pasará? Altura del helicóptero menos la altura en la que deberíamos quedarnos, nos dará un valor negativo. Por ejemplo, menos diez. Entonces menos diez es un valor entre esto en el rango A y B, ¿verdad? Por lo que esta pinza de rango de mapa nos dará un valor 0-0 0.7. Por ejemplo, 0.5 y 0.5 para acelerador, significa que el helicóptero subirá lentamente hasta alcanzar la altura para mantenerse encendido, ¿verdad? Pero digamos que la altura a una estancia con la altura actual de nuestro helicóptero es la misma. ¿Qué va a pasar? Altura de sobre helicóptero menos por altura para permanecer encendido, nos dará cero. Entonces, si el rango era cero, nos dará cero, y no habrá ningún acelerador. Sólo con eso, vamos a compilar guardar un juego runw. Si subimos, si subimos así y soltamos la tecla Mayús, se puede ver que sube un poco, y después de eso, se quedará en su lugar, ya puede ver. La altura de un helicóptero en este momento, no está cambiando en absoluto. Va a pasar el cursor Está retrocediendo por la rotación de nuestro helicóptero porque ahora mismo, no podemos cambiar el tono, así podemos ir hacia adelante y hacia atrás. Pero se puede ver que la altura de la misma no está cambiando. Nuevamente, si subimos y soltamos la tecla Mayús, nuevamente, mantendrá esa altura. Y si bajamos, de nuevo , mantendrá esa altura. Eso es genial. No, con esto, tenemos la funcionalidad de rondar sobre helicóptero 18. 17 Verifica la altura con el trazado de líneas: No, quiero agregar más efectos al helicóptero. Por ejemplo, el polvo cuando arranca el motor, queremos tener algo de polvo debajo sobre helicóptero. Veamos cómo podemos hacer eso. Por hacer eso, quiero ir aquí en un efecto Niágara, bien, sistema de partículas del Niágara. Quiero llamarlo solución de polvo, ¿verdad? Y con esto el sistema Nagar que quiero meter ahí se llama NS infierno tierra polvo. Vamos a ponerlo ahí. Ve a nuestro puerto de vista, y aquí, ahora mismo, no se puede ver que no pasa nada porque hay un prompter de usuario que se llama velocidad adecuada, que si aumentamos eso, puedes ver, ahí va a haber algo de polvo Si atropellamos juego con ese valor, se puede ver, ahí hay un polvo. Entonces, con base en la distancia al suelo que tenemos y la velocidad del rotor, podemos decidir cuál debe ser la velocidad adecuada. Por ejemplo, si queremos que sean 100 o si queremos que sean 500 o lo que sea, bien, cuánto queremos que sea. Por defecto, queremos que sea cero porque por defecto, no arranca el motor. Entonces veamos cómo podemos hacer eso. Para hacer eso, antes que nada, necesitamos saber cuál es la distancia entre nuestro helicóptero y el suelo. ¿Correcto? Entonces por hacer eso, cada fotograma quiero hacer eso. Así que no quiero volver a estropear esta eventiqu. Entonces por eso voy a crear otro evento personalizado, y quiero llamar a este. Vamos a crear un evento personalizado. Quiero llamarlo gestor de polvo, ¿verdad? Y después de eso, solo vamos a conectarnos al eventiqu y quiero llamarlo gestor de polvo, ¿verdad? Eso es. Vamos a ir aquí. En primer lugar, veamos cómo podemos medir la distancia entre nuestro helicóptero y el suelo. Para hacer eso, quiero usar una nota que se llame rastreo de línea por canal, ¿verdad? Este rastreo de línea por canal necesita una ubicación inicial y una ubicación final. Si le pega a algo, va a haber un matón y al final del mismo, que nos dirá que sí le pegaste a algo, ¿verdad Entonces, para el lugar de inicio, quería comenzar en medio de nuestro helicóptero. Entonces vamos a ver. Cómo podemos llegar a la mitad de nuestro helicóptero. La ubicación del helicóptero 00 está en la parte inferior del mismo. Eso no es lo que quiero. Lo que quiero es la mitad de nuestro helicóptero. Y si recuerdas, colocamos el brazo de resorte en medio de nuestro helicóptero. Eso es bueno. Ahora, para la ubicación de inicio, usemos esta ubicación de brazo de resorte. Entonces, por hacer eso, podemos obtener el brazo de resorte y sacar la palabra ubicación de él, ¿verdad? Este es el punto de partida. Y a partir de este punto de partida, queremos comprobar si trazamos una línea desde esa mitad de nuestro helicóptero hacia abajo. Si golpeamos el suelo, ¿cuál es la distancia entre el helicóptero y el suelo, verdad? Entonces para la ubicación final, quiero menos esto por un gran valor en dirección Z. Debería ser justo en dirección Z, así que verificamos la dirección para abajo, ¿verdad? Entonces voy a poner 50,000, por ejemplo, aquí, un valor realmente grande para la ubicación final. Para que lo veas mejor, quiero ir a la fila Tipo de depuración y decirle que lo muestre para un fotograma. Ahora, veamos qué pasará si compilamos y ejecutamos. Ahora, se puede ver que hay una línea al inicio en el centro de donde helicóptero a tierra. Si subimos porque hay una plaza al final de la misma, se puede ver que está golpeando el suelo. Si subimos, si subimos lo suficiente, verán que esa plaza se va a ir porque estamos llegando a más distancia, ¿verdad? La última distancia será de 50,000. Por supuesto, se necesita demasiado tiempo para llegar a esto. Pero no, con base en el resultado que nos da este trazo de línea, queremos decidir cuál debe ser la velocidad adecuada del VFX de polvo Y si arrastramos y soltamos de este calor fuera y rompemos el resultado, esto nos dará la distancia entre la ubicación de inicio en el centro de nuestro helicóptero hasta donde chocó contra el suelo. Nos va a dar esa distancia. Veamos cómo podemos usar esta distancia para cambiar la 19. 18 Locación de VFX con polvo: No, basándonos en esta distancia y velocidad del rotor, queríamos cambiar la velocidad adecuada de nuestro no gráfico ese efecto de polvo debajo de nuestro helicóptero. Pero el primer problema que tenemos aquí es la ubicación de nuestro Nagraphc Por ver eso, vamos a hacer clic en el polvo Vafix y cambiemos esta velocidad adecuada a 250 para que la veas mejor, ¿ verdad Si atropellas juego, puedes ver si subo, puedes ver que el afijo vuelve a estar en la parte inferior de nuestro helicóptero Entonces, lo primero que tenemos que hacer, tenemos que ponerlo en el suelo siempre. Y cómo podemos hacerlo, podemos hacerlo con este punto de impacto donde estas trazas de líneas chocan contra el suelo, ¿verdad? Entonces necesitamos usar una sucursal aquí para verificar. Si le pega a algo, pon ahí el efecto nagar, ¿verdad Así que vamos a meter el polvo aquí con él, queremos poner la palabra ubicación en él, ¿verdad? Y la ubicación que queremos usar es esta ubicación que chocó contra el suelo. Eso es. Vamos a compilar, guardar. Ahora mismo, se puede ver que hay algo de polvo ahí dentro. Si cierras el cursor, puedes ver que está en el suelo siempre. Eso es lo que queremos que suceda. Siempre, el polvo debe estar en el suelo. Entonces eso está funcionando bien. Ese único problema está arreglado. Ahora, queremos revisar algunas cosas más. Queremos cambiar la velocidad adecuada en función la velocidad del rotor y la distancia al suelo. Veamos cómo podemos hacer eso a continuación. 20. 19 Velocidad de la utilería de polvo: Sepa, basado en la distancia al suelo que tiene el infierno. Y con la velocidad de rotación, queremos decidir cuál es la velocidad adecuada, cuántos polvo o un helicóptero debe crear, ¿verdad? Entonces para hacer eso, necesitamos establecer un parámetro o polvo Vax que se llama velocidad adecuada En primer lugar, veamos cómo podemos establecer ese parámetro en blueprint Haz algo de espacio. Quiero hacerlo al inicio de este gestor de polvo. Al llegar a polvo VFX y establecer un parámetro de flotación en él. El conjunto de flotación prómetro, que es child up sistema de partículas, ¿verdad? Sólo con eso, déjame conectarle el pin de ejecución a él hasta aquí también. Ahora bien, este VFX de polvo tiene un parámetro dentro de él que se llama velocidad de prop, ¿verdad? Eso con él, basado en la velocidad del rotor, no la velocidad de rotación porque velocidad del rotor está aumentando a un valor realmente grande, por lo que girará la pala. Pero la velocidad del rotor, es un valor 0-25 Al valor máximo es 25, ¿verdad? Entonces, en base a la velocidad del rotor, multiplicar por factor distancia a tierra de nuestro helicóptero, queremos establecer esta velocidad adecuada, ¿verdad? Entonces, para distancia a tierra, no podemos simplemente conectar la distancia hasta aquí porque ya ves, tenemos una distancia en este resultado de othead, Pero no podemos usar esta distancia. Espero, queremos usarlo. Quiero crear una variable, y quiero llamarla altura. Factor, ¿verdad? Factor de altura. Entonces, con el factor de altura, multiplicar por una velocidad rotativa, queremos decidir la velocidad adecuada. Déjame aclararlo, ¿verdad? Entonces, si la velocidad de rotación es cero, significa que la cuchilla no está girando en absoluto, ¿verdad? Entonces no debería haber polvo, ¿verdad? Entonces cero multiplicar por factor de altura no importa cuál es el factor de altura. Nos dará cero para la velocidad adecuada, y no habrá polvo. Pero digamos que la velocidad de rotación es de 25. Después de 1 segundo, el motor arrancó y la velocidad de rotación es de 25. 25 se multiplicarán por factor de altura, pero ¿cuál es el factor de altura? Queremos que el factor de altura sea así. Si el helicóptero está bajo tierra, el factor de altura, queremos que esté en un valor máximo, por lo que creará mucho polvo porque está cerca del suelo. Pero si el helicóptero está realmente alto en el cielo. Queremos que este factor de altura sea cero porque es realmente alto, no debería crear ningún polvo, ¿verdad? Por lo que este factor de altura será a la inversa con la distancia. Si la distancia aumenta, el factor de altura disminuirá. Pero si la distancia al suelo va a disminuir, el factor de altura queremos que se incremente, y cómo podemos hacerlo. Podemos hacerlo con esta distancia, ¿verdad? Pero antes de hacer eso, si este rastro de línea no golpea nada, esto cae sucederá. Significa que estamos muy altos. Entonces necesitamos establecer este factor de altura en cero. Eso es. Eso es muy importante, ¿verdad? A continuación, queremos verificar la distancia, y quiero usar pinza de rango de mapa. Quiero decir, si la distancia fue de 0-3 mil, danos un valor 100-0 Entonces, ¿qué significa? Significa que si la distancia al suelo era cero, significa que estamos en el suelo, ¿verdad? Entonces danos 100, ¿verdad? Pero si la distancia al suelo era de 1,500, por ejemplo, nos dará 50 sobre este valor de retorno, ¿verdad? Y si la distancia al suelo era 3 mil o más de 3 mil, nos dará cero. Cero multiplicado por la velocidad de rotación al inicio. Será cero, y no habrá polvo, ¿verdad? Eso es. Queremos establecer este factor de altura con este valor así, y eso es todo lo que tenemos que hacer. Vamos a compilar y ejecutar la cabeza. Y ahora se puede ver que no hay polvo porque la velocidad del rotor es cero y la pala no está rotando. Pero si giramos, solo mírelo, hay mucho polvo porque estamos en el suelo, y la velocidad del rotor está en el máximo como 25, ¿verdad? Ahora bien, si se aumenta la altura, vamos a subir, no se puede ver la cantidad de polvo que está creando es cada vez menos y menos. Se puede ver lo mucho que es. Ahora que llegamos a más de 3 mil, se puede ver que no hay polvo en el suelo. Pero si volvemos a acercarnos al suelo, habrá polvo. Se puede ver si vamos al suelo, ya puede ver, habrá polvo. Un problema que he visto aquí, se puede ver la rotación de effxs visuales no está bien. Por eso algunos de ellos van por debajo del suelo. Veamos cómo podemos arreglarlo muy rápido. Aquí, recuerdas que establecemos la palabra ubicación de polvo, afijo. ¿Qué quieres hacer? Queremos establecer la palabra ubicación y rotación de polvo, ¿verdad? Entonces déjame conectarlo así, conectarlo así y borrar éste, ¿verdad? Para la ubicación, como saben, solo podemos usar esta ubicación conectada a aquí. Pero para la rotación, quiero usar esta ubicación y usar podredumbre de s para obtener una rotación de nuestra ubicación de impacto, la ubicación en la que golpeamos el suelo, ¿verdad? Eso es. Eso es todo lo que tenemos que hacer. Ahora, acabemos de tener compilar y ejecutar. Ahora, ya puedes ver si subimos. Se puede ver que la rotación de nuestro polvo está bien, y todos los polvos están bajo tierra Ahora bien, si aumentas, puedes ver que los polvos están bien, y si aumentas la altura puedes ver que está teniendo menos polvo y menos hasta llegar a cero Si bajamos, ya pueden ver, habrá polvo. Y si llegas al suelo, habrá más polvo cuando disminuyamos la altura de nuestro helicóptero. Ahora, puedes ver lo genial que se ve. Eso es realmente hermoso. 21. 20 Metasonido del motor: No, sobre el sonido del motor. Ahora mismo, tenemos la cuchilla giratoria. Tenemos la solución de polvo, pero no tenemos el sonido del motor. Veamos cómo podemos hacer eso. Por hacer eso, quiero ir a Contender inHaliFolder. Quiero hacer click derecho, crear una nueva carpeta y quiero llamarla sonido. Haga doble clic derecho sobre él, ábralo, haga clic derecho aquí. Ve a Audio y crea una fuente de metasund. Quiero llamarlo s Todo motor, ¿verdad? Muñeca da click sobre él para abrirlo. Y aquí dentro, quiero crear un jugador de olas, ¿verdad? Jugador de primera ola que en juego, queríamos jugarlo. Pero a lo que queremos jugar, queremos jugar al helicóptero flotando, ¿verdad Eso es. Sólo tienes que elegirlo ahí. Queremos que esté en bucle y conecte el Otmano a Otmano Ahora bien, si lo juegas, puedes ver que esto es solo un sol de motor de helicóptero, ¿ verdad? Eso se ve increíble. Pero primero lo primero, cuando no arranca el motor, este no debería tener ningún volumen, ¿verdad? Eso es lo primero que queremos hacer, y queremos cambiar suavemente el volumen y cambiar el tono cuando el motor empiece a encenderse, ¿verdad? Entonces por hacer eso, lo que quiero hacer quiero crear otro de estos jugadores de olas, exactamente lo mismo con el mismo acto de onda, pero quiero que suceda después de 1 segundo. Así que cada vez que jugamos este motor MS hell, ¿qué queremos que suceda? Primero, esta queremos que suceda, pero después de 1 segundo, podemos hacerlo con trigger, delay. Después de 1 segundo, este queremos que suceda, ¿no? Y cómo podemos tener ambos juntos, podemos usar un mezclador aquí, mezclador mono dos, ¿verdad? En el en cero, queremos que sea éste. En uno, quiero que sea éste, y queremos mezclar ambos para dar salida. Conoce lo que va a pasar. Si jugamos esto, primero, esto va a pasar. Se puede ver y después de 1 segundo, esto se le sumará, derecho, detente esto. Lo siguiente que quiero hacer, quería poder cambiar el tono y la ganancia o volumen, ¿verdad? Entonces necesitamos algún insumo. Entonces aquí dentro, voy a crear input. Yo lo llamaré volumen. ¿Correcto? Y arrástralo y suéltalo. Ponlo por aquí. Queríamos poder cambiar el volumen así como así. Y a continuación lo queremos a otro. Quiero llamarlo pitch y arrastrarlo y soltarlo y conectarlo para lanzar los dos, ¿verdad? Ahora, con eso hecho, vamos a jugar a ver qué va a pasar. No pasa nada porque el volumen es cero. Si aumentas el volumen a uno, puedes ver, No, es más sonido como un helicóptero arrancándolo en su motor. Vamos a verlo una vez más. S. Después de eso, solo cambias el tono tal como se construye. Jesse, suena más a arranque del motor. Y el alcance de este pitch, quiero que sea 1-5. Y vamos a detenerlo y correr de nuevo. Si aumento el volumen a uno y cambio el tono, ya ves, nosotros cambiamos el tono. Qué va a pasar, es como si la cuchilla se estuviera moviendo mucho más rápido. Entonces ahora con eso, tenemos una metason de que podemos usarla para el motor de nuestro helicóptero cuando sea arranque y cuando alcanzó la velocidad máxima con este volumen y este cambio de tono 22. 21 Sonido del motor: Ahora tenemos un metasund que podemos usarlo para el motor de nuestro helicóptero Entonces, ¿ vamos a ver dónde queremos usarlo? Por usarlo, solo agreguemos un audio, ¿verdad? Debe ser un hijo de la malla, y saber aquí adentro, queremos elegir nuestro metasund Se llama MS Lngine. Sólo ponlo ahí. Ahora con eso hecho. En este gestor de motores, queremos gestionar también el sonido del motor, ¿verdad? Entonces déjame crear algo de espacio después de que el motor arranque aquí, ¿verdad? Así que haz un poco de espacio. Lo que quieras hacer queremos primero cambiar este nombre. Quería llamarlo audio del motor, y lo arrastraré y soltaré, lo pondré por aquí y pondré un prómetro de flotación Se puede ver que hay dos de ellos aquí. El que dice target es componente de audio es el que quieres usar. Así que selecciona eso. Lo primero que quieres cambiar se llama volumen. Así que pon volumen ahí. Y queremos cambiar el volumen en función de la velocidad del rotor. Eso es un valor 0-25, ¿verdad? Y como queremos cambiar este volumen, quiero usar un rango de mapa. Yo usé mucho este nodo en este curso, ¿verdad? Entonces el rango in es 0-25, pero el rango out, quiero que sea 0-2, No quiero que sean más de dos. Entonces, si la velocidad del rotor al inicio es cero, nos dará cero para el volumen. Pero si la velocidad del rotor era 25 a velocidad máxima. El rango o será dos y el volumen será dos. No es sólo el volumen. Queremos establecer otro prómetro. Así que vamos a copiar y pegar esto por aquí también, y conectemos el pin de ejecución a él. Conecte el pin de ejecución a este también. Haz algo de espacio aquí. Y ahora también queremos cambiar el tono. Entonces pon ahí el nombre del pitch. No, otra vez, quiero usar esta pinza de rango de mapa. No, eso lo sabemos. Nuevamente, la tasa de velocidad del rotor es 0-25, pero el rango, el valor de paso basado en esta tasa de velocidad de rotación en él para ser 0-5 Solo con eso, asegúrate en tu meta sonido, todos los valores predeterminados son cero, así como esto. Asegúrate de guardar todo. Y no, si atropellamos juego, puede ver que no hay sonido, pero si sostenemos trampa, solo escúchalo. Ya ves lo hermosa que se ve, ¿verdad? Motor s ahora está ahí y más bueno. Tenemos motor algunos que con la velocidad de la pala está cambiando su volumen y su paso. Vamos a verlo una vez más. Mantenga el turno. Ya ves, el terreno de juego también va en aumento. Y creo que eso se ve. Eso suena increíble. 23. 22 comprobar si estamos en el terreno: No es lo siguiente que queramos hacer. Queríamos poder apagar el motor. Veamos cómo podemos hacer eso en este video. Para hacer eso, primero, necesitamos un insumo. Solo vamos a la carpeta de entrada, haga clic derecho aquí y cree la acción de entrada. Quiero llamarlo IA. Apaguen el motor, ¿verdad? No hace falta que cambies nada en él. Solo necesitamos mapearlo en el infierno de IMC. Entonces aquí, agregue el mapeo, baje y mapee el motor de parada de IA, ¿verdad? Y aquí dentro, cómo queremos apagar el motor, quiero usar O on o teclado. Así que haz clic aquí, cabeza O en tu teclado y guarda la cabeza. Ahora podemos ir al infierno de BP y aquí adentro, lo que quiero hacer, quiero que el evento de motor de IA se apaguen. Siempre que presionemos esto, solo usemos una cadena de impresora. Quiero decir que apaguen el motor, ¿verdad? Y veamos si está funcionando o no. Si subo y vuelvo a bajar Oh, mira, va a decir apagar el motor. Entonces el evento está funcionando bien. Pero cómo queremos apagar el motor. Primero, tenemos que verificar si estás bajo tierra o no, cómo podemos hacerlo. Quiero hacerlo con una variable. Quiero llamarlo en tierra, ¿verdad? Y el tipo de ello, quiero que sea bulliano y por defecto, quiero que sea verdad porque por defecto, estamos bajo tierra, ¿verdad? No, ¿dónde queremos cambiar eso? Si recuerdas, tenemos un rastro de línea desde la mitad o el infierno hacia abajo, ¿verdad? En este caso, cuando el trazo de la línea choca con el suelo, esto ocurrirá cierto. Déjame hacer algo de espacio por aquí. Y aquí, queremos capear la distancia. Si es casi igual a cero, significa que estamos errados, ¿verdad? Entonces, si la distancia desde el centro del helicóptero, hasta el suelo era casi igual a cero, significa que estamos bajo tierra, y podemos establecer la variable tierra, establecerla con este valor por aquí, ¿verdad? Entonces, si la distancia era cero, esto será cierto. Pero si la distancia no era cero, esto será falso. Pero hay una tolerancia a errores. Por qué usé casi igual porque estamos midiendo desde el centro de donde helicóptero. Entonces por eso quiero agregar algo de tolerancia. Por ejemplo, diez, diez centímetros, ¿verdad? Entonces, si es igual a cero o casi igual a cero por alguna tolerancia de positivo o menos diez, podemos decir que estamos bajo tierra. Para que lo veas mejor, quiero ir al evento tk y mostrarlo con la cadena de impresión. Entonces aquí, usarás un anillo de prueba de impresión con una llave agrega el kio será persistencia. Por ejemplo, lo que quieras, puedes poner ahí. Y aquí dentro, quiero mostrar la variable suelo. Eso es. Ahora bien, si atropellas juego, puedes verlo siempre diciendo falso, por qué está diciendo falso. El motivo por el que siempre dice falso, si vas aquí abajo, la tolerancia es diez. Pero donde un helicóptero, como se puede ver, los litros del centro al suelo son más de diez. Veamos qué es eso, para que lo veas lo que quiero hacer, quiero usar un anillo de impresora aquí también, y mostrar la distancia, ¿verdad? Muestra la distancia por aquí, y quiero desconectar este para no y juego de Runo Cuando estamos en el suelo, los toranes se pueden ver son como 140 Entonces necesitamos poner 140 ahí o un poco más que ese valor. Vamos a conectar esto de nuevo. Organízate un poco. No, este valor de tolerancia, lo queríamos poner en 150, ¿verdad? No, con eso hecho, no necesitamos este anillo de impresora, así que solo eliminemos eso y conectemos esto a la sucursal. No, se puede ver que dice verdad. Si entramos en el espía, dice falso, y luego volvemos. Sa, ¿verdad? Entonces con esto, sabemos dónde estamos errados y dónde estamos en el cielo Y queremos usar esto para decidir cuándo podemos apagar el motor. Así que vamos a ir a nuestro evento aquí. Siempre que nos dirigimos o palabras clave, queremos usar una sucursal aquí. Y quiero decir, si estamos bajo tierra, vamos a usar un anillo de impresora aquí para decir apagar el motor. Y si es falso, nuevo, usa otras impresiones ing. Quiero decir que no se puede apagar el motor porque no estamos en el suelo, ¿verdad? Eso es. Y quiero hacer este rojo para que lo veas mejor. Si golpeamos correr y aquí adentro, es 01 o teclado, puede apagar el motor. Pero si estás en el cielo y Oh, ya puedes ver. Diré que no se puede apagar el motor. Ya ves, no importa cuanto estés ahí. No voy a poder apagar el motor, pero si estás en el suelo, Oh, dice, No puedes apagar el motor. No, lo estamos mostrando con el anillo de estampados. Y siguiente video, en realidad queremos apagar el motor. 24. 23 Apagado del motor: No por realmente apagar el motor. Comprobamos si estás bajo tierra o no. Entonces con eso, vamos a ver cómo podemos hacerlo. Aquí, si estamos bajo tierra y nos dirigimos o teclado, queremos apagar el motor, y cómo podemos hacerlo, podemos cambiar este motor, apagarlo, ponerlo en true, y poner el motor arrancado a false. Eso es. Con eso, sabemos cuándo apagar el motor. Entonces veamos cómo podemos usar estas dos variables. Recuerdas aquí, cambiamos la velocidad de rotación 0-25 Ahora bien, si el motor se apaga, queremos cambiar la velocidad de rotación de cualquier valor que tenga a cero exactamente como lo hicimos aquí. Entonces necesito hacer algo de espacio. Esta parte es para rondar, así podemos seleccionarla Hetson o teclado y ponerla rondando ahí Entonces tenemos alguna nota ahí, comente ahí. No, quiero crear algo de espacio aquí. Antes de cambiar la velocidad del rotor a 25, queremos verificar con una rama. Así, queremos comprobar si el motor está apagado o no. Si se apaga el motor, esto ocurrirá cierto. Pero si el motor no está apagado, significa que está arrancado. Entonces debemos conectarlo a lo falso, correcto, así. Si el motor está apagado, queremos hacer todo esto aquí arriba. Entonces Control C controla para pegarlo aquí arriba. Si el motor está apagado, queremos cambiar la velocidad del rotor sin problemas a qué cero. Eso es todo lo que tenemos que hacer. Y después de eso, podemos ir a revisar el Haring, también, ¿verdad? Eso es. Vamos a encabezar compilar, guardar y atropellar de nuevo para ver si está funcionando bien o no. Si arrancó orgs después de eso bajamos y nosotros en tu teclado, no, puedes ver que el motor se está apagando puede ver lo hermoso que se ve, y el polvo desaparecerá también cuando el batido rotativo vaya a cero, y se puede ver. Bueno, no, ¿verdad? Podemos subir. La cosa está funcionando bien puede apagar el helicóptero. Pero si estás de este lado e intentamos apagar el helicóptero, no podemos hacerlo. Pero si estás en el suelo y esto en tu teclado, no, puedes ver que el motor se detendrá. Eso es. Estamos apagando el motor correctamente. Y el sonido funciona bien, y la velocidad de rotación de la cuchilla también funciona bien con 25. 24 Ve hacia adelante y hacia atrás: No, por ir adelante y atrás a partir de ahora, creo que todo va a ser mucho más fácil y más divertido. Para ir hacia adelante y hacia atrás, queremos usar la tecla WS en nuestro teclado. Entonces con eso, cambiamos el tono. Entonces vamos adelante así y retrocedemos así, ¿verdad? Entonces veamos cómo podemos hacer eso. Para hacer eso, necesitamos crear acciones de entrada. Así que haz clic derecho en la carpeta Input y ve a Input create input action, y quiero llamarlo IA. Avanzar, retroceder, ¿verdad? No haga clic en él para abrirlo. El tipo de valor, quieres que sea Axis one dy o float. Eso es más que suficiente. Sólo puedes cerrarlo. Ir a IMC Healy, agregar un nuevo mapeo, para que podamos mapear eso, avanzar y retroceder, clic aquí y elegir avanzar y Queremos que suceda con la tecla W, así que da click aquí, cabeza W en tu teclado, agrega otra entrada. Haga clic aquí, anuncios. Entonces con W y S, queremos ir hacia adelante y hacia atrás. Por defecto, para ambos ahora mismo, si los golpeas, pasará uno. Pero lo que queremos que suceda cada vez que golpeemos W, queremos pasar uno. Siempre que golpeemos S, queremos pasar menos uno. Entonces en la S, queremos agregar un modificador a til para que niegue el valor y pase menos uno Eso es. Ahora que tenemos este evento. Vamos a bajar por aquí donde tenemos algo de espacio. Buscar IA adelante y atrás, avanzar y retroceder, ¿verdad? Cada vez que golpeamos W o S en nuestro teclado, hay un nodo dentro del componente de movimiento del vehículo que se llama entrada de tono. Buscar entrada de tono o establecer entrada de tono, y podemos establecer la entrada de tono con este valor de acción. Y saber con eso cada vez que soltemos W o S en nuestro teclado, esto completo sucederá, y queremos volver a poner esta entrada de tono a cero, lo que significa. Cuando cambiamos el tono, significa el cambio en el tono a lo largo del tiempo. Por lo que cambiará el tono continuamente. Entonces en algún momento, tenemos que decirle que no cambie el tono si soltamos la W o S en nuestro teclado y la ponemos a cero. No con eso vamos a conectar esto a target, head comple, save run over game Ahora si vamos al cielo, como podemos ir hacia adelante igual que esta Kasia adelante Y podemos ir a hacerlo también. Poco tiempo para bio. Y con eso, podemos bajar así y en el espacio bro bajar el motor. Ahora bien, lo que quiero hacer dos cosas que quiero hacer. Quiero eliminar todas las cadenas de la impresora. Entonces aquí, voy a configurar Control F, cadena de impresora, buscar cadena de impresora. Y sea cual sea la cadena de impresora que tengamos, queremos eliminarla. No, teníamos un trazo de línea aquí que teníamos draw debug type, que queremos ponerlo ahora. Entonces tenemos un juego mucho más limpio con el que trabajar, ¿verdad? No, otra vez, deberíamos subir al cielo, y podemos ver que está listo en el cielo y quedarnos ahí. Eso ve todo. Eso se ve increíble. No, es el momento de poder anular y vivir. Intenta hacerlo antes de la próxima factura. 26. 25 Muévete hacia la derecha y hacia la izquierda: No, queremos poder ir a la izquierda y a la derecha. Espero que lo puedas hacer solo por ti mismo. Al hacer clic derecho aquí en la carpeta de entrada, crear una nueva entrada, y quiero llamarla IA moviéndose a la izquierda. Derecha. Eso es. No haga clic en él para abrirlo. El tipo de valor, quiero que sea Axis one dy. Simplemente puedes guardarlo y cerrarlo. No necesitamos este metasundio. No necesitamos estas ruedas, ¿verdad? No, tenemos que mapearlo. Así que IMC hel crea un nuevo mapeo. Aquí hay muchos mapas. Sólo hagámoslo por IA, moviéndonos a la izquierda y a la derecha. Y queremos hacer esto con D. Así que da click aquí, agrega D ahí y agrega una nueva entrada, y da click aquí, cabeza A. Siempre que golpeemos D, queremos pasar una. Siempre que golpeemos A, queremos negarlo para que pase menos uno Eso es. O la acción de entrada está lista, podemos usarla. Vamos aquí que tenemos algo de espacio. Buscar un movimiento a la izquierda, a la derecha. Pero donde nombre a este evento, no importa. Está bien. Como lo hicimos antes. Esta vez queremos rodar. Queremos cambiar la rotación alrededor del eje X. A esto se le llama rollo. Entonces nuevamente, necesitamos obtener el componente de movimiento del vehículo. Y busca entrada de rollo. Establecer entrada de rollo por valor de acción, ¿verdad? Y siempre que liberemos D o A en nuestro teclado, esto completo sucederá, y queremos poner este rol a cero, volverlo a poner a cero. Así que ponlo a cero aquí, y también necesita un objetivo. Eso es todo lo que tenemos que hacer. Vamos a compilar, guardar y ejecutar. Vamos a ver al espía. Veo el polvo que está bien, vamos y todo está bien. Lo siguiente que hacemos queremos poder darle la vuelta en su lugar. Siempre que tuvimos E, queremos dar la vuelta en su lugar a la derecha. Siempre que nos dirigimos Q, queremos girar en su lugar a la izquierda. Intentas hacer eso. Lo haremos a continuación o. 27. 26 Giro en el lugar: No para girar en su lugar a la izquierda y a la derecha. Para hacer eso, nuevamente, necesitamos la acción de entrada, crear la acción de entrada aquí y quiero llamarla giro a la izquierda a la derecha. Haga clic en él para abrirlo. Y el tipo de valor, queremos que sea flotante como antes, y necesitamos mapearlo aquí porque tenemos mucho mapeo aquí. Necesitamos usar este scrollbr y lo que queremos mapear se llama girar a la izquierda y De nuevo, vamos a bajar por aquí. Cómo queremos girar a la izquierda y a la derecha, queremos hacerlo con E. Así que da click aquí, agrega E, agrega otra entrada. Esta vez, da click aquí, cabeza Q. Siempre que golpeemos Q, queremos pasar menos uno, así que agrega modificador de tipo de negate Eso es todo lo que tenemos que hacer en esto. Así que solo podemos cerrar la acción de entrada, pero dejar esto abierto para que no. Ahora en aquí, queremos hacer clic derecho para buscar IA gire a la izquierda y a la derecha. Y con eso, nuevamente, hay un nodo dentro del componente de movimiento vehicular que con eso, podemos cambiar la rotación alrededor del eje Z. Como se llama, se llama ya. Entonces buscamos Ya set Ya input por el valor de acción. Vamos a ponerlo ahí. No, cuando soltemos la Q o E en nuestro teclado, esto completo sucederá, y queremos poner la entrada Ya a cero. Eso es. Ahora, con eso hecho, si atropellas juego y vas a un Skype eso es. Oh, mira, no está rotando. Y para que gire y rote alrededor de las Zs necesitamos ir al componente de movimiento del vehículo, recuerdas que hicimos el escalado de pavo de tono y el escalado de pavo roll, y ambos están funcionando bien Pero no hicimos escalado de pavo. Tenemos que poner esto a uno. Por eso dejo este para más adelante, que vean el efecto de estos insumos. Ahora, con poner uno aquí, debería funcionar. Vamos a compilar, guardar y ejecutar. No, si vas al cielo, puedes ver que puede girar en su lugar. Eso se ve increíble darse el lujo y se puede dar la vuelta en su lugar cuando se va hacia adelante ver, puedo disparar todo ahora. Creo que es momento de disparar para poder disparar misiles, ¿verdad? Eso es. Nos volvemos está todo bien. 28. Misiles Helli 27: No, en realidad queremos disparar sobre misiles porque, ya sabes, cada helicóptero de combate tiene algunos misiles. Entonces, para disparar misiles, necesitamos un misil. Así que vamos solo a Cajón de contenido, vamos a Carpeta Blueprint dentro de la carpeta heli Haga clic derecho aquí, cree una clase de plano de tipo de actor, y quiero llamarlo BP, misil heli Voy a hacer clic en él para abrirlo. Aquí, primero lo primero, quiero agregar una malla esquelética porque el misil es una malla esquelética Que sea por defecto sin root, y aquí adentro, da clic aquí y elija o SK west misil 26, ¿verdad? Elígelo ahí. No, lo puedes ver. Quiero agregar algunos efectos del Niágara, ¿verdad? Así que agrega el Niágara aquí. El que quiero usar se llama NS West Missi 26. Se puede ver. No, quiero poner un enchufe ahí. El zócalo que quiero usar se llama zócalo de articulación radicular. Ahora, se puede ver con ponerlo en el zócalo derecho, posicionamiento de la misma y la rotación de efface está bien. Se puede ver. Ahora con eso hecho, necesitamos poder dispararlo. Para dispararlo, yo en uso un componente de movimiento de proyectil. Y aquí dentro, necesito poner algo de velocidad de inicializador como 20,000 Y la velocidad máxima quiero que sea 50,000, ¿verdad? Puedes cambiar esto más tarde si quieres. Ahora, por verlo correctamente, vamos a ir detrás de él y dar clic en la simulación. Ya ves lo bien que se ve, ¿verdad? No, quiero que la rotación siga la velocidad. Entonces la rotación, siempre es hacia donde va, ¿verdad? Ahora, de nuevo, vamos a simplemente de que todo va a ser igual, pero volverá a verse mucho mejor. No, con este misil, necesitamos agregar algo de sonido. 29. 28 Sonido de misiles: No, tenemos un misil, pero nuestro misil no tiene sonido. Veamos cómo podemos agregar sonido. Por hacer eso, quiero ir a contender o ir a Helfolder Vaya a la carpeta Sonido. Haga clic derecho aquí, vaya al audio y cree una fuente de metasund Quiero llamarlo Misil, ¿verdad? Perro da click sobre él para abrirlo. Aquí, primero, quiero crear un jugador de olas, ¿verdad? Tipo de mono. También puedes hacer un estéreo. Conecta la jugada a la jugada de ella. El sonido que queremos tocar primero es cohete y PT, este, ¿verdad? Sólo con eso, vamos a conectar el mono OT a aquí y jugar. Ya ves, es como un comienzo de nuestra Missi, ¿verdad? Solo podemos usar eso, pero quiero mejorarlo. Cómo quiero hacerlo mejor, quiero crear otro jugador de olas, ¿verdad? Y con ello, esta vez, lo que quiero jugar es motor cohete. Y necesitamos que ambos se jueguen. Así que puedo usar una batidora aquí. Mezclador dos es más que suficiente. Mezclará ambos t mono juntos, y no necesitamos cambiar el juego en absoluto. Pero si tocas esta, déjame dar click en esta lupa y tocarla. Se ve que suena como que son dos segundos, 3 segundos después de disparar sobre un misil, ¿verdad? Así que tenemos que retrasar su disparador. Cómo podemos hacerlo aquí, podemos buscar t gear delay. Y digamos que después de 1 segundo, queremos jugar a éste, ¿verdad? Y queremos que este esté en bucle. Ahora qué pasará si juegas esto primero, disparará y después de 1 segundo, tocará el motor cohete continuo. Entonces eso es lo que queremos que suceda. No, solo agreguémoslo a nuestro misil heli y agreguemos un audio Debe ser un hijo de la malla esquelética. Quiero llamarlo motor. Sonido. Es sonido de cohete, pero lo llamaré sonido de motor porque es más fácil entenderlo, ¿verdad? Motor uno que quieras jugar, da clic aquí y aquí, elige MS Missile, ¿verdad? Sólo con eso, si simulamos aquí, déjame encabezar F. Si simulamos aquí, no habrá sonido, ¿verdad? Pero si vas a nuestro mapa, y vamos a ponerlo por aquí, este es nuestro inicio de jugador. Y si metes uno de los misiles aquí, déjame meter este aquí y girarlo 180 grados, sacarlo un poco así y girarlo hacia arriba así, ¿verdad? Si lo ejecutamos disparando y podemos escuchar el sonido. Pero el problema es que está más lejos de nosotros, pero podemos escuchar el sonido por completo. Y cómo podemos solucionar este problema es con la configuración de atenuación Si vas a nuestro misil BP y haces clic en Sonido del motor, puedes ver que hay ajuste de atenuación aquí Entonces para cambiar eso, quiero ir a la carpeta de sonido a vista o HelfolderR haga clic aquí, vaya al audio y cree una Quiero llamarlo SA Missile, ¿verdad? SA para atenuación de sonido, miside. Y aquí dentro, tenemos radio interior y caemos fuera del radio. Si estás dentro del radio interior, podemos escuchar el sonido completamente. Y quiero cambiar esto a 10 mil. Es como 100 metros, verdad, porque es en centímetro, y la distancia follo o caída de radio, quiero ponerla en 80,000, Se puede jugar con estos valores. No, con esta atenuación de sonido, podemos ir al misil sobre el infierno, hacer clic en el sonido del motor y elegir misil de ensayo para la configuración de atenuación Sabes si volvemos, puedes ver que tenemos un radio interior y tenemos radio exterior. Si estás dentro del radio interior, podemos escucharlo completamente. Pero si nos alejamos de él hacia el radio exterior, linealmente lo escuchamos menos, ¿verdad? Ahora, con eso hecho, si corremos nuestro juego, ¿ves? Dispara, y cuando se aleja de nosotros, no podemos escucharlo más. Pero si hay algún jugador más lejos de nosotros, lo pueden escuchar, bien, si el misil se acerca a ellos. 30. 29 Explosión de misiles: Sepa dónde está funcionando el misil, tiene sonidos, pero cuando golpea algo, no pasa nada. Vamos a probar eso. Por probar esa avena, déjame sacarla así y girarla hacia el suelo Si disparamos y vemos que irá por debajo del suelo. Veamos cómo podemos arreglarlo. Ve a BP hell Missile, da clic en la malla esquelética, baja. Hasta llegar al preajuste de colisión, este momento, no es oclusión Por eso no va a golpear nada. Lo que quiero hacer con esto, quiero cambiar esto para ignorar solo peón Ahora, si vas aquí, puedes ver que ignorará la sartén, ignorará el vehículo. ¿Bien? Pero va a bloquear todo. Ahora con eso, si compilas, guardas y corres, puedes ver que voy a la clandestinidad y ahí se detendrá. Sólo sigamos. Tenemos a la derecha aquí. Entonces se detendrá ahí. Siempre que se detenga o misil, podemos hacer algunas cosas. Por ejemplo, si hago clic en el movimiento del proyectil, tenemos tope de proyectil Da click en él para crear su evento, y aquí, queremos romper este resultado de impacto, derecho, expandirlo así. Lo primero que queremos hacer cuando o proyectil, pasar por algo Quiere generar explosión, sistema de desove en Y el sistema que quieres engendrar es la explosión de polvo. Vamos a ponerlo ahí. La ubicación, queremos usar la ubicación que se detenga ahí, ¿verdad? Y eso es todo. Vamos a compilar y ejecutar la cabeza. Ya ves, ya sabes, tiene explosión. Lo siguiente, queremos generar algo de sonido. Así que el sonido del spa en el lugar, ¿verdad? Este spa sonido y ubicación, quiero usar ES grand explosion, y la ubicación de la misma, podemos usar esta ubicación. Pero quiero ampliar esto y usar el ajuste de atenuación que creamos para el misil , ¿verdad? Entonces, si explota más lejos de nosotros, no escuchamos. Después de esto, podemos simplemente destruir el misil. Entonces busca destruir actor y destruir el misil. Ahora si estás encendido, puedes ver que va a golpear el suelo. Tenemos explosión. Tenemos sonido de explosión, y el misil es borrado y destruido también. 31. Misiles 30: No, ese sobre misil está listo. Queríamos poder filmarlo. Veamos cómo podemos hacer eso. Por hacer eso, quiero ir a un nivel y eliminar este misil infernal de sobre nivel. Ya no lo necesitamos. Ve a la carpeta Heli, ve a la carpeta Entradas y crea una entrada para disparar el misil Entonces creando acción de entrada, quiero llamarlo fuego. No haga clic en él para abrir. No necesitamos cambiar nada aquí, así que solo podemos cerrarlo. Cierre este también. Cierre este también. No lo necesitamos. Ve al infierno de IMC. Queremos mapearlo dentro o IMC hell input mapping context Así que vamos a crear un nuevo mapeo, y aquí, el que quieres mapear se llama IAFre. Entonces pongámoslo ahí. Y aquí dentro, ¿cuándo queremos que suceda? Siempre que presionamos el botón más a la izquierda. Entonces haz clic aquí después de eso, presiona el botón Lift Most y ahí pondremos el botón más a la izquierda. Eso es. No, con eso no vayas a BPLly, encuentra algo de espacio. Podemos simplemente cerrar estos dos también. Estos No aquí, cada vez que presionemos el botón Lift Most, este incendio de IA sucederá. Y cada vez que lo presionamos, queremos generar algún misil, ¿verdad? Entonces, cómo queremos engendrarlo. Si vas a Viewport, puedes ver que tenemos el lado derecho y tenemos el lado izquierdo Por lo que queremos poder dispararlo tanto desde el sistema de misiles a la derecha como a la izquierda. Entonces primero por el lado derecho, segundo en el lado izquierdo, ¿verdad? Así que cada vez que lleguemos al inicio, quiero usar flip flop aquí, nodo flip flop. Lo que esto va a hacer la primera vez que golpeemos el botón más a la izquierda, A va a suceder segunda vez que golpeamos el botón más a la izquierda, sucede la B, tercera vez que golpeamos el botón más a la izquierda, otra vez, la A vuelve a pasar , Sucederá uno tras otro. Entonces lo que queremos hacer, queremos engendrar actor de clase Y qué actor se llama Misil, ¿verdad? Entonces misil curativo, solo ponlo ahí y conectarlo a A. Pero la transformación de la misma, donde expan es realmente importante ¿Dónde lo quieres desovar? Si vas al esqueleto de o helicóptero y buscas misil dentro de los huesos. Se puede ver que tenemos la toma de misil izquierda y la toma de misil derecha. Necesitamos los nombres de ellos. Así que haz clic derecho en Cambiar nombre socket. Y nuevamente, haz clic derecho sobre él, copia el nombre para el lph uno Sólo hagámoslo por el IF. Queremos conseguir la transformación de ese zócalo en nuestro esqueleto. Entonces necesitamos obtener la malla. Transformación de socket, obtener transformación de socket. Se necesita que le demos el nombre. Nosotros sí lo copiamos, así que controlamos V para pegarlo por aquí y conectarlo a spawn transform, ¿verdad Esto es para el de la izquierda. Vamos a copiarlo y pegarlo todo y pegarlo por aquí para el correcto también. Lo único que tenemos que cambiar aquí es este nombre. Sólo vamos a un esqueleto. Nosotros también queremos hacerlo por el zócalo adecuado para misiles. Renombrarlo, Control C para copiar el nombre y pegarlo por aquí. Eso es. Todo debería funcionar bien con esto si tuvieras compilar guardar y ejecutar. Sólo vamos al cielo. Y dispara. Y también es pesado. 32. 31 Número de misiles: No, estamos disparando nuestro misil, pero el problema es que podemos disparar infinitamente nuestro misil Entonces necesitamos tener un sistema para que limitemos la cantidad de misil que podamos disparar. Y por hacer eso, quiero crear alguna variable. Entonces aquí, crea una variable. Quiero llamarlo número de misil, ¿no? Y el tipo de ello, quiero que sea entero porque no puede ser 1.5 o 0.5, ¿verdad? No tenemos un valor decimal. A continuación, quiero duplicar esto, necesito otra variable. Y quiero llamar a este número máximo de misil, ¿verdad? Número máximo del misil. Vamos a compilar, guardar el número máximo de misiles. Yo quería ponérselo en diez, ¿verdad? Lo primero que quieres hacer con esto, quiero ir al evento comenzar a jugar aquí, y quiero establecer el número de misil con el número máximo de misil en la jugada de inicio. Entonces cada vez que tuvimos juego, todos los misiles estarán ahí. Tenemos muchos misiles, ¿verdad? Entonces el número de misiles en la jugada de inicio, será de diez. Y para que lo veas, quiero mostrarlo aquí en Eventq con un anillo de impresora Pero esta vez, quiero crear un evento personalizado para la depuración, ¿verdad? Haga clic derecho aquí, busque evento personalizado, ¿verdad? Y quiero llamar a este depurador, ¿verdad? Y aquí, quiero conectar esta depuración a nuestra ruta EventQEecution Así que pon ahí la depuración. No, sea lo que sea que conectemos a este debuke es como conectarlo a Eventq Quiero usar un anillo de impresora aquí, anillo de impresora, y con eso, quiero darle una llave. Queríamos mostrar el número de Misiles. Puedes poner lo que sea para esta llave que quieras. Es solo que ningún motor sepa que esta impresión debe ser persistente y no debe llenar la pantalla con ella, No, quiero usar un formato de texto, formato de texto, y quiero decir que el número de misil es igual a abrir y cerrar llaves número o lo que quieras poner dentro de estas llaves, va a crear un pin para eso para que podamos reemplazar las llaves con el número dentro de él con el pin que Estas llaves rizadas con el número serán reemplazadas por lo que sea que conectemos a este pin numérico La razón por la que se le llama número porque aquí ponemos el número. El nombre es muy importante aquí, ¿verdad? El número que queremos mostrar es el número de misiles conectados por aquí y conectarlo a una cadena. Así como así, head compila, guarda. Ahora bien, si atropellas juego, puedes ver que el número de misiles es diez, así que está funcionando bien. Ahora que estamos mostrando el número de misiles, queremos ir aquí. Y cada vez que dirigimos fuego, cabeza botón más a la izquierda en nuestro teclado, queremos disminuir el número de misiles Así que consigue el número de misil restado por uno así y guárdalo dentro de sí mismo otra vez, Entonces lo disminuimos con eso conectarlo así a aquí y aquí. Ahora bien, si encabezamos compilar se puede ver que tenemos diez misiles. Si disparamos, tenemos nueve, ocho, siete, seis, cinco, cuatro, tres, dos, uno y cero. Se puede ver que también puede ir menos. Entonces no queremos que vaya a menos. Entonces, lo que podemos hacer, podemos verificar el número de misiles aquí dentro. Entonces compruébalo con la rama, y con ella, queremos decir si el número de misil era mayor que cero, puedes disparar el misil. Ahora bien, si hubieras compilado guardar y ejecutar jugamos y disparamos, puedes ver que podemos filmar solo diez. Y después de eso, ya no podemos disparar, no importa cuántas veces quieras presionar el botón más a la izquierda, no podemos 33. 32 misiles de recarga: No, para recarga o misil. Veamos cómo podemos hacer eso. Por hacer eso en la jugada de inicio, solo vamos a ir a la jugada de inicio. Cuando establecemos el número de misiles, queremos establecer un temporizador. Entonces, aquí dentro, establece un temporizador por un evento, ¿verdad? Y este temporizador, quiero que suceda cada 1.5 segundos. Entonces necesitamos poner 1.5 ahí y hacerlo loop. Así que cada 1.5 segundos pasan una y otra vez, ¿verdad? Y lo que va a pasar este evento personalizado va a suceder. Así podemos agregarle el evento personalizado, y quiero decir reload Por lo que esta ejecución de recarga ocurrirá cada 1.5 segundos. Y ahora con eso queremos comprobar si el número de misiles era menor que el número máximo de misiles, así que necesitamos obtener ambos y verificar. Si el número de misiles es menor que el número máximo de misiles, queremos aumentarlo. Deberíamos verificar esto con sucursal. Entonces, si el número de misiles era menor que el número máximo de misiles, queremos aumentarlo, ¿verdad? Y cómo podemos aumentarlo, podemos obtener nuestro número de misil, agregarle uno así y guardarlo dentro de sí mismo. Entonces con ella, la estamos incrementando. Guárdalo así, conectándolo así y conéctalo a true. Eso es. Ahora bien, si ayudamos a compilar, guardar y atropellar juego, podrás ver que el número de misiles se quedará en diez. Pero si disparamos a algunos de ellos, se puede ver que son cinco. Ahora son seis, no son siete, no son ocho. Ahora son nueve, y ahora son diez, y no va a aumentar más de diez. Ahora, tenemos un sistema de recarga, cierto, que podemos disparar sobre misiles completamente, y después de 15 segundos, podemos tener todos los misiles de vuelta Y se puede ver que estamos recargando los misiles. No, podemos volver a disparar, ¿verdad? No, con eso hecho, nuestro sistema de recarga está bien. No, es hora de agregarle alguna interfaz de usuario, para que podamos verla también en nuestra UI, no solo con una cadena. 34. 33 Missile UI: No es lo siguiente que quieras hacer. Queremos crear un widget Blueprint UI para nuestro sistema de misiles Entonces veamos cómo podemos hacer eso. Ve a Cajón de contenido, ve a la carpeta Infierno, da click derecho aquí, crea una nueva carpeta y llámela Widgets. Dirígete inter para abrirlo haz clic derecho aquí, ve a Interfaz de usuario y crea un Widget Blueprint de tipo de widget de usuario Quiero llamarlo WBP UI, ¿verdad? No hagas click sobre él para abrirlo o encabezar inter para abrirlo, ¿verdad? Aquí, lo primero que quieres agregar, queremos ir al panel en el panel Canvas dentro de este panel de Canvas, primero quiero mostrar una imagen después esa X y después de eso, un número, ¿verdad? Entonces para hacer eso, quiero crear un cuadro horizontal por defecto ahí arriba, pero quiero cambiar el ancla a la esquina inferior derecha y cambiar la posición X y la posición Y cero Ahora, se puede ver que está alineado por la esquina superior izquierda. Quiero alinearlo con abajo, esquina derecha. Entonces pon uno y uno para la alineación, así lo pondrá en la esquina inferior derecha. Ahora, quiero agregar un poco de relleno con posicionamiento -50 y -50 Entonces tenemos algo de espacio entre nuestra caja horizontal y la frontera, ¿verdad? A continuación, quiero agregar una imagen. Así que vamos a subir, agregar una imagen como esta y elegir una imagen. En Pincel, da clic en la imagen, y la imagen que quieres agregar es misil. Entonces, la búsqueda de misil es ésta. No, se puede ver que es estirada. Tenemos que hacer clic en el cuadro Horizontal para contarlo. Considera el tamaño del contenido que tienes, ¿verdad? ¿Puedes ver? No, el tamaño del misil es bueno, pero es demasiado grande. Entonces lo que quiero hacer hago clic en la imagen, voy al tamaño de la imagen y divido la Y por dos. Dividirlo por dos. Creo que eso se ve mucho mejor, ¿verdad? Solo con eso, necesitamos agregar un texto también en cuadro horizontal. Se puede ver que irá después de la imagen. Y para el texto del mismo, quiero usar una X así, y quiero que esté alineada al medio así. Se puede ver. Quiero cambiar los colores a algo más negro como esto. Pero tú decides lo que quieres a no, quiero agregar otro texto por aquí. Se puede ver, de nuevo, será después de esos, y quiero que quede alineado ese medio así. Y quiero poner un valor ahí, por ejemplo, diez para ver si se ve bien o no. No, lo que quiero hacer quiero dar click en la X y añadir un poco de relleno. Por ejemplo, pad a izquierda, cinco unidades y pad a derecha, cinco unidades también. Lo que quiero hacer. Quiero cambiar el tamaño de los diez porque tal vez podamos verlo. Por hacer eso, ve a las apariencias, ve a la fuente y cámbiala a lo que quieras. Yo lo quiero poner en 88, para que podamos verlo mejor. Eso se ve, creo, bien. Quiero nombrar este texto al número de texto de misiles. ¿Bien? Y quiero que sea una variable, para que podamos cambiarla después. Cabezal compilar guardar. Ahora bien, si vas a graficar, lo que quiero hacer aquí, quiero crear una función. Entonces con esa función, podemos actualizar el número de texto de misiles dentro de OUI, ¿verdad? Voy a llamar a esta función, actualizar número de misil y con ello, queremos establecer el texto sobre nuestro número de tomas de misiles. Entonces consigue esa variable, pon texto en ella, y está aquí abajo, establece texto. Con esto, podemos establecer el texto sobre nuestro número de tomas de misiles. Pero ¿con qué? Con la entrada de esta función. Así que da click en la función, baja y crea una entrada al llamar a este número uno y el tipo de la misma, como saben, quiero que sea entero, ¿verdad? Cabeza compilar guardar y conectar estos directamente a aquí, ¿verdad? Sepa que tenemos esto, tenemos una interfaz de usuario, y tenemos una función para actualizar esa interfaz de usuario. Veamos cómo podemos usarlo. Para usarlo, tenemos que ir al infierno de BP en BMP. Se puede ver después de establecer el número de misiles aquí, queremos crear un widget primero. Entonces aquí, decimos crear widget, derecho. Con el widget que quieres crear se llama HeliUI elegirlo ahí No, primero queremos promoverlo a variable y quiero llamarlo hell UI, ¿verdad? Necesito el pin de ejecución. Así que vamos a darle el pin de ejecución. Y después de eso, queremos agregar estas dos viewports para que podamos verla, bien, agregar la ventana gráfica y después de eso, podemos configurar el temporizador para recargar los misiles Ahora con Teton, si golpeas compilar guardar y ejecutar, puedes ver que la interfaz de usuario del misil está ahí y ya podemos verla. Eso es bueno. Pero no está actualizado. Veamos cómo podemos actualizarlo. Siempre que cambiemos el número variable de misil, necesitamos obtener la interfaz de usuario infernal. Y codificar el número de actualización de la función de misiles. Eso es. Eso es todo lo que tenemos que hacer, justo con el número de misiles. Y tenemos que copiar y pegar esto al final aquí dentro. Cuando disparamos nuestro misil al final, queremos actualizar nuevamente el número de misil, ¿verdad? Entonces control lo pegamos por aquí. En ambos casos, no importa cuál pase. Queremos de nuevo, actualizar el número de misil, ¿no? Así como así. Sabes que al principio, primero, comprobamos si el número de misil era mayor que cero, lo disminuimos en uno, y lo disparamos y lo engendramos Después de eso, actualizamos la interfaz de usuario. Ahora, veamos si está funcionando bien o no. Si atropellas juego, puedes ver que el número del misil es diez, y lo está mostrando en la esquina inferior derecha. Déjame ir a un cielo para que lo veas mejor. Y dispara, ya ves, estoy disparando y no, puedes ver que el número de misil está cambiando perfectamente bien. Entonces no, no necesitamos ese texto, esa prueba de impresión, ¿verdad? La interfaz de usuario del misil está funcionando bien. Entonces no, esa interfaz de usuario de misiles está funcionando bien. Simplemente podemos desconectar esto. Ya no lo necesitamos. Fue sólo por mostrarte cómo funciona. 35. 34 Miras: Sepa que somos capaces de disparar nuestro misil y hay una limitación para eso y tenemos sistema de recarga Necesitamos una interfaz de usuario. Entonces con eso, sabemos a dónde disparamos, dónde estará nuestro misil después de uno o 2 segundos, ¿verdad? Entonces por hacer eso, quiero ir al Cajón de contenido, crear otro Widget Blueprint Así que haga clic derecho aquí, vaya al widget de usuario y cree el usuario Widget derecho, Widget Blueprint Después de eso, haga clic en el widget de usuario. Yo quiero llamarlo WBP AM, bien, o como quieras llamarlo. Lo único que quiero agregar aquí es solo una imagen. No te preocupes por nada. La imagen que quiero poner ahí se llama pelo cruzado, ¿verdad? Eso es. No hace falta que cambies nada. Quiero cambiar el tinte a un color negro como este. Pero si no quieres hacer eso, solo déjalo como está. Apenas con esa cabeza compilarla, guardarla y cerrarla. Ahora, tenemos que repasar BP hell y agregar un widget de usuario por aquí. Así que haga clic en la búsqueda de AD para widget y agregue un Widget. Y yo quiero llamar a esto 1:00 A.M. También, podemos llamarlo MI, ¿verdad? Da click en el MUI y cambia el espacio de palabra a pantalla Así que siempre lo vemos, bien. Después de eso, queremos cambiar la clase widget a la que creamos WBPAM y el tamaño de la misma, quiero que sea de 100 por 100, ¿verdad? Eso es. Pero dijiste compilar, guardar. Y el juego de Runo, se puede ver el widget está ahí. Eso se ve bien. No lo cambiamos a negro, pero déjame mostrarte algo. Si volvemos a abrir la WBPA, podemos dar click en Imagen Y cambia el color del tinte a negro. Pero antes que nada, quiero cambiar la opacidad de la misma, por lo que será un poco transparente Ahora bien, si atropellas juego, ves, eso se ve mucho mejor, pero mi gusto es así para cambiarlo a un negro, ¿verdad? Creo que con nuestro helicóptero de combate, el negro es mucho mejor, más adecuado, ¿verdad? Pero se puede ver que la posición de AUI o punto de mira no está Entonces déjame mostrarte cómo puedes cambiar eso. Si vas a BP Hali, qué quieres hacer queremos ir a incluso tik y cada tick, queremos ver dónde está mirando nuestro helicóptero y cambiar el punto de mira o widget AM a ahí, ¿verdad? ir a incluso tik y cada tick, queremos ver dónde está mirando nuestro helicóptero y cambiar el punto de mira o widget AM a ahí Entonces, por hacer eso, quiero crear un evento personalizado aquí abajo, ¿verdad? Tenemos algo de espacio aquí. Vamos a crear un evento personalizado, y quiero llamarlo gerente de IA. Gerente de AMUI, y queremos conectarlo a Eventq también Entonces aquí, arrastraremos y elaboraremos y buscaremos gestor de UI. Eso es todo lo que tenemos que hacer. No, aquí dentro, lo que quieres hacer queremos usar un trazo de línea traza de línea por canal. Como saben, necesita punto de inicio y fin. El inicio de la misma, quiero que sea a mitad de nuestro helicóptero mitad de nuestro helicóptero donde podamos usar un patio de muelles para eso porque está a mitad de nuestro helicóptero. Así que vamos a usar eso. Conseguiré nuestro patio de primavera y sacaré la palabra ubicación fuera de él, obtendré la ubicación de la palabra. Este es el punto de partida así. A continuación, el punto final, queremos que esté alineado con nuestro helicóptero al frente de nuestro helicóptero, donde sea algo o no, ¿verdad? Entonces para hacer eso, primero, necesitamos obtener este vector de brazo de resorte hacia adelante. Así que busca G vector hacia adelante. Y debido a que esto es una longitud de uno, necesitamos multiplicarlo por algún valor. Así que multiplíquelo por un valor realmente grande. Entonces cambia esto a un flotador y pon ahí 99999999, justo eso es bueno Sea cual sea el valor que pongas aquí, debería ser simplemente grande, ¿verdad? Y ahora, con eso, quiero agregar esta ubicación de inicio que tenemos a la dirección o hacia adelante. Y esto es o terminar no, ¿verdad? Para que lo veas, quiero cambiar este tipo Droid dvc por un cuadro Y solo con eso, vamos a ver qué va a pasar. Si encabeza compilar, guardar y correr, se puede ver, no, hay una línea desde la mitad del helicóptero hasta el frente. Si nos adentramos al cielo, se puede ver si golpea algo, nos dará esa ubicación, esa plaza. Entonces con esa plaza, queremos fijar la posición de donde Mui o cruzar aquí a esa posición Para hacer eso, necesitamos romper estos resultados de cabeza, así que romperla. Con él primero, queremos comprobar si golpea algo o no. Así que compruébalo con la sucursal. Si golpea algo, entonces nos dará un punto de impacto o la ubicación en la que golpea algo, ¿verdad? Podemos usar ambos. Ahora con eso, podemos obtener nuestro MUI y establecer la palabra ubicación. Bien, eso es. Conecta la verdad a ella, y el punto de impacto es más que suficiente. Ahora bien, si no le pegó a nada, de nuevo, queremos establecer la palabra ubicación así. Si no golpeó nada con el rastro termina donde termina el rastro, ese final de esa línea que vimos juntos, ¿verdad? No, solo con eso, si golpeas compila guardar un juego de Runo, puedes ver la posición de o cruzar la cabeza, no está Se puede ver si vamos a un cielo, se puede ver cada vez que está bien y está en el lugar correcto y podemos disparar ahí, ¿verdad? Porque nos estamos moviendo, no va a hacer bien, pero ya ves, está funcionando bien, ¿verdad? Entonces apagamos el motor. Dispara. No, ya ves, se dirige cerca de él. Está bien. Porque con este helicóptero, vamos a tener daños de radio app, ¿verdad? Así es como debería funcionar. Así que eso se ve increíble. No, tenemos una interfaz de usuario. Lo que quería hacer, quiero desactivar este sorteo tipo deba a ninguno porque ya no lo necesitamos. Queremos que nuestro juego se vea limpio. Se puede ver no, es mucho más limpio, ¿verdad? Se puede ver que todo está funcionando bien y hermoso. 36. Plano de un arma antiaérea 35: Nuestro helicóptero está listo para destruir algunas cosas, pero no tenemos nada. Entonces veamos cómo podemos crear un enemigo que pueda contraatacar. Por hacer eso, quiero ir al Cajón de contenido, ir a Anti IrgonFolder, y aquí, dar clic derecho, crear una nueva carpeta y llamarla O plano. Y voy darle click para abrirlo bien, dar click aquí, crear una clase de plano de tipo de actor, y quiero llamarlo BP anti pistola de aire comprimido, ¿verdad? Haga clic en él para abrirlo. Aquí, primero y primero, quiero agregar una malla esquelética. Entonces agrégalo ahí y póngalo como sindroot predeterminado arrastrándolo y soltándolo en escena predeterminada después de eso, haga clic aquí, elija el SK Se puede ver por aquí. Con esto, queremos atacar al helicóptero. A lo mejor podamos destruirlo. A continuación, este porque queríamos rotarlo se ha ido y enfrentar helicóptero, necesitamos un plano de animación para ello Por hacer eso, quiero ir al Cajón de Contenido, clic derecho en aquí, ir a animación y crear plano de Animación Para el RT Scale East, seleccionado, ayuda a crear y quiero llamarlo pistola de aire ABP ti, ¿verdad? Voy a hacer clic en la parte superior y ésta también. Aquí, queremos agregar el espacio de malla, R pose, esto nos dará toda la información sobre los huesos, y necesitamos conectarlo a con pose también. No está listo el Blueprint anti ergon. Vamos a sumar uno de ellos a nuestro nivel. Donde empieza sobre jugador, haz clic en inicio de jugador en Outliner, cabeza F. Así irás al jugador Inicio Quiero crear sobre Antirgon arrastrando uno de ellos aquí, Eso es. Se enfrenta por encima del jugador. No quiero que se enfrente por encima del jugador. Solo giremos a la rotación que quieras. Entonces con el plano de animación, queremos cambiar la rotación de la misma que se enfrente sobre helicóptero y lo ataque, ¿verdad? Entonces no lo siguiente que queramos hacer queremos decirle cuál es tu objetivo. Por hacer eso, quiero ir a BP Anti Airgon, ir a AventgRap y aquí en Event BM play, quiero decirle que el infierno de BP es Y si está al alcance, dispara a él, ¿verdad? Entonces para hacer eso, aquí dentro, necesitamos conseguir el peón jugador, y con eso, nos va a dar el peón que estos jugadores arrancarán automáticamente, ¿ Lo engendrará por aquí. Y con ello, queremos lanzarlo al infierno BP. Bien. Si los yesos tienen éxito, significa que el objetivo está ahí, y podemos dispararle, ¿verdad? Entonces podemos hacer click derecho sobre esto ya BP Heli promovió a una variable, y quiero llamarla target Entonces este es nuestro objetivo, ¿verdad? No lo siguiente que queremos hacer con este objetivo, queremos comprobar si es rango. Si le podemos disparar, y cómo podemos hacerlo, queremos decir, si la distancia entre el tiegon y la Taya que es o BP Holly es de 100-8 mil, por ejemplo, se le puede disparar, pero si no está en este rango, ¿no le dispares porque no Entonces, por hacer eso aquí, no quiero hacerlo en todos los fotogramas. Quiero usar un temporizador, así que configura el temporizador por evento. Queremos checar a cada 1 segundo. Queremos revisar cada segundo para ver si el helicóptero está a alcance o no, si podemos dispararle o no. Así que este temporizador establecido por evento, nos dan un evento y podemos conectar un evento personalizado a él. Entonces busca evento personalizado, y quiero llamar a este check in range, ¿verdad? Puedes ponerle el nombre que quieras. Este rango de check in ocurrirá una vez después de 1 segundo. Pero si habilitamos el bucle, cada segundo, este rango de comprobación sucederá. Y con este rango de comprobación, lo que queremos hacer queremos conseguir la distancia. Así que solo busquemos la distancia. Entre dos vectores, vector de distancia, queremos verificar la distancia entre anti ergon y el objetivo Si está al alcance, dispara a él, ¿verdad? Por lo que necesita dos vectores. Primer vector, solo podemos obtener la ubicación del actor que nos dará la ubicación en la palabra de over anti ergon A continuación, queremos conseguir el objetivo y obtener la ubicación del actor de ese también, obtener la ubicación del actor de over target. No, esto nos dará la distancia entre ellos. Pero antes de hacer eso, necesitamos verificar si este objetivo es válido o no. Entonces buscar es válido, correcto, así. Si es válido, consigue la distancia entre el antágono y el objetivo que está sobre el infierno, ¿verdad Entonces aquí dentro, queremos comprobar si está en rango. Entonces busca rango en rango fluido porque es un fluido, queremos decir si es 100-8 mil, está en rango, ¿verdad Entonces, si el objetivo es válido, queremos usar una rama aquí y verificar si está en rango o no. Y aquí adentro, solo para no, quiero usar un anillo de prueba de impresión. Y si es cierto, significa que está en rango. Entonces digamos en rango, eso es todo. Y si es falso, nuevamente, solo usemos un anillo de prueba de impresión y digamos que objetivo no está en el rango. Y para que lo veas, quiero cambiar el color de este anillo de prueba de impresión a rojo y cabeza bien. Ahora bien, si encabeza compilar, guardar y atropellar juego, puedes ver que dice que el objetivo no está en el rango porque no estamos cerca de él. Pero si nos acercamos a ella, veamos qué va a pasar. ¿Deberías acercarte? No, se puede ver que estamos en el rango. Si te alejas de ello, veamos qué va a pasar de nuevo. Se puede ver que está en rango, y no, no está en rango. Entonces, en base a la distancia, estamos decidiendo si está en rango o no. Este es el primer paso hacia nuestro objetivo de disparar a nuestro helicóptero. 37. 36 Modificar los esqueletos del arma: No, sabemos cuando el objetivo está en el rango de gon anti aire. Pero lo primero que queremos que haga esta antiirgón es mirar el helicóptero, ¿ Enfréntalo para que pueda dispararle, ¿verdad? ¿Verdad? No, está de esta manera, pero queremos que lo rote para enfrentar al objetivo. No importa dónde esté, no importa si se mueve a donde sea, ¿verdad? Entonces para hacer eso, necesitamos usar blueprint de animación, y el nodo que queremos usar se llama modify boon, Y con este hueso modificado, necesitamos cambiar la rotación de sobre arma. Entonces no necesitamos cambiar la traducción, así podemos decirle que no la exponga como pin, ¿verdad? Y no necesitamos cambiar la escala también. Entonces le dirán que no lo exponga como un pin también, pero queremos cambiar la rotación. Y el modo de rotación, queríamos agregarlo a la existencia. Entonces, si ya tiene una rotación, se le sumará y después de eso, elija el bon space, ¿verdad? También puedes dejarlo como componente al espacio. Ahora aquí dentro, el hueso que quieres modificar, podemos ponerlo por aquí. Pero veamos qué hueso queremos rotar. Si haces clic aquí, se abrirá el esqueleto de más de arma, ¿verdad? Aquí, tenemos una articulación de arma que con ella, podemos traerla arriba y abajo. Se puede ver. Y tenemos una articulación de torreta que con ella, podemos girarla alrededor del eje Z. Esta rotación alrededor del eje Z se llama guiñada, y la rotación alrededor del eje Y se llama paso Entonces tenemos que cambiar el tono de sobre cañón y guiñada de sobre torreta ¿Bien? Esta es nuestra torreta, y necesitamos cambiar su mandíbula. Entonces hay dos huesos que necesitamos para cambiar cada rotación. Primero, la articulación del arma, el tono y la articulación de la torreta, ya. Entonces veamos cómo podemos hacer eso. Primero que nada, solo hagámoslo por Torreta, ¿ verdad? Buscar Torreta. Dice torrent. Es un error. No te preocupes por ello. Conjunto Torrent. Y aquí dentro, quiero hacer click derecho sobre esta rotación y dividir el stroqm No necesitamos cambiar el rollo y el tono. Solo tenemos que cambiar el ya. Por ejemplo, si lo cambio a 40 y encabezo compilar. No, ya se puede ver. Se cambia la rotación de la misma. Nuevamente, podemos ponerla en 90, por ejemplo, head compile, no, se puede ver, hice rotar 90 grados. No quiero hacerlo así. Quiero promoverlo a una variable. Y quiero llamarlo arma Y, ponla en arma ya. No necesitamos decir Tretyo porque estamos cambiando el Tret ya Pero la pistola, me refiero a la pistola antiaire, ¿verdad? Por eso lo llamo arma ya. Y después de eso, necesitamos copiar y pegar esto. Tenemos que hacerlo también para la propia articulación del arma. Entonces el hueso que queremos modificar se llama articulación de arma. Entonces pongámoslo ahí. Ahora lo que queremos cambiar es el terreno de juego. Entonces por ejemplo, si pongo 45 ahí y la cabeza compilar no se puede el tono de la misma se cambia 45 grados. De nuevo, quiero hacer click derecho sobre esta, ascendido a una variable, y quiero llamarlo lanzamiento de arma, ¿verdad? Eso es lo que necesitamos cambiar. Paso de arma, y arma ya. Para probarlos en un editor en vista previa, solo podemos probarlos. Por ejemplo, para cambiar el tono, se puede ver, lo estoy cambiando en vivo. Y puedo cambiar el ya así como lo puedes ver por aquí. Yo lo miro, se puede ver mejor. Se puede ver, con estas variables, podemos rotar nuestra pistola y cambiar su cabeceo para mirar hacia arriba y hacia abajo. Entonces ahora que tenemos una manera de que podamos rotar nuestro arma y cambiar su tono para mirar hacia arriba y hacia abajo. Veamos cómo podemos calcular cuál debería ser el tono y cuál debería ser la U en el siguiente video. 38. 37 Calcula la dirección del arma: No, sabemos cómo podemos girar nuestra pistola en la dirección que queramos, ¿verdad? Pero no, queremos verificar el objetivo y cambiar la rotación en base a ese objetivo, así arma AMAT o objetivo Por hacer eso, quiero ir a BP ti airgun aquí. En lugar de simplemente usar print toring lo que quiero hacer quiero crear una variable y decir si está en rango o no Así que el nombre está en rango. Si el objetivo está en el rango, queremos establecer esto en true. El objetivo está en el rango, si recuerdas, comprobamos la distancia entre el antígono y el objetivo Y si está en rango, esto cierto va a suceder, y queremos decir que está en rango. Después de eso, si nos da falso, esta rama, queríamos decir, no está en el rango porque esto nos da falso. Es por eso que este falso suele suceder y decimos que está en rango es falso. Ahora con eso en Aventq en cada cuadro, queremos cambiar la rotación de over gun para que mire al helicóptero o al objetivo, ¿verdad? Entonces, lo primero que tenemos que hacer aquí, primero, tenemos que verificar el objetivo si es válido. Entonces busca yo válido así y conecta el pin de ejecución a él. A continuación, si es válido, queremos comprobar si está en rango o no, así lo conseguimos y lo verificamos con la sucursal así. No, en ese caso, necesitamos calcular el lanzamiento de la pistola y el cañón ya, así que mirará a nuestro helicóptero y cómo podemos hacerlo, primero, necesitamos obtener la rotación de nuestra pistola antiaire comprimido al objetivo. ¿Qué es esa rotación? Si el helicóptero cambiaba de posición, ¿cuál es la rotación que debería tener nuestra pistola? Y hay un nodo para eso que se llama encontrar Mira la rotación. Entonces, esta mirada fina a la rotación necesita una ubicación de inicio y una ubicación objetivo, y calculará la rotación que debería tener el arma, por lo que apuntará al objetivo. La ubicación de inicio es o anti argón, por lo que podemos obtenerla por obtener la ubicación del actor. Eso es. No, para la ubicación objetivo, si vas a nuestro BPL, quiero que apunte en medio de nuestro helicóptero O un helicóptero por defecto, la ubicación 000 del mismo está aquí abajo, ¿verdad? Pero un brazo de resorte está comenzando en la mitad del helicóptero. Entonces por eso quiero usar la posición del brazo del resorte. A decir, Este es tu objetivo, apunta a la mitad de nuestro helicóptero. Entonces en nuestra pistola antiaire, queremos conseguir nuestro objetivo y obtener su brazo de resorte. Así que busca guardia de resorte. Y con este protector de resorte, queremos obtener su palabra ubicación. Así que consigue la ubicación de la palabra. Y no este nodo nos dará la rotación que nuestro arma debería tener, así que está dirigida a nuestro helicóptero. No, nosotros arma ya tiene una rotación. Y eso lo podemos conseguir con la rotación del actor G, ¿verdad? Queremos calcular la diferencia entre estas dos rotaciones y ponerla para lanzamiento de pistola y arma sí. Y cómo podemos hacer eso, hay un nodo que se llama Delta rotador que nos dará la diferencia entre la rotación que deberíamos tener la pistola antiaire comprimido debería tener, así que apuntará a helicóptero y la rotación que ya tiene, ¿verdad Yo nos voy a dar esa rotación. Podemos justo, dar clic en éste, dividir una aleta de trazo. Ahora con esto, lo único que necesitamos es el valor de tono y el valor ya. Entonces podemos hacer clic derecho sobre el valor de tono promovido a variable, y puedo llamarlo lanzamiento de pistola. Este es el lanzamiento que debería tener nuestra pistola. Necesitamos guardar el paso de la pistola conectando el pasador de ejecución a él, modo que guardará el paso del arma dentro de él. necesitamos al Ya, y yo quiero llamarlo arma Yao? Y conectado al pin de ejecución también. Ahora, tenemos el lanzamiento de pistola y el arma ya. Veamos cómo podemos usarlo en nuestro plano de animación. Ve a Animation Blueprint, ve al gráfico de eventos, y aquí primero, necesitamos obtener nuestra pistola BP anti aire comprimido Entonces haga clic derecho aquí en el evento comenzar a jugar así, y necesitamos conseguir el actor propietario Así y echarlo a anti ergon fundido a anti pistola de aire, ¿verdad? Si esto arroja éxito, podemos promoverlo a variable. Y solo quiero llamarlo BP anti Air gun, ¿verdad? Dentro de este BP anti ergon, lo que tenemos, tenemos el gun pitch y gun yacht, que calculamos, ¿verdad Entonces aquí, no necesitamos a este dueño de peón trig porque el dueño de este plano de animación es una Por eso usamos el actor dueño, ¿verdad? Y aquí, primero, tenemos que verificar si este plano anti pistola de aire comprimido es válido o no Por lo tanto, la búsqueda de es válida. Si es válido, lo que queremos hacer es simplemente conectar el pin de ejecución. Tenemos que quitarle el pistoletazo. Entonces busca el lanzamiento de arma, y tenemos que conseguir el arma ya, también. Arma ya así. Estos son los valores que calculamos aquí. Estos son éste, ¿verdad? Pero queremos conectarlo o guardarlo dentro de estas variables que lo tenemos dentro de nuestro blueprint de animación Así podemos obtener nuestro lanzamiento de pistola, colocarlo aquí con el valor que obtenemos de nuestra pistola de aire anti que calculamos juntos, ¿verdad? Y otra vez, deberíamos hacerlo por Gun ya también. Colóquelo aquí con el valor que estamos obteniendo de más Anti ergon Blueprint. Eso es. Ahora con eso hecho. Tenemos que ir a o Antirgon, clic en o imagen esquelética Nos olvidamos de poner ahí la clase anim. Así que haz clic aquí y elige ABP anti ergon. Entonces este plano y este plano de animación estarán conectados entre sí, Con eso hecho, no, si atropellas juego y te metes al cielo, veamos. Debe cambiar su rotación en función de nuestra ubicación. Ahora, ya lo puedes ver. Nos está enfrentando. Adelante. Se puede ver o Antiergon nos está mirando, y va a cambiar su rotación, por lo que nos mirará Nuevamente, vamos a ir al cielo. No importa a dónde vayamos, ves, nos está siguiendo correctamente. Ahora que nos está siguiendo correctamente, necesitamos disparar los cañones a nuestro helicóptero. Veamos cómo podemos hacer eso. Siguiente. 39. 38 Proyectiles de pistola antiaire: No para que nuestra pistola antiaire libre pueda disparar a nuestro helicóptero, necesitamos un proyectil Entonces primero, vamos a crear un proyectil y después de eso, le disparamos, ¿verdad? Por hacer eso, ve a Cajón de contenido, ve a Carpeta Blueprint en Anti Airgun y haz clic derecho aquí, crea una clase de plano de tipo de actor, y quiero llamarlo azulejo BP anti air gun project Muñeca da click sobre él para abrirlo. Y aquí dentro, lo único que quiero añadir es sólo una esfera porque va a ir tan rápido, no podemos verla. No necesitamos imagen de ático para ello. Sólo una esfera es más que suficiente. Puedo ponerlo como root syn predeterminado arrastrándolo y soltándolo ahí. Ahora, con eso, quiero agregar un movimiento de proyectil también Agrega un movimiento de proyectil. Y la velocidad de la misma, la inicializar una velocidad, quiero que sea 40,000, pero deberías jugar con este valor hasta llegar al resultado que quieras La velocidad máxima, quiero que sea 50,000, ¿verdad? Y ahora con eso, si voy hacia la dirección y golpeo simular, se puede ver o proyectil se está moviendo Ahora, lo siguiente que quiero hacer es cambiar el tamaño del proyectil Entonces, para hacer eso, da clic en esfera. Talla para todos ellos, quiero cambiar a 2.15, ¿verdad? Por eso sí seleccioné estos íconos, así que todos ellos cambian juntos. 0.15 es más que suficiente porque es un proyectil pequeño, ¿verdad? El color de la misma para eso, quiero crear un material. Entonces aquí dentro, voy a hacer clic en crear un material. Yo lo llamaré, rojo. Eso es. Voy a hacer clic en él para abrir. Y aquí adentro, lo que quiero hacer quiero un árbol entero en nuestro teclado la cabeza más a la izquierda abajo para crear un vector constantr que con él, podamos cambiar el color si te conectaste al color si te conectaste al Ahora, podemos hacer click aquí y elegir el rojo. Sólo tienes que agregarle rojo. Se puede ver no es una esfera roja, pero quiero que brille un poco, también. Por eso necesitamos el color emisivo. Simplemente podemos conectarlos al color emisivo, pero no va a brillar tanto Vamos a verlo y mirarlo. Se puede ver que brilla un poco. Pero si multiplicas esto por un valor realmente grande, como, digamos, 200 y lo conectas a un color misivo, no, puedes ver que brillará más Asegúrate de guardarlo y ve a AntiirgonPjtile, da clic en la esfera y cambia el material Entonces pusimos ahí el rojo, ¿verdad? Ahora, con eso, quiero cambiar la colisión. Ahora mismo, está bloqueando toda la dinámica. Quiero cambiar esto a un preset personalizado, y quiero bloquear todo. Pero la colisión lo habilita, quiero que sea solo de consulta, así que no empujará físicamente ni helicóptero, creará muchos bots. Por eso queremos ponerlo como consulta solamente. Y el tipo de objeto, queremos que sea más dinámico, y queremos bloquearlo todo. Eso es todo, eso fue por colisión. Ahora, vamos a guardar y compilar la cabeza. Ve a Aventurap aquí, siempre que sea o el movimiento del proyectil se detenga, podemos bajar y conseguir esto en tope de proyectil Entonces tenemos evento cada vez o proyectil en algo, ¿verdad Aquí, podemos simplemente romper esto tuvo resultado y con queremos aplicar algún daño cuando golpea algo, ¿no? Entonces digamos aplicar daños. La cantidad de daño que quiero que este cause, quiero ponérselo en 0.5 por ahora, pero lo cambiaremos después. Y a qué actor queremos aplicar daño es el actor que pegamos. Entonces dragón deja caer al actor principal hasta aquí. Después de aplicar un daño, podemos simplemente destruirlo, ¿verdad? Destruir actor. Eso es todo lo que tenemos que hacer. No, vamos a compilar la cabeza, guardar. No va a pasar nada porque aún no estamos desove. Pero nuevamente, si vas a nuestra ventanilla y simulas cabeza, puedes ver cómo se ve Se puede ver. No, veamos cómo podemos engendrarlo. Lo haremos a continuación. 40. 39 Dispara las armas: No para un desove o proyectil y dispara hacia nuestro helicóptero Solo vamos a nuestro tigon BPN, asegúrate de guardar todo Y aquí dentro, cada vez que el objetivo está en el rango y nos fijamos está en rango verdadero, queremos establecer un temporizador Así que pon un temporizador aquí. Por evento, cada 0.05 segundos, queremos que este evento suceda en bucle, y necesita un evento personalizado. Así que vamos a agregar el evento personalizado. Quiero llamarlo fuego. Entonces con este temporizador, cada 0.05 segundos, disparamos sobre arma. Ya sea el lado derecho o el lado izquierdo. Se puede ver que aquí hay dos barriles. Entonces cualquiera de estos no importa, ¿verdad? No, tenemos este temporizador. Podemos simplemente promoverlo a variable porque en algún momento, necesitamos detener este temporizador. Y quiero llamar a este temporizador de incendios, ¿verdad? Y si el objetivo se sale del alcance, queremos conseguir nuestro temporizador de fuego y aquí dentro, limpiar un sapo, limpiar e invalidar el No, con eso hecho, solo usemos una cadena de impresora para no y digamos fuego, correcto, y en compilar y guardar para ver qué pasará. Ahora mismo, porque el helicóptero no está a alcance, yo no diría nada, pero si nos acercamos a él, veamos qué pasará. Dice, fuego, fuego, fuego, y si volvemos a salir del rango, el temporizador se detendrá. Sólo vamos a mirarlo. No, se puede ver el temporizador se detuvo y no, no nos está disparando. Ahora con eso, sabemos que está tratando de dispararnos cuando estamos dentro del alcance, y no nos disparará cuando no estemos en el rango. No, no queremos usar impresoras. Queremos generar alguna bala, algún proyectil. Entonces, para hacer eso, necesitamos obtener la posición en punta de estos dos barriles, ¿verdad? A punta de estas armas. Entonces, cómo podemos hacer eso, hay mucho camino. Quiero mostrarte una nueva forma. Aquí, podemos simplemente hacer clic en malla esquelética, agregar un componente de escena aquí Esto es solo por ubicación. Este, quiero usarlo para arma izquierda. Apenas ponga a la izquierda ahí. Y debido a que es hijo de malla esquelética, podemos asignarle un socket. Entonces aquí adentro, quiero asignarlo a articulación de arma. Ahora, se puede ver que está alineada con nuestra articulación de pistola. Podemos traerlo arriba y ponerlo en punta de la pistola izquierda. El de izquierda es éste, ¿verdad? Entonces pongámoslo en la posición correcta. Son 230 menos diez, ¿verdad? Ahora, vamos a duplicar esto y hacerlo por el arma correcta también. Entonces controla D para duplicarlo y cambiar el nombre a derecha, ¿verdad? Otra vez, el zócalo padre, queremos que sea una articulación de arma así, y queremos traerla de este lado, ¿verdad? Ahora, se puede ver que el arma derecha está en el lugar correcto, y el arma izquierda está en el lugar correcto, también. Ahora, tenemos los lugares a los que disparamos fuego o un desove o proyectil No, con eso, vamos a ir aquí. En este fuego, lo que queremos hacer queremos usar una chancleta, ¿verdad? La primera vez que queremos engendrar en el lado izquierdo, segunda vez queremos abarcar en el lado derecho Por eso el flip flop will funciona bien. Entonces no, vamos a hacer primero el izquierdo. Aquí, quiero engendrar a un actor de clase. El actor que quieres engendrar se llama proyectil. Tiene proyectil en su interior, proyectil anti pistola de aire, ¿ verdad Para transformar, porque queremos hacerlo por la izquierda, obtenemos la pistola izquierda, y con ella, obtenemos la palabra transformar de ella, palabra transformar y simplemente podemos conectarla a aquí. Queremos hacer lo mismo para el B o el cañón correcto o ir a la derecha. Entonces Control C Control V para pegarlo por aquí y conectarlo a B. Solo cambia la izquierda que tenemos aquí a derecha ido para obtener la palabra transformar fuera de ella, ¿verdad? Ahora, con eso, veamos qué va a pasar. Si compilamos y ejecutamos. No, si nos acercamos a ella, veamos qué va a pasar. Si vamos. No, ya ves que nos está pegando, ¿verdad? Pero no hay ningún efecto. Sólo nos está pegando con alguna bala. No hay sonido. No hay nada. Y puedes ver si me alejo de ello, no va a poder dispararnos. Se ve que nos está disparando. Es fuego contra nosotros. No, porque nos alejamos de él, no va a poder dispararnos porque ya no estamos al alcance. No, el problema con este enfoque es que es demasiado preciso. Siempre nos está pegando. Tenemos que encontrar la manera de dispararlo en un cono. Entonces no todas estas balas nos golpean. Entonces debería parecer más natural que se pierdan algunas balas, ¿verdad? El verdadero anti argón es así. Hay algo de tolerancia, y siguiente video, vamos a agregar esa tolerancia ahí. 41. 40 Dirección aleatoria de los proyectiles: No para difundir estos proyectiles que estamos desove porque es demasiado preciso. Nos puede destruir si hay más de uno de ellos, ¿verdad? No debería ser tan preciso. Entonces, para cambiar la precisión de ellos, lo que quiero hacer primero, solo hagámoslo por el cañón izquierdo. Quiero traer un tema aquí y lo que quiero hacer. Quiero desconectar esto y en un clic derecho sobre este valor de retorno aquí adentro, dividir el pin de roca, y con él, quiero hacer una transformación aquí también. Haz una transformación aquí abajo, ¿verdad? Entonces, si solo conectamos todo ubicación a ubicación y rotación a rotación y escala a una escala, nada cambiará. Sólo vamos a mirarlo. No se cambiará nada. Será capaz de mirar golpearnos completamente bien con mucha precisión. Se puede ver con qué precisión nos está pegando, ¿verdad? Pero lo que quiero hacer, quiero cambiar la rotación para tener cierta tolerancia, cambiar la rotación. No quiero cambiar la ubicación ni una escala. Yo sólo quiero cambiar la rotación. Y por hacer eso, primero, quiero sacar el vector forward de él, y quiero aleatorizar este vector forward para mirar un poco a la izquierda derecha arriba y abajo con el nodo que se llama vector unitario aleatorio en un cono en un radio, Entonces lo que va a hacer esto es nuestro vector forward, le agregará un poco de tolerancia en un cono, un cono que es así, ¿verdad? La tolerancia que quiero agregar ahí es que quiero sea muy pequeña porque si es de un grado aquí, va a estar mucho más lejos, ¿verdad? Entonces lo pondré en 0.08, realmente un valor pequeño Entonces, lo que hará este nodo, aleatoriamente cada vez agregará cierta tolerancia al vector hacia adelante, por lo que disparará a todas partes. Se extenderán los proyectiles. Después de esto, podemos crear un rotador a partir de él. Podemos decir rotador de X, ¿verdad? Eso es. X es vector directo. Es por eso que si creamos make rod a partir de X, funcionará, y queremos conectarlo a la rotación. Sólo con eso, si golpeamos correr y vamos a acercarnos a ella, el arma derecha debería estar golpeándonos con precisión, pero el arma izquierda, ya ves, está golpeando por todas partes, y hay menos precisión en el arma izquierda. Por supuesto, si nos acercamos a él, habrá más precisión. Pero si nos alejamos de él, ya pueden ver, No, hay mucha tolerancia, y no nos puede golpear siempre. No, yo también quiero hacer lo mismo por el lado derecho. Entonces déjame traer todo esto aquí. Quiero eliminar esto, copiar todos estos, Control C control pegarlo por aquí. Lo que quiero cambiar es solo esta pistola izquierda que quieres cambiarla a la derecha. No, digamos eso. Si corres nosotros juego y te acercas a él, veamos qué pasará. Se extenderán todas las balas. Se puede ver que no nos está pegando siempre. Eso se ve mucho más realista. En la vida real, es así. No es tan exacto. Déjame verlo una vez más aquí. Si te acercas a él. Y se puede ver que nos está disparando en todas direcciones. Si nos dispara directamente con precisión, precisión milimétrica, moriremos en poco tiempo Por eso sí agregué toda esta tolerancia, así se ve más natural. 42. 41 VFX de pistola antiaire: No, es momento de agregar algunos efectos visuales. Veamos cómo podemos hacer eso. Para algunos efectos visuales, déjame ir al cajón de contenido en la carpeta Activos. Si vamos al vehículo East Art en effet, puede ver que aquí hay un sistema ***** que podemos usarlo para disparar o efectos visuales de pistola Esperemos hasta que se compila y ahora puedes ver lo hermosa que se ve Tiene todo para nosotros. Se puede ver que se ve realmente increíble. Queremos usar eso, ¿verdad? Así que vamos a ir a nuestro antiirgon quiero dar click en la pistola derecha y agregar ahí el sistema Niagara. Eso es. El sistema Nagara, automáticamente lo puso ahí porque seleccionamos por aquí Por eso sí lo puso ahí automáticamente. Pero quiero llamarlo hocico correcto, ¿verdad? Hocico derecho. Y sí lo puso correctamente ahí. El ritmo de disparo es más que suficiente. No. Si lo miras, puedes ver que lo está desove ahí abajo. Pero debido a que es hijo del arma derecha, podemos simplemente poner la posición a cero y cero y cero. Ahora, se puede ver que está en la posición correcta. Eso se ve increíble, ¿verdad? Y se puede ver también hay algunos proyectiles expulsando Eso se ve realmente increíble. Nosotros también queremos hacer lo mismo con el arma izquierda. Entonces controla D para duplicar. Y éste, quiero llamarlo hocico izquierdo. Entonces debería cambiar eso para levantar el hocico y ponerlo como arma izquierda aquí Y nuevamente, haga clic en él, cambie la posición a cero, cero y cero. Y ahora, si vas aquí, puedes ver, porque ambos están funcionando bien en la posición correcta. Ambos están disparando. Todo se ve bien, pero si atropellamos juego, siempre está disparando. Ya ves, siempre está disparando. No queremos que sea así. Queremos que cada vez que se esté filmando tenga ese efecto visual. Y cómo podemos hacer eso, en realidad es fácil. Entonces aquí adentro, por defecto para ambos hocico izquierdo y hocico derecho, queríamos decir, no se activen por Entonces cambia el auto activo a false, y ahora puedes ver, no hay effex Y si ejecutas un juego, puedes ver que ahí no hay effex Pero siempre que empiece a disparar, necesitamos activarlos. Para que podamos ponerlos a ambos así y ponerlos activos en él, establecer activos eso es todo. Y queremos activar. Entonces cuando el helicóptero esté a alcance y queramos empezar a disparar, ¿no? Ambos, queremos que esté activo. Y podemos simplemente copiar y pegar esto y pegarlo por aquí. No, necesitamos algo de espacio. Déjame seleccionar todo esto, agregar algo de espacio aquí. Y siempre que el objetivo no esté al alcance, no le estamos disparando, así que queremos desactivar estos dos efectos visuales, ¿verdad? Y eso es todo lo que tenemos que hacer. Vamos a compilar, guardar y ejecutar. Se puede ver por defecto, no hay efectos visuales ahí. Pero si te acercas a él. Veamos qué va a pasar. No, puedes ver, nos está disparando, y también hay efectos visuales, y eso está funcionando bien. No, sobre los efectos visuales está funcionando bien, pero no está reproduciendo ningún sonido cuando se dispara un arma. Fuego, es arma. Ahora, veamos cómo podemos agregarle algo de sonido. 43. 42 Sonido de fuego: No, hay algunos efectos visuales anti Argon, pero no tenemos ningún sonido. Veamos cómo podemos crear el sonido. Vaya al cajón de contenido, y aquí, baje a Argon, y aquí, haga clic derecho, cree una nueva carpeta. Quiero llamarlo sonidos. Bien. Haga doble clic sobre él para abrirlo, derecho, haga clic aquí, vaya al audio y cree una fuente de metasund Quiero llamarlo fuego de pistola de aire sti, ¿verdad? Haga doble clic sobre él para abrirlo. Y aquí dentro, quiero usar un jugador de olas. Como, siempre, partimos de un jugador de olas. La ola que quieres jugar se llama 50 BMG si la juegas. Es así, ¿verdad? Y a continuación, queremos conectar el mono de avena al mono de avena. Y esta vez, inconcluso a inconcluso, ¿verdad? Cuando estamos dando vueltas a algo, no debemos conectar lo inconcluso en absoluto Pero si no estás dando vueltas a algo y queremos que algo suceda una vez que conectemos lo inconcluso con lo inconcluso No, porque aquí solo tenemos un sonido, no va a sonar tan bien. Entonces por eso quiero cambiar aleatoriamente el tono. Entonces aquí dentro, buscaré flotación aleatoria, ¿verdad? Y este flotador aleatorio nos dará un valor 0-1. No quiero que sea así. Quiero que esté entre 0.1 y dos, ¿verdad? Seleccionará aleatoriamente un valor flotante. Y dánoslo aquí dentro y lo fijamos como un pitch. Entonces, cada vez que este sonido de metal llegue a ser tocado, tendrá diferente turno. No, estos necesitan un alfiler de árbol, así que vamos a darle el pin de árbol, y después de eso, reproducir el sonido. Ahora bien, si tuvieras juego, ya ves, está funcionando bien. No, solo salgamos a salvo y veamos cómo podemos usarlo. Volver a BP Anti Argon. Y aquí dentro, en ambos casos, queremos generar sonido en el lugar, generar sonido en generar sonido en Y la canción que queremos tocar se llama MsontirGNFRE. Para la ubicación, podemos usar la ubicación que pasamos a esta nota de proyectil Span, ¿verdad? Podemos simplemente arrastrar y soltar esto y romper esto y usar su ubicación, ¿verdad? Lo siguiente que quiero hacer quiero agregar la configuración de atenuación Lo tenemos de antes. El misil SA funciona para éste, también. Así que pongámoslo ahí. Ahora con eso hecho, quiero copiar y pegar este de aquí también para el arma correcta también. Necesito una ubicación. Simplemente podemos romper esto y usar su ubicación para la ubicación. Y la atenuación del sonido está bien, también. No, solo vamos a probar. Si tuvieras compilar, guardar y atropellar juego. Ahora mismo, no hay sonido si te acercas a él. Ves que hay nota sonora. Y si te alejas de ello, también se cambiará el volumen del sonido. Quiero cambiar algunas cosas. Esta atenuación de sonido que estamos usando aquí no es suficiente, No es buena Vamos a crear atenuación de sonido solo para este clic derecho aquí, vaya al audio y cree una atenuación de sonido Quiero llamarlo un fuego de arma, ¿verdad? No haga clic en él para abrirlo. Y estos valores, vamos a probarlo solo con estos valores. Regresa a BPT Airgon y elige la atenuación de sonido que creamos juntos y aquí también, atenuación del sonido necesita cambiarla a disparos Ahora, vamos a probar eso. Si corremos nosotros juego, vamos a acercarnos a él. Se puede ver, no hay sonido, pero si nos acercamos a él, podemos oírlo no. Ya puedes ver la atenuación del sonido , es demasiado. Es 400 es mucho menos de lo que queremos. Tal vez 1008 mil es mejor para el radio interior y el radio exterior Vamos a probar que no. Si atropellamos juego y vamos a él, hay un poco de sonido, y el sonido se vuelve más pesado y más volumen, y se puede ver que, creo, suena mucho mejor, ¿verdad? Entonces el 1008 mil es más que suficiente. Sólo puedes cerrarlo. Otra cosa que quiero hacer aquí porque aquí estamos usando un temporizador. En este incendio, nuevamente, quiero verificar si el objetivo es válido o no. Si no hacemos esto, a veces puede darnos un error. Entonces conseguimos el objetivo y verificamos si es válido o no, ¿verdad? Y conéctalo así. Si es válido, podemos dispararle. Pero si no es válido, no disparamos, y lo que queremos hacer, queremos desactivar el efecto visual. Control C Control V para pegar estos efectos visuales nuevos activos a fallas como esta. Entonces, si el objetivo llega a ser destruido y este temporizador no sabe de eso, nos dará algunas advertencias. No quiero que tengas esas advertencias. Por eso comprobamos si es válido en cada incendio. Eso evitará muchos bichos. 44. 43 Sistema de salud Helli: Ninguna Antígona nos está pegando. Veamos cómo podemos tener un sistema de salud para demostrarlo, para disminuir la salud de nuestro helicóptero, ¿verdad? Por hacer eso, quiero ir a BP Hell y aquí adentro, ir al gráfico de eventos, buscar algo de espacio. Por ejemplo, aquí, clic derecho evento A daño, ¿verdad? Y quiero usar un printesn justo aquí para mostrar el daño que nos causa, ¿ Si ejecutas nuestro juego, no y te acercas a nuestro antiirgn, veamos cuánto daño nos va a dar 0.5 cada vez, ¿verdad? Eso no suena bien. Entonces, lo que podemos hacer, podemos ir a Event Craft y aleatorizar este daño base Entonces, lo que quiero hacer aquí, usar un flotador aleatorio. Pero quiero que esté al alcance, ¿verdad? No quiero que sea demasiado. Quiero que esté entre 0.3 y 0.8, ¿verdad? Así como así, vamos a compilar la cabeza guardar y saber si atropellas juego, cada vez que nos va a dar un daño diferente, correcto, al azar. Y puedes ver que es un valor entre 0.3 y 0.8, y puedes ver cuánto nos está dando, ¿verdad? No, es que no necesitamos esta cadena de impresora. Lo que quiero hacer, quiero crear un sistema de salud. Así que vamos a crear una variable y quiero llamarla salud. ¿Verdad? Y el tipo de ello quiero que sea flotar. A continuación, solo vamos a crear otro. Este, quiero llamarlo salud máxima, ¿verdad? No, la salud máxima, quiero que sea para no. Digamos 80, ¿verdad? Sea cual sea el valor que quieras, puedes poner ahí. Y la salud, quiero que sean 40, ¿verdad? Eso es. Ahora con eso hecho. Primero, queremos verificar si la salud es más de cero. Entonces aquí dentro, comprobamos si la salud era más de cero, solo usemos una sucursal. Así. Si la salud es más de cero, podemos disminuir la salud así, obtenerla, restada por este número de daño. Después de eso, guárdala dentro de sí misma. Guárdala aquí así. Fresco. Después de eso, queremos verificar la salud así. Si es menor o igual a cero, queremos ahorrar con la sucursal. Que se destruya. Y aquí dentro, solo usemos una cadena de impresora. Demonios, destruidos. No queremos destruirlo en este momento, pero se puede ver el punto en el sistema de salud, ¿verdad? Ahora bien, si hubieras compilado guardar y lo que quiero hacer, quiero ir a DB que depurar que creamos, que mostramos el número del misil. Esta vez, quiero mostrar la salud, ¿verdad? Y el valor aquí dentro, quiero poner cero ahí para que podamos usarlo para otras cosas, ¿verdad? Y para la llave, sólo voy a poner una cuerda ahí. Eso es. No, queremos mostrar la salud. Entonces pongamos ahí la salud y conectemos el pin de ejecución a ella. Vamos a compilar y ejecutar. Se puede ver que la salud es de 14. Si nos acercamos, se puede ver cómo se está disminuyendo. Se ve que son 25 y no, es un que destruyó. O la salud del helicóptero está disminuyendo hasta que se destruye. Ahora que tenemos un sistema de salud, necesitamos crear una interfaz de usuario para ello. Lo haremos a continuación. 45. 44 IU de la barra de salud: No para agregar una barra de salud. Veamos cómo podemos hacerlo. ¿Dónde lo quiero hacer? Déjame ir a la carpeta Hali en widget. Teníamos una WBPHAUI. Quiero agregar una barra de salud aquí arriba. Entonces, para hacer eso, necesitamos una barra de progreso agregada a la pila de Canvas. El punto de anclaje se ve bien. Quiero agregarle un poco de relleno, 50 y 50, creo que es bueno. Entonces tenemos algún relleno o un espacio entre la frontera y nuestro jabalí de salud Ahora, el tamaño de la misma, quiero que sea 800 por 20 así. Se puede ver. Y vamos a cambiar el porcentaje a 0.5. Se puede ver que el porcentaje es un valor 0-1. Si pones 0.5 ahí, la mitad estará llena. Ahora, por el color de la misma, quería ponerla en verde. Entonces pon el verde a uno y pon el azul a cero. Por lo que nos va a dar un valor verde. Podemos hacer que oscurezca un poco, así se ve más bella. Eso es. No, para que se vea mejor, quiero bajar en la transformación. En primer lugar, quiero cambiar el pivote a cero y cero, ¿verdad? Por defecto, el pivote está en el medio, pero quería ponerlo en esquina superior izquierda con cero y cero, ¿verdad? Después de eso, quiero compartirlo un poco así, 35, ¿verdad? Creo que se ve increíble. Ahora, con eso hecho, tenemos que nombrarlo algo. Quiero llamarlo barra de salud, ¿verdad? Y necesitamos que sea una variable para poder actualizar su valor. Así que vamos a ir a la gráfica. Al igual que lo hicimos para este conjunto se hace cargo de número de misiles. Tenemos que crear una función para ésta, también, y quiero llamarla actualización de salud, ¿verdad? Y la entrada de esto es un valor flotante. Entonces cambia el tipo a flotar y quiero llamarlo salud ¿verdad? Esta salud debe ser un valor 0-1, porque queremos establecer la barra de progreso de salud así con el porcentaje establecido, este valor, ¿verdad? Conectado así. Por lo que debemos recordar que esta salud es un valor 0-1 Para que lo recuerdes, podemos dar click en la función e ir a la descripción aquí para decir que la salud es 0-1, ¿verdad Ponlo ahí, sin cabeza compilar, guardar. Ahora que tenemos eso si atropellas juego, puedes ver ahí el tablero de salud, pero no se está actualizando. Si vamos a nuestro infierno BP, donde quiera que estemos cambiando la salud, también necesitamos actualizar la salud. Donde estamos cambiando la salud aquí dentro. Después de cambiar la salud, necesitamos actualizar la salud. Déjame hacer algo de espacio aquí. Tenemos la LUI así que consíguelo, y hay una función dentro de ella que se llama actualizar Salud, y sabemos que la salud es un valor 0-1 dentro o un HelUI porque es solo una persona Pero ahora mismo, la salud es un valor 0-80 porque el maxf es 80, por lo que la salud es un valor Cómo podemos cambiar esta salud con base en la salud máxima 0-80 a cero a uno Cómo podemos hacer eso, podemos obtener nuestra salud así dividida por la salud máxima, dividida por la salud máxima, y nos dará un valor 0-1 Si la salud es cero, cero, dividida lo que sea que nos dé cero, la salud será cero. Si la salud es 40, eso por defecto, es 4040/80, nos dará 0.5 y la salud estará en Pero si la salud es de 80 y el maxelf es de 80, 80/80, nos va a dar una. Otra cosa que quiero hacer, quiero copiar esta, y en la jugada de inicio, déjame encontrar la jugada de inicio aquí. Queremos actualizar la salud antes de todo esto, ¿no? Queremos actualizar la salud con el valor que tiene. Control V para pegarlo por aquí y actualizar la salud. Ahora bien, si cambio la salud 40-20 y la cabeza compila y atropello juego, no, se puede ver que la barra de progreso o barra de salud está al 20% No hay correas que se acerquen hasta que nos destruya. Se puede ver que la salud está disminuyendo, y después de eso, dice, sanar destruir. Así que eso se ve increíble. Tenemos una barra de salud, y no cuando la salud llegue a cero, queremos destruir nuestro helicóptero. Veamos cómo podemos hacer eso. Siguiente 46. 45 Destruir Helli: No por destruir nuestro helicóptero siempre que la salud llegue a cero o menos de cero. Veamos cómo podemos hacer eso. Para hacer eso, antes que nada, necesitamos un helicóptero destruido. Solo vamos al Cajón de contenido en Blueprint. Quiero hacer clic derecho Crear una clase de plano esta vez de tipo de actor, y quiero llamarlo BP dañado Healy, Voy a hacer clic en él para abrirlo aquí. Quiero agregar aesticmsh porque helicóptero dañado está en estaticmsh helicóptero dañado está Así que agrega malla estatic. Quiero arrastrarlo y ponerlo como root de escena por defecto. Y aquí la malla estática que quiero usar se llama Hell damage SM west heli dañó, y se puede ver por Ahora, quiero agregarle un sistema de partículas en cascada, agregarlo ahí, y el sistema en cascada que quieres engendrar es este PS infierno de restos Sólo póngalo ahí. Ahora bien, este es el plano que queremos usar cada vez que nuestro helicóptero sea destruido Pero haga clic en la malla estática y dígale que simule la física también. Entonces, si estás en un cielo y engendramos este helicóptero destruido, golpeará el suelo después de eso No, vamos a compilar, guardar, y solo puedes cerrar esto. Ahora, si vas a Bphlli, quiero crear un evento personalizado para destruir Así que aquí, voy a hacer clic derecho en crear un evento personalizado, derecho, y guardar destruir Hale, ¿verdad? Destruirlo Hali. Y aquí dentro, lo primero que quiero hacer, quiero engendrar un sistema en el lugar, ¿verdad Crea una explosión, y el sistema que quiero usar se llama Explosión de Polvo de Niágara. Y la ubicación de la misma, podemos obtener la ubicación del actor, obtener la ubicación actual del actor que esto nos dará eso y conectado a aquí. A continuación, quiero generar un sonido, así que abarque el sonido en el lugar Y el sonido que queremos usar se llama ES grand explosion. Eso es. Y la ubicación de la misma, podemos usar esta . Y eso es todo. No, lo siguiente que quiero hacer. Lo último, quiero engendrar a ese actor que creamos que se llama helicóptero dañado, ¿verdad? Así que haz clic aquí y busca daños daños infierno. Sólo póngalo ahí. Para la transformación de span, podemos lograr que el actor se transforme así. Y después de todo esto, podemos destruir nuestro helicóptero por completo. Por lo que engendrará otro actor y destruirá el helicóptero principal Vamos a la cabeza compilar, guardar. No, en lugar de esta cadena de impresora que decimos heli destruir, queremos usar destruir Healy, no destruir actor, destruir Veamos qué va a pasar. Head compile guardar y atropellar juego. Ahora, vamos a acercarnos a más de nivel ido, que puedan ver que sí nos destruyó, y se puede ver lo hermoso que se ve. Eso es realmente increíble. Ningún helicóptero puede ser destruido. 47. 46 Punta de Helli sobre el daño: No, quiero destruir nuestro helicóptero cada vez que se vuelque Déjame mostrarte dónde. Si nos metemos en el cielo y hacemos esto, queremos que el helicóptero sea destruido también. Entonces, ¿cómo podemos hacer eso? Por hacer eso, quiero ir a viewport, que puedan ver las aspas Quiero hacer clic en malla en una colisión de cápsula, agregar la colisión cápsula. Y no quiero nombrarlo nada. Quiero usar un zócalo padre de la junta principal del rotor. Ahora puedes verlo aquí arriba, ¿verdad? Quiero girarlo así 90 grados alrededor de los Yaxs. Significa el terreno de juego, ¿verdad? Sepa con eso, quiero posicionarlo mejor, traerlo así y cambiar el alto hasta llegar, por ejemplo, aquí, ¿verdad? Y saber con eso, si voy aquí y le digo que no se oculte en el juego, ¿qué pasará? Girará con cuchilla. Se puede ver por aquí. Está en nuestra hoja. Si arrancamos el motor, se puede ver que está girando con o cuchilla completamente. Quiero que se oculte en el juego. Entonces, sepa cada vez que esta colisión cápsula choca contra el suelo, queremos decir destruir el helicóptero, ¿verdad? Entonces aquí adentro, quiero ir a ventilar gráfico y aquí adentro, bajar. Hasta que llegues al preset de colisión, quiero cambiarlo a personalizado. Queríamos decir que se superponen todo, pero no se superpongan con el vehículo. Y la colisión de la misma, quiero que sea colisión habilitada consulta y física. Eso es. No con eso hecho, podemos bajar y hacer que el componente comience a superponerse, ¿ verdad? Así como así. Vamos a usar un anillo de impresora aquí para ver si está funcionando bien o no. Anillo de impresora. Di hola, ¿verdad? Si atropellamos juego y volcamos, vamos a ver qué va a pasar. No dice nada porque nuestro nivel o paisaje está ignorando la colisión con él. Entonces, para arreglar eso, da clic en el paisaje. Después de eso, en panel de detalle, baja hasta llegar a la sección de colisión de nuestro paisaje aquí y decirle que genere evento de superposición, ¿verdad? Dile que genere, y eso es todo. Ahora bien, si pegamos a guardar y a Runo juego, no, si vuelcas, veamos qué pasará Debería decir hola, ¿verdad? Es decir hola. Se puede ver. No, sabemos que nuestra cápsula está detectando si estás volcando al suelo, ¿verdad Pero otra cosa que quiero hacer, quiero lanzar a este otro actor que esta cápsula choca con dos proyectiles BP anti pistola de aire mientras lo estoy haciendo porque la pistola anti aire comprimido nos está disparando y si una bala pasa por esta cápsula, va a destruir nuestro helicóptero No queremos que eso suceda. Entonces con este elenco, comprobamos. Si es proyectil anti pistola de aire, no hagas nada. Pero si no es un proyectil anti pistola de aire, si es lo que sea, puedes destruir el helicóptero, ¿verdad Destruye hel, en ese caso. Ahora con eso, si atropellas juego y te acercas a nuestro antiirgon o anti ergon puedes dispararnos y disminuir Se puede ver que está disminuyendo nuestra salud y destruyendo el helicóptero, pero no lo está destruyendo porque está disparando a la hoja. Ahora bien, si vuelcas, ya veremos qué va a pasar. Y se puede ver, no, cuando volcamos, estamos destruyendo el helicóptero. El problema con esto ahora mismo es que la ayuda no se está actualizando cuando la destruimos, y el número de misiles está ahí. Entonces veamos cómo podemos arreglarlo. Por arreglar eso, donde estamos destruyendo el helicóptero aquí antes de destruir actor, lo que queremos hacer queremos obtener la interfaz de usuario y establecer la visibilidad en ella, establecer la visibilidad para que no sea visible por completo, ¿verdad? Para estar oculto. No necesitamos cambiar la salud a cero. Sólo cámbialo a oculto, ¿verdad? Ahora bien, si tienes compilar y correr y volcar, veamos qué va a pasar. Se puede ver que las barras de salud desaparecen. No, tenemos una impresora que queremos desconectarla porque quiero que mi juego esté limpio. Entonces esto mostrando la salud. No, eso es. Siempre que un helicóptero vuelque, también será destruido. 48. 47 Sonido helli de impacto de proyectiles: No lo siguiente que quiera hacer cada vez que estos proyectiles anti arma nos golpean, queremos tener alguna canción Entonces por hacer eso, antes de destruir el proyectil, lo que quiero hacer, quiero generar un sonido en el lugar, En qué ubicación en el punto de impacto ubicación donde chocó contra el helicóptero, ¿verdad? El sonido que quieres tocar, si bajas, se llama metal hit. Si lo tocas, puedes ver, eso es todo. Eso es lo que queremos usar. Y quiero aleatorizar el tono de la misma para que la rueda se vea más natural Entonces aquí, quiero usar un float aleatorio en rango, y quiero que esté entre 0.1 y dos, ¿verdad? No con eso hecho, si le pegas compilar guarda un juego de Runo, veamos qué pasará Si nos adentramos al cielo, puede ver, cuando nos golpea, hay un sonido, pero hay muchos de estos sonidos. No está bien. Lo que quiero hacer quería que sucedieran algunos de estos sonidos y algunos de ellos no sucedieran. Y cómo podemos hacer eso, veamos. Quiero usar uno de estos flotantes aleatorios en el nodo generadores de rango como este flotador aleatorio en rango. Y quiero que este valor sea 0-100, así lo entenderás mejor Entonces, lo que quiero hacer, quiero verificar este número aleatorio cada vez que choca contra el helicóptero. Y si es mayor a 80, queremos comprobarlo con una sucursal. ¿Correcto? Queremos reproducir el sonido, engendrar el sonido Pero si llega a ser falso, simplemente destruye al actor, destruye el proyectil, y no toques ningún sonido Entonces, ¿qué pasará con esto? En 20% de las veces, habrá sonido cuando un proyectil impacte contra el helicóptero Pero en el 80% de las veces que ese proyectil impactó contra el helicóptero, no habrá sonido, y así suena más natural Si ejecutas un juego y lo miras, vamos a acercarnos a él. Se puede ver, a veces está pasando y a veces no está sucediendo. Y eso, creo, suena mucho natural. Pero si quieres que siempre suceda, puedes simplemente conectar esto a aquí directamente. No hace falta que hagas esto. 49. 48 Destruir el arma antiaérea: No es lo siguiente que queramos hacer. Queríamos poder destruir la pistola antiaire comprimido con nuestro helicóptero. Ahora mismo, Antiirgon puede destruirnos y nosotros también podemos destruirnos a nosotros mismos Pero no podemos destruir el gon anti aire. Veamos cómo podemos hacer eso. Por hacer eso, quiero ir al Cajón de contenido, ir a AntiIrgonFolder, ir primero a Necesitamos crear la pistola antiaire dañada, ¿verdad? Entonces derecho dando click aquí, crea una clase de plano de tipo de actor y quiero llamarlo BP Dañada, anti pistola de aire, ¿verdad? No haga clic en él para abrirlo. Aquí, quiero agregar una malla estática. Así como así, quiero secarlo y dejarlo caer y ponerlo como ronquido predeterminado. La malla estática que quieres meter ahí se llama Pymes arte dañado, ¿verdad? Este es el indicado. Es solo algo de material, ¿verdad? Entonces ahora con eso, necesitamos agregar también un effext de Niagara Y para el effex que quieres abarcar se llama NS East RT dañado. Eso es. Ese es el plano que quieres crear para antiairgun dañado No, con eso hecho, necesitamos aplicar realmente algún daño a nuestra pistola de aire anti. Y cuando el misil choca contra la antiirgona, queremos engendrar la antiirgona dañada Entonces, para hacer eso, tenemos que ir a la carpeta Infierno, ir a Planos y abrir el nuestro sistema de misiles, bien, el misil de aquí Antes de desovar todo, quiero crear un espacio aquí dentro Cuando el proyectil se detenga, ¿ qué quieres hacer? Queremos aplicar daños de radio. Entonces busca aplicar daños radiofónicos al inicio de este evento, ¿verdad? La ubicación en la que queremos que ocurra este daño aplicado es la ubicación en la que este proyectil o misil detenga, ¿verdad? Entonces la ubicación es más que suficiente. El daño base solo pone algo de valor, 25, por ejemplo. El radio del daño, quiero ponerlo en 600. Entonces con este radio de daño, si este misil explota en el radio de 600 centímetros o seis metros cerca de nuestro anti ergon, el anti argón será destruido, A continuación, los actores ignoran. Quiero crear una autorreferencia a y hacer una matriz a partir de esto, hacer array solo con esta entrada y decirle que se ignore a sí mismo. Y el causador de daños, queríamos fijarlo también para que fuera este misil infernal, bien Ahora con eso hecho si vas a pistola de aire anti y encuentras algo de espacio aquí, por ejemplo, y buscas daños de radio, tenemos daños de radio por eventos, ¿verdad? Entonces aquí dentro, vamos a usar una cuerda de impresora y digamos anti pistola de aire, destrúyala, ¿verdad? Y quiero que sea roja, así lo verás mejor así un juego atropellado. Ahora bien, si disparamos cerca de él en un radio 600, cerca de él, se destruirá. Pero ahora mismo se puede ver, le estamos pegando, pero no es decir que el anti aire se haya destruido. La razón por la que no está sucediendo, el daño radial no está ocurriendo, es porque la malla esquelética Si baja en el panel de detalles, puede ver que dice que no hay colisión. Simplemente cámbielo a la costumbre porque no es colisión, ¿verdad? Y primero y primero, habilitación de colisión, queremos que habilite colisión a colisión, y queremos cambiar el tipo de objeto de palabra estatic a word dynamic porque daño aploal no funciona con esta palabra porque daño aploal no funciona con esta Lo ignorará, ¿verdad? Ahora, con eso abajo vamos a compilarlo, guardarlo y probarlo una vez más. Si entramos al cielo y lo disparamos, no, se puede ver que está diciendo, Anti pistola de aire está destruida. Y se puede ver que está funcionando bien. No, no queremos decir simplemente anti pistola de aire destruida. Lo que queremos hacer siempre que el misil se acerque a él, queremos engendrar o dañar actor, ¿verdad Entonces aquí adentro, busca el gon anti aire dañado, dañado, y para la transformación del mismo, podemos conseguir que el actor se transforme. Y después de desovar esto, podemos simplemente destruirlo, ¿verdad? Destruir actor. Ahora bien, si ejecutamos un juego, vamos a dirigirlo para ver qué va a pasar. Se puede ver que quedó destruida. ¿Lo puedes ver? Eso se ve increíble. Nosotros sí destruimos el anti argón. 50. 49 Corregir la colisión de una pistola antiaire: Tenemos algunos problemas. A ver. Si atropellamos juego y vamos hacia anti irgon, se puede ver, hay sonido, pero la ayuda no va disminuyendo ¿Cuál es el problema? Si vamos a Anti Ergon, ¿recuerdas que hacemos clic en Malla de esqueleto, y sí bajamos y cambiamos la colisión Y porque estamos bloqueando todo, el proyectil bloquea con él. Entonces, lo que quiero hacer para arreglar esto, quiero decirle que ignore todo. Malla teática de este anti ergon, ignora todo, ¿verdad? Sólo con eso, si vamos al cielo, solo míralo. No, nos puede volver a golpear, ya ves, puedo golpearnos y podemos destruirlo, también. Pero es difícil destruirlo porque la salud no es demasiado. Vayamos al infierno BP y cambiemos el MXL a, por ejemplo, 300 y cambiemos la salud a 200, ¿verdad Entonces tenemos alguna ayuda con la que jugar. Ahora bien, si atropellas el juego, vamos a destruirlo. Para ver si se destruye, se puede ver, no, está de vuelta y se disminuye la ayuda, pero podemos destruirla también. No necesitamos esa colisión para bloquearlo todo, así podemos golpearla, ¿ verdad? No, eso es bueno. Solo agreguemos un poco más. Mantenga presionado Alt, arrastre y suelte, y cree otro. Sostén Alt otra vez, arrastra y suelta , crea otro, dale algo de espacio, así que no todos ellos. Dispáranos bien, así. No, con eso hecho. Vamos a ejecutar un juego. Sólo acércate a él. Ahora, puedes ver este, y muchos de ellos nos están calentando. Yo sí destruí a uno de ellos. Vayamos y volvamos. Una de ellas está destruida. Eso se ve bien. Sepa lo que quiero hacer. Quiero ir a helicóptero dañado. Déjame encontrarla. Ir al Cajón de Contenido, vete al infierno, ve al plano y dentro del helicóptero dañado Si engendramos el helicóptero dañado, significa que el juego ha terminado y el helicóptero está destruido Entonces lo que quiero hacer, quiero poner un temporizador aquí por evento, y después de dos segundos reiniciar el juego. Entonces, después de 2 segundos, ocurrirá este evento personalizado. Así que vamos a crear un evento personalizado y un nivel de recarga. Lo nombro nivel de recarga para nuestro evento personalizado. Y aquí dentro, lo que quiero hacer, quiero abrir el nivel por nombre. El nivel que quiero abrir se llama Nuevo Mapa. Entonces pongámoslo ahí nuevo mapa, no, con eso, si compilas, guardas, solo vayamos a la guerra. Y aquí, la mejor estrategia es ir de izquierda a derecha, pero está bien. No está destruida. No, sí destruí a uno de ellos. Me están destruyendo, ¿verdad? Aléjate de ellos y vuelve. En para dispararles de lejos, roten así. Y vamos a tratar de disparar desde muy lejos. Eso es. Sí, esta está destruida, también. Solo vayamos y volvamos de nuevo así girado. Y vamos a ir por otra. Y nos destruyeron. Después de 2 segundos, vamos a responder, ¿no? Eso es bueno. Se recargará el nivel. Nuevamente, vamos a destruir éste. Esta está destruida. Vamos a ir a éste. Destruye a éste. Y ésta también está destruida. Sólo tenemos otro. Vamos a acercarnos a él para que él también nos pueda disparar. Sólo hay uno de ellos, así que es fácil dispararle, ¿verdad? Eso se ve perfecto. Los destruimos a todos. Enhorabuena. 51. 50 Movimiento del rotor trasero: Una cosa que deberíamos agregar a nuestro helicóptero, pero no lo hicimos. Vamos a ver. Si ejecutamos nuestro juego, se puede ver que el rotor trasero no está girando. Si subimos, se puede ver el rotor trasero que es un problema. Veamos cómo podemos arreglarlo. Por arreglar eso, ve a animación Blueprint. Y aquí adentro, se puede ver, hicimos rotar la articulación principal. No, queremos rotar el rotor trasero, esto si haces clic aquí, vamos a un esqueleto, y aquí, si buscas rotor, puedes ver que hay muchos de ellos. Pero la que queremos se llama junta principal del rotor trasero. Entonces queremos rotar eso, ¿verdad? En primer lugar, vamos a duplicar esto, modificar bond, Control C, control V para pegarlo por aquí. Y cuando pegues eso aquí, conecta la ejecución, pin a ella, derecho, así. Queremos cambiar el paso del rotor trasero. Primero, vamos a elegir el rotor que queremos rotar, rotor trasero, junta principal, ¿verdad? Después de eso, podemos usar este valor de rotor para el paso de nuestro rotor trasero, correcto, porque debería ser paso. Si haces clic en él aquí, nuevamente, solo busca rotor, junta principal del rotor trasero, cabeza F, para que puedas enfocarte en él. Y se puede ver que este verde es el terreno de juego. Ahora bien, si probamos esa era o juego de aquí, y eso es lo que puedes ver, está funcionando bien. El giro de la misma, no es eso. Pero podemos arreglarlo, es fácil. Podemos ir al infierno ABP y multiplicarlo por algún valor. Entonces, por ejemplo, cinco, a la derecha, y conectarlo al terreno de juego. Ahora, vamos a tatote. Si atropellamos el juego aquí y entramos en la squa, se puede ver que está bien más rápido y