Transcripciones
1. Avance del curso: Uno de los géneros más populares en los juegos modernos es el shooter. Confía en mí, google este cenotes legit dentro del género shooter viene en plétora de subgéneros. Saqueadores como Destiny, campo de batalla tipo militar y Call of Duty, C5a, halo arena, como Overwatch, Survival Horror, Resident Evil. La lista realmente sigue y sigue. Esta clase tiene como objetivo enseñarte los fundamentos de la mecánica avanzada de disparos en primera persona, permitiéndote crear cualquier juego de disparos de tu elección. Hola, me llamo Tim, pero algunos de ustedes quizá me conozcan mejor como madera para mi canal de YouTube con más de 130 mil suscriptores fuera de hacer videos de YouTube en mis juegos favoritos, actualmente trabajo para Epic Games, el creadores del Unreal Engine en el popular juego battle royale Fortnite. En este curso, comenzaremos con una plantilla completamente en blanco para transformarla en un robusto shooter en primera persona, crearemos seis armas totalmente personalizables cada una pero sus propios sonidos, animaciones, tiempos de
recarga, spreads de bala, intensidad de retroceso, efectos de impacto, pastillas de
munición y más. Te mostraré cómo imitar juego, como Call of Duty, usando rastros de línea invisibles para generar eventos de hit dinámicos, otras armas imitarán títulos más realistas como campo de batalla, que disparan proyectiles reales de nuestras armas, permitiéndonos personalizar nuestra velocidad de bala y fuerza gravitacional. Cubriremos cómo hacer estallar las cosas con lanzagranadas y cohetes. Incluso vamos a hacer una clase enemiga que responda dinámicamente al daño dependiendo de la parte del cuerpo que golpeemos festival. Todo activo utilizado en este curso es 100% gratuito, ya que estaremos usando Unreal Engine 4, el mismo motor de juegos utilizado para crear estos populares títulos AAA. Si bien esta clase puede ser tomada por cualquiera, recomiendo para aquellos con al menos alguna experiencia en codificación de Unreal Engine, ya que la mayor parte de nuestro trabajo se hará scripting en planos. Entonces si quieres llevar tus habilidades irreales al siguiente nivel, o simplemente quieres aprender cómo se crean los juegos de disparos populares. Sígueme y te guiaré paso a paso por el proceso. En Unreal Engine cuatro.
2. Introducción y descripción del proyecto: Hola a todos y bienvenidos a esta clase sobre Unreal Engine 4, donde vamos a estar construyendo un shooter en primera persona. Mi nombre es Tim. Te estaré guiando a través todas las cosas geniales e impresionantes que vamos a hacer en esta clase. Entonces voy a tratar de mantener este primer video bastante sencillo y solo tomarme un poco de tiempo para repasar de
una manera más detallada para quién es la más adecuada esta clase. Y luego cuando se tome algún tiempo para hacer una visión general del proyecto final que vamos a estar construyendo. Por lo que prácticamente cualquiera que quiera puede tomar esta clase, sí lo
recomiendo para personas que son más de un nivel intermedio. Entonces si has tomado el curso anterior que hice en juegos de acción aventura, entonces deberías estar bien entrando en esto. Cuando digo intermedio, no me refiero a alguien que sepa una cantidad extrema de cosas. No quiero
alejar a la gente de tomar esta clase si nunca han tocado Unreal Engine antes. Pero sólo tienes que saber eso como estoy esperando que sepas cosas muy básicas. Simplemente no se va a tomar el tiempo para explicar lo que las diferencias entre como un flotador y un entero van a estar creando muchas variables en esta clase. Y no me van a tomar el tiempo para hacer una visión general como dónde se encuentran las cosas en el motor y qué es un plano. Y al igual que las cosas de tipo principiante muy básico. Entonces si te preocupa eso, puedes seguir adelante y tomar las otras clases que he hecho. Pero si te sientes bastante cómodo con esas cosas o simplemente no te importa, entonces estás en el lugar correcto. No voy a ser el tipo de persona que sólo va a estar arrastrando un montón de nodos y sólo dice Hacer esto, hacer eso, hacer eso,
y luego boom, esta cosa funciona como realmente quiero que la gente aprenda y entienda lo que es que yo estoy haciendo. Entonces voy a ser minucioso y meticuloso lo mejor que pueda para que entiendas lo que es que realmente estamos haciendo para que puedas crear algo por tu cuenta porque ya sabes, ese es el punto, ¿no? Así que hmm. Sólo pensé que sacaría eso ahí fuera antes de que empecemos. Pero si tienes alguna pregunta, siéntete libre de dejarlas en la discusión y
haré todo lo posible para responderlas lo más rápido posible. Entonces sí. Entonces sigamos adelante y tomemos algún tiempo. Voy a abrir el proyecto que tenemos. Esto va a ser más o menos exactamente cómo se verá
tu proyecto cuando todo esté listo y hecho. Entonces voy a seguir adelante y hacer clic en Play y ya veremos qué tenemos aquí. Por lo que enseguida notarás que tenemos algunos enemigos por aquí. Tenemos un tipo de minimapa muy básico que truco pistas. Podemos ver rastros. Rastros pistas. A quién le importa, donde nuestro jugador se mueve por el mapa. No es nada especial, pero te dará una idea de cómo hacer ese tipo de cosas. aquí tenemos dos tipos diferentes de superficies que voy a explicar por qué están ahí en un momento. Allá atrás tenemos nuestro casillero de armas. Tenemos seis armas diferentes van a estar haciendo, tres de las cuales son escaneos de impactos. Van a estar dibujando en estas líneas invisibles. Es similar a como un juego como Call of Duty, donde el golpe de la bala a la superficie es instantáneo. Y luego nuestros últimos tres por aquí, el rifle de francotirador, lanzagranadas, y el cohete. Esos van a ser de proyectiles. En realidad vamos a engendrar un plano que como proyectil que tiene un componente de movimiento en
él, va a disparar fuera de ese cañón de armas y vamos a ver qué impacta eso. Y así podemos hacer cosas geniales con eso. Podemos aplicar diferentes velocidades y diferente gravedad para crear diferentes arcos y explosiones y cosas frescas como esa para hacer algún daño de radio. El arma es semiautomático. El rifle va a tener algún retroceso a ella y ser una variante automática en la escopeta va a disparar un spread. Entonces si caminamos hasta alguna de estas armas y golpeamos la llave E, equipararemos y podrán ver nuestra munición actual o munición de reserva y luego también el tipo de fuego. Y luego ves esta barra de resistencia también aparece en la parte inferior derecha. Y entonces tenemos nuestro crosshairs, que se ajustaron dinámicamente al jugador moviéndose y corriendo. Entonces todo está animado. Seré guapa. Entonces el orden en el que se recogen estas armas, realidad no importa, pero sea cual sea el orden en que las recojas, vamos a una especie de atarlas a esa llave. Entonces cogimos la pistola primero. Entonces si golpeo a uno, cambiaremos de nuevo al pistilo y he dado dos irán al rifle de asalto aquí. Entonces tres serán nuestra escopeta. Cuatro son rifle de francotirador, cinco es nuestro lanzagranadas, y seis es nuestro cohete. Y todos ellos tienen sus pequeños sonidos fríos y todo así. Entonces si sigo adelante y vuelvo a la epístola para que puedas ver como se esparce la bala. Piensa pistola para sentirse como los pelos cruzados a cohetear. Cohete no tiene buen fuego de cadera. Y el fuego de cadera es algo que vamos a estar haciendo y en realidad importa. Eso se lo explicaré a segundos. Por lo que pasamos a nuestros tipos de munición, tenemos una variante de AML por cada arma. Si me acerco y le pego a E, no
haré nada a menos que recojas la respuesta correcta. Entonces esta es la munición de pistola. Y si nos fijamos en nuestras reservas, el 144 ahora se convierte en 16 ocho. Y no puedo interactuar con ninguno de estos otros, pero cambié el rifle de asalto. Yo puedo recoger este, la escopeta. Este. Entiendes el punto. Está bien. Pasando a nuestros diferentes tipos de superficies. Entonces una forma de ilustrar esto en el hit scan en el show del proyectil te. Entonces si tiro esto hacia fuera al cielo,
las epístolas golpearon Scan. Estás viendo, estás viendo algunos efectos, pero en realidad no está pasando nada. Puedo seguir adelante y recargar nuestro arma a. Pero si cambio a algo como el rifle de francotirador y golpeo cortafuegos, en realidad, si miras el barril, realidad vi algo salir de eso. De nuevo, es muy evidente que usaste el lanzagranadas. Se puede ver un arco mucho más drástico ahí. Entonces lo que vamos a estar haciendo es que vamos a tener diferentes efectos de impacto dependiendo de diferentes superficies. Entonces tenemos metal, que son hombres maniquí son de una variante metálica porque nos falta en el departamento FX aquí. Basta de dar una demostración y luego tenemos piedra, por lo que un par de efectos diferentes. Entonces si fuera a disparar esto, te das cuenta de que algunos agujeros de bala entran así en él. Y vamos a personalizar los tamaños de esos. Y verás algunos pequeños parpadeos metálicos. Y entonces tenemos diferente es un poco difícil de ver con la pistola. Pero sí. Entonces si cambio a nuestro rifle de asalto, un par de cosas que haremos con eso es que si
solo sostengo el gatillo y no estoy apuntando, tendré algún retroceso Eso es mover el arma hacia arriba y las balas son especie de propagándose aleatoriamente. Pero si tuviera que apuntar en no retroceso del controlador y en realidad sólo recargar aquí por un segundo. Por lo que puedo demostrar esto. Yo estoy apuntando y las balas aterrizan exactamente donde es que estamos apuntando. Entonces tendremos un fuego de cadera realista añadido a eso, luego la escopeta, si disparamos eso, conseguiremos una propagación. Así. Bastante cool. Por último, voy a mostrar, creo que mostré la barra de resistencia cómo eso baja por correr. Dejar ir. Y luego vuelve a subir como magia. Wow. Por último, pero no menos importante, tenemos a nuestros enemigos. Por lo que todos nuestros enemigos son iguales. Y lo que vamos a hacer es recrear marcadores de hit. Y vamos a tener diferentes tipos de marcadores HIT
dependiendo de si se trata de un hit normal o de un golpe de muerte. Y entonces tenemos diferentes materiales físicos asignados a estos enemigos aquí. Se va a detectar diferentes cantidades de daño dependiendo de dónde los golpeemos. Por lo que la cabeza va a hacer más. Vamos a Sí, Las cabezas pueden hacer más. Después tenemos el cuerpo, las piernas, los brazos. Entonces si me golpearon en el pecho, 2015512, y entonces la cabeza está un poco fría porque si le golpeamos en la cabeza va a conseguir un número amarillo como ese y entonces tiene un 100 de salud. Por lo que podría morir aquí. Y deberíamos conseguir un marcador de golpe de lectura así. Y luego tenemos una física de muñecas de trapo que se aplican a estos. Por lo que en realidad vamos a disparar un poco de impulso dependiendo de dónde los golpeemos. Entonces si tengo 20, 40, 60, 80. Entonces si le disparara como en el brazo, se
mueve hacia atrás con el brazo. Y luego arma diferente selecciona esa pistola no tiene mucha fuerza, pero nuestro choque y sí tiene mucha fuerza. Entonces si lo golpeaba aquí, volaba hacia atrás. Los conseguimos por atrás, ruedas volando hacia adelante. Entonces todo eso está dictado por donde estamos golpeando a estos enemigos. francotirador, podemos apuntar con un alcance. Ahí vamos. Y luego por último pero no menos importante, tenemos algún lanzagranadas y el cohete para impactar daños. Entonces vas a ver muchos números dañados y como un cono de ella, así para conseguir algunas explosiones frías, algunos efectos de impacto más grandes y todo eso. Entonces ese es más o menos el proyecto. Eso es lo que vamos a estar haciendo. Esto. Lo que quería crear con esto fue esencialmente como una plantilla realmente, realmente genial. Entonces la forma en que estamos construyendo esto, como verás, que cuando todo esté dicho y hecho, tendrás un sistema realmente, realmente robusto, avanzado de armas y pastillas y diferentes materiales físicos para que podrás intercambiar fácilmente en tus propias mallas GAN y tus propios efectos de sonido de pistolas si
quieres que sea lo que quieras. Entonces si bien hay arte, supongo que en esta clase, como hacemos con efectos de sonido y sí tenemos algo de arte. La mayor parte de lo que vamos a estar haciendo va a ser usando planos y scripting en el Gráfico de Eventos. Por eso quería conseguir todo ese conocimiento fundacional ahí para que si quisieras poner esto en tu portafolio, puedas hacer esto fácilmente como un shooter futurista intercambiando las mallas. Los efectos de sonido, como dije, son que puedes convertirlo en juego tipo zombie de supervivencia. Podrás hacer extraterrestres o zombies a sus hombres del ejército o lo que sea. Se puede ajustar la cantidad de munición y los tipos de la cantidad de daño que hacen. Vamos a hacer que todo eso sea muy fácil de acceder. Y la razón por la que hice eso fue porque quería brindar una fundación, como dije, que se pueda convertir esto en el tipo de juego que se
quiere hacer para que el proyecto de todos al final no se vea igual. Entonces todos tendréis esto, pero entonces tendréis el conocimiento para editar esto muy fácilmente y convertirlo en algo hermoso que queráis porque hay tantos tipos diferentes de tiradores por ahí. Por lo que quería proporcionarte esa base. Por lo que ojalá eso suene interesante y divertido, genial. Y si lo hace, me uniré a ustedes en el próximo video. Entonces gracias chicos por tomar esta clase. De verdad aprecio si eres un retornado o esta es tu primera vez. En empecemos en el siguiente video.
3. Descarga e e instalación: Hola a todos y bienvenidos de nuevo a otro video de Unreal Engine 4. Este va a ser realmente corto, dulce. Y al punto que voy a hacer es solo hablar brevemente de cómo puedes instalar Unreal Engine 4 debajo de tu computadora si aún no lo tienes. Entonces si abres un navegador de tu elección y te diriges a Unreal Engine.com o lo que sea. Esto, estoy en Estados Unidos. Entonces sea lo que sea para ti, ve por aquí y obtendrás alguna información sobre el motor en todas estas cosas geniales, algunos juegos que se hicieron con él. Todas esas cosas geniales y geniales de Juegos épicos que tienen pasando aquí. Basta con seguir adelante y dar click en Descargar. Vas a querer solo conseguir la licencia de creadores agradable, que es absolutamente gratuita. Hit descarga, y luego sigue los pasos para hacer eso. Al hacer esto, también deberías tener instalado el lanzador de Epic Games en tu computadora. Entonces si abrimos eso y tienes una cuenta en ella, vas a bajar a esta pestaña de Unreal Engine y luego a la biblioteca. Entonces deberías ver aquí esta es las versiones de Engine que vas a golpear el Plus. Y luego vas a seleccionar cuál quieres. El que vamos a estar usando para este proyecto es 4.26.2 o 4.26.2, supongo que es lo que técnicamente se llama. Técnicamente hablando, puedes usar el que quieras. Si quieres usar este cuatro puntos 27, o si quieres estar realmente loco y hacer Unreal Engine cinco, supongo, Adelante. Te aconsejaría usar 4.26.2 porque eso es lo que voy a estar usando. Eso es como la última versión que es como no una cosas de acceso anticipado. Entonces va a ser el más estable. Y si bien no hay, como típicamente muchas diferencias
enormes entre las versiones de Unreal Engine. Al hacer esto, podría encontrarse con un par de esos pequeños tipos de cosas. Podrías encontrar algo que estoy haciendo es solo un poco diferente en tu versión. Entonces si quieres jugarlo seguro y quieres jugarlo inteligente y no correr ningún riesgo, entonces descarga por 0.26.2 de lo contrario, la mejor de las suertes para ti. Pero una vez que lo haga, estaremos listos. En el siguiente video, vamos a empezar a crear nuestro proyecto y a añadir algunos archivos de contenido. Entonces te veré ahí.
4. Cómo configurar nuestro proyecto: Todos y bienvenidos de nuevo a otro video en Unreal Engine 4. Ahora que tenemos el motor ojalá descargado, podemos empezar a crear nuestros proyectos. Entonces eso es lo que vamos a hacer en este. De acuerdo, Así que en tu épico lanzador de Juegos, adelante y haz clic en Launch junto a tu versión de motor que tengas. Y luego después de un segundo de inicialización y carga, este menú se va a abrir. Vamos a hacer click en juego porque estaríamos haciendo juegos. Hit siguiente. Y vamos a estar trabajando en un proyecto en blanco. Y irreal sí tiene plantillas en primera persona. Y si bien eso está todo bien, casi todo el código que Epic tiene ahí dentro no vamos a usar de todos modos. Entonces al usar un proyecto en blanco, vamos a tener que hacer un par de pasos en este video y el siguiente que normalmente no tendríamos que hacer. Pero al hacerlo de esta manera, podemos tener todo y más personalizado de la forma en que lo queremos. Simplemente va a funcionar mejor para nosotros. De acuerdo, confía en mí. Así que adelante y haga clic en Proyecto en blanco. Encuentra un lugar en tu computadora que quieras guardar este proyecto. Y voy a llamar a esto FPS. ¿ Cómo debería llamarlo? Proyecto de clase. Eso me queda bastante bien. Está bien. Y luego adelante y cuando estés listo, dándole un nombre, adelante y haz click en Crear proyecto. Con nuestro proyecto abierto. Si lo hiciste correctamente, deberías ver estas dos sillas raras, de aspecto
funky con esta cosa de cristal muy cara sentada sobre una mesa. Por qué esto es lo del motor por defecto. No tengo ni idea, Pero lo es. Podemos seguir adelante y dar click en este pequeño botón aquí para mostrar todas nuestras carpetas. El friolón, uno de ellos, el contenido de inicio que debería haber sido habilitado automáticamente. Y vamos a empezar por poner un par de cosas. Entonces sigamos adelante y haga clic derecho en el contenido y hagamos una nueva carpeta y llamaremos a esto FPS. Ah, disparen. Fps juego. Podría como maniobrar alrededor de mi micrófono. Aguanta un segundo. Está bien. Debajo de esa carpeta, Hagamos clic con el botón derecho ahí y llamemos a estos planos ahí también. Tienen razón. Y luego debajo otra vez vamos a hacer otro llamado personaje. Por lo que FPS juego blueprints personaje. Y si eres como yo, te gusta poner las cosas como colores. Entonces voy a mantener pulsado el turno y seleccionarlos todos. Voy a ir a poner color. Voy a hacer que mis carpetas sean rojas. Hagámoslo así, ¿de acuerdo? Y si fueras inteligente, a diferencia de mí, habrías arrastrado esto y guardado parece que siempre podemos usarlo más tarde. De acuerdo, en nuestra carpeta Blueprints, Vamos a hacer clic derecho y abrir el espacio. Ve a clase de Blueprint, que es ridículamente difícil para mí decirlo por la razón que sea. Y vamos a hacer una base de modo de juego basada en modo de juego, como dice aquí mismo, este consejo de herramientas define el juego que se está jugando, sus reglas anotando otras facetas del juego. No vamos a estar poniendo todo un montón de datos aquí, pero estamos creando esto se llamó BP subrayado base de modo de juego. Y vamos a hacer clic derecho. Haz otra clase aquí, jugador, controlador de jugador de subrayado BP. Y luego por último pero no menos importante, volvamos a hacer clic en él. Y luego debajo de todas las clases está el menú desplegable. Busquemos HUD, correcto, debería ser bueno hacer algo con el HUD. Entonces vamos a BP subrayado HUD. Bueno, podemos hacer es pulsar el botón Guardar todo. Se deshará de estos astérix ahí. Por lo que ahora todas nuestras cosas están salvadas. Entonces dentro de nuestra carpeta de personajes vamos a hacer nuestro personaje. Por lo que una vez más, personaje de Clase de Blueprint y vamos a llamar a este jugador de bp. Se Control-S. Para decir eso realmente rápido, lo hago mucho. Sí. Entonces, dos formas en las que podemos ir para hacer esto. Podemos hacer doble clic en la base Demode o podemos hacer lo que me gusta hacer, que es configuración, configuración del proyecto. Entonces debajo del proyecto aquí hay esta pestaña, estás diciendo mapas y modos. Da clic en eso. Por lo que bajaremos bajo el modo de juego seleccionado. Ya ves tenemos todas estas pequeñas cosas por defecto que están encanecidas. Es por ello que principalmente creamos una base de modo de juego para que podamos
tragar en nuestro personaje como nuestro default on. No hacemos eso, entonces no importa lo que sea el scripting pero cerca del juego no registrará esto como el personaje que queremos jugar con nosotros. Así que vamos a tragamonedas en BP Game Mode base para Default Pewn. Pongamos bp player y nuestra clase HUD, dp HUD y jugador controller class bp, controlador de jugador, estado de juego instancia de juego espectador estado puede crear esos si queremos, pero realmente no los estaremos utilizando. Por lo que los predeterminados deben ser simplemente finos y dandy. Otra cosa que quiero hacer antes de terminar este video es en este pequeño menú desplegable justo aquí, en un clic derecho en configuraciones avanzadas debajo del juego, esto es solo preferencia personal. A mí me gusta seleccionar juego consigue el control del ratón. Esto lo permite a que cada vez que golpeo play, no
tengo que hacer clic dentro de la ventana
cada vez que hay entra automáticamente en el juego. Y luego debajo de ese mismo desplegable, me gusta una nueva ventana de editor, lugar de jugar en esta cosa. Entonces si te das cuenta de que si golpeamos Play, tienes música. Bueno, en realidad no es música. Es sonido atmosférico, supongo. Y golpear las teclas están golpeando el ratón, moviendo el ratón, no
hace nada ahora mismo porque aún no hemos agregado ese guión. Entonces si lo
hicieras de la manera anticuada y utilizaras una de las plantillas y solo tú puedes moverte de inmediato. Pero en la plantilla en blanco, no puedes hacer eso. Por lo que en el siguiente video, vamos a permitir que nuestro reproductor empiece a mirar alrededor, moviéndose. Y sí, vamos a hacer unos lattes duros. Entonces en este momento es solo algunas cosas básicas del marco, pero es bueno saber cómo hacer esto. Entonces eso es lo que estaremos haciendo en el próximo video. Por lo que espero verte ahí.
5. Hacer que nuestro personaje se mueva: Hola a todos y bienvenidos de nuevo a otro video. En el último, creamos nuestro proyecto. Y en este video vamos a permitir que nuestro jugador mire a su alrededor y mueva para que simplemente no seamos así de raro, inamovible. Ni siquiera sé cómo quieres llamarlo. Entonces para empezar esto, bastante simple, Vamos a Ajustes. Los ajustes del proyecto ya lo tienen abierto aquí. Y luego debajo del motor, vas a querer seleccionar entrada. Y verás estos enlaces para mapeos de acción en las mappings de acceso. Queremos crear varios de estos. Entonces empecemos,
hagamos esto en un orden extraño porque en realidad mapa que dice en la parte superior, Hagamos clic en el signo más. Y vamos a teclear en salto. Debajo de esto. Basta con escribir en barra espaciadora. Eso es todo lo que queremos hacer ahí. Debajo de mapas de acceso queremos crear 41234. Tienes que golpear a este pequeño triángulo para verlos. Vamos a crear uno llamado ratón X. Y al hacer clic en él podría caer sobre todos ellos como acabo de hacer por mí. Mouse Y es otro que quiero tener avanzar y mover a la derecha. Para avanzar y avanzar a la derecha. Se quiere pegarle a este pequeño plus para asegurarse de que sean dos de ellos. Mousex, ratón blanco y deja uno. Por lo que para el ratón X, quisiéramos hacer que esa cosa MouSex sea bastante loca para ratón. ¿ Por qué? No es Mousey, Es ratón estaba bien para seguir adelante. Él quería hacerla W y S.
Y bien, tú quieres que sea D y a. ¿De acuerdo? Pero una cosa que podrías notar son estas pequeñas cosas a escala de aquí. Entonces por qué no jugamos invertido o no raro, lo
vamos a hacer negativo uno para avanzar para S, ya que S sería hacia atrás y estamos haciendo uno para adelante, queremos hacer ese negativo. Lo mismo para una. A sería izquierda es lo contrario de la derecha. Por lo que queremos que sea negativa como nuestra escala. Eso está todo listo y dispuesto bien. Por lo que técnicamente se puede salir de ahí. El siguiente que queremos hacer es un o bien planos que quieres abrir nuestro controlador de jugador. ¿ Verdad? Verás esta palabra cámara. Ignora la cámara, borra ahí los nodos predeterminados. Y lo que vamos a hacer es que vamos a llamar a esos dos ratones de entrada. Así que hice, así que teclearemos en ratón X. Quieres dar click en el evento del eje. Eso es lo que acabamos de crear. Y un ratón, ¿Por qué no tú? Ahí vamos. Desde mouse X, queremos agregar tus entradas. Si puedo deletrear, ahí vamos. Y el valor del eje va a ser ese valor. Ahora si quisieras cambiar esto por una variable, podrías hacer un poco de multiplicación aquí y decirle a una variable, cambiar tu configuración de sensibilidad de esa manera. Eso podría no haber tenido sentido lo que acabo de decir. Pero no te preocupes por ello. No es importante. Para el mouse por qué quieres agregar valor de eje plug-in de tono al valor. Adelante y seleccionemos todo el asunto. Pulsa C para hacer un cuadro de comentarios y solo llamaremos a esta entrada de ratón. Así. No me gustan las burbujas y voy a hacer que se lea como lo hicimos antes. Ahí vamos. Y eso es todo lo que queremos hacer. A continuación para compilar este desplegable, adelante y pulsa Guardar en compilar y hacer solo en éxito. Eso significa que cada vez que golpees Compilar también se guardará. Hey, compilar, guardar un razonablemente bueno para saber estas cositas. Confía en mí, gente. Al igual que Control S justo ahí. Siguiente arriba es nuestro HUD. Vamos a dirigirnos a la Gráfica de Eventos aquí. Y vamos a hacer evento sorteado recibir HUD. A ver qué hace esto en un segundo. Fuera del cable de ejecución que desea hacer dibujar un rectángulo, dibujar rect o lo que sea. Y luego fuera de tamaño x, trazar un asterisco, hacer multiplicación para un int o un flotador. Y luego copia pegarlo y hazlo por tamaño. ¿Por qué? Se desea enchufar esto para pantalla x tamaño x verde x tamaño. ¿ Por qué pantalla? ¿ Por qué? Vamos a multiplicar esto por 0.5. Lo que estamos haciendo aquí es que estamos dibujando un pequeño rectángulo en nuestra pantalla. Dijo ese color y que sea blanco. Y lo haremos de dos por dos, W y HR ancho y altura. Entonces no bastante sencillo ahí. 0.5 está tomando el tamaño de la pantalla en la x y la y y y está cortando a la mitad. Entonces solo para demostrar esto, si le doy a Play, ya verás que puedo moverlo. Yo puedo mirar a mi alrededor por una cosa y vas a ver un pequeño punto ahí que nos va a ser de ayuda cuando hagamos nuestro radical. Se puede ver el centro de la pantalla. Entonces el controlador y el wheter, todo bien. El último que queremos hacer es permitir que nuestro jugador se mueva con W,
a , S, y D. Y queremos que sea capaz de saltar. Entonces abramos a nuestro jugador. Creo que todos estos ajustes realmente van adelante y usan la rotación del controlador. Sí, desmarque eso con el VP. Tómate tú mismo. Deshacer eso. En realidad, voy a hacer un nuevo gráfico de eventos y lo voy a llamar y movimientos. Si querías agregar un nuevo gráfico de eventos, solo
golpeas este pequeño plus en el gráfico nuevo. El motivo por el que estoy haciendo eso es solo con fines organizacionales, quiero poner todo mi tipo de componentes de movimiento, saltar, correr, mover en una gráfica de eventos para que simplemente no haya como un conglomerado de eventos todo en uno gráfica. A mí me gusta mantenerme organizado. Es importante. Entonces haga clic derecho y ahora vamos a llamar a avanzar, no a la función, sino al evento del eje que creamos. Y como probablemente puedas adivinar, queríamos lo mismo para movernos, ¿verdad? Está bien. Fuera de movimiento 40, quieren agregar una entrada de movimiento. Y queremos hacer lo mismo en copiar pegar que desde mover derecha en los valores del eje y el valor de habilidad igual que antes. Pero fuera de la dirección Mundial, queremos sacar el adelante, adelante, adelante. ¿ Por qué? Bueno, eso deletreé mal. La mayor parte del vector de avance para adelante y luego la dirección Mundial fuera de la derecha. Voy a conseguir el vector correcto. Sacando de cualquiera de estos rotadores. Se quiere hacer un rotador. Este de abajo justo aquí, en realidad lo enchufó a ambos. Y no voy a repasar a detalle qué diablos está pasando aquí mismo, porque esto es lo que normalmente se configura por defecto. Entonces en realidad no es tan loco. De lo que estamos haciendo aquí. Solo estamos configurando como si
hicieras como un proyecto en tercera persona o proyecto en primera persona, este guión ya está aquí por defecto. Por lo que fuera de maker rotator y arrastrar fuera de cualquier lugar en se romper el rotador un WHO, el viejo control de ley en cualquier nodo y haga clic en
realidad puedes agarrarlo y enchufarlo a algunos otros. Por lo que queremos que los xi's estén conectados. Y fuera de esta rotación, queremos conseguir la rotación de control. Estamos consiguiendo rotación de nuestro controlador ahí. Creo que eso es correcto. Entonces, vamos a destacar todo el asunto. Golpea C y dirá movimiento WASD. Ahí vamos. Eso último pero no menos importante, hagamos lo nuestro para el salto. Por lo que tenemos salto de evento de acción. Entonces lo que queremos en prensado, estos ya están incorporados, así que épico lo hace muy agradable y fácil para nosotros. Presionar que querías saltar, luego liberado es dejar de saltar. Y luego vamos a comentar cuadro alrededor de eso. Y diremos acción, evento o lo que sea. Seguro. Como quieras llamarlo, lo que sea que sea más fácil, lo que sea que flota tu barco, digamos Compilar y Guardar. Y así ahora cuando nos acercamos al juego, podemos mirar a su alrededor. Se puede avanzar, atrás, derecha, izquierda, y podemos saltar arriba y abajo. Entonces ahora somos un personaje que se puede mover y esas cosas. De acuerdo, así que aquí está el guión. Si necesitas volver a verlo, solo tienes que hacer una pausa o hacer lo que necesites hacer. Ahí está. Pero sí, eso debería ser. Por lo que en el siguiente video, tenemos nuestra configuración de personajes. Vamos a empezar a añadir algunos paquetes de contenido. Y luego una vez que hagamos eso, empezaremos realmente a hacer algunas cosas geniales como agregar las armas y crear nuestro personaje y darles brazos y cosas así. Entonces ojalá ustedes estén esperando eso y los veré en el próximo video.
6. Agrega paquetes de contenido: Hola a todos, Bienvenidos de nuevo a otro video. En el último, montamos algunos movimientos de personajes y cosas muy básicas. Y en este vamos a empezar a añadir nuestros paquetes de contenido al juego. Sólo hay uno, o técnicamente, supongo, cualquiera que sea la forma en que lo mires. Entonces sigamos adelante y sumémoslo a la tienda de juegos épicos bajo el motor Unreal. Y pasemos de nuestra pestaña de biblioteca al mercado. Hecho. ¿ De acuerdo? Y luego entrar en los productos de búsqueda. Se quiere tipear armas militares. Silver debería ver esto. Embalaje de armas militares plata. Creo que este fabricante en particular tiene un par de futuristas. Y como un arma militar, negra o como un tipo diferente. Pero la plata es la que tiene las armas necesarias que iban a estar usando. Puedes sentirte libre de usar algunas diferentes, pero solo sabes. Tienes que usarlos bajo tu propio riesgo. Si quieres mantenerte fiel a saber qué funciona, solo
usaré esto. Pero, ya sabes, puedes hacer lo que quieras. Depende de ti. Entonces en este paquete de plata de armas militares que
vamos a hacer es que vamos a sumar a tu proyecto. Y notarás que no dice que haya alguno compatible. Tenga la seguridad, vamos a trabajar en torno al soviético. Se hace clic en esto y se puede llamar un botón. Y mostrarás todos los proyectos. Adelante y navega a nuestro proyecto de clase FPS o lo que sea que lo llames. Y dirá que no es compatible con 4.26. Pero lo es, les aseguro, porque técnicamente ustedes vieron en la demostración que lo era. Entonces sigamos adelante y seleccionemos para el punto 2 1, que es la última versión del motor con la que era compatible. Las versiones de Engine no cambian tanto hasta
el punto en que realmente va a estropear las armas, todavía funcionan. Y 4.26, aunque sean como,
como no técnicamente compatibles o lo que sea. Así que adelante y selecciona eso y luego agrega dos proyecto. Y si miras por aquí, lo agregará al proyecto y funcionó muy bien. Entonces eso funciona. La otra cosa que queremos hacer es dirigirnos a la pestaña Aprender, que honestamente no sabía que existía hasta después de como un año de usar Unreal. Y la pestaña Learn tiene un montón de estas demos realmente geniales y diferentes juegos como un juego de RPG y vehículo y algunos, algunos paisajes artísticos y solo algunas cosas geniales aquí. Vas a querer seleccionar en un juego de disparos aquí mismo. Ahora éste no se puede agregar a un proyecto. Es su propio archivo, por lo que necesitarás crear un proyecto e instalarlo en algún lugar de tu computadora. Ten la seguridad, cada vez que terminemos con este video, lo borras. Sólo necesitamos un par de carpetas a partir de ahí, así que adelante y crea ese proyecto. Ahora seguí adelante y me tomé la libertad de realmente abrir este proyecto. Esto no es algo que tengas que hacer de ningún modo, pero este es un proyecto bastante genial para mirar a tu alrededor y divertirte un poco. Y vamos a estar usando algunos de los activos de aquí, pero no todos ellos. Entonces un par de cosas diferentes que puedes hacer en este punto. Si hace clic en contenido, clic derecho y diga mostrar en Explorer, usted su Explorador de Windows. No quiero llamar a Internet Explorer. Ni siquiera sé qué hectárea tus carpetas. De acuerdo, abriremos en este navegador de contenido y verás cómo estas carpetas se correlacionan con estas carpetas. Y eso es lo que queremos. Puedes hacerlo de esa manera. O en el Lanzador de Juegos Epic, verás que el juego de disparos se mostrará bajo mis proyectos. Haz clic con el botón derecho en eso. Se puede mostrar, mostrando la carpeta de esa manera. Y luego solo tienes que hacer clic debajo del contenido y luego es exactamente lo mismo. Lo que queremos hacer es agarrar animaciones, mantener pulsado personajes de control, afecta Ozono, sonidos. Haga clic derecho y pulse Copiar. Ahora si estos son, si estos dos proyectos, el juego The Shooter y el que creamos están en la misma carpeta como son para mí, que está aquí. Puedes seguir adelante y simplemente ir por debajo del contenido y simplemente pegarlos ahí mismo. Pero si tienes un problema encontrando dónde está eso, solo
tienes que ir a tu proyecto. Lo mismo, contenido, show en Explorer y ahí está. Y luego voy a hacer clic derecho y pegarle pasta. Y ya verás cómo están apareciendo ahí mismo. Ahora esto podría tardar un poco de segundo, pero en realidad voy a hacer una nueva carpeta. Y vamos a llamar a este juego de disparos. Y quiero tomar esas animaciones, personajes, efectos, y sonidos probablemente deberían haber hecho esto al revés. Pero aquí vamos a arrastrar esto al juego de disparos. Eso podría tardar un poco de segundo en hacerlo. Ah, lo hizo instantáneamente. Si haces eso dentro del motor, probablemente te lleve un segundo si lo haces en el Explorador de archivos, es como bam, instantáneo. El único motivo por el que hice eso es solo para que estas cosas sean bonitas y organizadas. Se podría notar que estas son las copias de Cray. Eso podría, eso probablemente irá. Y con toda sinceridad, porque si voy a leer el contenido, a ver cómo no está ahí. Por lo que este producto necesita ser refrescado. Si un posa hacia abajo, ábrelo de nuevo, estará bien. De acuerdo, entonces eso es todo lo que queríamos hacer en este video. Hemos añadido nuestros paquetes de contenido. En realidad voy a lo último que necesitamos hacer ir a Agregar importación, ir a Agregar paquete de contenido de características. Y luego vamos a necesitar agarrar a la tercera persona, una característica de plano porque necesitamos al hombre maniquí. Literalmente lo único que necesitamos. Agregar éste podría atornillar un poco con nuestros mapeos de entrada, pero siempre podemos simplemente cerrarlos. Tendremos que ver. Entonces, solo agreguemos esto al proyecto. Y luego ahí eso aparece. Por favor dime que esto aún funciona. Sí ayuda. Gracias a Dios graciosa. Porque creo que si te metes en ello, podría haber añadido, sí, así que agregó algunos de sus otros insumos, que no es lo que vemos es deshacernos de ellos. Sí, y todo funciona. Está todo bien. Entonces eso lo va a hacer por este video. Gracias por mirar, y nos vemos en el próximo.
7. Crear el personaje de la primera persona: Hola a todos y bienvenidos de nuevo a otro video. En este, vamos a seguir adelante y
vamos a estar montando nuestro personaje en primera persona. Entonces si tienes nuestro proyecto abierto, adelante y bajo personaje de juego FPS, Vamos a abrir el plano del jugador bp. Arrástrelo por la parte superior si ya no lo es. Y vamos a estar jugando en la ventana gráfica. Entonces con nuestro personaje seleccionado, vamos a añadir unos componentes y vamos a añadir una cámara. Y podemos quedarnos con esto con la cámara de nombre. Entonces debajo de la cámara con su seleccionado, vamos a crear un niño en esa cámara. Y queremos ranura en una malla esquelética. Y podemos llamar a este jugador armas. De acuerdo, Entonces con las cámaras seleccionadas, hay un par de cosas que queremos hacer. Queremos comprobar Usar rotación de Control de Empeños. Eso es una cosa que queremos hacer. Perdón, sólo me refiero a mis notas para asegurarme de que no me falta nada. Creo que en realidad es 0 para la cámara en la Z, queremos poner eso en 75. Por lo que ubicación z, 75. Entonces en los brazos del jugador, la malla esquelética en la que vamos a tragar es este héroe F PP justo aquí. Va a engendrar ahí arriba. Ahora qué podemos hacer con esta lupa pequeña, se abrirá donde está este activo dentro de nuestro navegador de contenidos aquí. Y lo que podemos hacer es arrastrar esto y luego arrastrar eso a nuestra carpeta de personajes para que podamos verlo aquí. Y luego podemos golpear a F2 y podemos renombrarlo brazos de jugador. Entonces es el mismo activo. Pero ahora es una carpeta R y podemos acceder a las cosas con ella. Entonces con nuestro jugador ARM seleccionado, una cosa que queremos hacer realmente rápidamente es la escala de límites de búsqueda. Queremos cambiar esto a dos. El motivo por el que estamos cambiando esto a dos en lugar de uno es que si no lo cambias a dos, va a interactuar con la cámara divertida. Y dependiendo de dónde estés buscando, si estás mirando derecho hacia arriba o hacia abajo, la malla realmente desaparecerá. Entonces ese es solo un ajuste un poco raro que quieres asegurarte de que lo hagas. Entonces para los brazos, la ubicación, solo te voy a dar estos números para que tengas que jugar con él tú mismo. Ya califiqué todo esto para ti. X va a ser negativo diez, z va a ser negativo 1, 50. Y entonces la rotación z va a ser negativa 90. Por lo que mirando, encendió un poco la velocidad de mi cámara, está mirando hacia adelante. Tienes los brazos como justo en la cámara así. Eso se ve bastante bien. El último que queremos hacer con los brazos es asegurarnos que no tengamos sombra porque no tenemos un cuerpo entero. Por lo que saltará y jugará y te mostrará esto. Se ve poco raro y no queremos freaky. Así que solo desmarquemos sombra de
fundición debajo de la iluminación otra vez con el jugador ARM seleccionado compilar. Y luego ahí vamos. Nos vemos normales. No podemos ver los brazos ahora mismo. Está bien. Un par de cosas más que quiero hacer en este video antes de que
sigamos adelante debajo del Componente de Movimiento de Personajes, esta es solo mi preferencia personal aquí. Déjame encontrarlo. La velocidad máxima de caminata está en 600. Voy a poner que eso sea 750. Al igual que el personaje camina un poco lento por defecto. Y creo que eso es todo. Entonces si notarás que el material que está en estos brazos sale jodido al transferirlo. Entonces lo que vamos a hacer es que lo vamos a rehacer. Vamos a hacerlo exactamente como fue originalmente. Entonces Vamos a hacer clic derecho en juegos FPS seleccionar nueva carpeta y vamos a crear una nueva carpeta llamada materiales. Y voy a ponerle eso a nuestro color rojo, cualquiera que sea el color que tengas. Y luego por aquí, vas a hacer clic derecho e ir a materiales y texturas solo van a ir material ahí mismo. Vamos a ir M por granjas de capa de subrayado de material ya. Y luego vamos a abrir los brazos de los jugadores. Cree que puedes hacer esto. Agradable. De acuerdo, entonces si mantienes presionada T y haces clic, puedes obtener muestras de textura. Y para esta muestra de textura, lo que quiero hacer es que queremos enchufar uno en Base Color 1 en metálico. Y van a ser errores, pero no te preocupes. Y luego el otro a la normalidad. Con esa configuración, vas a hacer click derecho y vas a buscar una constante. Va a ser justo esta cosita con un pequeño número ahí dentro. Y vamos a poner esto en rugosidad. Y como soy perfeccionista, vamos a asegurarnos de que todos estos estén en orden así. Por nuestro valor de rugosidad, sólo
vamos a hacer que sea algo así como 0.3 o algo así. Y luego para esta textura muestras, así que tenemos algunas texturas que existen. Dentro de este proyecto anterior, el juego de disparos es de donde estamos sacando estos materiales. Entonces este material, si abrimos esto, Está todo tipo de fastidiado aquí. Como probablemente podrías ver. Eso es lo que estamos tratando de recrear. Entonces vamos a tener que usar algunas de estas texturas que existen, estas que aún funcionan. Nosotros vamos a usar esos. Para que sap uno que queremos es solo puedes hacer FPS subrayado d en FPS subrayado M para el metálico. Y luego para nuestra normal, probablemente
puedas adivinar que va a ser guión bajo FPS N para normal, entonces deberías conseguir una vista previa para aparecer. Entonces esta rugosidad de la misma realmente dice, así que no lo hace. Entonces si pongo éste, se
puede ver como no hay súper áspero, ni brillo en absoluto. Dicen ceros pueden ser realmente brillantes. Entonces vivo alrededor del rango 0.3 si quieres hacer un punto o tal vez te guste real brillante y solo quería 0.1.2. Eso también está bien. Me quedaré con 0.2. Entonces ahí está nuestro material. Puedes hacer clic en Aplicar. Eso es todo lo que vamos a estar haciendo ahí en salvarlo. Y entonces vamos a aplicar eso. Por lo que se llama brazos de jugador. Y ahí vamos. Por lo que encaja perfectamente. Prepara lo último que queremos hacer en nuestra carpeta de personajes. Entonces vamos a hacer clic derecho y vamos a ir a Animación, Animation Blueprint. Entonces en animación, blueprint es un blueprint que puede conectarse a Skeletal Mesh y
controlará esencialmente qué animaciones quieres reproducir una. Entonces solo vamos a seguir adelante y hacer esto de inmediato en realidad. Antes de hacer esto, hagamos otra cosa. Por lo que antes mencioné me gusta copiar estos brazos. Yo quiero hacer un nuevo esqueleto. Entonces en realidad voy a tomar este esqueleto FTP héroe y copiar pegar eso. Entonces podemos encontrar que entramos en personajes de juego de disparos aquí, FTP en este esqueleto. Entonces sigamos adelante y movamos eso a nuestra carpeta de personajes. Y luego lo nombraremos como jugador, esqueleto de jugador. ¿ Por qué no? Por lo que debería estar un poco mal en este momento. Esperemos que aún pueda funcionar. Algo que podemos hacer para comprobar y ver si funciona ya que hacemos click en una de nuestras animaciones. Y luego hagamos uno donde realmente van a usar. Entonces rifle ocioso es uno de ellos que en realidad vamos a usar. Entonces va a ser como no puede encontrar esqueleto, ¿te
gustaría elegir uno nuevo? Entonces voy a decir que sí. Y tendríamos justo ahí esqueleto de jugador y lo retardará a ese esqueleto. Y nos ayuda y no quiere trabajar. Diablo de copiar y pegar, arruinando activos. Está bien. Dame un segundo. Voy a averiguarlo. Ese Lübeck. De acuerdo, entonces creo que recordé cómo hice esto antes. Entonces si haces click, haz doble clic en nuestra malla esquelética en realidad te va a pedir que crees un nuevo esqueleto, y eso es lo que queremos hacer. Entonces va a tener todas estas cosas ya preconfiguradas aquí. Y va a asignar esencialmente esta malla a este esqueleto, que como queremos. Y así lo nombró esqueleto de armas de jugador. Entonces en realidad voy a eliminar esto. Esperemos que la computadora no me odia por hacer eso y obligara a borrarlo. Estamos bien. Vamos a darle una lista de nombres jugador subraya esqueleto. Y entonces ahora si volviéramos a entrar en nuestras animaciones de juego de disparos, y haríamos algo así como equipar rifle. Y diría que no puede encontrar esqueleto. ¿ Te gustaría elegir nuevo? Y yo diré que sí. Y luego escogeremos nuestro esqueleto de jugador. Y la animación funciona muy bien. Entonces ocho, así que ahora tenemos 12. Por lo que sólo tenemos que manualmente, cuando en cualquier animación de estos que queramos usar, solo tendremos que hacer clic manualmente en él, agregarlo al esqueleto, y así aparecerá por aquí en nuestro navegador de activos. Entonces podemos hacer eso por fusil inactivo. Yo sólo voy a hacer eso porque esa va a ser nuestra principal animación ahí mismo. Bastante bien. De acuerdo, Así que de vuelta en el personaje, ahora
podemos crear lo que queríamos crear en primer lugar, que es Blueprint. Sin animación, blueprint de animación. Y luego pondremos esto en nuestro esqueleto de jugador, el que acabamos de crear. Y llamaremos a este jugador subrayado Anim VP. Y en realidad no necesitamos hacer nada aquí en este momento. Lo que vamos a hacer es que sólo vamos a asignarlo, usar blueprint de animación con los brazos seleccionados. Y queremos jugador en y BP. Entonces, en realidad no va a hacer nada ahora mismo. Pero ahora eso es, la funcionalidad ahora está cableada en nuestra carpeta de personajes. Entonces eso es todo lo que tengo para este video. Yo creo. No creo que haya nada más que me haya dejado fuera. Basta con revisar las notas y parece que estamos bien. Entonces eso lo va a hacer por este video. En el siguiente, vamos a seguir adelante y empezar a animar a nuestro personaje. Entonces ya es de que empecemos a poner armas en las manos. Entonces te veré ahí.
8. Animar nuestro personaje: Hey todos, bienvenidos de nuevo a otro episodio de nuestra serie Unreal Engine 4, haciendo un shooter en primera persona. En el último video, empezamos a crear nuestro personaje. Le dimos algunos brazos, creamos un material para eso. Y éste para evitar que se
quede ahí parado torpemente en la oposición todo el tiempo. Vamos a estar haciendo algún trabajo en este plano de animación para darle algo de movimiento. De acuerdo, entonces lo primero que quiero hacer es abrir a nuestro jugador en MBP. Y si antes no has trabajado en un blueprint de animación, esencialmente un Blueprint de Animación es un blueprint que
enlaza con un cierto esqueleto y parte de un determinado personaje. Entonces si fuera a ir en mi malla esquelética, en mis brazos de jugadores, que son estas cosas. Se puede ver que la malla o la animación tiene asociado un blueprint de animación. Y es éste que creamos en el último video. Entonces, lo que sea que hagamos aquí dentro será sacado aquí y nuestro carácter. Entonces todo lo que conectemos a esta pose de salida se va a sacar a nuestro personaje. Animación. Blueprint tiene un gráfico de animación y un Gráfico de eventos. El gráfico de eventos es esencialmente sólo un gráfico que vincula variables que crearán dos variables encontradas dentro de este blueprint. Eso tendrá más sentido cuando realmente lo hagamos. Y entonces el gráfico de animación es donde realmente
implementamos las reglas que decidirán qué animaciones jugar cuándo. Esa es una especie de la mejor manera que puedo explicarlo ahora mismo. Pero tendrá más sentido cuando en realidad empecemos a poner algunas cosas aquí. Entonces lo que queremos hacer primero es crear un espacio de mezcla de animación. Entonces con nuestra carpeta de personajes abierta, Vamos a hacer clic con el botón derecho en el espacio vacío e ir a la animación y mezclar espacio, no desplazar 1D. Y vamos a usar nuestro esqueleto de jugador, que es justo aquí, el que creamos. Y llamemos a esto Idle run. Por lo que no corro es un tipo muy común de espacio de mezcla. Los espacios de mezcla te permiten colocar múltiples animaciones dentro de ellos. Y luego puedes cambiar una cirugía qué animación estás tocando en base a un cierto valor de eje. Entonces en este caso, nuestro nombre va a ser velocidad. Y lo que vamos a estar haciendo en este espacio de mezcla es que vamos a estar transitando de una pose ociosa a una pose caminante. Y eso va a ser dictado por nuestra velocidad. Para las divisiones de cuadrícula están bien, o el valor máximo del eje, vamos a hacer 600. Si recuerdas en el último video, fijamos nuestro movimiento de personajes en 750. Entonces si vamos 600 y más, quiero cambiar entre dos animaciones diferentes. Por lo que rifle ocioso es el primero que queremos agarrar. Y vamos a arrastrar esto a 0 aquí mismo. Este dial verde es lo que podemos ver a tipo de moverse entre. Se puede ver el valor de velocidad cambiando justo ahí en el valor de vista previa justo ahí. Y vamos a necesitar agarrar otra animación porque éstas no eran por defecto. Crearemos un nuevo esqueleto en el último video. Por lo que se va a disparar un juego animaciones, animaciones de jugador en
primera persona aquí mismo. ¿ Y quieres no erosionar tu rifle? ¿ O debería ser esto como nuestro rifled? Hacerle un fuego de broma. ¿ Soy ciego aquí lo es. FTP o rifled run. Haga doble clic en eso. No se pudo encontrar esqueleto. Entonces lo vamos a asignar a nuestro esqueleto de jugador y a un retardado. Y se puede ver ahí se está moviendo allá adelante y pega Save. Podemos detenerlo. Podemos meternos con los sonidos de eso más adelante. Está bien. Y creo que salgo de nuestro espacio de mezcla. Es incómodo. Entonces voy a abrir eso de nuevo arriba. Entonces voy a tomar nuestro rifle al azar y arrastrar eso a los 600. Entonces ahora puedes ver si nuestras velocidades aumentan, puedes ver esa animación cambiando de la inactividad 1 a la que corre o la que camina y como quieras llamarla. Entonces vamos a pegarle a Save. Eso se ve bien. Y ahora vamos a entrar en nuestra animación. Plano, esquema de eventos de ADN. ¿ De acuerdo? Entonces en algún espacio vacío en el gráfico de eventos, vamos a buscar un evento, eventos. Las impresiones azules inicializan la animación. Este es el equivalente de un evento start play. Para animación Planes. Lo que queremos hacer es hacer clic derecho y decir, Get Own actor. En ocasiones dices get player character, Get Player Peón. A veces no importa. Pero vamos a echar a rbp. No ser 0. Jugador de Bp. Sea cual sea el objeto, sólo a veces poco más lejos. Esta es la única vez que realmente no vamos a estar usando casting o consiguiendo el personaje. Hagamos clic derecho en bp player y promovamos esto a una variable y llamaremos a este jugador. Entonces todo esto hizo fue que creamos una referencia, referencia a jugador. Para que ahora lo que podemos hacer es sacar esto. Puedes conseguirlo. Y luego cualquier tipo de variable que se encuentre dentro de aquí o función o lo que sea que podamos simplemente sacar de ahí. Por lo que crear referencias a las cosas es algo que vamos a estar haciendo mucho será principalmente crear referencias a nuestro jugador. De acuerdo, así que ahora aquí abajo, evento animación de actualización de Blueprint. Voy a llamar a un nodo de secuencia. En realidad no va a estar haciendo nada fuera de la secuencia todavía. Pero sólo para futura referencia fuera de entonces uno dirá que es válido con el signo de interrogación. Y enchufa eso en intentarlo, Get Peón Dueño. Y es nodo válido es esencialmente sólo una manera que es una especie de dado el sentido común de la computadora. Entonces si algo realmente ni siquiera sé explicarlo, pero es decir como, va a tener sentido, vamos a estar usando esto en el siguiente video también. Y lo explicaré con más detalle ahí porque será
mucho más fácil explicar un poco qué hace ahí. De acuerdo, ahora, vamos a ir a nuestra gráfica de Anim. Y vamos a hacer clic derecho y vamos a buscar un add a new state machine. Y quiero dar click en esto y renombrar esto. Y llamaremos a este movimiento de jugador y lo haremos por el momento, solo
pongamos esto justo en la pose de salida directamente. Si haces doble clic en una máquina estatal, verás esta burbuja de entrada. Y lo que puedes hacer es arrastrar hacia fuera y puedes agregar Estados. No vamos a ser máximos entonces un conducto estados o lo que sea. Entonces vamos a arrastrar hacia fuera y vamos a añadir un estado y vamos a llamar a este Idle run. Entonces si no estás familiarizado con las máquinas estatales, estos estados son donde conectarás tus animaciones y luego podrás crear transiciones desde sub agregué un estado diferente. Estas cosas esencialmente son condiciones que necesitan ser verdaderas o falsas para la transición entre diferentes animaciones. Como dije, muchas de estas cosas tienen sentido como cuando realmente lo estás haciendo. Por lo tanto, hagamos doble clic en Idle run. Y lo que queremos hacer es agarrar nuestro espacio de mezcla llamado Idle run y conectarlo a la pose de salida. Y lo que notarás con este es que tiene una variable de velocidad. Entonces si fuéramos a hacer esto, pero ver tenemos nuestro nombre para la velocidad. Entonces eso es lo que está agarrando justo aquí. Entonces ahora mismo está establecido en 0. Y no queremos que eso siempre se establezca como 0 porque si siempre se establece en 0, y siempre estaremos ahí mismo. Por lo que queremos vincular esto a la velocidad de nuestros personajes. Entonces vamos a hacer clic aquí promueve a una variable y sólo llamaremos a esa velocidad. Y eso es todo lo que tenemos que hacer ahí dentro. Entonces ahora si volvemos al Gráfico de Eventos fuera de try Get Pewn Owner, vamos a conseguir velocidad, la velocidad de nuestro personaje. Y queremos obtener longitud vectorial. Y luego queremos tomar nuestra velocidad y establecer eso. Queremos la SEC cantidad de eso es sucursal válida. Entonces lo que esto está haciendo aquí mismo, esta primera parte es que está consiguiendo la velocidad de nuestro personaje, obteniendo la longitud de ese vector. Y luego configurando eso a esta variable que creamos llamada speed, que está configurada aquí para controlar qué animaciones estamos ejecutando. Entonces para este cuadro común, solo voy a decir sets, entrando en animación ociosa, algo así. Por lo que debería verse así. Y entonces ese movimiento obrero que correré, sólo
tenemos un estado ahora mismo haciendo eso. Así que tienes que compilar, lo
tenemos en ocioso. Y si le pegas a Play, puedes ver que aquí tenemos algunos brazos. En realidad, no tenemos mucho de bienes raíces, así que temporalmente sólo voy a llenar Alt, hazlo oh Dios y de esa manera creo que se establece en diez. Aguanta. Suplente. Haz una copia de algo, solo dame algo de espacio para caminar. Ahora si golpeo Play. Para que veas que ahora estoy ociosa. Y luego cuando lo muevo haciendo la animación caminante, en realidad no
estamos sosteniendo ningún tipo de armas, así que es un poco difícil de ver. Pero así es como funciona eso. Probablemente va a rehacer este ambiente y entre videos. Lo último que podemos hacer aquí es que si realmente vas aquí y vas al rifle Run, verás que tenemos estos pequeños avisos. Y puedes hacer clic derecho en cualquier lugar y agregar un aviso dentro de una animación y jugar como un efecto de partícula o un sonido o cualquier cosa. Estos sonidos en realidad están un poco reventados aquí, así que se coloca hacia abajo, en realidad no se implementa. Entonces como podemos, pero cualquier sonido que queramos aquí. Y luego cada vez que esta animación se reproduzca en
cruces por ahí, en realidad reproducirá cualquier sonido que entreguemos ahí. Entonces creo que porque tenemos los sonidos por aquí que tenemos sonidos de pisada, hierba, azulejo de metal, y creo que están un poco reventados así. Entonces hombre, pasto, azulejo mental y nos pusimos totalmente a correr. Está bien. Tan bien, así que copiar y pegar las cosas, como que estropear esto. Entonces qué vamos a hacer aquí, así que sólo sigue donde estoy. Juego de tirador suena justo aquí. Funcionamiento completo. Abre esto y sólo vamos a meter estas cosas cerca de la onda sonora. Por lo que nos dieron totalmente corrido uno a 10. Entonces uno. Te daré un segundo para que hagas esto y luego regreses. De acuerdo, Ahora que todas
nuestras ondas de carrera ahora están correctamente puestas de nuevo en este randomizador y de salida. Este sonoro taco debería funcionar en realidad. Por lo que dentro de nuestro rifle corre animación, toca sonido, y luego vamos a sonar cue. A ver que realmente lo escuchas. Voy a hacer que el volumen del jugador sea uno. Yo quería estar un poco más bajo. Y entonces haremos lo mismo aquí mismo. Establecido en uno. Ahorra. Entonces ahora me deshice de mi señor. ¿ Qué estoy haciendo? Entonces ahora cada vez que caminamos, deberías escuchar algunos pasos. Y me caigo justo del mapa, pero se puede ver que tiene ese sonido ambiental. Escúchame realmente deshacerme de ese senior. Eso suena mucho mejor. Pasos, mejores paisajes sonoros se le acercan. Está bien. Y si no sientes que está en el lugar correcto, puedes moverlas a diferentes ubicaciones y previsualizarlo aquí. Así. Pero sí, así es como podemos agregar simplemente caminar básico en nuestro juego. Entonces en el siguiente video, vamos a seguir adelante y en realidad empezar a poner algunas armas en estas manos. Por lo que espero verte ahí.
9. Equipar nuestra carga (parte 1): Hey todos y bienvenidos de nuevo a otro video. En el último, montamos algún movimiento básico de jugador, consiguiendo que nuestro personaje pareciera que están caminando entre videos, hice un par de cosas. Pasé a la geometría. Arrastro una caja aquí para que tengamos un poco más de espacio aquí. Si tienes curiosidad por lo que hice. Establezco x a 2500, y a 2500, y z a 100. Y si entras en nuestra visión ortográfica, lo
hice bonito y centrado aquí. Si tienes cosas que están fuera de la red. Así que como tengo mi configuración de snap a en 100. Entonces como si yo fuera a sólo un poco como mover esto por aquí, un 100, ver cómo no está en la cuadrícula. Si tienes ese problema, simplemente pulsa Control y luego se
ajustará a cualquier tamaño de cuadrícula que estés usando. Si puedo deshacer que algo de la reconstruir algo, está bien. Eso es lo que hice. Y luego si tienes como tu jugador igual un mal tamaño o él es como arriba en el aire. Si golpeas la tecla
End, end is next to delete, por cierto, hill luego golpea el suelo. Por lo que Control N lo encaja a la cuadrícula, cualquiera que sea la configuración de rejilla. Y pero algo así como en el suelo. Datos divertidos que debes saber sobre Unreal Engine. De acuerdo, así que ahora con eso hecho, vamos a seguir adelante. También me aseguraría de nombrar tus cosas. Nombré este piso y lo puse en carpetas. Organiza tu vida. Después me lo agradecerás. Entonces en este video, lo que vamos a hacer es empezar a escribir el código que nos va a permitir poner armas en las manos de nuestro jugador. De inmediato. Este va a ser uno de los guiones más complicados del juego. En el juego. Supongo que realmente tenía sentido en la clase. Eso es lo que quise decir. No es, ya sabes, no son temas súper complicados muy largos. Y el flujo de conciencia de este hogar, Hay muchos nodos desde que tenemos seis armas, Hay mucha copia pegando. Por lo que puede ser fácil perderse o, ya sabes, sólo un poco confundirse como de donde se están sacando todos los datos, ya verás. Pero voy a tratar de pasearte paso a paso para que no te confundas súper. De acuerdo, lo primero que queremos hacer es que vas a hacer clic derecho en el juego FPS, crear una nueva carpeta, y llamaré a estos datos de clic derecho y juegos de FPS y crear una nueva carpeta. Y yo llamaré a esto armas. Voy a poner ambos de esos dos son de bonito color rojo. En lugar de nuestra carpeta de datos, lo que quieres hacer es crear una enumeración. Haga clic con el botón derecho, vaya a Plano. Enumeración. Y la enumeración es una lista de valores con nombre. En realidad no es más complicado que eso. Es sólo pensar en ello como una lista. Entonces yo E subrayado, carga fuera. Entonces vamos a nombrar a éste. Haz doble clic y abre eso. Vamos a crear para enumerar recorridos 12. Y luego vamos a llamar a uno sin arma. Y entonces este otro tiene arma. Guárdalo. Cerrar. Es hermoso. Por lo que podría escribir para volver a
hacer clic, hacer otra enumeración, vamos a llamar a este guión E y un tipo de arma. Abre esa. Vamos a tener seis integradores aquí. Por lo que 3, 4, 5, 6. Y si eres realmente, realmente inteligente, probablemente
sabrás que tenemos seis armas, así que vamos a tragar los nombres y de nuestras armas. Voy a llamar a un auto serif o iPhone porque es más fácil para mí escribir par menos letras. Y juego mucho destino. Entonces por eso lo he llamado así lo que tenemos rifle de francotirador. Tenemos oh, Dios mío, un lanzagranadas. Y luego lanzador chico equivocado. Mis dedos tocaban teclas equivocadas todo el tiempo. Diga, guay. Ahora, ¿qué queremos hacer? Si no vas ya a tu carpeta de personajes, abre a tu jugador, y vamos a crear nuestra primera variable. Entonces da click en variable y vamos a llamar a esta carga. Y vamos a poner esto para que sea de tipo load out. Entonces ahora si miras, tenemos la enumeración que acabamos de crear ahí mismo, establecida en una variable y líquida, aquí
tenemos ambas opciones. Entonces podemos hacer es como si pudiéramos arrastrar esto hacia fuera y podemos hacer lo que se conoce como encendido. Por lo que ahora podemos ejecutar diferentes eventos dependiendo lo que sea que la integración se establezca S en cualquier momento dado. Así funcionan las animaciones. Está bien. Lo que vamos a hacer ahora es que vamos a crear nuestra primera arma. Ahora, la forma en que estamos haciendo esto es que vamos a tener una base de armas como padre. O prácticamente todo nuestro guión va a, nuestro guión general va a mentir. Y luego vamos a crear seis planos infantiles que van a heredar todos los datos del padre,
la base, con algunos pequeños retoques y desviaciones hacia ella. Entonces. Vamos a seguir adelante y crear la base. Entonces vamos a hacer clic con el botón derecho y vamos al blueprint. Y vamos a utilizar un actor, que es un objeto que puede ser Plays responder al mundo que no recibe ningún tipo de entrada ni nada. Y llamaremos a esta arma. Iba a hacer una broma ahí, pero me he decidido en contra. De acuerdo, en nuestra base de armas, Vamos a añadir un componente y queremos añadir un gel, mi dios, una malla esquelética, y llamaremos a esta malla de arma. No lo vamos a tragar como nada. Lo único que queremos hacer con esta malla es asegurarnos de que no arroje sombra. Porque nuestra mano lanza una sombra. No queremos que el arma en nuestras manos arroje una sombra. Y no lo estamos poniendo a nada porque esta es solo la base. Entonces no necesitas hacerlo. Lo siguiente que queremos hacer es ejecutar un crear dos variables. El primero va a ser de tipo arma llamada tipo arma, lo siento. Y lo vamos a hacer de tipo, tipo de arma. Entonces ven aquí mismo tengo todas nuestras armas. El otro que vamos a hacer se va a llamar socket name. Y vamos a hacer esto de tipo nombre. El valor predeterminado para esto va a ser b, minúscula b guión bajo. ¿ Es arma correcta? Creencias. Entonces, arma derecha. En realidad no tienes que hacer esto. Bueno, tienes que escribir esta NB, no tienes que hacerlo. Te voy a mostrar aquí mismo. Entonces si vas a nuestro esquelético, Malla
esquelética en nuestros brazos de jugador, aquí
hay un zócalo llamado B, arma derecha. Entonces esto es esencialmente, vamos a crear diferentes tomas de corriente para diferentes armas porque todas son de diferentes tamaños. Y así queremos que el zócalo sea un poco diferente para que no
tengamos problemas con el arma recortando tanto la mano. Pero el valor predeterminado va a ser esta arma correcta. Y estamos configurando que sea un nombre porque ese es el socket al que eventualmente vamos a codificar también, consigue que nuestras armas se adhieran. Y esto es, ya que se trata de una variable, podemos configurarla dinámicamente dependiendo de la arma que tengamos. De acuerdo, lo siguiente que queremos hacer es en nuestro jugador es algún espacio abierto y nuestro Gráfico de Eventos es donde vamos a estar poniendo todos nuestros eventos. Vamos a crear un evento personalizado y vamos a llamar a este pick up. Ahora si sabes algo de eventos personalizados, sabes que necesitas escribir un guión que realmente llame a ese evento. Este evento va a ser convocado dentro de nuestro, si recuerdas en el primer video. Y teníamos las armas flotando arriba y abajo, vamos a llamar a este evento en esos planos. Entonces esto es solo un evento personalizado sentado aquí por ahora. Poco adelanto furtivo para el futuro. Supongo que vamos a añadir una entrada de un nuevo parámetro. Y vamos a llamar a este engendro de armas. Y vamos a hacer esto de tipo arma base. Y vamos a hacer de esto una referencia de clase. En este curso, vamos a estar usando tanto referencias de clase como referencias de objetos. El principal diferencia entre ellos es que una referencia de clase se va a referir a toda la clase. Por lo que se referirá a la Base de Armas, este plano, y también hará referencia a todos sus hijos. Todo. Una referencia de objeto es un objeto de instancia de tipo. Entonces eso sería referirse como el rifle de asalto específicamente, son la pistola específicamente, queremos referirnos a todas las clases. Entonces vamos a conseguir una referencia de clase. Y eso es en realidad todo lo que queremos hacer en este momento. Um, porque vamos a enchufar una función en esto. Entonces sigamos adelante y creemos esa función. Y llamaremos a esto armas de engendro. Y queremos que esto tenga una entrada es pozo de tipo arma base y llamaremos a esta arma. El motivo por el que queremos que esto tenga una entrada es si
volvemos a nuestro gráfico de eventos y llamamos a este arma de desove de eventos, ¿qué sabes que está pidiendo un arma? Porque hicimos este insumo. Si sigo adelante y elimino esta entrada y se Compila y guarda. Se ha ido. Y no tenemos, sí, nada en lo que enchufar esto. Terminas en un enchufe estos datos en. Y eso es deprimente. Por lo que queremos crear una entrada para pasar los datos a lo largo como tal. Y eso es hermoso. Creo que es hermoso. Ahora este guión va a ser extremadamente estúpidamente largo. Y para evitar que nos arrastremos de este nodo literalmente como 20 veces, voy a promocionar esto a una variable. Y voy a poner esto a una variable local. El diferencia entre una variable y una variable local si no estás familiarizado, es que una variable local es una variable que se hace principalmente solo para mantener las cosas un poco más organizadas. Una variable local. Por un lado, sólo se
pueden crear dentro de funciones. Entonces si voy a cualquier otro lugar, no
puedo crear una variable local en mi Gráfico de eventos solo puede existir dentro de funciones, y solo existen dentro de esta función específica. Entonces sé que no voy a usar esta variable en ningún otro lugar de mi guión. Entonces bien podría convertirla en una variable local para que si voy a otro lado, no tenga que verla porque no la necesito. La siguiente variable que creamos se va a utilizar dentro de otros eventos. Entonces vamos a convertirla en una variable normal. Y llamaremos a esto es primera ranura llena. Y cualquier cosa que comience con una a es y el signo de interrogación es típicamente un booleano. Entonces sigamos adelante y arrastremos a ese booleano hacia fuera. Ahora, lo que puedes hacer es enchufar esto a una sucursal y hacer lo verdadero-falso que me gusta hacer es decir que no. Por lo que decir es la primera ranura y no se llena, entonces podemos trazar nuestra sucursal y enchufarla así. Entonces sin el nudo es esencialmente sólo conmuta lo que sería verdadero y falso. Así es la primera ranura. Si la primera ranura no está ya llena, quieres engendrar a un actor de clase. ¿ Qué clase queremos que sea? Bueno, lo que podemos hacer, tenemos tres opciones. Podemos enchufar nuestra clase. De aquí. A partir de aquí, creamos una variable local, así que también podría, todas esas tres cosas significan exactamente lo mismo. Y este dato, esta variable, es lo mismo que esta variable, y todo es igual a este plano. Por lo que queremos engendrar algo desde una base de armas. El engendro transformado. Queremos que el actor se transforme. El actor siendo yo mismo. Ser el jugador. Para hacer, para hacer eso más de un poco. ¿De acuerdo? Y entonces lo que queremos hacer es este valor de retorno ahora
convertido de una referencia de clase a una referencia de objeto. Hagamos clic derecho en promover a una variable. Y vamos a llamar a esta ranura de armas 0, 1, como tal. Y luego queremos tomar R es arma es primera ranura llena y vamos a decir verdad está llena. Esto evitará que este script se ejecute a través de esta rama más de una vez. Lo siguiente que queremos hacer es que queremos adjuntar actor a componente. El que queremos al objetivo que queríamos adjuntar sus armas Ranura 1, cualesquiera armas en armas ranura uno. El padre va a ser los brazos. Por lo que queremos adjuntar este arma actor Ranura 1, 2 nuestros brazos. Y va a ser como, bueno, ¿qué es socket Quieres? Bueno, ya te dije que es esa arma correcta. Por eso tenemos esta variable. Entonces ya que este valor de retorno y esto es todo de base de armas, podemos acceder a sus variables. Así que digamos obtener el nombre del socket y enchufarlo para el nombre. Entonces por eso creamos esta variable. Y podemos acceder. Odio cuando hace eso, cuando no es un perfectamente alineado. ¿ De acuerdo? Por lo que podemos acceder a esta variable porque este valor de retorno es que puedes ver Base de Armas. Entonces tenemos la base de armas, así que obtienes sus variables. Y eso hermoso. Ahora queremos crear otra variable y llamaremos a esta arma actual. El arma actual va a ser una variable de tipo arma objeto base va a ser una específica. Vamos a poner armas ranura uno al arma actual. El arma actual es esencialmente justo cualquier arma que esté en nuestras manos. Entonces si tenemos arma ranura uno actualmente equipada, ranura de
arma uno es el arma actual. Cambiamos al arma secundaria. Ranura de arma t2 será el arma actual. Y entonces lo que queremos hacer es añadir una nota de retorno. Por lo que desea devolver estos datos. Por lo que podemos simplemente agarrar esto y agregarlo ahí mismo. Y ahora agrega un tipo de objeto base de arma ahí. Podríamos haber tocado un nuevo parámetro y luego de esa manera, pero estamos fantásticos. Nombra que devuelva arma. Ahora es una recopilación. Déjame volver aquí. Ahora estamos devolviendo datos. Por lo que este dato empieza por aquí. Está pasando por aquí y está corriendo a través de todo esto. Y entonces está dando salida ahí mismo. Y es todo tipo de arma base. Así funciona eso. Pero tenemos más de una sola arma. Nosotros sí. Tenemos seis. Entonces aquí es donde se pone un poco ridículo. Fuera de la rama falsa. Entonces quieres preguntar si la ranura de armas t2 no está llena. Entonces vamos a copiar y pegar esto. Y luego vamos a crear nueva variable. En realidad, iba a golpear a Control W en este. Y diremos que es segundo, honestamente debería nombrarlos así. Cuántico. Hacer que sea más fácil en los ojos es primero. Ranura llena. Voy a arrastrar segunda ranura y ponerla ahí. Entonces ahora si la primera ranura está llena y va a ser como, Bueno está llena la segunda ranura? Y luego va a correr otra vez por esta misma línea de código. Si la segunda ranura no está llena, bueno entonces vamos a engendrar a un actor. Lo vamos a poner en nuestras manos. Y vamos a poner eso para que sea la ranura de armas 2. Y entonces vamos a decir es las armas es segunda película de tragamonedas. Sí, lo es. Vamos a tener que hacer esto del uno al seis. Entonces voy a saltarme adelante. Voy a hacer tercera ranura, cuarta, quinta. Se obtiene el punto todo el camino a través de seis. Entonces volveré y te mostraré. De acuerdo, Entonces si estás terminado, ojalá esa pequeña prueba, una pequeña tarea no fuera demasiado difícil. Si no iba a mostrarte exactamente lo que debería ser. Así que primera ranura, primera ranura, arma, ranura 1, segunda ranura, segunda ranura, segundos lotes armas como 2, 3, 3, 4, 4, 5, 5, 5, 6, 6, 6. Entonces esa es esta enorme conglomeración de a, de una función aquí. Lo que haremos es comentar cajas alrededor de esta cosa dirán engendros, arma, actor en manos de jugador, y los asignadores incluso lo pueden ver en la ranura 0. Creo que en realidad deletreo todo ahí mismo. De acuerdo, Entonces eso es lo que esto está haciendo esencialmente. Y estamos devolviendo ese valor cada vez. Entonces así es como vamos a engendrar nuestras armas. Entonces si volvemos a nuestro gráfico de eventos, lo que queremos hacer aquí después de esto es que queremos hacer otro evento personalizado. Por lo que los clientes vienen a trabajar conmigo. Oh Dios mío. ¿ Por qué no puedo hacer cosas? Está bien. Vamos a hacer una llamada arma equipar así. Y luego vamos a llamar a arma equipada así. En equipar arma, vamos a hacer una entrada de arma llamada y lo vamos a hacer de arma objeto base. Entonces ahora podemos enchufar esos así. Entonces por el momento, voy a cortar este video aquí. Va a haber un dos parter porque como dije, es bastante complicado. Esto de cuando se ejecuta este evento, que no tenemos a quien que suceda aquí que lo ejecute. Vamos a engendrar cierta arma. Entonces si nuestra primera ranura, digamos que es el esfuerzo. No tenemos armas. Si la primera ranura no está llena, vamos a engendrar a un actor de tipo arma base. Vamos a asignar eso a la primera ranura. Voy a establecer eso. Voy a decir que nuestras primeras ranuras ahora filman para que si interactuamos con otra arma, vaya aquí abajo. Y luego ahí abajo, ahí abajo, están ahí abajo. Vamos a adjuntar este actor,
esta arma a los brazos de nuestros jugadores a ese nombre de socket. Vamos a poner eso como nuestra arma actual. Y luego vamos a devolver ese valor para luego hacer más cosas para equipar realmente esa arma. Porque lo que tenemos que hacer es que
realmente necesitamos ejecutar algunas de esas armas cambiando animaciones en los sonidos. Y necesitamos realmente que la malla del arma aparezca en nuestras manos. No hay nada que en realidad haga aparecer la malla. Y luego también cuando cambiamos haciendo desaparecer esa otra malla. Entonces eso es lo que vamos a hacer en el siguiente video. Y espero verte ahí.
10. Equipar nuestra carga (parte 2): Todos, bienvenidos de nuevo a otro video. Y el último, iniciamos este guión muy largo que nos va a permitir equipar, mostrar y cambiar entre nuestras armas. Como dije, esta clase es un montón de cosas de gráficos de eventos. Esta es una de las más pesadas. Una vez que terminemos con esta parte, vamos a trabajar en la creación de nuestras armas. Y habrá cosas más emocionantes pasando, pero tenemos que hacer todas estas cosas de back-end primero para que nuestro juego realmente funcione. ¿De acuerdo? Entonces donde lo dejamos, tenemos nuestra recolección de armas son la función de arma de desove y luego nuestro evento de arma equipar. Lo que vamos a hacer es empezar a construir a partir de este evento de arma equipar. El primero que queremos hacer es sacar una rama 0, también poco tidbit entre videos. Tomé todas nuestras variables de las ranuras de armas y creé una categoría. Entonces todo lo que debes hacer para crear una categoría es tener una variable seleccionada y escribir en una categoría. Y entonces crearé uno. Y luego puedes arrastrarlos por ahí, ponerlos en orden correcto. Por lo que ahora no tienes que tener esta lista súper larga de variables por todas partes, hace que sea más fácil en tu vida. Pero lo que vamos a hacer es crear una nueva variable. Recordar es cambiar de arma. Y esto va a ser un booleano. Por lo que quieres revisar antes de que podamos equipar un arma, queremos asegurarnos de que ya no estamos cambiando de armas. ¿ De acuerdo? Si no estamos actualmente, si no estamos ya cambiando un arma, entonces queremos hacer otra comprobación. Y diremos que está recargando. Se trata de un booleano, sí. Está bien. Vamos a ver si estamos recargando y yo recargando el guión aún no existe esto, pero eventualmente lo hará. Esta parte de ella está esencialmente aquí. Para que si estamos recargando un arma y tratamos de cambiar, esa recarga realmente se cancelará. No continuará a través mientras aparezca la otra malla de arma y datos. Entonces si estamos recargando, queremos apagar la recarga. Si no estamos recargando, entonces sólo queremos decir:
Bueno, estamos cambiando un arma. Y queremos conectar así a estos dos. Si estamos recargando, ahora no estamos recargando, y entonces podemos empezar a cambiar el arma. Si no estamos recargando, entonces sólo dirá que estamos cambiando un arma. Bueno, queremos hacer aquí es queremos crear otra función para correr. Esta función va a existir para mostrar nuestras mallas de armas o y ocultar la que actualmente tenemos equipada. Por lo que vamos a nombrar con precisión este escondite y mostrar malla de arma. Podemos seguir adelante y cerrar eso. Podemos seguir adelante y arrastrar esto y ponerlo ahí mismo. A pesar de que no hay guión en él. Lo primero que queremos hacer cuando se trata de esconder y mostrar malla de arma es, bueno, queremos pasar esos datos de antes. Por lo que tenemos se configuran automáticamente objeto Base de
armas y sólo vamos a nombrar a esta arma. Está bien, y al igual que antes, quiero promocionar esto a una variable local porque esta
va a ser una función peluda, peluda. Arma de corriente local. Ahora si te acuerdas, que
hablé es válido antes y ahí es donde va a volver esto. Entonces si conseguimos nuestras ranuras para armas, Consigamos una ranura para armas, una de las primeras que queremos preguntar, abre la ranura 1. Si armas pensaron que una es válida, queremos configurar, esto podría ni siquiera aparecer a menos que yo tenga, oh, sí set actor escondido en el juego. El actor que queremos poner pista y juego es la ranura de armas 1, y queremos que se oculte. Tan cierto significa invisible. Eso significa visible. El motivo por el que esto es válido existe, vale. Cuando se trata de este guión, es que si corres esconder y mostrar malla de arma, cuando la ranura de arma uno no existe, se va a confundir. Por lo que es válido es algo así como el sentido común para las computadoras. Entonces reconocerá como, vale, estás diciendo que hagas de las armas ranura uno invisible pero yo no veo nada en armas Ranura 1. Actualmente no hay datos en esta variable. Entonces sólo voy a seguir en mi camino. Está bien, así que ahora queremos pedir eso otra vez por ranura de armas 2, 3, 4, 5, y 6. Lo mismo exacto. Para que podamos copiar y pegar. No válido. Entonces si no es válido, entonces se va a preguntar por armas ranura dos. Si es válido, va a poner ese juego oculto actor y luego sólo va a seguir en el guión así. Entonces así es como debería verse. Y luego queremos poner la ranura de arma 2 en así. Entonces esto es algo válido existe principalmente porque vamos
a querer que las armas pensadas sean visibles, ¿verdad? Pero va a seguir uno y va a mirar mucho
armas a la primera arma que recogemos. Cuando levantemos nuestra primera arma, no
habrá nada en las ranuras 23456. Entonces es válido va a poder determinar que esto ni siquiera está inclinado. Entonces es solo que es una forma de prevenir errores. Eso fue como un camino muy largo de explicar eso, supongo. Entonces vamos a copiar y pegar estos dos y hacer las mismas cosas exactas hasta que tengamos seis de ellos. Puede golpear un poco de nodos de redireccionamiento para que no sea feo. Entonces nos dieron 1, 2, 3, 4, al
menos necesitamos dos más para 5 y 6. Como dije, esto no es súper complicado, es sólo largo porque tienes que chequear por ti ahora, estoy siendo amable. Les estoy dando seis armas aquí. Está bien. Entonces tenemos armas fuera. Una lama de arma también. Bueno, no son tres. Ranura abierta para Cinco dice, oh, genial. De acuerdo, ¿qué está haciendo esto? Volvamos de todo esto. Y diremos cueros, actualmente equipado malla de arma. Entonces si no tienes esto aquí, equiparás arma nueva, y funcionará correctamente. Digamos que digamos que tienes el rifle de asalto, ¿verdad? Y luego cambias al pistilo. El arma funcionará correctamente, pero verás la malla de pistola o la tristemente malla todavía y se va a solapar. El fusil de asalto. Entonces esto es sólo ocultar todas estas mallas para que no se superpongan. Pero lo que queremos hacer es asegurarnos de que nuestro nuevo realmente aparezca. Entonces aquí es donde esto se pone aún más ridículo. Por lo que fuera de set actor, escondido y Game quieren trazar una rama. Y queremos hacer esto sea válido o no. Por lo que ambos se van a conectar así. Podría querer esto un poco más abajo porque va a ser grande. Y entonces lo que quiero hacer es salir de esta rama, quiero tomar nuestra arma actual local. Entonces recuerden, la corriente local sucederá es esto aquí mismo, que se arrastrará hasta aquí, que también iguala a esto, que también iguala a esto, que también iguala a esto, que también es igual a esto, que es éste. Es así como esto puede llegar a ser confuso. ¿ De acuerdo? Entonces si nuestra, si nuestra arma actual es igual a la ranura de armas 1, y si recuerdas, en arma engendrada, estamos configurando la ranura de arma uno al arma actual. Si cambiamos a armas, mucho a eso se convierte en el arma actual. Entonces, si nuestra arma actual es igual a la ranura uno de armas, podrías adivinar qué queremos que haga. Queremos tomar armas ranura 1, y queremos poner actor en Endgame. Y queremos dejar eso sin control. Queremos que eso se presente. Queremos que las armas que uno, cualquiera que sea esa arma, se desoculten, aparezcan. En otras palabras, entonces lo que vamos a hacer es ahora necesitamos copiar, pegar esto cinco veces más. Ya sé, conozco a la gente. Eso es una locura. Por lo que ahí vas. 123456. Todo lo que quieres hacer aquí es solo ranura en armas pensadas para abrir la ranura 2. Por lo que eso equivale a ranura de armas. Entonces si, si no es igual a 0 y ranura 1, se va a bajar. Se va a decir, Bueno ¿evoluciona en la ranura dos? Si lo hace, lo va a mostrar. Si no lo hace, va a ser como, Ok, bueno lo hace, se abrirá tres, así sucesivamente y así sucesivamente. Tres. La codificación es monótona cuando llega a ser así y tienes tantas armas que revisar. Está bien, así que ahora tengo ese punto culminante, todo ese asunto. Comentario muestra malla de arma ultimamente equipada. Boom, así. Está bien. Descanse tranquilo. Esta función y esta función son las más largas que jamás crearán. ¿ De acuerdo? Se puede cerrar, nunca mirar atrás. Conectemos el arma al arma aquí mismo. Tan solo para asegurarse de que los datos se están pasando correctamente. Vamos a parecer una línea bastante recta irreal. Oh, Dios mío. Y lo que queremos hacer es sacar esa carga y queremos ponerla para que tenga arma. Ahora tenemos un arma. Entonces vamos a sacar un nodo de retardo. Y vamos a retrasar por punto. Oh Dios, 33 segundos. Yo le agrego un comentario aquí para usted. Y decir permite el tiempo. Para animación de interruptor de arma. Si esto no existe, este pequeño retraso, entonces la animación de arma, este código se ejecutará tan rápido que en realidad no verás la animación de cambio de armas. Ahora eventualmente vamos a montar el punto 33 fue un buen momento que encuentro donde se veía bastante bien. Armas es arma está cambiando de arma. No vamos a cambiar el arma. Y entonces hagamos otro booleano de inmediato. Llama a esto puede disparar, ¿podemos disparar nuestro arma? Podemos. De acuerdo, será falso por defecto. Cuando empecemos a crear otros eventos en acciones de entrada para disparar, estaremos encendiendo y apagando esto porque no queremos poder disparar nuestro arma. Y somos como recargar y hacer otras cosas. Entonces diremos que URI habilita el disparo. Y después, o no se puede disparar mientras. Cambiar leptones querer poder disparar un arma cuando estás cambiando entre ellos será raro. ¿ De acuerdo? Entonces eso es todo lo que queremos hacer ahí. Enfriar. De acuerdo, Así que ahora, como dije antes, nuestras pastillas de armas van a ejecutar este evento de recogida de armas. Pero y si ya tenemos todas nuestras armas y sólo queremos cambiar entre ellas. Me alegra que lo pidieras. Ahí es cuando acabamos de correr equipar arma. Pero queremos atar esos dos son claves de uno a seis. Entonces ahora vamos a hacer eso. Entonces sigamos adelante y voy a crear un nuevo gráfico de eventos para esto, y voy a llamar a esto mappings de acción. Lo que quiero hacer aquí es que quiero ir Uno, 23, dame una caída de cinco y lo adivinaste, 2100 y sólo bromeando, Son seis. Está bien. Amigo, pon estos en semi bien. Posiciones. Espaciándolos mucho. De acuerdo, entonces tenemos 1, 2, 3, 4, 5, 6 ahí mismo. Por una parte, tire de ella. Y si una rama como no relacionada para llamarla. Y vamos a decir ¿está llena la ranura de arma? Si nuestra ranura de armas está llena, entonces queremos hacer otra comprobación solo para ser extra seguros. Queremos asegurarnos de que nuestra arma actual sea igual a armas Ranura 1 igual 0. O, espera, perdón, no es igual. Yo estaba como esperar, eso no sonaba del todo justo de mi boca. Está bien. Si es actual, está bien. Esta cosa de aquí permite deshabilitables como así si
tienes ranura de armas uno comprobado o tienes ranura abierta 1 equipada, no quieres. Si volvió a golpear la tecla única, y esto no está aquí. Simplemente seguirás ejecutando esta animación de conmutación. Cambiarás a la misma arma una y otra vez. Esto está desactivando la capacidad de cambiar al arma que ya tienes. Entonces si eso, si el arma actual no es ya una, lo que significa que si n es igual a 2, 3, 4 y estás tratando de cambiar a una, entonces queremos llamarla evento equipar arma. Y el arma que queremos engendrar en este caso es la ranura de armas 1. Y entonces vamos a poner eso como el arma actual. El motivo por el que estamos configurando esto como el arma actual es porque esta función de arma de desove solo
funcionará la primera vez que interactúes con esa arma. Entonces tengo la pequeña arma flotante que
engendra a ese actor al mundo por primera vez. Estoy poniendo, poniendo todas las ubicaciones de la misma en mi mano y todas esas cosas. Yo estoy configurando eso como el arma actual. Pero ahora digamos que tengo las seis armas. Ya están todos engendrados. Y yo sólo quiero cambiar entre ellos. Por lo que ahora sólo necesitamos correr el arma equipada, que muestra y esconde el partido. Y también lo hace la pequeña animación. Eso es todo lo que queremos hacer. Entonces por eso queremos, nada realmente está configurando eso como el arma actual. Y como creamos esta entrada aquí, podemos configurarla para que sea cualquier cosa específicamente. Siempre queremos que la única clave sea armas pensadas una. Entonces sigamos adelante y copiemos y peguemos todo esto y hagamos lo mismo para 2, 3, 4, 5 y 6. Estos están un poco cerca el uno del otro. Entonces les voy a dar un segundo para que hagan todo esto
por las tragamonedas de armas del dos al seis. Entonces te veré en un segundo. Está bien. Ahora, con todo eso hecho, deberías tener primero 11 a 2 segundos 333444. Tan solo asegúrate de que todos estos sean los números correctos aquí. Y luego vamos a comentar cuadro alrededor de todo el asunto. Y diremos hallazgos clave para equipar armas después de que hayan ben e inicialmente recogido. Entonces como he estado diciendo, todo esto como cosas de back-end. Podría no estar totalmente teniendo sentido en este punto, pero cuando realmente agregamos las mallas de armas, cuando realmente hacemos las animaciones para ponerlas en nuestras manos. Todo esto será de repente o podría maravillosamente y estarás como, Oh Dios mío, esto es increíble. De acuerdo, Así que gracias por soportarme a través de esto. En el siguiente video, vamos a empezar por crear nuestras pastillas de armas que tengamos algo que realmente dirigir este evento. Y luego cuando podamos ejecutar ese evento, entonces
podremos empezar a crear, um, nuestras animaciones para realmente sostener las armas, reajustar los brazos porque está un poco roto con los activos que tenemos. Y luego podemos poner las armas en sus manos. Y luego una vez que tengamos toda esa configuración, será hermoso. Y luego podemos agregar alguna funcionalidad cool a las armas, en realidad conseguir que funcionen. Entonces espero que ustedes chicos sigan en sumarse a nuestro camino a través de esto. Aprendiste algunas cosas que él por ver y te veré en la siguiente.
11. Crear la empuje de armas: Hola a todos y bienvenidos de nuevo a otro video en Unreal Engine por hacer este shooter en primera persona. En el último par de videos, hicimos mucho tipo de scripting copy paste, consiguiendo que nuestras armas aparezcan y se oculten, solo voy a decir que aparezcan y reaparezcan, pero en realidad no tenían ningún sentido. Entonces en este video, vamos a continuar con esa funcionalidad, crea algunos planos para realmente darnos algo para recoger y ejecutar el evento que hicimos. Entonces lo primero que queremos hacer es en nuestra base de armas, realidad
vamos a hacer a todos nuestros hijos cualesquiera que sean las ediciones que hagamos dentro de la base de armas, se aplicará automáticamente a todos los niños, ya sea o no los hacemos ahora o después. Entonces sólo los vamos a hacer ahora y ya verás por qué estamos haciendo eso ahora en un segundo. Entonces hagamos clic con el botón derecho en Base de Armas, creemos Child Blueprint. Y voy a llamar a esta Pistola arma de subrayado. Solo vamos a seguir haciendo esto para los seis. Entonces nuestro fusil de dos y tenemos una escopeta. ¿ Tienes un rifle de francotirador? Tenemos un lanzagranadas. ¿ Por qué me olvido? Está bien. Lanzacohetes. Bienvenido. Está bien. Tengo las armas de subrayado que están vinculadas a Base de Armas o simplemente por razones de nomenclatura. Porque estaremos creando como auto rival impacto, efecto y auto llegada, este y ese tipo de cosas. Todo lo que queremos hacer hasta ahora, Abramos nuestra arma. lo único que tenemos, podemos hacer click aquí y decir mostrar variables heredadas. Eso es lo que queremos. Por lo que queremos poder ver nuestro tipo de arma y nuestro nombre de socket. Entonces sigamos adelante y en realidad hagamos esto uno por uno. Calcetín un nombre. Vamos a nombrar. Esto sigue siendo socket de subrayado y vamos a crear eso. ¿ Sabes qué? No, me lo llevo de vuelta. Hagámoslo más tarde porque aún no está creado, por lo que podría darnos un error. Perdón por eso. Para el tipo de arma, sin embargo, podemos establecer que ésta sea pistola. Y para la malla de arma, queremos que este sea nuestro click demasiado pronto o pistola. Ahí vamos. Ahí está. Salga de ahí. Vamos a estar haciendo mucho más edición aquí. Posteriormente. Tipo de arma, rifle auto, puré de armas. Se llama rifle de asalto. Vamos escopeta. Haz esto de tipo escopeta. Y sigamos adelante y no arma Schwartz, arma de tiro. Y vamos como nuestra escopeta. Rifle de francotirador. Rifle de francotirador. Tenemos dos más. En realidad ni siquiera va a hacer de esto una ventana más grande aquí. ¿ A quién le importa? Lanzagranadas y cohetes ranurando en las mallas ahora mismo, pesar de que no hay funcionalidad añadida, solo para que así puedas verlos visualmente cuando lo necesitemos. De acuerdo, lo siguiente que queremos hacer es que queremos crear nuestras pastillas de armas. Entonces si lo sabes, te
mostraré que tengo los otros proyectos aún abiertos aquí mismo. Entonces si voy y golpeo Play, vamos a estar creando estas cosas con las que
luego podremos recoger e interactuar así. Eso es genial. Estas cosas, goles, película encima de allá. Con nuestra carpeta de juegos FPS seleccionada, vamos a crear una nueva carpeta y lo llamaremos interactuar un bowl. Y luego dentro de esa carpeta quiero crear una carpeta llamada armas. Porque también estamos en nuestra carpeta interactable va a hacer M0, eso también va a ser interactable. Por ahora, apegémonos a las armas. Haga clic derecho. Entonces conseguimos una clase de actor y lo llamamos arma. Recogida, base. Abramos esto y puedes arrastrar esto a lo largo de la parte superior porque vamos a estar haciendo algunas cosas diferentes aquí. Por lo que de inmediato, se ilumina con nuestra ruta de escena. Sólo quédate con eso. ¿ A quién le importa? Hagamos un salto un paso. Malla esquelética, y llamaremos a esta malla de arma. Y entonces esto es un poco extraño, pero vamos a añadir una malla estática y vamos a llamar a esta caja invisible. Y luego añadamos también un componente de movimiento giratorio. Y vamos a poner la z para que sea como 130. Cuanto más alto sea, más rápido se va a ir. Z significa que va a dominar. Algo así como puedes, puedes, puedes meterte con eso si quieres que haga algún giro loco. Pero por el bien de esto, vamos a mantenerlo bastante simple. Esta caja invisible es un poco extraña. El motivo por el que tenemos una caja invisible, porque la forma en que estamos interactuando con esto es a través un trazo de línea en algunas de las mallas como la pistola son muy pequeñas. Y así cuando estaba jodiendo con esto, me encontré con que no siempre golpea o funciona tan grande porque la malla en sí es tan pequeña. Por lo que esta caja siendo invisible significa que siempre vamos a golpear con otra cosa, solo danos un radio más grande, entonces podemos golpear la tecla E e interactuar con aunque en realidad no lo puedas ver. Entonces con esta caja, lo que quiero hacer es que la vamos a hacer invisible y escondido en el juego. Tan desmarcado, visible y cheque juego oculto. El balanza, Vamos a bloquearlo y lo haces 0.55 de su tamaño. Y para la malla estática, solo
queremos el cubo básico de un m. Ya que sí lo tenemos configurado para ser invisible, realidad no lo verás ni siquiera en las ventanillas justo aquí. Pero ahí está. Es invisible. Pero ahora está todo configurado. Y podemos ir adelante a nuestra Gráfica de Eventos. En realidad no, necesitamos evento tomado, necesitamos Evento Begin Play. Si te deshiciste de ellos, siempre puedes llamarlos de nuevo. Saquemos de aquí a nuestro personaje jugador. Echemos para ser, esperen un segundo. Si bien el networking. Debería funcionar. Extraño, tal vez fuera de solo elenco al jugador API. Y mis cosas ortográficas mal. ¿ Por qué esta cosa nos odia? Espera un segundo aquí. De acuerdo, así que me encontré con algo que literalmente nunca he encontrado antes de mi vida cuando encuentro una solución a ello. Entonces si no eres capaz de lanzar al jugador bp fuera del personaje de get player. Adelante a nuestro jugador de bp. Aquí mismo en sí mismo. Desplázate hacia abajo para empeñar y autoposeer jugador, ve al jugador 0, compila eso. Golpeaste el juego. Todo sigue funcionando. Y ahora fuera de nuestro personaje get player, podemos lanzar a él. Ahora es delgada. Acude al jugador, que es lo que siempre esperaba que sucediera. Entonces eso fue muy extraño. Pero ay, vamos a seguir adelante con el clic derecho y promover esto a una variable y llamarlo jugador. Algo que notan de mí es que soy muy perfeccionista, así que siempre voy a comentar cuadro, incluso el más simple de guiones para que sepa lo que todo esto está haciendo aquí. Entonces sí, acabamos de conseguir una variable para el jugador para que
podamos hacer referencia a todas sus funciones y variables y todo eso. Aquí, vamos a crear un evento personalizado y vamos a llamar a este pick up. En realidad escojo lo que está pasando, interactué con el arma. Está bien, sólo para quedárselo. Entonces vamos a crear un enlace que se va a llamar interactivo. Por lo que vamos a mantenerlo agradable y similar. Golpea a nuestro jugador. Si mantienes pulsado Control, automáticamente lo obtendrá. Y luego queremos conseguir ya el evento de una camioneta de arma de fuego. Entonces si recuerdas del último video, hace dos videos, recolección de
armas es este evento que inicia el desove el arma, la
trae al mundo por primera vez y luego lo equipa. Y ya que tenemos esta entrada aquí, cuando lo llamamos, Se va a preguntar ¿cuál quieres detectar? Y se puede ver que es preguntar, ahora, ya que esto era una referencia de clase, es, está consiguiendo todos ellos. Entonces ahora tenemos el rifle auto, lanzagranadas, pistola. Podemos engendrar cualquiera de estos. Lo que queremos hacer es promover esto a una variable y podemos mantener el nombre arma para engendrar. Simplemente no quiero realmente los espacios y es así. ¿ De acuerdo? Después de esto, queremos sacar un nodo do una vez. Entonces sólo queremos hacer esto una vez y vamos a tocar un sonido hoy. Y luego una vez que
tocamos el sonido, queremos destruir al actor. Entonces vamos a destruir esta camioneta. Una vez que tocamos un sonido, quiero promocionar este sonidos uw variable dos, y lo llamaremos pick-up sound. Así. Yo creo que eso es todo. Entonces tenemos que hacer aquí por nuestras pastillas de armas. En realidad, ¿sabes qué? Voy a ser guay. Y vamos a añadir una cosa más para la llamarada. Pero antes de que hagamos eso, comentemos y diré corre evento en bp player que conocemos el guión. Ahora probablemente te estés diciendo a ti mismo, Bueno Tim, este es un evento personalizado en sí mismo lo que se va a llamar a este evento. Y tendrías razón al preguntarte eso. Y vamos a crear, esto es lo que vamos a hacer. Crearemos un mapeo de acciones
al 0x0 en el like es lo que va a activar este evento, que luego activará este evento. Y eso funcionará en ese evento. Y sólo será una enorme cosa larga. Entonces antes de decir ahora, bueno, esto es como duro. En realidad no es tan
difícil, solo es muy complicado. Y así hay muchos planos que se están hablando
entre sí para que este tipo de cosas suceda. Si notas eso sin embargo, tenía las armas moviéndose arriba y abajo. Entonces vamos a hacer eso ahora. Por lo que fuera del evento tick, si no estás familiarizado, así que Evento Begin Play y event tick, nuestro proyecto Presidente Eddie. Si estás familiarizado con la codificación como, Event Begin Play es el equivalente a anular Start. Se ejecuta cada vez que existe este plano, cada vez que se llama al mundo. Por lo que eso puede ser tal vez como el segundo que le pegas a juego. O puede ser cuando, ya
sabes, en este caso, cada vez que engendres esta arma. Cuando se engendra el arma, ese eventeo y juego correrán. El tick de evento se ejecuta Una vez cada fotograma. Entonces event tick es mejor para como lo que vas a ver aquí cuando estemos, si estás cambiando ciertos valores, quieres que el juego esté constantemente revisando eso. Por lo que lo ejecutarías como un tick de eventos. Vamos a hacer es vamos a añadir una línea de tiempo y vamos a llamar a este Bob. Por bob arriba y abajo. Impresionante. Hagamos doble clic en Bob. De acuerdo, abramos al viejo Bob. Y voy a hacer que esto dure 2.5 segundos. Queremos que esto se haga bucle. Queríamos inclinarnos constantemente hacia arriba y hacia abajo. Vamos a agregar vector track de vector es x, y, y z. Y podemos bloquear
y deshacernos de x e y. solo
queremos meternos con z Así que sigamos adelante y si mantienes pulsada Shift, agregarás fotogramas clave. Entonces vamos a tener cuatro de esos. El primero va a ser el tiempo 0, valor de 0. El segundo va a ser tiempo de 0.75 y va a tener un valor de, déjame sólo referirme a mis notas. Va a tener un valor de 0.5. Este tercero va a ser 1.75. Oh Dios, se solaparon. El último puesto en el tiempo 2.5. ¿ De acuerdo? Tercero es el tiempo 1.75, valor de 0.5 negativo. Y entonces este último es tiempo de 2.5, valor de 0 otra vez. Entonces va a subir y luego bajar. Ahora esto es un poco dentado. Entonces si los resaltamos todos, haga clic derecho y toque Auto, ahora va a crear una línea más suave como esa. Y eso es exactamente lo que queremos. Entonces podemos cerrar a Bob, y ahora tenemos una nueva pista. Y en realidad, lo siento, no le dimos nombre a esta nueva pista. Podemos darle un nombre saliendo. Está bien, Genial. Solo llamemos a este flotador o algo así. Ahora realmente podemos salir. Fuera de la actualización. Queremos sumar actor y offset local y la ubicación que queremos ser ese valor. Por lo que está actualizado. Entonces no lo es, no es que no esté ejecutando este acto publicitario o compensación de ley. Cuando esto termina, lo está ejecutando como una actualización, así que lo está ejecutando constantemente. Y son estos eventos corriendo cada segundo. Y la ubicación se está actualizando con este valor así. Entonces sigamos adelante y comentemos cuadro esto también y digamos que se cierne arriba y abajo por estilo. De acuerdo, Así que hemos hecho tantas cosas para la funcionalidad como. Entonces aquí vamos. Hay algo de estilo para ti. Está bien, lo prometí, y haz que se vea genial. Está bien. Entonces nos vamos a hacer en el arma, recoger una base. Eso es todo lo que queremos hacer. Por lo que queremos empezar a hacer niños a esto también. Entonces creemos una clase Child Blueprint y llamemos a esta camioneta de armas de pistola. Y voy a seguir adelante y saltar adelante. Confío en que sepas hacer clic derecho y crear clase
Child Blueprint para las seis de nuestras armas. Así que adelante y haz eso y me uniré a ti en un segundo. De acuerdo, ahora con eso hecho, deberías tener los seis. Deberíamos tener siete planos y su total, porque uno es la base. Y lo que queremos hacer es simplemente abrir uno de estos. Y vayamos a nuestra malla de armas y hagamos el único rifle. Entonces lo que queremos están ahí fuera así. Ah, una cosa me olvidé de hacer. Disculpas es la malla de arma. Yo quiero estar arriba en el aire, así decía ser como 150 quizá. Entonces el valor que lo tenía en el otro proyecto es 110, tuvo que volver atrás y comprobar cuál era ese número. Entonces ahora esto en realidad va a estar flotando por encima del suelo y te das cuenta que se actualiza automáticamente aquí así. La otra cosa que hice fue que hice el y negativo 20. Por lo que retrocede un poco. Entonces eso hace que esto aquí solo un poco más centrado con nuestras raíces de escena justo ahí. Se puede reemplazar el escenario con sólo arrastrar eso hacia arriba. Pero entonces si haces eso, entonces no podrás moverlo hacia arriba porque entonces este
será el centro de todo. Será la raíz. ¿De acuerdo? Entonces las otras cosas que queremos hacer en todos estos planos, es arma para engendrar. Queremos ponerlo como el rifle auto. Y el sonido pick-up es que podemos empezar a ranura el sentido ya que configuramos esto para que sea una variable. Y hay uno llamado levantamiento de rifle, así. Y esa es la que queremos. Si sientes que es demasiado ruidoso o demasiado tranquilo, siempre
puedes ir por debajo del sonido pick-up. Y puedes hacer esto como 1.5 o algo así si quieres o puedes hacer más silencioso. De verdad depende de ti. Pero eso es lo que queremos hacer en todos estos. Para que puedas seguir adelante. Una vez más, confío en ti, te
mostraré una vez más que puedes hacer el resto de ellos. Te doy un poco de tarea aquí, arma para engendrar. Queremos hacer que la pistola en como estas no tenga realmente nada ahí todavía, pero como dije, la funcionalidad funcionará de una vez en absoluto. Todo está configurado la malla de arma. Hagámoslo en la pistola. Entonces ahí está. Y el sonido pick-up, todos
estos se llaman rayos. Por lo que verás rayos de pistola y quieres usar la cola que los sonidos ligeramente diferentes cada vez. Así que adelante y trata de hacer el resto de las armas, y volveré en un segundo. Entonces me disculpo otra vez. Hay una cosa que olvidé mencionar. Por lo que en la base de recogida de armas, asegúrate en la base para que esto se aplique a todos los niños. Ve a la caja invisible y desmarca la cerradura y haz el valor y de 1 antes de que fuera 0.5 y eso es un cubo. Queremos que esto sea más rectangular porque nuestras armas son bastante largas. Queremos que eso encapsule todo el arma. Entonces solo hazlo 0.51.5. Y luego puedes volver a hacer esto invisible y compilarlo y guardarlo. Y entonces eso se aplicará a todos los demás. Con eso, entonces podemos colocar nuestras pastillas de armas en el mundo. Entonces pongamos el pistilo, el rifle auto o escopeta. Oh, Dios, la escopeta. Conoce por qué el choque en más baja. Rara. Y luego nos vamos, esta biblioteca cae. A lo mejor sólo el ángulo que estaba cayendo en el mapa debió haber pensado que lo estaba colocando más abajo debajo del suelo. Lanzagranadas y lanzacohetes. Entonces ahora tenemos todas nuestras armas. Si entro y le pego a Play, puedes ver que están haciendo ahí Bob y, e incluso cosa, tal vez un poco demasiado alto todavía, puedes bajar eso, solo cambia el valor Z en el padre de ahí. Y entonces eso debería arreglar eso. Y siempre puedes afinar a este Abby, hacerlos girar más rápido, lo que quieras a tu gusto. Lo último que queremos hacer en este video es en realidad permitirnos poder interactuar con estas armas. Así que vamos a entrar en nuestra configuración, configuración del proyecto. Vamos a entrar en entradas y vamos a crear un nuevo mapeo de acciones. Y llamemos a esto interactuar. Y vamos a atar esto a nuestra gusta. Si lo encontramos. Alguien facilidad y el alfabeto letra más común. De acuerdo, entonces queremos estar en el jugador de bp, en el personaje. Y queremos que esto sea en nuestros mapeos de acción para que podamos encontrar algún espacio por aquí. Y llamemos a interactuar. Ahora, aquí hay algunas cosas que queremos hacer cuando interactuamos. Queremos dibujar una traza de línea por canal. Un rastreo de línea es lo mismo que
vamos a estar haciendo cuando disparemos a nuestro hit Scan armas. Se va a dibujar una línea invisible hacia el mundo, pero tenemos que darle un punto de inicio y un punto final. Entonces tomemos nuestro componente de cámara y consigamos la ubicación mundial. Por lo que la ubicación de la cámara. Y también queremos sacar el vector de avance. Entonces la ubicación de la cámara y el vector que está señalando directamente hacia adelante. Vamos a multiplicar ese vector hacia adelante por un valor bajo. Sí. Y así va a ser lo lejos que en el mundo queríamos disparar. En este caso, pongamos que sea algo así como 200. Y luego vamos a sumar estos juntos así. Me odia. Espera. Pensé que esto era una carroza. Espera un segundo. Acabo de tener vector un vector más. Y vamos vector más un vector y hacemos de eso nuestro endpoint. Y entonces nuestro punto de inicio va a ser la ubicación de la cámara. De acuerdo, entonces lo que estamos haciendo aquí es que estamos consiguiendo la ubicación de nuestro componente de cámara. Esto de aquí. Vamos a estar consiguiendo su ubicación. Vamos a estar consiguiendo lo que sea que la dirección esté hacia adelante de eso, vamos a estar multiplicando esas 200 unidades hacia fuera. Entonces esa sería la distancia de como aquí, como empezar de aquí hacia aquí. Y luego vamos a estar agregando esas dos cosas juntas para conseguir nuestro punto final. Y entonces nuestro punto de partida es solo la ubicación de la cámara. ¿ Todo bien? Y así fuera del valor de retorno, queremos obtener una declaración if. Porque sólo queremos, así que si ves verdad, si hubo un hit falso lo contrario, así que sólo queríamos que este trazo de línea hiciera cualquier cosa si realmente le pegamos a algo. Por ahora mismo vamos a sacar una secuencia, pesar de que sólo estamos haciendo una cosa porque queremos interactuar con múltiples cosas. Entonces esto es solo para el futuro. Y luego del entonces uno, queremos lanzar a nuestra arma, recoger base. Y luego fuera de nuestro atuendo, vamos a romper Este éxito resultados. Y entonces el Hit Actor es lo que vamos a enchufar a nuestro objeto. Entonces, ¿qué resultado de golpe de freno está haciendo esencialmente es dibujar esta línea, trazarla, ver, vale, ¿qué golpeó esto? Ahí están todas estas opciones para cosas que pueden golpear. En este caso, estamos buscando a un actor que sea golpeado por esta línea invisible. Y el actor que queremos ver si estamos golpeando es nuestra cara de recogida de armas. Y luego si nuestra base de recogida de armas es golpeada y déjame
volver a eso para que veas si nuestra web me pick up base es golpeada. Queremos correr esto interactuado con arma. Interactuó con arma. Y luego si recuerdas, interactuado con arma, corre recolección de armas, que corre arma de desove, que luego equipa un arma. Y ahí tienes. Ahora eres un genio codificador. Enhorabuena. Ahora si fuéramos a subirnos y jugar y caminar hasta cualquier arma e interactuar con ella. Te darás cuenta de que obtenemos ese efecto de sonido. Desaparece y todo eso. Pero en realidad no llegamos a verlo en nuestras manos, aunque está en nuestras manos,
las tomas de armas están un poco fastidiadas, por lo que en realidad está apuntando hacia abajo y en realidad no podemos verlo, pero sí tenerlo equipado en este momento. Entonces podemos hacer un poco de algo de depuración para asegurarnos de que esto funcione y lo haremos ahora. Por lo que en cualquier parte de nuestra gráfica de eventos, esto va a ser temporal. Apenas golpeó siete fuera de prensado. Hagamos una cadena de impresión. Y luego cogamos el arma actual, arrastrémoslo y enchufemos eso en eso. Entonces ahora cada vez que golpeamos siete, va a salir a la pantalla a través de texto lo que nuestras armas actuales. Entonces ahora si pasamos en juego, y yo fuera a interactuar con el rifle de asalto y golpeé siete. Tenemos el arma auto rifle como arma actual. Ahora la pistola y el derribó al francotirador. Y si tuviera siete debería ser el francotirador. Eso debería ser granada. Ahí, el cohete. Ahora, intentemos cambiar entre armas. Por lo que le pegaron a uno. Esa fue la pistola, creo Rizzi, tristemente que recogiéramos. Así que golpeó uno y ahora pegó siete. Entonces auto rifle, la segunda arma que la escogimos fueron las Epistolas de la misma también. Y ahora siete, desde la pistola, por lo que está cambiando entre las armas. Es hacer todo lo que queremos hacer. Está funcionando a la perfección. Ahora todo lo que tenemos que hacer es darnos una manera de ver que realmente sucedió en pantalla. Eso es lo que vamos a hacer en el próximo video y espero verte ahí.
12. Hacer nuestras propias animaciones de armas: Hola a todos, Bienvenidos de nuevo a otro video. En el último episodio, creamos nuestras pastillas de armas y toda nuestra funcionalidad de cambio de armas parece funcionar. En este video, vamos a estar de vuelta en el Plano de Animación para que realmente podamos ver que sucedió. Hm, en lugar de simplemente computacionalmente suceder en segundo plano. Entonces sigamos adelante y hagamos eso. Ahora, lo primero que queremos hacer es ir a nuestro esqueleto de brazos de jugador ubicado en nuestra carpeta de personajes. Y como dije antes, tenemos esta toma de arma derecha. Fuera de este socket, queremos hacer clic derecho y queremos añadir un socket. De acuerdo, le pegamos a F2 aquí. Podemos darle a esto un nombre específico. En este caso, vamos a llamar a esta toma de pistola. Volvamos a hacer clic derecho en un zócalo y vamos a sumar una por cada una de las armas. Entonces tomas de fusil auto, así sucesivamente y demás, y añadir un enchufes, tomas de escopeta. Y entonces confío en ti, creo que puedes hacer los tres finales A Estaré de vuelta en un segundo. De acuerdo, ahora que tenemos todos nuestros enchufes en su lugar, estoy ante todo en un mundo perfecto, tendríamos un animador que haría animaciones que sostendrían perfectamente cada una de nuestras armas. Y entonces podríamos simplemente meter esas animaciones en. No tenemos ese lujo. Este pack solo viene con, viene con dos. Sólo tiene uno para un lanzador, pero el lanzador no es el lanzador correcto y el rifle no es el rifle correcto. Entonces lo que tenemos que hacer, tenemos que hacer esto, el tipo de solución para la forma de traducir huesos alrededor y crear nuestros propios enchufes. Entonces por eso estamos haciendo esto. Si agregas un montón de animaciones, no
tendrás que hacer esto solo para que conste. Entonces lo que queremos hacer, si recuerdas, si en nuestro jugador bp, en nuestra arma de desove, adjuntamos nuestra arma a los brazos de los jugadores basados en el nombre de un determinado socket. Y por defecto esa es arma derecha, que es ésta. Bueno, vamos a estar cambiando eso para que realmente encaje en la mano correctamente. Entonces lo que queremos hacer es ir a nuestras armas. Y en cada arma, queremos cambiar este nombre de socket por el que creamos. Entonces toma de fusil auto es lo que queremos. Lanzagranadas, asegúrate de que se deletree correctamente de lo contrario. El juego forma de trabajar. Tomas de pistola. Sí. Emparejarlos con estos y deletrearlos correctamente. Como dije. A diferencia de mí que es horrible en la ortografía aparentemente, están casi terminados. Tan sólo una más. Está bien, y luego la base solo se queda igual que ese default. Uno. Lo siguiente que vamos a hacer es que vamos a cambiar estos valores para que realmente encaje correctamente. Algo que podamos hacer. Decía que te puedo mostrar, lo cual es un poco guay. Entonces bajo configuración de escena de vista previa, controlador de vista previa, Vamos a la animación específica de Estados Unidos y queremos usar un rifle inactivo. Entonces, oh Dios, eso fue demasiado rápido. Probablemente querías ser como dos o uno aquí dentro. Por lo que tenemos nuestra toma de pistilo justo ahí. Debajo de nuestro zócalo de pistilo, si haces clic derecho, puedes agregar un activo de vista previa y en realidad podemos agregar nuestro pistilo justo ahí. Y así ves, ahora mismo, Por
eso no podíamos ver nuestra pistola cuando interactuaríamos con ella en el último video, como dije, se apuntaba directamente hacia abajo. Por lo que necesitamos hacer algunas ediciones a esto claramente. Así que pasa a nuestro panel Detalles. Si no ves el panel de detalles, solo tienes que ir a los detalles de la ventana y aparecerá. Y verás aquí está nuestro nombre. El nombre del hueso es el arma adecuada. Queremos cambiar la configuración. Entonces ya hice todo esto por ti porque soy una persona tan agradable. Esto debería alinearse relativamente bien, pero puedes hacerlo a mano como moverlo y todo eso. Pero las ubicaciones que tengo son negativas 0.71. Para la x, la y es 0.6, z es 9.3. El giro es negativo 90. El y es 0, z es 0. Y eso se verá realmente bonito. Ahora, lo que haremos en el Blueprint de Animación es que lo haremos desaparecer
este brazo y moveremos realmente los dedos en una buena ubicación. Pero podríamos, para otras armas, estaremos alterando tipo de dónde está este otro hombro y esas cosas. Si lo desea, puede hacer clic derecho en aquí y quitar todos los activos adjuntos y ahora la pistola desaparecerá. Pero se puede ver ahora cómo se enchufa la pistola en una ubicación diferente a la del arma adecuada. Entonces vamos al auto rifle y lo haremos ahora. Lo siento tanto, solo estoy comprobando cuál era el socket. En el otro proyecto. El lugar relativo es negativo 1.5, el y es 1.5, la z es 7.6 y la rotación es negativa 90. Entonces si quisieras ver cómo se ve esto en los activos de PU. Entonces rifle. Entonces ahí lo tienes. Ahora en realidad les ha dicho realmente que una, que una cosa loca. Hagamos la escopeta a continuación. Vista previa de activos. Sólo estoy haciendo esto por diversión hoy en día. Creo que es genial. Entonces ve cómo eso se ve realmente estúpido. En realidad se ve un movimiento por ahí. Si Preview acid ahi, es un poco cool. La ubicación relativa es negativa 1.17. El y va a ser 2.06, algunos números muy realmente específicos aquí, y luego 10.2 y luego negativo 90. Y ahí tienes. Ahí está eso y ver los dedos recortando por aquí. Entonces vamos a arreglar eso en la imagen, un plano y la mano no es suficiente ahí arriba. Pero sólo queremos el zócalo en el que principalmente nos estamos centrando ¿es en esta mano, el pulgar y estos dedos? ¿ Eso parece estar en su poema? Eso es lo que más nos preocupa aquí mismo porque esa es la raíz, ese es el punto de apego que estamos estableciendo a través de esos planos. rifle de francotirador es el siguiente. Déjame ir. Ahora por este rifle de francotirador, ¿qué obtenemos? El rifle de francotirador es un 0.53 negativo. El y es 0. Ahí hay 0.87 y la z es 12.9. Y entonces la rotación como siempre va a ser negativa 90. Y eso se ve bastante bien ahí mismo. En lo que respecta a esta mano, recuerda que solo estamos enfocando estos dedos. Lanzagranadas, activo de vista previa de app, granada. Sepan que hay un lanzador de ayuda. Oye, Kanzi, haz click. X es negativo 0.42, y es 1.46, z es 10, y luego negativo 90. Entonces ahí lo tienes. Es un bonito lanzagranadas de inicio de sesión ahí. Por último, conseguimos nuestros cohetes. Y entonces así para el cohete tenemos x de negativo 0.72, y de negativo 2.36, z de 13, y luego negativo 90. Entonces si quieres, puedes jugar con él. Estos números funcionan. Yo lo hice a mano y ahora solo te estoy diciendo cuáles terminaron siendo los números, pero eso debería funcionar todo y entonces solo puedes quitar este activo y salir de nuestro esqueleto. Ahora si entráis a nuestro personaje y entráis al Blueprint de Animación de Jugadores en el Gráfico de Eventos, vamos a querer hacer algo fuera de nuestro otro nodo de secuencia. Por último, lo sé. Entonces hagámoslo ahora. Da-da, da-da, da-da, da-da. Entonces si recuerdas, primero trazar una sucursal. Si recuerdas, creamos una referencia a nuestro jugador y tenemos una carga fuera. Y así queremos meter esa variable aquí. Entonces vamos a comprobar si es igual a algo. Si esto tiene un arma, enchufa eso ahí. Solo estoy tratando de que me guste asegurarme de que eso no se vea súper ridículo. Oh, Dios. Probablemente pueda reescribir un poco esto. Ahí vamos y nos vemos mal. De acuerdo, Entonces solo queremos que las animaciones jueguen. Si tenemos un arma, no
queremos que nuestras manos estén mirando hacia afuera así y no tenemos arma. Entonces si sí tenemos un arma, sigamos adelante y creemos una nueva variable. Y llamaremos a esta arma actual. Y vamos a hacer que esto de tipo se agote. Está bien. Vamos a poner esto para que sea algo. Entonces esto es igual a. El arma actual en este plano es igual a cargar en este plano. Pero queremos que estos dos planos sean capaces de hablar entre sí y hacer que esos hagan un arma actual en este plano igualen lo mismo que cargar en éste. Entonces vamos a jugador. Saquemos nuestra carga. Y entonces vamos también, oh, en realidad, lo siento. Yo lo hice al revés. En lugar de hacerla cargar,
conviértala en un tipo de arma. Pido disculpas por eso. Sí. Cambiar el tipo de variable. Será como si estuviera bien. Entonces tenemos un jugador y saquemos el arma actual. Entonces vamos a conseguir el tipo de armas actual y luego vamos a conseguir el tipo de arma. Consigue tipo de arma y luego establece eso. Entonces, resaltemos esto y digamos enlaces. Arma actual en base de armas con Anime Blueprint. Entonces qué está haciendo esto aquí, y ya verás por qué estamos haciendo esto en un segundo. Estamos tomando esta variable y nuestra arma basó el tipo de arma. Y si recuerdas, en todos los niños, pusimos eso para que fuera algo. Y esencialmente lo que estamos haciendo es que estamos diciendo sea cual sea el arma actual, cualquiera que sea el tipo de arma actual. Entonces pistola, rifle de asalto, queremos que eso sea igual a la variable que se encuentra dentro de este blueprint de animación. ¿ De acuerdo? Ahora si volvemos al gráfico de animación, vamos a desvincular este movimiento de jugador porque queremos hacer algunas locas cosas funky. Entonces lo vamos a arrastrar aquí y vamos a decir efectivo. Vamos a guardar en caché esta pose y la llamaremos del mismo nombre, movimiento del jugador. Lo que las poses de almacenamiento en caché hace esencialmente es que toma todos estos datos y luego lo pone en un nuevo nombre. Entonces si notan como estos solo van en una dirección, aquí o aquí, no son como nodos que tienen salidas e entradas en ambos lados. Entonces ahora lo que puedo hacer es llamar a los flujos de efectivo de Estados Unidos, movimiento de jugadores, y como que puedo seguir en la sucursal para hacer eso, guardar eso como pose de efectivo y luego enchufar eso a otra cosa. Entonces eso es lo que vamos a estar haciendo. Así que vamos a destacar en esto y digamos máquina estatal
en máquina estatal controlando el movimiento de jugadores. Entonces esto es como nuestro primer paso, por así decirlo. Pero queremos hacer cambios a estas animaciones a partir de diferentes armas. Por lo que es cierto, esto será un poco confuso. Pero si sostenemos nuestras armas, como dije, estas animaciones no se alinean perfectamente. Por lo que necesitaremos hacer algunas modificaciones a algunos de nuestros huesos en zócalos en nuestro esqueleto. Va a tener que mover estos por ahí para
que parezca que nuestros chicos realmente sosteniendo las armas. Porque el, hay todos de diferentes tamaños y no tenemos nuestras propias animaciones. Entonces tomemos este movimiento de jugador de pose de dinero. Y vamos a hacer clic derecho en algún espacio abierto y digamos Transformar, Transformar, modificar hueso aquí mismo. Y está enchufado estos. Vas a conseguir una especie de un pequeño nodo de conversión como este. ¿ De acuerdo? Este primero va a ser para la pistola. Yo quiero agarrar dos de estos y enchufarlos el uno al otro. Y luego quiero arrastrar fuera de aquí y quiero caché. Voy componente a local, está bien, Seguro juego. Y ahora podemos caché. Y entonces salvaremos esto como pose de pistola. Está bien. Para que el hueso modifique, Queremos que el hueso del hombro izquierdo sea hombro izquierdo. Y queremos traducir esto. Entonces vamos a este pequeño expone pluma y vamos a desmarcar eso. En desmarcar que sólo queremos hacer traducción. No estamos girando ni cambiando la escala de nada. En lugar de ignorar, Vamos a sumar a existente. Y queremos hacer x negativo dos, y negativo 34, y z negativo diez. Así. Entonces lo otro que queremos hacer es que también queremos atornillar con el hombro derecho. Porque si recuerdas, el hombro derecho un poco fastidiado también. Como verán, queremos rotar esto. Entonces dejemos sin exponer la traducción y sin exponer la escala. No queremos usar esos. Simplemente queremos la rotación, la rotación que vamos a sumar a existente. Y luego vamos a poner esto para que sea negativo 10. Y la x como esa resaltan todo esto. Y diremos traducir. Animación o pistola Coase. Estamos bajo presupuesto. No tenemos un montón de animaciones de fantasía. Podríamos simplemente enchufarnos. Por todas nuestras armas. Tenemos que traducir a los huesos a mano para que realmente parezcan que hacen algo. Por lo que en realidad podríamos copiar y pegar esto. Y vamos a traducir pistola para auto rifle. Porque aún no tenemos animaciones. ¿De acuerdo? En lugar de pose de pistola, Hagámosla pose auto rifle. Está bien. ¿Capitalizar qué? De verdad me lo está haciendo a mí. Está bien. Gracias a Dios. Está bien. Tenemos un par de diferentes. Tenemos el hombro izquierdo que queremos ser negativo 20 y z
Y eso es en realidad lo único que queremos traducir aquí cuando se trata de nuestro auto rifle. Apenas un poco de movimiento del hombro ahí para moverlo hacia abajo y más de un poco. Copia y pega de nuevo. Y lo haremos por nuestra pistola de tiro. En realidad, porque los necesitamos. Entonces vamos a copiar pegarlo en su lugar, la pistola. Y hagamos esta escopeta. Y dejaré de hacer chistes. Aquí mismo. Para el nombre de caché se compondrá. hombro izquierdo para la escopeta va a ser negativo dos, y de 0 y z de tres. Y luego el otro hueso que queremos es que queremos empezar a jugar con el índice. Por lo que queremos índice de mano derecha uno. Entonces como si te das cuenta antes, como si el dedo índice se superpone un poco al gatillo, Eso es lo que estamos arreglando aquí. Entonces queremos tomar la traducción o lo siento, no, la rotación. Nosotros sólo queremos hacer esta z de 20 y luego estas otras. Por lo que 000 20. Lo mismo para el rifle de francotirador. El hombro izquierdo para el rifle de francotirador va a ser negativo. Y luego negativo dos en la y. y luego siete para el hombro izquierdo. Y entonces esto se va a quedar igual porque los dedos tan jodieron de la misma manera. Oh, tengo que cambiar esto a pose de rifle de francotirador así. En hombre porque ahora estamos en nuestro lanzagranadas. Plazo lanzagranadas. Para el lanzagranadas, queremos 000 y y quiero decir, lo único bueno es que el mismo tipo de tomas, un hombro izquierdo, y el índice de los que tenemos que cambiar. En realidad no son cambiantes como muchas de estas otras cosas. Pero sí, es bastante tedioso sin embargo. Y luego por último pero no menos importante, lanzacohetes, cohetes, lanzacohetes posan. Y luego para el lanzacohetes, traducción va a ser negativa 0.5 y la x, y es 0, y luego z es 5. Y entonces eso es todo eso. Entonces tenemos todas estas poses mezcladas aquí. Puedes hacer una pausa si te pierdes un poco, necesitas volver a ver los números. Y entonces lo que vamos a hacer es una última cosa antes de que todo esto se ponga en marcha y funcione. Por lo que queremos agarrar nuestra arma actual. Y queremos mezclar poses. Espera esa otra. Oh Dios, mezcla. Mezcla poses por esta enumeración. ¿ Dónde está? ¿ Cuándo posa por tipo de arma? Sí. Está bien. Esto es correcto. Está bien. Queremos combinar poses por tipo de arma y luego queremos agregar alfileres para todos estos elementos aquí, que son todas nuestras armas aquí. Boom. Y luego, que es bastante guay. Podemos simplemente agarrar. Entonces para nuestra pose por defecto, Vamos a usar el movimiento del jugador. Para nuestro pistilo, queremos usar la manguera de pistola, justo esto, y luego la pose del rifle automático, y luego el tiburón componer. Y luego el rifle de francotirador guarda pose. En entonces posan el lanzagranadas,
luego posan el lanzacohetes. ¿ De acuerdo? Y así si hacemos esto, todavía no va a funcionar porque en realidad no estamos sacando nada. Entonces podemos hacer es seguir adelante y simplemente cobrar esto de nuevo y llamar a esta pose de arma. Y ahora vamos a agarrar las armas posan. Oh Dios mío, juego. Trabaja conmigo y a veces odia como usar poses en efectivo. A veces, sí, realmente buscan a ese chupón. Entonces ahora se puede ver que se está actualizando y estamos en
pose de pistola porque supongo que solo debe ser pistola por defecto. Un valor predeterminado de esa enumeración es pistola. Entonces puedes ver que en realidad está fluyendo a través, está corriendo por aquí. A dónde vamos a Base de Armas. Mira esta magia. Si lo guardé en el auto rifle. Vamos. Está bien. No quiere actualizar. Eso es incómodo. Bueno, en espíritu, funcionó. Oh, espera. Ahí. Para que puedas ver cómo sus manos se están moviendo realmente. Ve dedo, cómo eso se movió un poco mucho esa granada. Tienes la pose de la pistola. Ahí mismo. Estamos traduciendo estos huesos. Toma el rifle auto, arma de tiro, francotirador, la granada, atención, el lanzacohetes, y todo eso. Y así ese valor del arma actual se va
a vincular a cualquier arma que tengamos equipada en el juego. Y entonces ¿Qué está pasando esa gráfica de Anim es que estamos controlando nuestra carrera de inactividad o guardando eso en caché aquí. Y estamos tomando esos datos y estamos transformando algunas de las ubicaciones de esto en base cualquier arma que hayamos establecido por esta enumeración y que se está sacando a la pantalla. Entonces si en realidad tuviéramos animaciones, solo
tomaríamos como rifle run y luego simplemente arrastraríamos eso aquí. Pero haciendo innecesario todo este paso. Pero como dije, no tenemos animaciones. Entonces esta es la forma en que tenemos que hacerlo. Ahora una cosa que olvidé mencionar que es bastante importante es que dentro de nuestro jugador de bp, um, cuando estamos adjuntando a los actores dos componentes, en lugar del defecto que es mantener cuerpos relativos y soldar simulados, queremos asegurarnos de que todos estos estén listos para chasquear al objetivo y queremos desmarcar, bueno los cuerpos simulados. Entonces sigamos adelante y hagamos eso. Eso es sólo un pequeño ajuste que va a causar un poco de problema dentro de nuestro guión y esencialmente hacer que no funcione, lo cual no es bueno. Ninguna mezcla hará eso. Y luego si vamos aquí y damos la vuelta, tenemos nuestro pistilo para rifle, que creo que hay un problema con esa animación. La escopeta se ve bien. rifle de francotirador se ve bien. En mucho realmente bueno. Y la Raqueta se ve bien. Podemos cambiar entre estos ahora. Ve que la malla actual está desapareciendo, está apareciendo
la nueva, y la animación está funcionando correctamente. Ve las manos moviéndose hacia donde no están las armas. En realidad lo verías bastante bien, sobre todo así a algo así. Entonces todo eso está funcionando bien y bien. Adelante y arreglemos el rifle de asalto, y luego terminaremos con este video. Entonces como un poco tidbit, igual que un pequeño consejo fresco, si realmente quieres ver lo que es incorrecto aquí, puedes presionar el botón de punto y coma de tu computadora. A la derecha de L, puedes entrar a lo que se conoce como la cámara de depuración y podemos desprendernos de nuestro jugador. Podemos ver que tenemos un problema con nuestro hombro izquierdo. Por lo que nuestro brazo derecho está en la ubicación correcta, pero nuestro brazo izquierdo está demasiado atrás. Y solo, solo, simplemente no hacer eso. Genial. Entonces tengo que arreglar eso. Tan torpemente, me enteré de que probablemente ni siquiera
has tenido este problema porque si entro en mi arma auto rifle, tengo puesta para ser una pistola. Entonces es hacer la animación de pistola. Si has ejecutado una vista previa de estos activos, siempre
puedes simplemente cambiar esto aquí. Y luego se puede ver como si yo fuera a hacer algo loco como 40, se
puede ver que pasa en tiempo real A su mano se mueven así. Ella es un poco guay. Así. Compilo o vuelvo a su valor predeterminado y luego se hará. Entonces si golpeo el juego, esto podría haber sido sólo un problema de mí. Ahí vas. Ahora nuestro rifle auto es el que se está celebrando, y eso también está en la ranura uno, para que podamos recoger estos y el orden que queramos. Por lo que la ranura uno era la pistola dolorosa, escopeta, granada, una de esas hiper. Ahí vamos. Entonces hay una funcionalidad que en realidad podemos hacer cualquier cosa, pero todo funciona. Estamos sosteniendo nuestras armas y podemos recogerlas y se ve todo bonito y bueno. Por lo que estamos haciendo algunos grandes avances aquí. Espero que estés disfrutando de la clase hasta ahora y espero verte en la siguiente.
13. Cambio entre la animación de armas: Hola a todos y bienvenidos de nuevo a otro video. En el último episodio, agregamos algunas animaciones para que realmente podamos
ver visualmente a nosotros mismos cambiados entre nuestros diferentes planos de armas. Entre videos, hice un par de cosas realmente pequeñas en nuestra base de recogida de armas, hice la altura de nuestra arma. Mattea tenía 110 años, animada 75. Esto es sólo preferencia personal. Para mí. Siento que ahora están en mejor estatura. Y luego en nuestro reproductor Anime Blueprint, agregué esta sección que dice traduce huesos para sostener un arma diferente solo que la gente pueda ver lo que hace esta parte. De acuerdo, Lo que vamos a hacer en este video es, vamos a alejarnos del mundo de la codificación
pesada y traducir todos estos huesos y hacer estas cosas locas. Y vamos a agregar algo de estilo a nuestro proyecto porque actualmente en este momento si pulsas el botón, simplemente un poco torpemente
transita automáticamente instantáneamente entre las armas que
queremos realmente animar algo en juega fuera. Entonces sigamos adelante y hagamos eso ahora. Entonces si estás en nuestro reproductor Anime Blueprint, Eso es impresionante. Ve a nuestra máquina estatal de movimiento de jugadores y abre eso. Y vamos a arrastrar hacia fuera y vamos a añadir un estado, y vamos a llamar a esta arma de conmutación. Y quiero arrastrar una transición hacia y hacia atrás. Por lo que queremos poder ir de nuestra inactividad a nuestra arma de conmutación y luego de
nuestra animación de arma de conmutación de vuelta a nuestro ídolo caminando uno. Para configurar esto, necesitamos hacer un par de cosas. Entonces, en primer lugar, si te acuerdas, si voy a sólo para básicamente comprar gráfico es cerrar. Si vas a este evento de arma equipar que es aleatorio, primero
recogemos un arma y cuando cambiemos entre ellos cada vez, sabrás que dentro de ahí tenemos esta variable que dice es cambiar de arma. Cuando este evento se ejecuta o se ejecuta, el inglés es duro, esta variable se vuelve verdadera y luego después de 0.33 segundos, se volverá falsa. Y dijimos que permite tiempo para que ocurra una animación de cambio de arma. Por lo que no es pasar instantáneamente de verdadero a falso. Permite tiempo para que ocurra esta innovación. Entonces eso es lo que vamos a hacer ahora. Entonces lo primero es lo primero, vamos a nuestro Gráfico de Eventos y o a un plano. Y vamos a crear una nueva variable y llamar a esto es cambiar de arma. Y haré de esto un booleano. Y todo lo que queremos hacerlo, esto es que queremos que esto sea igual a la misma variable que se encuentra dentro de nuestro jugador. Get es cambiar de arma. Enchufa eso en eso. Entonces ahora tenemos un booleano que está en nuestro Anime Blueprint que está ajustado a igual en todo momento al valor del que se encuentra en nuestro reproductor. Entonces hagámoslo. Y dice, decir muy poco por cambiar arma enriquecida. Así que bastante sencillo, ¿verdad? Esto hasta el momento. Y vamos a sumar esto de la rama de otras, otras cosas. Podrías, si compilas como yo, probablemente
te den un par de pequeños problemas aquí. Eso es sólo porque en nuestra gráfica enum, en realidad no
tenemos animaciones aquí. Entonces vamos a tener que seguir adelante y sumar 11 que queremos agregar es en nuestro juego de disparos. Vamos a animaciones de juego Shooter, animaciones
FTP, y queremos conseguir equipar rifle. Por lo que fusil equipado se ve así y aquí tenemos un sonido roto. Entonces el que queremos se llama, se llama quip, creo,
SR, SR, sound cola AR clip, y está reventado. Entonces vamos a equiparlo de todos modos. Multiplicador de volumen, podemos quedarnos en uno por ahora y dijo esta lupa para realmente encontrar esto. Y sigamos adelante y arreglémoslo. Así que busca un clip, Clip 1, y luego equipado para escribir n igual a 3. Entonces ahora decimos que ponemos en cola. Y ahora funciona. Y puedo oírlo así. Bastante sencillo. Éste ahora funciona. Entonces volvamos a nuestro Anime Blueprint, movimiento de jugador gráfico de
animación, abrir arma de conmutación. Tiene nuestro navegador de activos. Y tenemos rifle equipado aquí. Si no tenías rifle equipado, están listos, solo que probablemente dirá que no está configurado para este esqueleto hit Sí, y luego selecciona esqueleto de jugador y luego
aparecerá por aquí porque el esqueleto de jugador es el esqueleto aquí mismo que creamos para estar apegados a esto, nuestro personaje y el blueprint de animación de nuestro personaje. Ahora tenemos que hacer es necesito crear algunos estados, quiero decir, hasta el juego. De acuerdo, ¿Cuándo quieres cambiar a esta animación? ¿ Y qué quieres volver a este? Es muy, muy sencillo. Nosotros sólo queremos decir, Bueno, ¿estamos cambiando un arma? Si estamos cambiando un arma, queremos ir de Idle Run 2 cambiar de arma. Y entonces si no estamos cambiando un arma, queremos volver atrás. Y dejaré que deban compilar y guardar. Entonces ahora si subimos aquí y recogemos un arma, deberíamos verla animar e inanimar de nuevo y anatomizarla de nuevo. Y es animado. Sepan eso. Y ya podemos cambiar. De nuevo, el Santa Fe completo desperdicio, es un poco raro. Pero sólo a veces es blanco. Eso es muy extraño y será algo alrededor con esta animación. Veamos cuál es la promesa, vale, creo que el problema era persistente porque tenía el archivo de animación abierto porque ahora no estoy recibiendo ese error. Está funcionando bien. Entonces, ¿quién movió el arma fuera de marco? Va a cambiar tan rápido, ni siquiera
puedes decir realmente que está un poco gilipollándose. Además, otra cosa que podemos comprobar es que actualmente tengo armas Ranura 1 equipada, que es el PESTLE actualmente si estoy golpeando a uno, no
está haciendo nada. Si recuerdas, agregamos este guión aquí para asegurarnos de que. Entonces si nuestra arma actual es lo mismo que la ranura de armas que tenemos equipar. No vamos a correr nada. Entonces no podemos equipar, volver a dar a conocer el arma que ya tenemos. Entonces uno no trabaja y dos no trabaja, no trabaja para su trabajo 56. Y como tenemos esos es nodos válidos. Encuéntralos, Dios mío. Oh Dios mío, fácil perderse en. Entonces dice que tenemos estos es válido sabe si yo fuera a deshacerme de esos es nodos válidos aquí mismo. Y yo estoy haciendo esto y luego golpeo 2, 3, 4, 5 o 6. Se va a confundir. Ese sentido de que tenemos esos. Simplemente viajará hacia abajo al siguiente. No se confundirá. Y todo funciona a la perfección. Entonces todo eso está bien y bien. Vamos a simplemente seguir adelante, agregar algo de funcionalidad a estas armas y hacerlas lucir y sonar y sentirse realmente impresionantes. Entonces lo haremos en el siguiente video y ahí te veré.
14. Pasos dinámicos: Todos y bienvenidos de nuevo a otro video en Unreal Engine 4. Es un día totalmente nuevo, al menos lo es para mí. Entonces vamos a empezar este día libre justo en avión. Alguna música de shooter épica en primera persona que realmente marcó el tono, creo. Entonces. Lo que vamos a hacer en este video y en el siguiente conjunto de videos es que vamos a estar usando la interfaz de usuario, haciendo algunos widgets, algunos UMG, el capó, como quieras llamarlo. Entonces vamos a empezar esto creando una nueva carpeta en nuestro juego FPS y llamar a esta UI. Siéntete libre de llamarlo UMG en widgets de gráficos en movimiento reales, quieras llamarlo, voy a llamarlo UI. Dentro de aquí, vamos a crear dos widgets. Si no estás familiarizado con qué widgets hay, como los planos 2D, donde puedes poner tu HUD y otros activos 2D. Entonces tenemos HUD y luego tenemos cruz aquí. Este video, vamos a estar haciendo nuestros pelos cruzados dinámicos que se estarán moviendo
dependiendo de que se extiendan y se muevan en título, dependiendo de qué tan rápido se muevan nuestros personajes. Antes de abrir aquí nuestra cruz, lo que queremos hacer es que quieras crear dos nuevas variables, una dentro de nuestro personaje. Y luego vamos a querer crear uno dentro de nuestra arma. Por lo que dentro de nuestro personaje, vamos a crear un booleano y llamarlo está apuntando. Esto se va a utilizar en varios guiones dentro del personaje, donde dispararemos diferentes eventos dependiendo de si estamos apuntando,
apuntando hacia abajo sitio o no. El motivo por el que lo estamos haciendo ahora es porque tiene alguna funcionalidad dentro de nuestra cruz su widget. El otro plano queremos abrir su base de armas y vamos a crear una nueva variable y la universidad y las balas se extendieron. Voy a hacer esto, he escrito flotadores. Esta variable la va a establecer en valor por defecto de 350. Lo que va a hacer esta variable es que va a estar en control de un cálculo que dicte cuánto se están
propagando nuestras balas cuando estamos disparando a la cadera porque no queremos ser totalmente precisos. Y así este número se va a correlacionar directamente con lo lejos que están los pelos cruzados por defecto. Entonces abramos por aquí. Y verás nuestro tamaño de pantalla predeterminado de 16 por 9 en Fill Screen aquí arriba vamos a hacer esta costumbre y es automáticamente, o por defecto va a configurarlo para que sea un 100 por un 100. Y eso está totalmente bien para mí. Voy a renombrar nuestro panel de lona seleccionándolo y golpeando a F2 y llamar a esta cruz aquí lienzo. Y voy a buscar una caja de tamaño,
dejarla caer eso en el lienzo. Y luego voy a arrastrar una imagen y poner eso en la caja de tamaño. Por lo que debes tener una jerarquía que se vea así, donde la imagen es un niño a la caja de tamaño y las cajas de tamaño, hijo al panel de lienzo. El cuadro de tamaño, vamos a nombrar a esa cruz superior aquí en la imagen sólo nombrará esta imagen de relleno superior. Ahora por defecto, las imágenes se establecerán en variables. Se puede pensar, se puede desmarcar eso. No creo que lo esté usando, pero sí queremos que nuestra cruz aquí sea una variable. Con nuestro crosshair top seleccionado. Queremos anclar esto a la cima. Quiero asegurarme de que nuestras posiciones estén ambas a las 030. Los tamaños están bien. El x, vamos a hacerlo 0.5 en la alineación. Vamos a asegurarnos de hacer clic en Tamaño al contenido, que va a dimensionar esta imagen de relleno dos, estos números, y vamos a tener una anulación de ancho y una altura. Y hagámoslo 1.5 y 20. Por lo que ahora tenemos nuestra pequeña imagen de Crosshair arriba justo ahí. Vamos a seguir adelante y golpear Control W para copiar pegar esto se
duplican y vamos a hacer este llamado crosshair inferior. Y abajo hit Caps Lock, imagen de relleno
inferior y el pelo cruzado inferior. Adelante y pongamos esto para que quede anclado en la parte inferior. Y estamos haciendo que esta pequeña flor está aquí abajo. Ahora, reiniciemos nuestras posiciones, asegurémonos de que estén todos en 0. Y entonces creo que el por qué de esto será uno y vamos a mantener la alineación 0.5 para el fondo. Adelante y hagamos el de la izquierda. Ahora, tenemos el crosshair izquierdo y la imagen de Phil izquierda. Por la izquierda. Yo lo voy a anclar a la izquierda. Voy a restablecer nuestras posiciones para ser 00. Y vamos, vamos a hacer es sólo vamos a invertir el ancho y la altura. Por lo que el ancho será de 20 y la altura será de 1.5. Y necesito mover esto un poco. Entonces hagamos el alineamiento 0. Sí. Y probablemente 0.5. Eso se ve bien. Sí, a la izquierda cruzan su alineación 0 y el 0.5 en la y último pero no menos importante, tenemos la derecha. Entonces vamos a hacer bien, crosshair y derecho. Imagen de Phil. Anclemos esto al lado derecho. Notemos el tamaño. Su posición de 0. El alineamiento será x de 1 e y de 0.5. Y ahí vamos. Ahora alguna vez cruzamos pelos así. Y como ya tenemos este punto blanco en el centro de la pantalla, realmente no
necesitamos poner un punto blanco en el centro. Para lo que resta del video. Vamos a estar en el Gráfico de Eventos y realidad
vamos a hacer que estos pelos cruzados se muevan. Y la mejor manera de hacerlo es que vamos a crear un par de funciones que probablemente serán bastante feas. Entonces cada vez que el código se vuelve feo, solo metes a ese chico malo en una función. Entonces eso es lo que vamos a hacer. Crea una nueva función y nombra a este movimiento pelos cruzados o algo así. Para esta función, queremos darle a esto unas entradas de un flotadores y solo
llamaremos a estos objetivos porque es un valor objetivo al que vamos a estar moviendo. Y promovamos esto a una variable local y lo llamemos Target local. Porque este guión va a ser bastante largo. En esta dirección. Fui adelante y le pegué a Alt para romper este pin porque vamos a estar haciendo algunas matemáticas, el tema favorito de todos. Entonces en un objetivo, agreguemos un flotador más un flotador. Y promovamos esto a una variable y llamémoslo balas propagación. Vamos a vincular esta propagación de bala tiene variable hasta nuestra variable de
propagación de bala que creamos en la Base de Armas. Entonces este plug-in, el resultado de esa matemática en nuestros objetivos locales. Entonces es solo pasar esto, agregarlo a un valor y luego configurarlo como el nuevo valor. Este es el momento en el que sacamos por aquí. Entonces vamos a agarrar nuestro top de pelo cruzado. Si mantienes presionada Control, automáticamente lo obtendrá. Si no, te preguntará si quieres conseguirlo o sacarlo de aquí. Vamos a establecer la traducción de render. Y luego fuera de la traducción vamos a hacer clic derecho y dividir el lápiz Struck va a conseguir en un valor x y a y. Y lo que queremos hacer fuera de aquí es que queremos conseguir la traducción o transformarnos, lo siento. Y luego vamos a dividir estas dos veces adicionales. Entonces vamos a dividirlo y luego a dividir la traducción otra vez. Entonces ahora obtenemos una x e y. enchufa eso así. Conectemos directamente la x porque no queremos cambiarla. Pero para el y, aquí vamos, vamos a interpretar también. El valor de retorno de esto entrará en nuestro y, pero necesitamos llenar estos. Por lo que nuestro objetivo va a ser nuestro Target local. El tiempo delta se va a, vamos a conseguir el mundo Delta segundos, que es igual que el tiempo de dentro del juego, devuelve el tiempo delta marco en segundos ajustado por la dilatación del tiempo. dilatación del tiempo es como si aceleraras, aceleras el tiempo o cortaras a tiempo, esto es igual que el tiempo que ocurre en el mundo. Después interrumpe la velocidad. Promovamos esto a una variable y lo llamaremos velocidad de interrupción. Y hagámoslo como, Oh, puedes compilar primero y hacerlo 30. Entonces, ¿qué hace todo esto? Entonces nuestro pelo cruzado superior, queremos que esto se mueva hacia arriba y hacia abajo, ¿verdad? Entonces eso está en el avión y. X es por esta vía. ¿ Por qué es así? Entonces estamos manteniendo los actos exactamente iguales cuando nos estaríamos moviendo o lo que sea. Pero queremos cambiar la y que está arriba y abajo. Interrupción o interpolación es esencialmente un movimiento de un valor a otro durante un cierto período de tiempo a cierta velocidad. Entonces tenemos nuestro valor actual, que es este valor y que ya está establecido. Y luego vamos a tener nuestro valor objetivo, que va a ser donde va a pasar al valor objetivo. Recuerda, es esto, y se va a ajustar por lo
que sea ese valor de propagación de balas que pusimos en nuestras armas. Se va a mover allí sobre sólo el tiempo delta es siempre igual que el tiempo del mundo. Más o menos siempre sacaste este nodo. Y entonces la velocidad de interpolación se acaba de configurar a ti lo rápido que quieres que se mueva del punto a al punto B. Y así dije que 30 está bien. Y así es como funciona eso. Eso es una especie de lo que eso está haciendo ahí mismo. Intenta hacer esto. Ahora se ve súper feo, pero es una especie de guión cobarde. Entonces vamos a comentar cuadro esto y decir top. Movimientos cruzados, algo así. Entonces lo que queremos hacer ahora es que queremos hacer esto por todos nuestros otros crosshairs. Entonces vamos a copiarlo y pegarlo. Y todos estos sólo van a tener ligeras variaciones. Entonces vamos a hacer el de abajo a continuación. Arrastremos abajo sobre arriba. Lo reemplazará. Lo único que queremos hacer es que el fondo se va a mover en la dirección opuesta como lo haría la parte superior. Entonces vamos a multiplicar esto por un entero, por otro flotadores tiempos de flujo flotadores. Enchufe eso como el objetivo, y multiplicémoslo por 1 negativo. Entonces eso sólo invertirá ese número para nosotros. Perdón, el guión es algo feo. Y luego llamaremos a este momento de fuego cruzado de fondo inferior. Y si no pudieras adivinar ya por nuestra izquierda y nuestra derecha, lo que queremos hacer es simplemente invertir la x y la y, porque ahora nos estaremos moviendo en el plano x en lugar del plano y. Entonces sigamos adelante y agarramos como un levantamiento de pelo cruzado. Y la izquierda sólo será el Target local. Pero en lugar de x e y, Rompamos estos alfileres aquí mismo. Vamos a enchufar la x a nuestra corriente y luego devolver la x y luego simplemente enchufar directamente la y Así lo hará el movimiento de pelo cruzado izquierdo deletreé algo. Sí, 30. Y luego por último pero no menos importante, por el correcto. Nombremos estos derechos. Y todo lo que queremos hacer por los derechos es fuera de los objetivos locales tiempos de flujo flotadores, multiplicarlo por 1 negativo para invertir lo que sea ese otro valor. Y luego bada bing, bada, boom. Ahora tenemos toda esa configuración. ve bastante bien. Con eso hecho, podemos entrar en nuestro gráfico de eventos y en realidad llamar a esta función a la vida. Entonces vamos a necesitar, no
necesitamos preconstruido necesitará Event Construct y event tick. Entonces fuera de un constructo de camioneta, que es la variante widget de un vampiro en juego. Por lo que es como cada vez que se crea este widget, esto se ejecutará. Lo que queremos hacer es que vamos a conseguir nuestro personaje jugador. Y luego vamos a echar a dicho personaje de jugador, el jugador de bp. Y entonces pongamos esto en una variable llamada jugador. Sí, esa es nuestra referencia a nuestro jugador. Entonces ahora tenemos al jugador como variable en este blueprint aquí. Y luego queremos crear un evento personalizado de inmediato. Y llamaremos a esta actualización de crosshair. Entonces. Vamos a querer ejecutar este evento fuera del constructo del evento de inmediato. Entonces en el crosser actualicemos lo que queremos hacerlo, Vamos a conseguir la referencia a nuestro jugador, y luego saquemos nuestra carga. Y recuerda que antes te dije acerca de las enums y
poder encenderlas y apagarlas y ejecutar diferentes eventos dependiendo de lo que dijera también. Eso es lo que vamos a hacer ahora mismo. Entonces, vamos a encender nuestra enumeración como tal. Y lo que quiero hacer es si no tenemos arma. Entonces, está bien, hagámoslo. Entonces ve a cruzar tu Lienzo. Asegúrate de que eso esté configurado en una variable. Después agárrala, consíguela, y luego vamos a establecer visibilidad y copiar y pegar eso. Entonces tenemos dos de ellos, enchufarlo al objetivo. Entonces si no tenemos un arma, y sí tenemos un arma, si tenemos un arma, queremos que nuestros pelos cruzados sean visibles. Si no lo hacemos, pongamos que se derrumbe. Así. Aquí vamos. Por lo que sólo queremos nuestra cruz. Ahí está este show si realmente tenemos un arma. Por lo que este guión superior está hecho. Pasemos al fondo y queremos hacer algunas otras cosas. Después de que tengamos este show, Vamos a seguir adelante y conseguir el arma actual. Y luego hagamos que la bala se esparza del arma fijada. Entonces estamos obteniendo el valor que sea. Entonces como si yo fuera a ir en nuestras bahías de armas, cierto, tenemos balas diseminadas dicho a 350. Pero puedo ir en nuestro auto rifle y ahora
tengo ver que la bala se extendió y puedo poner esto para que sea algo, algún otro número y puedo cambiar eso en un arma la base de arma. Entonces lo que esta cruz aquí está haciendo es que está consiguiendo ese valor. Entonces ahora vamos a hacer algunas matemáticas. De acuerdo, hagamos algo de flauta de división dividida por flotador. Y dividamos ese número por 50. Y voy a poner una coma aquí y decir en cuenta por propagación de balas. De acuerdo, tienes que ponerte demasiado al día con las matemáticas y los valores. Esto es sólo cosas que hice en las pruebas, descubrí que funcionó. Entonces vamos a multiplicar esto por uno negativo. Por lo que te aseguras de que se esté moviendo en la dirección correcta. Y luego el murmullo que la bala extendió HUD. Voy a establecer ese valor como esa matemática. Por lo que revuelta spread HUD está en nuestra función de movimiento Crosshairs. Así, audaz HUD spread, estamos agregando eso a cualquiera que sea nuestro objetivo actual. De acuerdo, después de esto, lo que queremos hacer es que quieras poner un temporizador por evento. Los temporizadores son ligeramente diferentes de las líneas de tiempo. Queremos asegurarnos de que este bucles y queremos ejecutar este temporizador cada 0.01 segundos, por lo que se está moviendo ritmo rápido. Y fuera del evento, vamos a crear un evento personalizado. Y vamos a nombrar a este movimiento por aquí. O, Ooh, ese también es un nombre que ya usamos. Vamos a nombrar a esa mudanza cruz aquí y vamos a nombrar esto como gosh, moviéndonos por aquí. En realidad, llamémoslo traducir. Crosshairs es Eso es lo que estamos haciendo. En realidad los estamos traduciendo. Ahí vamos. Eso en realidad tiene más sentido. ¿ De acuerdo? Esto es lo que realmente queremos moverlos. Está bien. A mí me queda todo bien. No me muevo cruz aquí. Añadamos una rama porque queremos poder saber es nuestro jugador realmente en movimiento. Entonces vamos a buscar a nuestro jugador. Consigamos nuestro Componente de Movimiento de Personajes. Ahí vamos. Componentes de movimiento del personaje es esto, controla todo esto. Por lo que cambiamos la velocidad de caminata antes. Puedes hacerte saltar más alto, saltar siete veces, hacer presupuesto, todo un montón de cosas diferentes. Entonces estamos agarrando ese componente y hay algo construido en llamado está cayendo. Enchufa eso a la sucursal porque quieres comprobar si estamos cayendo o no. Si nos estamos cayendo, Vamos a seguir adelante y hacer pelos cruzados trans tardíos. Y el objetivo que queremos es crear esto a una variable y llamarlo objetivo caída. Entonces este será el número al que lo pusimos si estamos cayendo. Y hagamos este negativo 60. Entonces recuerda en Traducir crosshairs, agregamos esta entrada aquí. Entonces ahora está pidiendo un objetivo de un valor flotante. Entonces lo que estamos haciendo aquí es que estamos diciendo, vale, si estamos cayendo, empieza esto como negativo 60 y luego estamos agregando eso al diferencial audaz y luego configurando eso como este valor. Y este valor es lo que nuestro valor objetivo
será mover ese crosshair para cruzar la pantalla. Entonces no lo haces, como dije, tienes que ponerte demasiado atrapado en las matemáticas aquí. Pero eso es hacerlo, hacer que ese número de bala se extienda. Muévete a través de la pantalla de una manera que no parezca estúpida. Ellos ridículas. Entonces si no nos estamos cayendo, queremos sacar otra rama y queremos ver,
vale, no nos estamos cayendo, pero ¿a qué tan rápido nos movemos? Por lo que desguazó al jugador. Consigamos a nuestros jugadores o velocidad. Vamos a obtener el vector de avance después de la longitud del vector, en realidad la longitud del vector de nosotros moviéndonos. Y si esto es mayor que, uno, comprobará para ver si es mayor que uno. Porque si es mayor que uno, eso significa que nos estamos moviendo. Entonces si es mayor que uno, AKA nos estamos moviendo, entonces haremos nuestra mudanza. Ninguno se está moviendo. Traducir, traducir, cruzar aquí, evento. Y el objetivo para este va a ser la longitud de sentir de nuestro vector. Y vamos a multiplicar esto por uno negativo. Entonces lo inverso de eso. Y luego vamos a hacer alguna división, dividirla por 25, y entonces ese será nuestro objetivo para cuando nos mudemos. Y luego si no nos estamos moviendo, volvamos a correr eso, crosshairs trans tardíos. Y nuestro objetivo va a ser 0 porque no queremos que se muevan a ningún lado. Entonces esto es si el personaje de intercalación está caminando, personaje está parado, y éste, si el personaje está cayendo. Entonces queremos que eso sea realmente grande si estamos saltando. Entonces esa es la más grande. El valor más grande son el valor totalmente más pequeño porque son números negativos, ¿verdad? De acuerdo, Entonces ahí está todo nuestro guión justo ahí. Cruza su actualización todo eso. De acuerdo, lo último que queremos hacer aquí es el peso. ¿ Nos parejamos, vale, sí, estamos bien. Tan ativan tick, queremos revisar esto cada segundo. Aquí es donde entra lo de is Amy. Se agarró al jugador y diremos que está apuntando. ¿ De acuerdo? Porque si estamos apuntando a sitios, no
queremos que venga nuestra cruz aquí, ¿verdad? Entonces vamos a agarrar de nuevo el crosshair Lienzo. Y hagámoslo configurar de nuevo la visibilidad. Copiar pegar. Está bien. Vamos a configurar esto para que se derrumbe y luego pongamos esto para que sea visible. Y luego lo último que queremos revisar es que
queremos sacar al jugador y luego sacar de nuevo la carga. Y luego queremos volver a apagar eso. Entonces si no estamos apuntando y tenemos un arma, entonces nos pondremos a ser visibles. Si lo estamos si estamos apuntando, pondremos eso para que se derrumbe. Lo cual es como si no lo pudieras ver. El motivo por el que queremos poner este paso adicional aquí es que si no tienes arma, pero pulsas el botón derecho del ratón, hará
que se muestre quieto, incluso cuando no tengas arma. Así que va a ir al juego un poco así. Entonces vamos a bajar esto. Caja de comas quita el crosshair. Cuando Amy abajo sitio. No queremos verlo más ni duda citar a Scott que en ese caso. Entonces si le pegamos a Play, no hace nada porque necesitamos
hacer un par de otras cosas realmente, realmente fáciles. Por lo que ahora vamos a nuestro HUD principal. Arrastra eso, y luego queremos buscar en nuestro crosshair y soltarlo en el panel de lona. Va a aparecer, mirar y realmente estúpido. Entonces sigamos adelante y anclemos eso al centro de la pantalla. Establezca para que sea 0. En 0. Vamos a configurarlo para que sea contenido de tamaño dos. Eso en realidad es muy pequeño. Voy a ponerlo en 100 y por un 100 y no ajustarlo al contenido que se ve mucho mejor en una alineación para x es 0.5 y la alineación para y es 0.5. Entonces ahí vamos, Ahí está justo ahí. Y por último, vayamos con nuestro jugador, y vayamos a nuestro gráfico de eventos y deberíamos encontrar eventos que comiencen a jugar. Y vamos a crear nuestro widget. Necesitamos realmente crearlo para añadirlo a la pantalla. Añadamos el HUD principal. Sigamos adelante y promovamos esto a una variable y
lo llamemos HUD principal para que podamos usarlo más adelante. Y luego sumémosle a la vista. Y luego diremos crea campana principal. Esto es lo que en realidad está haciendo que el HUD se presente en la pantalla. Entonces ahora si pasamos en juego, no
verás nada en si estoy tratando de apuntar. Bueno, no tenemos funcionalidad dirigida, pero no está haciendo nada. Recoge un arma. Ahora tenemos nuestros pelos cruzados aquí y no se están moviendo, que es lo que
acabamos, nos encanta ver que eso suceda después de que pasamos todo ese tiempo codificando. ¿ No te encanta? Entonces sigamos adelante y arreglemos eso. De acuerdo, Así que resulta, me perdí un paso extra bastante crucial que tenemos que hacer. Entonces en nuestro jugador, en nuestro gráfico de eventos en este evento de armamento equipar, Vamos a seguir adelante y agarrar la referencia a
lo principal como hicimos y agarrar nuestro crosshair. Y entonces lo que queremos hacer es que queremos ejecutar la actualización de crosshair. Cuando equipamos un arma. En realidad no está funcionando en menos, lo hacemos. Entonces eso debería funcionar ahora. Y entonces la otra cosa que queremos hacer ahora que son pelo
cruzado está habilitada es que queremos correr a través su actualización cada vez que volvimos a conocer un arma y cambiar entre ellas, igual de una especie de seguro a fallas, asegurándose de que todo eso esté funcionando en realidad. Entonces solo voy a seguir adelante y copiar esto, ve a Action Mappings paste. Y luego voy a enchufar cada uno de estos nodos aquí solo para
asegurarme de que seguimos ejecutando ese evento cada vez que cambiemos un arma como esta, arrastra eso por ahí ahora. Entonces ahora si entro, golpea guardar. Otra cosa, también me olvidé de cambiar este a la cruz derecha aquí. Pero si fueras inteligente, no cometiste ese error. Entonces vamos por aquí. Es arma. Y ahora si saltamos, se mueve, vuelve. Se está moviendo alrededor de la pantalla. Eso siempre va a ser del mismo tamaño ahora mismo. Pero se puede ver que nuestros cruces se están moviendo. Y luego si crees que se están moviendo demasiado o no en absoluto, puedes ajustar algunas de las matemáticas, algunos de esos números dentro. Entonces aquí. Algunas de estas matemáticas en algunas de estas matemáticas mantendrán la negativa, pero como dividir por un número diferente, dividido por un número diferente, establece esto como un número diferente, y eso te dará ligeramente diferente resultados. Para que puedas seguir adelante y jugar con eso a tu gusto. Pero aparte de eso, todo está funcionando, todo se ve bien. Entonces te veré el próximo.
15. Crear el HUD principal: Hey a todos y bienvenidos de nuevo a otro video. En el último, creamos algunos cruces dinámicos. Y en este vamos a seguir haciendo nuestro HUD principal y haciendo nuestra información de armas en ciertas cosas como esa. Entonces al igual que en el último video, vamos a empezar haciendo un par de variables. Estos van a existir dentro de nuestra base de armas. Adelante y hagamos tres de ellos. Entonces los dos primeros vamos a ser enteros. Una de ellas queremos hacer como munición actual. Y de tipo entero. Vamos a hacer otro llamado total actual. Y luego otro que se llama ¿cómo queremos llamarlo? Vamos a llamarlo tipo munición, y haremos esto de tipo texto. Es compilar para que podamos editar estos. Entonces para munición actual, esa va a ser la cantidad actual de AMO que tenemos en nuestra revista en cualquier momento dado. Entonces para el valor predeterminado, hagámoslo algo así como tal vez como 30. Entonces para nuestra munición total actual, Vamos a darnos mucha munición y digamos como 244 o algo así. Y para el tipo de munición, vamos a hacer algo como Espacio de raqueta, espacio auto, soportes, algo en la línea de eso. Está bien, y así como antes, si abrimos nuestro auto rifle, por ejemplo, ahora tenemos esas variables. Y podemos cambiarlos de forma independiente. Lanzagranadas, más brillante, puedes cambiarlas y todo eso, sin embargo ya te gustaría. Entonces ahora volvamos a nuestra carpeta de interfaz de usuario y vamos a crear un nuevo widgets. Y llamemos a esta información de arma. Y abramos eso para este. ¿ Con qué vamos a empezar? Adelante. ¿ Es esto una especie de jerarquía grande, esta cosa. Entonces vamos a pantalla completa y vamos a ir a deseada. Ya. El primero que queremos agarrar es una caja vertical. Arrastremos eso encima de nuestro panel de lona y podemos reemplazar el panel de lona 0? Ahora queríamos hacer, Vale, tal vez soy como tratar de deshacerme del panel de lona. A. No
podemos esperar un segundo. De acuerdo, vamos a borrar. Simplemente puedo borrar el panel de lona. Ahí vamos. De acuerdo, cambiemos el nombre de esta caja principal. Queremos que todo esté centrado alrededor de esta caja, no un panel de lona al azar. El motivo es que si tenemos la caja de tamaño y aquí
tiene diferentes parámetros donde solo queremos que todo se cree en esta caja. El primero que queremos hacer es crear un no una declaración de nuestra, ¿Cómo se llama? ¿ Barra de progreso? Nos vamos a llamar barra de aguante. ¿ De acuerdo? En la barra de aguante, en realidad no vamos a hacer nada con ella todavía, pero vamos a mantener estos como son. Yo estoy de izquierda a derecha está bien. Podemos cambiar algunos de los Colores de Relleno y Opacidad. Eso se ve bien por ahora. Vamos a quedárnoslo, Vamos a quedarnos con eso por ahora. A continuación queremos hacer una superposición y vamos a poner la superposición en la caja principal. Y lo mantendremos como una superposición y veremos cómo está debajo de ella así. Entonces tenemos esta caja vertical,
la caja principal, el estándar nuestro en la parte superior, y luego la superposición está por debajo y podemos moverlas así y se mueven en la jerarquía, pero queremos la superposición por debajo. Vamos a seguir adelante y hacer un desenfoque de fondo. Va a poner eso encima de la superposición. De tal manera que vive dentro de dicha superposición. Y luego por nuestro fondo borroso, Vamos a seguir adelante y que sea un relleno así. Entonces está llenando todo el asunto, la fuerza de desenfoque. Pongamos que sea algo así como 1. Para que se pueda ver eso ahí dentro. Es un poco difícil de ver ahora mismo porque todo es tan pequeño. Pero quiero decir, eso es una cosa. A continuación queremos una imagen y la imagen va a vivir en la superposición así. Y sólo llamemos a este fondo. Esto va a llenar todo está bien, para el color y la opacidad. Hagámoslo negro. Y luego por nuestro valor, hagamos este 0.35, algo así. Por lo que está creando este tipo de imagen negra borrosa justo aquí. Moverse a lo largo en nuestro tamaño de imagen. Si no ves esto bajo apariencia, solo abre pincel. Vamos a fijar esto para que sea 250 por 150. Y luego ya que es barra de aguante está tan cerca, Vamos a seleccionar mi barra de aguante. Y luego en el relleno
Inferior, Hagamos algo así como 10 tal vez. Por lo que hay un poco separado. Y en realidad podemos ver como solo haremos eso como SharePoint 75 o algo así sólo para que podamos ver eso y podamos meternos con los colores y cosas diferentes como esa. Posteriormente. Moviéndonos a lo largo, hagamos una caja horizontal. Ponga eso en nuestra superposición, y nombraremos esta caja de conteo de munición o algo así. Hagamos relleno a la izquierda del seis negativo. Espere no, al top negativo 6. Y luego quiero hacer esto un poco centrado aquí de esa manera. Me refiero a que 0. Ahora neg negativo seis porque había algunas cosas raras con el texto que lo hacían lucir mejor de esa manera. Lo siguiente que queremos hacer sin embargo, es que queremos hacer un texto y ponerlo dentro de nuestra caja. Y luego para nuestro texto, lo que queremos hacer es, oh, ya veo. Hagamos que el texto tenga seis negativos y luego la munición cuente. Esa es la que tuvo seis negativos. Por eso ¿Quién es el texto que se ve un poco extraño para nuestro valor predeterminado para un texto. Hagamos sólo 0, 0 para el color y la opacidad. Simplemente hago como un poco de como si solo ves esta línea justo aquí, solo ponla ahí mismo. Habrá como punto 77 para todo así. Es un poco lo que me gusta para el tamaño debajo del tamaño de fuente a 64. No creo que necesitemos ningún tipo de sombras ni nada por el estilo. Entonces eso se ve bastante bien. Algo que sí queremos hacer es importar una fuente específica. Entonces sigamos adelante y hagamos eso ahora muy rápido. Entonces si aún no lo has hecho, puedes seguir adelante y descargar los archivos del proyecto,
los archivos del curso dondequiera que se
llamen, en cualquier sitio web en el que estés viendo actualmente este curso, deberías ver tres carpetas dentro de este proyecto archivos, fuentes
de audio e iconos. Lo que queremos hacer es en nuestro juego FPS, Vamos a crear una carpeta nueva y llamar a algo fuentes. Y pongamos un color a rojo. Abramos esto, abrimos fuentes y verás paresis peri step audaz y semi audaz. Solo arrastremos y soltemos ambos de ahí. Sólo dijo que sí a todos. Y va a crear cuatro activos diferentes. Algo que podemos hacer para que esto sea un poco más placentero de mirar, es que si haces click en uno de estos, verás que aparece realmente pequeño. Adelante y haz que este tamaño de fuente sea como 100, y lo hará más grande por defecto. Y ver eso para ambos, algo así. Y simplemente guarde ese activo así. Ahora, de vuelta dentro de nuestra información de arma en el texto debajo de las fuentes. Hagamos este semi audaz y dijimos ahora tenemos esta cosa de aspecto ahí mismo. Y mi simplemente renombrar este texto también. Texto actual de munición. ven bien. Dentro de nuestra caja horizontal, queremos crear otra caja vertical. Entonces pongamos eso encima de la horizontal. Y solo podemos quedarnos con ese nombre. Eso está bien. Y aquí es donde se pone un poco incómodo porque ahora dentro de esa caja vertical, queremos poner una caja horizontal. Entonces tenemos todo un montón de cajas diferentes. Entonces volvamos nuestro texto y pongamos eso en esta caja horizontal. Y vamos a nombrar este texto de munición de reserva. Una vez más, lo que queremos hacer aquí es
que queremos dejarme solo revisar mis notas muy rápidamente. Ah, ya veo. Ya veo. Ya veo. De lo que queremos poner esto como es sólo un pequeño corte así. Vamos a establecer que este sea del mismo color. Un poco esta línea con esta línea, estará
lo suficientemente cerca. No necesitamos ser súper perfectos aquí. Y además todo es preferencia personal por la fuente. Pongámoslo a 20. Y vamos a hacer el semi audaz una vez más. Y esto debería ser, creo que debe quedar alineado. No, hagámoslo arriba alineado y centrado. Y entonces eso se verá bien. Vamos a copiar y pegar este texto. Y luego pondré uno justo al lado. Y sólo diremos texto de reserva de munición. Y otro, ambos colores están disponibles, lo que se llama reserva. Sólo llamemos a esto. Texto de barra inclinada. Y entonces esto no será texto de reserva de munición. Establezcamos esto como ceros 0000 por defecto. Y entonces hagamos esto centrado y superior. Eso es correcto. Todo esto debe ser correcto. 20. Sí. Sí, creo que se ve bien. Está bien. Lo último que tenemos que hacer es crear un texto más. Y queremos que esto esté en la caja vertical. Entonces ahora lo pondrá debajo así. De acuerdo, y entonces aquí es donde vamos a poner nuestro tipo de fuego. Entonces vamos a centrar este también, y alinearlo de abajo. No necesitamos poner ningún relleno. El color una vez más, eso es como un poco de color gris blanquecino que creo que se ve bien, Hagamos semi negrita. Siempre puedes dominar estas cosas como quieras. El tamaño de esto va a ser de 15. El valor predeterminado. Vamos a configurar eso para que sea espacio entre soportes, auto y todas las tapas, soporte Enter. Por lo que lo pone algo así. Y estos en realidad no están centrados. Interesante. Probablemente como un pequeño ajuste que aún me tocó rehacer. Podría ser con esta caja vertical. Eso se ve mejor así. Con estos no se ven del todo correctos. Probablemente esto tenga algún tipo de relleno. Déjame comprobar aquí muy rápido, averiguar qué está causando eso y no alinear como quería. Ok, entonces todo es realmente igual, pero en esta barra, hazlo en realidad es una barra inclinada y luego barra espaciadora y luego pulsa Enter y lo separará y estará más centrado. Ahora, la otra cosa es que quiero separar un poco más a estos de los otros. Entonces una cosa que podemos hacer es que podemos crear algún relleno izquierdo de como fino para tal vez seis o algo así. Y entonces esos números van a estar un poco más separados. Ahora, en la transformación de render para nuestra barra de aguante, vamos a hacer este lanzamiento 1.5. Voy a si ese es un número bastante bueno y luego puedes tragar en los colores que te gusten. Puedes ponerlo rojo, ya sabes, y yo lo haré rojo. Yo lo haré de ese color rojo. Y luego un estilo para la imagen de relleno. Puedes conseguir diferentes, diferentes colores aquí también. Se puede hacer ese rojo y azul y eso en realidad le dará como un tinte diferente. Entonces sí, hay muchas cosas que puedes hacer con la diferente barra de aguante y diferentes opciones como esa. puedas hacer ese look como quieras. De acuerdo, Así que sólo como recapitulación, te voy a mostrar todo. Por lo que tenemos una caja principal. Y si tienes algún tipo de cosa que se vea rara, solo
me desplazaré por todos los ajustes. Como dije, mucho de esto es solo preferencia personal como quieras que se vea. Pero estos son todos los ajustes que tengo actualmente. Las superposiciones así, desenfoque de
fondo como este. Entonces solo puedes sentirte libre de hacer una pausa si quieres copiarme, o siéntete libre de solo hacer lo tuyo, porque realmente, realmente no importa. Esto es sólo hacer que se vea de la forma en que tipo de traté de replicarlo un poco
campo de batalla por las fuentes y cosas así. Puedes hacer lo que quieras hacer. No hay respuesta correcta o incorrecta. Simplemente puedes poner dos números de texto en la pantalla si no quieres que parezca elegante. Y los marcadores de aguante, esas son las únicas dos cosas en las que
realmente estamos poniendo funcionalidad. El único guión que existirá en este video es encuadernar algunas de estas cosas. Entonces ahora que hemos pasado por todo eso, vamos a atar algunas cosas a estos números. Nosotros, estas son las variables que creamos al inicio del video. Entonces sigamos adelante y hagamos eso ahora. Entonces en el gráfico de eventos, sigamos adelante y obtengamos el gráfico de eventos del personaje del jugador de nuestra misma información exacta del arma. Si no estabas al tanto, elabora al jugador, promociona a una variable, nombra jugador. Al igual que, tal. Como lo hemos estado haciendo muchas veces ahora. Pero nunca envejece. Siempre quieres hacer referencias a nuestro agradable bilayer para que
podamos seguir sacando datos de ella así. De acuerdo, lo siguiente que vamos a hacer es que vamos a crear algunos encuadernamientos. Entonces volvamos con nuestro diseñador. El primero que queremos hacer es conseguir este texto actual de munición. Y luego para nuestro texto, Vamos a enlazar y crear un encuadernación. Se va a crear automáticamente una función. Y solo llamaremos a esto conseguir munición actual, porque el nombre que se le ocurre es absolutamente atroz. Entonces sigamos adelante y agarramos a nuestro jugador. Y luego queremos sacar esa carga. Y entonces queremos decir iguales, iguales tiene un arma. Por lo que sólo queremos que este guión se ejecute si tenemos un arma una vez más, porque no queremos que el juego se confunda. Entonces si tenemos un arma de la que podemos hacer lo que estamos a punto de hacer. Entonces fuera de nuestro jugador, Vamos a conseguir nuestra arma actual. Cualquiera que sea el arma actual que esté en nuestras manos. Y saquemos la AML actual de esa arma, esa variable que creamos el inicio del video. Y si enchufa esto y voy a hacer un pequeño nodo de conversión, y va a hacer justamente eso. Entonces eso es todo lo que tenemos que hacer para eso. Volver a nuestro diseñador. Vamos a seguir adelante y dar click en Reservar textos de munición y vamos a crear un encuadernación para eso. Cambiemos este nombre de aspecto atroz para conseguir munición Reserve. Y luego va a ser, en realidad
va a ser exactamente lo mismo. Entonces lo que podemos hacer es conseguir que todos estos guiones lo copien y lo peguen aquí. Enchufe, enchufarlo. Justo así. Pero en lugar de munición actual, queremos ponernos al día. Los conjuntos de munición totales son munición más grande. En. Entonces lo último que queremos hacer es conseguir este enlace de Auto Text para crear encuadernación. Y en realidad no cambiamos el nombre y eso está bien, Digamos que te despidan de tipo o algo así. Y entonces va a ser en gran parte la misma cosa exacta que queremos hacer. Sí, sigo cambiando entre él es cosas incorrectas. Volvamos a copiar eso. Vuelve a pegarlo. Nosotros sólo queremos correr esto si realmente tenemos un arma, en realidad lo es ¿no? Esto y luego vamos a conseguir el fuego y ese tipo de fuego o consigue lo que llamamos que estoy afuera. En caso de que se deba disparar tipo. O dirá obtener tipo de munición y entonces eso sólo debería enchufarse directamente así. Sólo correrá si tenemos el arma. Y así sí, eso se ve todo bien y bien. Por lo que ahora de vuelta en nuestro HUD principal, queremos crear esto. Agarremos un arma Info, colóquelo en el panel de lona. Su tamaño al contenido. Adelante y anclemos esto a la parte inferior derecha. Digamos, piensa que es un lugar bonito, bastante decente. ¿ Verdad? Y la posición x, Hagamos negativo 350, posición y, negativo doscientos cincuenta, ciento 3000 y 0. Todo eso está bien. Creo que eso pensará que está bien, en realidad. Eso se ve bastante bien. Lo último que queremos hacer aquí es sólo
queremos tener este show si tenemos un arma, que es lo habitual. Por lo que vamos a tener que crear una referencia a nuestro jugador una vez más. Entonces sigamos adelante y hagamos eso realmente rápido. Um, sólo voy a saltarme adelante porque
lo hemos hecho tantas veces. No lo sé, perdiendo más tiempo. Entonces nos vemos en un segundo. De acuerdo, ahora que hemos creado una referencia a nuestro jugador, Vamos a arrastrar esa referencia para sacar nuestra carga de nuevo y volver a encenderla. Esto es lo que hicimos especie de en el último video con el otro el crosshairs. Y entonces lo que queremos hacer es conseguir información de arma y establecer visibilidad. Copiar pegar. Tenemos un arma, es visible. Si no tenemos arma, se derrumba. Enchufa esos dos objetivos de esa manera. Y eso debe ser todo lo que necesitamos hacer ahí mismo. Hueso. Entonces lo que ahora podemos hacer es entrar en estas diferentes armas aquí mismo. Y quiero que sigas adelante y te tomes un tiempo y pongas en cuanto AML quieres el arma? Medio. Y cuánto y qué quieres tener total. Entonces cambia esos números y luego te veré en un segundo. Está bien. Entonces ojalá eso no fuera demasiado duro. Todo lo que tenías que hacer es abrir las armas y cambiar al animal actual en el ML total actual. Entonces ahora encaja todo correctamente cuando saltamos y
jugamos, equipamos un arma, tiene
lo que sean esos números, y luego cambiamos a la diferente arma. Y en la otra arma y la otra arma, la otra arma y la otra arma. Ahora cambiará lo que tengamos para la munición actual,
la munición total actual, y luego nuestra ráfaga. Así que acabo de decir auto sencillo para spread
automático para la escopeta en el resto de ellos solo di sencillo, esos números están cambiando. Entonces si quieres mover esos números o hacer cualquier tipo de ediciones al estilo visual de eso. Siéntase libre de meterse en los widgets y hacer eso, pero la funcionalidad de eso sigue ahí. Eso es lo principal que quería mostrar cómo hacer. Entonces sí, eso está todo listo. Entonces gracias por ver y nos vemos en el siguiente video.
16. Functionality de Sprinting: Hey todos y bienvenidos de nuevo a otro video. hoy vamos a seguir trabajando en nuestro HUD. En el último, agregamos diferentes números de munición. Y si bien todo eso está funcionando, una cosa que no está funcionando es la barra de resistencia. Entonces lo primero es lo primero, en realidad
tenemos que agregar una funcionalidad de sprinting antes de que realmente podamos vincular eso. Eso es lo que vamos a hacer ahora mismo. Entonces para empezar, abramos a nuestro personaje y vamos a entrar en nuestra gráfica de movimiento. Eso es lo que vamos a estar poniendo esto. Entonces tenemos nuestra caminata saltando ahora vamos a sumar nuestro sprint. En realidad antes de hacer algo, tenemos que sumar eso a nuestros insumos. Así que vamos a entrar en nuestra configuración, Configuración
del proyecto, y luego entradas debajo del motor. Y vamos a crear un nuevo mapeo de acción y llamar a este sprint. Y pongamos eso en nuestra tecla de turno izquierdo. Entonces ahora cuando entramos en nuestra gráfica de movimiento, podemos llamar al sprint así. Y podemos empezar a hacer algunas cosas. Primero lo primero, queremos sacar algunas ramas porque hay ciertas cosas que nosotros, bueno, no queremos poder ser capaces de sprint si estamos haciendo algunas de estas cosas. Entonces vamos a la trama es apuntar y decir
no es apuntar porque sólo me gusta toparme mucho con la verdadera rama. Entonces si no estamos apuntando, entonces vamos a hacer otra comprobación. Y vamos a decir, Bueno estamos recargando. Esta parte es opcional. Algunos juegos te permiten recargar mientras estás corriendo. Aquellas que estamos haciendo no lo harán. Por lo que voy a poner desactivables opcionales, corriendo bien mientras recargas. Entonces si quieres que tu juego pueda, si quieres poder sprint y recargar al mismo tiempo, puedes quitar esa parte. Depende de ti. Algunos juegos tienen un like puedes interrumpir el sprint o interrumpir el ferrocarril difundiendo todo lo que depende de ti. Pero definitivamente no queremos
poder Sprint Hall estamos apuntando que se vería ridículo. Vamos a sacar una sucursal más aquí. Y en realidad vamos a almacenar esto dentro de una macro. El macro es diferente de la función un poco en que
es, no tiene estos cables de ejecución. Por lo que puedes tener entradas y salidas, pero no tiene que tener un cable de ejecución blanco. Puede generar este tipo de datos. Entonces vamos a enchufar esto en un, vamos a devolver un padecimiento, un booleano. Entonces vamos a crear una macro y vamos a llamar a esto son, agotamos signo de interrogación. Entonces cuando se trata de nuestro juego, tenemos la barra de aguante. Y así si se agota la barra de resistencia, no
podremos sprint hasta que se recargue a cierto valor. Entonces vamos a crear algunas variables más y diremos que está agotado. interrogación. Y vamos a crear otra variable y llamar a este nivel energético. Y haremos que esto de tipo flote. Entonces sigamos adelante y vamos a agarrar está agotado en decir, no sólo hace que sea más coherente para mí, preferencia personal. Y vamos a agarrar nuestro nivel de energía. Y digamos si esto es mayor que o igual a, apunte a, lo que podemos hacer es que se pueda sacar esto y decir, y quitar esos. Y luego jalemos el, enchufemos esto en la salida y volcamos eso. Y podemos simplemente mantener el valor de retorno del nombre. Entonces lo que esta macro está haciendo es verificar si ambas condiciones son ciertas. Ambos, se puede hacer uno u otro sacando o, pero en este caso queremos que ambos sean ciertos. Entonces para esprint, lo que esto está diciendo esencialmente es que no podemos agotar, va a encender esa variable agotada cuando el nivel de energía es igual a 0. Y la razón por la que estoy configurando esto para apuntar es porque quiero que la barra de resistencia recargue el 20% del camino arriba antes de que podamos volver a sprint. Porque entonces lo que sucederá es que la barra de resistencia subirá como 1% y ahí podrá volver a sprint. Y sólo podrás ser capaz de sprint sólo durante 0.5 segundos antes de que se acabe de nuevo. Entonces quiero que quiera darle tiempo para que eso se recargue un
poco antes de que podamos empezar a sprint de nuevo. Entonces volvamos a nuestro movimiento y en realidad podemos sacar esta macro y hacerlo así. Ahora la razón por la que creamos esto en una macro, por lo que técnicamente hablando, podríamos haberlo hecho así. Significa exactamente lo mismo. Pero al almacenar estos datos en una macro. Por un lado, es mucho más limpio, verlo de esa manera opuesta a esta manera. En el número dos, ahora podemos sacar esto un montón de tiempos diferentes y usarlo un montón de tiempos diferentes. En tanto que esto tendríamos que copiar pegar este largo guión cada vez. Entonces ese es probablemente un consejo bastante grande. Recuerdo cuando empecé a aprender a hacer esto, realmente
me quedé atrapado como bien,
como si tuviera que usar una función aquí son pintura azul, una Interfaz de Blueprint o Event Dispatcher son como todas estas cosas diferentes. Y tengo que poner esto en una macro. Muchas de esas cosas existen solo por conveniencia. Entonces como almacenar en una macro, como dije, ahorra espacio y te permite usarlo más una vez sin intentar encontrarlo y copiar pegando esto, esta larga pieza de código. Pero enchufando esto aquí y haciendo eso al usar la macro hace exactamente lo mismo. Por lo que mucho de eso simplemente se reduce a la preferencia personal. En, a medida que consigues más experiencia en scripting, tratas de hacer cosas que son más eficientes. Entonces estoy seguro de que hasta aquí, como se puede lograr lo mismo. Estoy tratando de lograr múltiples maneras diferentes y podrías ser capaz de encontrar una manera que técnicamente sea más eficiente que a mi manera. Y eso está bien. Pero esta es una forma en la que sé hacerlo y funciona. Entonces eso es lo que vamos a hacer. ¿ De acuerdo? Entonces si todas estas condiciones son ciertas, está bien. No estábamos agotados, no
estamos recargando y no estamos apuntando, entonces podemos empezar a correr. Y una vez más, vamos a hacer esto dentro de una función. No porque sea súper complicado, sino porque entonces podemos invocarlo cada vez. Muy bien, entonces en start sprint, queremos revisar una cosa. Vamos a conseguir los componentes del movimiento del personaje y diremos que está cayendo. Y una vez más, diremos que no porque así me gusta. No me gusta salir de la rama falsa por defecto. Al igual que salir de verdad porque mantiene las líneas bonitas y rectas. Entonces si no nos estamos cayendo, aka si estamos en el aire, no
quiero poder sprint cuando estamos en el aire. Eso sería muy poco realista. De acuerdo, Entonces lo que queremos hacer es agarrar de nuevo el Componente de Movimiento de Personajes. Y vamos a conseguir, vamos a establecer la velocidad máxima de caminata, este valor aquí. Y promovamos esto a una variable y llamaremos a esta velocidad de sprint. Y por defecto voy a hacer este cien, cien, diez cientos. Por lo que nuestra velocidad de caminata máxima predeterminada es 750 en Estoy configurando que sea 10000. Y entonces tenemos esto, o tal vez no. De acuerdo, vamos a crear una nueva variable y digamos es correr que ya hicimos eso como no lo hicimos. Y es un booleano. Y pondremos esto para que sea cierto. Compilar y Guardar, y es todo lo que tenemos que hacer. Por lo que una vez más, permítanme simplemente reiterar esto. Yo puedo hacer esto y podemos hacer que se vea así. ¿ De acuerdo? O solo puedo conseguir empezar sprint. Y así se verá. Entonces podemos hacerlo así cada vez o podemos almacenar esos datos en una función y simplemente hacerlo así. Entonces no tenemos que conseguir este código grande y feo cada vez que tenemos mucho espacio que ahorra. Y entonces no tenemos que copiar pegar esto cada vez que podemos simplemente seguir llamando a la función. Entonces ese es un gran consejo. ¿ De acuerdo? No te pongas al día como siempre usar un evento es baterías haciendo una función en Lego y tratar de entender todo esto hasta. Es, es por factor de conveniencia. De acuerdo, así que ojalá eso tenga sentido. Enfriar. Entonces ahora estamos corriendo. Lo que queremos hacer ahora es que queremos sacar nuestra carga. Porque se quiere que pasen dos cosas diferentes
dependiendo de si tenemos un arma o no. Entonces, encenderemos o carguemos. Porque aún queremos poder dividir este sprint. Si no tenemos arma. ¿ De acuerdo? Si no tenemos arma, vamos a sacar una línea de tiempo y llamaremos a esta resistencia. ¿ De acuerdo? Si tenemos un arma, queremos dejar de disparar nuestro arma. Porque cuando corres, ¿sabes qué? De hecho voy a dejar esta parte aquí afuera por ahora. Y luego te mostraré cómo se ve sin ella. Creo que eso va a ser bastante guay en realidad. Entonces tenemos esta cosa de la resistencia, lo haremos, lo guardaremos para más adelante. Está bien. Puede hacer una nota o algo así. No sé qué lo averiguaremos. De acuerdo, en la barra de resistencia, Abramos esto y hagamos esto 10 segundos de largo. Es poder correr durante 10 segundos y crear un Float Track. Y llamaremos a esta cantidad de resistencia o algo así. De acuerdo, Sigamos adelante y creemos dos fotogramas clave. Primero será en el tiempo 0 y un valor de uno. Y el segundo será en un tiempo de 10 todo el camino en un valor de 0. Entonces si hacemos clic en estas pequeñas cosas, realidad se
puede ver eso pasando de ese valor a ese valor. Por lo que se está moviendo de un 100% de sí mismo a 0% de sí mismo en el transcurso de 10 segundos. Queremos que esto juegue en esa jugada desde el principio, porque si jugáramos desde el principio, lo reiniciaría cada vez. Y queremos que este valor se mueva hacia arriba y hacia abajo. Al igual que constantemente. Entonces si escribimos aquí esprint un poco, se va abajo, entonces nos detenemos y luego volverá a subir. Y luego llegamos al final. Hará esto y volverá a subir un poco y volverá a bajar. Si golpeamos play desde principio cada vez que tocamos Shift, empezaría de nuevo aquí y nos daría diez segundos nuevos, que no es lo que queremos que suceda. Tan cool Cuckoo, cuco. Por lo que tenemos nuestra línea de tiempo. Fuera de la actualización. Establezcamos nuestro nivel de energía, esta variable que creamos. Pongamos eso a la cantidad estándar. Entonces ahora esos están directamente correlacionados, sacando de aquí. Y digamos que es igual si nuestro nivel de energía es igual a 0, AKA si nos quedamos mucho, si, y entonces esto va a salir del acabado. Vamos a reescribir esto un poco así. De acuerdo, entonces ahora si nuestro, si nos quedamos sin, vamos a ejecutar un evento llamado agotado. Entonces ahora del otro lado de tus líneas de tiempo tienes un montón de cosas geniales. Vamos a crear dos eventos personalizados. Vamos a llamar a un movimiento detenido y otro evento personalizado y llamar a esto agotado. Entonces si nuestro nivel de energía es igual a 0, vamos a ejecutar este evento agotado. Enfriar. Hagamos movimiento detenido primero. Si se detiene el movimiento primero cosas primero vamos a decir, vamos a preguntar si estamos agotados o estamos agotados. La gente quiere hacer dos cosas diferentes en base a si estamos o no agotados. ¿ Todo bien? Si lo estamos, si no estamos agotados, lo siento. Y trazar una secuencia. Y lo que queremos hacer es querer 0, en realidad
tenemos que crear esto. Por lo que creamos un sprint de inicio. También necesitamos crear un stop sprint. Entonces hagámoslo. No, crea una función, llámalo parar sprint. Y esto va a ser un bastante sencillo. Solo vamos a conseguir los componentes del movimiento del personaje. Establezcamos max, velocidad de caminata. Y solo, vamos a promover esto en realidad a una variable para que podamos, así que si, si quieres cambiarlo por otra cosa, puedes hacerlo muy fácilmente. Por lo que la velocidad máxima de caminata es 750. Entonces el defecto fue de 600, pero dijimos es de 750. Y así seguirá restableciéndolo a 750. Entonces de esta manera no tienes que entrar en la función como reescribirla en manual. Simplemente puedes cambiar la variable y se configurará dinámicamente para ti cada vez. Entonces, ¿qué hace que las variables sean agradables? Y queremos apagar esto es esprint, y es todo lo que queremos hacer para parar el sprint. Volvamos aquí. Entonces ahora si no estamos agotados, Sigamos adelante y detengamos el sprint. Está bien, y entonces esto se va a enchufar a parar. Va a detener la línea de tiempo en sus pistas donde está. Se va a decir sostén tus caballos por ahí. Entonces queremos tener un retraso. ¿ De acuerdo? Y queremos que esto se detenga. Entonces promovamos esto a una variable y diremos región de resistencia. Pausa y pondremos esto como dos segundos. De acuerdo, entonces, ¿qué movimientos pararon está haciendo aquí? Se va a revisar, ¿estamos agotados? Si no estamos agotados, aka si este número sigue por encima de 0, AKA si seguimos en algún lugar aquí y no estamos aquí, entonces lo que va a pasar es que vamos a detener nuestro sprint. Vamos a volver a poner nuestra velocidad máxima de caminata a la normalidad. Entonces vamos a esperar dos segundos. Y entonces esta cosa va a ir en reversa. Entonces digamos que estamos sprinting, estamos sprinting, estamos sprinting, estamos sprinting, estamos sprint o el tallo está bajando, luego dejamos de girar. Se va a parar aquí mismo. Espere dos segundos. Y luego lo va a tirar a la inversa y volver a subir y darnos alguna declaración de vuelta. Eso es lo que los movimientos pararon está haciendo. Ahora si estamos agotados, bien, entonces vamos a establecer está agotado para ser verdad. Entonces ahora esto no tiene nada de qué quedarse sin. No va a correr esto, va a correr esto. Lo que queremos hacer es que todavía queremos dejar de sprint. Queremos que nuestro movimiento vuelva a la normalidad. Y entonces lo que queremos hacer es querer hacer un retraso. Y vamos a tener un temporizador diferente dependiendo de si estamos agotados. Por lo que sus promesas una muy variable. Diremos temporizador agotado. Y están agotados temporizador. Entonces estamos huffing y hinchando en lugar de dos segundos, Esperemos como cinco segundos. Y entonces vamos a girar se agota. Atrás. Hemos esperado son cinco segundos, tenemos aliento. ¿ De acuerdo? Y luego vamos a revertir desde el final. Entonces en lugar de simplemente revertir, así que así se puede revertir en cualquier momento. Este evento sólo se va a ejecutar aquí mismo si esto es igual a 0. Entonces queremos que esto se asegure de que se esté revirtiendo desde el final, que está justo aquí. Valor, nuestra resistencia está en 0. Entonces bada, bing, bada, boom, así es como lo hacemos. Eso es todo. Eso es hermoso. La única otra cosa que tenemos que hacer es asegurarnos que no podemos disparar el arma si estamos corriendo. Porque de lo contrario un poco disparan lejos a la izquierda. Y se verá realmente, realmente estúpido. Pero por el momento, como que
quiero exhibir eso porque creo que se vería hilarante. Y es un poco divertido gustar los bugs de show y mostrar como cómo tienes que ser tan específico con las computadoras. Basta pensar en todo para hacer que las cosas no sean ridículas. Entonces lo último que queremos hacer es que solo queremos entrar en nuestra carpeta de interfaz de usuario. Y vamos a entrar en nuestra información de armas. Y vamos a seleccionar en nuestra barra de resistencia. Entonces queremos, queremos realmente correlacionar esto. Y vamos al porcentaje aquí mismo. Y vamos a crear un encuadernación. Y digamos que se pone, se pone aguante es un nombre lo suficientemente fino. Y todo lo que queremos hacer esto y ser realmente fáciles de conseguir el jugador. Consigamos nuestro nivel de energía y empleemos eso en bada bing, bada, boom. El señor de todo el mundo entró en la habitación. Ahí vamos. Eso es todo lo que teníamos que hacer. Está bien. Entonces vamos por aquí ahora para que esto funcione. Oh, Dios. Ah, ya sabes, me he adelantado. Olvidó una cosa. Adelante y haz eso ahora. Entonces esto es lo que pasa cuando trato de purgar
deliberadamente el juego termina creándome que es lo que está pasando en este momento es ya que sólo podemos ver la barra de aguante si tenemos un arma y no tenemos nada que pase cuando tenemos un arma. Entonces, por el momento, solo asegúrate de que ambos entren en juego y luego asegúrate de que el nivel de energía esté establecido en uno. Nunca creo que nunca haya dicho eso. Esto se mueve en porcentajes. Está bien. Entonces, no lo pongas a ser un 100 o lo que sea, ponlo a ser uno. Entonces, ¿ahora qué pasa? Caminamos hacia un arma y la recogemos. Y tengo cadenas de impresión para mostrar la velocidad. Por lo que verás como un 1000. Y lo nuestro está bajando así. ve bastante genial. Pero si te das cuenta, nos quitamos las manos y volvemos a golpear Shift, no
hay forma de dejar de agotarse, pero viste ahí arriba conjunto de 750. Entonces lo que quiero hacer es que podamos tapar liberado y poner movimientos parados ahí dentro. Pero quiero ser cool en el aspecto profesional porque muchos juegos lo tienen donde no tienes que mantener pulsado turno todo el tiempo. Simplemente puedes tocarlo y eso es personalmente lo que prefiero. Entonces eso es lo que vamos a hacer. Sólo vamos a tener un toque de botón Sprint. Y luego una vez que levantes los dedos de las teclas, dejarás de girar. Pero ante todo, sigamos adelante y comentemos cuadro esto y digamos sprint con tres Ene o 18. Estancia, bar, así. De acuerdo, así. Siéntete libre de hacer cualquier modificación como con esta parte o lo que sea. Si tú, si quieres, teniendo que aguantar el sprint y luego soltarlo, como dije, puedes hacer esto y el movimiento disco se detuvo. Y entonces eso funcionará cuando sueltes la llave. Pero eso no me gusta. No me gusta mantener la llave todo el tiempo. A mí me gusta golpearlo y luego dejarlo ir. Y luego están soltando de w Como como funcionan muchos juegos, toggle sprint. Entonces hagámoslo ahora. Por lo que te permite ejecutar un tick de evento. De acuerdo, Y lo que vamos a hacer es que vamos a hacer una macro para esto. Y si esta macro es cierta, entonces correremos movimiento detenido. ¿ Qué hace esta macro schmancy de fantasía que dices? Bueno, te lo mostraré. Entonces sigamos adelante y creemos eso. Y diremos, ¿hemos dejado de movernos? Así. Lo que queremos hacer aquí es que queremos conseguir nuestro controlador de jugador. Y luego queremos comprobar es entrada clave abajo. Y la clave que buscamos es w. Si w no se está presionando hacia abajo y estamos corriendo todavía, entonces esto volverá así. Por lo que tenemos que estar corriendo, que se inicia golpeando a Shift. Entonces ese es uno de nuestros parámetros. Y luego para que esto vuelva cierto, también
necesitamos no tener la tecla W hacia abajo. De acuerdo, así que vamos a entrar en esto. ¿ Hemos dejado de movernos? No quiere dejarlo caer por cualquier pie allá vamos. Ahí está así. Y luego comentaremos cuadro, solo esta parte pequeña. Y solo, vamos a venir a esto y decir conectado a la línea de tiempo. Por lo que el movimiento se detiene. Después comprobaremos si estamos agotados o varios, Detener el Spread. Hará todo eso por nosotros. Regresando. Entonces diremos cheques para ver si tecla
W se libera mientras se sprint. Entonces si estamos corriendo, pero soltamos w, que es lo que naturalmente sucede. Dejaremos de esprinting. Entonces sigamos adelante y hagamos esto ahora. Nuestra llave y ahora estamos corriendo estaban girando y mi,
mi meñuelo no está en turno ahora mismo. Dejé ir w y se detiene. Y luego vuelve a subir. Y luego estoy corriendo otra vez, hit mostrado turno. Es un toggle. Aquí vamos. Así. Y así si lo sigo haciendo y luego se agota, se va a correr eso agotado y 750 y lo estoy golpeando de nuevo. No es esprinting. No esprinting. No es esprinting. Llega al 20 por ciento y luego me deja volver a hacerlo. Por lo que subió un poco más lejos antes de que pudiera volver a hacer. Entonces todo eso funciona genial. Toda la funcionalidad es correcta en, in place. Entonces aquí está nuestro guión para esto. Y entonces nuestro guión para esta lección que vamos a añadir es una cosa extra aquí más adelante. Pero sí, eso es todo. Entonces en el siguiente video, en realidad vamos a agregar una animación para que parezca que nuestros personajes se están esprint. Y entonces tendremos todo eso correctamente configurado. Entonces te veré ahí.
17. Agrega animaciones de Sprinting: Hola a todos y bienvenidos de nuevo. En el último video, agregamos algunas funcionalidades para permitir que nuestro personaje se sprint alrededor del mapa. Pero lo implementamos de una manera en la que sólo puede correr por un cierto periodo de
tiempo antes de que se agote y luego se ralentiza de nuevo. Y luego vinculamos eso con nuestra barra de resistencia. Tenemos un par de parámetros diferentes aquí. Lo hicimos como un tipo de sprint más toggle donde solo podemos tocar la llave y luego una vez que soltamos, dejamos de caminar. Nuestro personaje dejará de correr. Ese tipo de cositas depende de ti. Y también lo implementamos de una manera en la que No
puedes no puedes sprint si actualmente estás recargando, que de nuevo, preferencia personal, pero así es como lo construimos. Siéntase libre a medida que tenga más confianza en sus habilidades de scripting para hacerlo sin embargo, le gustaría que se ajuste a sus preferencias personales. Entonces lo que vamos a hacer en este video, éste va a ser bastante corto. Todo lo que vamos a hacer es que vamos a vincular nuestro es sprinting Boolean, que está configurado para ser verdad aquí mismo en mi deshacerme de estas cadenas de impresión realmente establecidas aquí mismo y empezamos a sprint. Y luego cuando detenemos el sprint, está configurado para ser falso. Vamos a vincular eso hasta nuestra gráfica de Anim para que podamos hacer una animación corrida. Entonces eso va a ser bastante guay. Por lo que se enciende justo aquí y luego se detiene justo aquí. Entonces sigamos adelante y hagamos eso ahora. Entonces todo lo que necesitamos hacer es entrar en nuestro personaje. Hagamos jugador y soy blueprint. Vamos a nuestro gráfico de eventos. Y luego fuera de esto, luego uno con nuestras otras referencias de jugador, vamos a arrastrar en jugador y vamos a ir Gets es sprint. Y promovamos esto a una variable y lo mantendremos el mismo nombre es sprinting. Para hacerla coherente para nosotros. Ya conoces el simulacro, vamos a variables para la animación de sprint. Entonces sabemos lo que hacen todas estas cosas. Una parte del cuadro de comentarios asíncrona el uno del otro. Eso se ve bien. Entonces ahora volvamos a nuestro movimiento de jugadores. Entonces ve a la gráfica de Anim por aquí, encuentra nuestra máquina estatal de movimiento jugador y vamos a añadir un nuevo estado. Voy a arrastrar cambiar de arma como aquí, porque este nuevo estado se va a conectar con ambos. Queremos crear transiciones para ambos porque
podemos sprint si cambiamos un arma mientras cambiamos de armas, eso está bien. De acuerdo, Así que queremos agregar nodos yendo allá y de vuelta para ambos. Entonces están de vuelta y van a tener las mismas reglas exactas. Entonces si estamos incansables y queremos dirigirnos al sprint, sólo
vamos a revisar ¿vamos a correr? Si estamos corriendo, vamos a ejecutar esta animación. Si no estamos corriendo, entonces queremos volver a nuestra Animación de Run Idle. Lo mismo vale para aquí, así sucesivamente, cambiar un arma. Y empezamos a correr. Sólo vas a decir: Bueno, ¿estamos corriendo? Y luego si quieres ir en el camino de regreso, sprint. No esprintar. A simple como eso. Lo último que tenemos que hacer es solo asegurarnos de que en realidad es animación para aquí y no tenemos esqueleto de un solo personaje. Entonces vayamos a un juego de disparos. Animaciones, FTP, y se llama roadie run. Es el único rifle roadie run justo aquí. Sine al nuevo esqueleto de jugador esqueleto para abrir esto, esto también va a tener sonidos rotos. Entonces si recuerdas cómo hacer eso a partir de videos anteriores, realidad, probablemente deberíamos tener ese de aquí correr. Bueno, ahí tienes. Y podemos hacer esto un poco más fuerte, como tal vez como 1.5. Los pasos son un poco más ruidosos para correr. Tan seguro. Entonces ahora suena así. Bastante cool. Entonces ahora deberíamos ver que escribió Irán justo aquí, enchufarlo así, compilar y eso debería ser todo. Normalmente siento que olvido algo pero creo que eso es todo. Entonces vamos a recoger el arma. Y ahora lo mismo tenía Sprint. Y ahí vamos. Ahora estamos corriendo. Y luego nos soltamos. W o, SMS, raro pasando ahí. Cuando dejamos de correr, Qué diablos está pasando. Está bien. Entonces descubrí el problema en lugar de su sprint y éste que vamos a usar es cambiar de arma. Muy bien, así que en el camino aquí está cambiando arma a es esprint. Vamos a decir que no es cambiar de arma. Podemos pasar de cambiar de arma a correr si no estamos cambiando de arma. Y podemos pasar de la animación de sprint a esta animación de arma de conmutación. Si estamos cambiando un arma. Entonces ahora esto debería funcionar. Ahí vamos. La única otra cosa que tenemos es saltar animaciones. Por lo que está corriendo por el aire. Entonces este video no es demasiado largo. Vamos a seguir adelante y sumamos las animaciones de salto ahora mismo para que no nos veamos estúpidos. Entonces vamos a crear algunos nuevos estados en un estado y vamos a llamar a este salto, empezar. Otro estado, salto loop, y luego uno final. Salta y vete. Y estos, a diferencia de los otros, que no se están moviendo oh Dios mío. A pesar de eso. No se están moviendo de adelante y atrás. Estos moviéndose como un pequeño triángulo así. No sé si lo hicimos que conseguimos es en el aire. Nosotros no lo hicimos. Está bien. Esa es una variable que definitivamente necesitamos. Sí, vale, Así que en nuestra gráfica urbana, sigamos adelante y tratemos de Get Pewn Owner. Y luego vamos a conseguir nuestros componentes de movimientos de ese estanque, que va a ser nuestro jugador. Y diremos que está cayendo. Y entonces lo que es promover esto a una variable en la universidad está en el aire. Y golpeó la llave equivocada ahí. Ve. Algo así. Terminé por controles, saltando animación. Bada bing, bada, boom. Ve. Salario de eso. Sí, nos va a odiar por un segundo, pero ten la seguridad de lo que encontramos. Entonces hagámoslo si estamos en el aire. Por lo que vamos a pasar de la carrera al arranque de salto, a la transición de la, tenemos que ranura estas innovaciones de ninguna manera. Sí, lo hacemos. De acuerdo, así que sigamos adelante y hagamos esto primero porque se va a confundir si no lo hacemos. Entonces, solo tecleemos un salto en la misma carpeta y tenemos JumpStart. Queremos el rifle uno Jump, Start loop y end, como los cesionarios a nuestro esqueleto de jugador. Eso y entonces podemos tragamonedas en nuestros sonidos. En realidad tienen sonidos de salto. Pero tú, ya sabes, deberías saber hacer eso ya. Entonces confío en ti. Ahí está tu tarea para el día. Si quieres hacer eso. Jump blues jugadores esqueleto retardan ahí. Y luego rifle un salto N? Sí. Sí, sí, ¿retardado? Sí. Está bien. Entonces ahora enchufemos estos. Jumpstart. Iré con Jump Start. Loop irá con salto, bucle y salto y vamos con, lo
adivinaste, salto extremo. Está bien. Ahora hay que hacer transiciones entre estos. Entonces lo que vamos a buscar su tiempo,
restante, tiempo restante en nuestra Animación Jump Start. Y diremos que es menor a 0.1. Entonces si quedan menos de 0.1 segundos en esta animación de inicio de salto, vamos a pasar a la animación de bucle de salto. ¿ De acuerdo? Y luego pasar a saltar, y vamos a decir, ¿no estamos en el aire? Por lo que tendremos el bucle de salto, Innovación, seguir en bucle hasta que ya no estemos en el aire. Y entonces podremos hacer la transición de vuelta de salto y a inactividad. Si hay, digamos, queda
menos de 0.25 en nuestra animación de salto. Y entonces lo que queremos hacer es que queremos poder ir a saltar también del sprint. Y entonces eso va a tener el mismo parámetro de solo ser como, Bueno, ¿estamos en el archivo IR y guardar? Y ahora pasamos en juego. Y ya hemos terminado. Y pasa algo extraño con eso. Pero por el momento, solo sprint. Está funcionando. Y luego saltamos. Hace el salto y luego sigue corriendo incluso después del salto. Y si lo dejo ir, él sólo se rió. Entonces todo eso funciona a la perfección, funcionando bien. Podría tratar de averiguar si pasa algo raro con equipar el arma. Y si la hay, me pondré en contacto con ustedes en eso. ocasiones hay errores en mi programa que podrían no estar persistiendo en el tuyo, pero arreglaré el mío por si acaso te dije algo que es un poco defectuoso, pero sí, gracias por ver. Y te veré en la siguiente lección.
18. Hacer la tomía de la munición: Hola a todos y bienvenidos de nuevo a otro video. En el último video, empezamos a terminar la mayoría de las animaciones que vamos a necesitar para el movimiento de nuestro personaje. Y en esta vamos a seguir sumando un par de pastillas más. Esta vez, vamos a sumar alguna funcionalidad para poder recoger munición adicional. Entonces vamos a hacer eso antes de meternos en eso sin embargo. Al menos para mí en el último video, me dieron un tema donde si recogía un arma, el personaje hace este extraño jittering donde tipo de mueve el arma de derecha a izquierda torpemente si no lo viste, lo volveré a hacer. Es esa extraña clase de patada ahí mismo. Y lo hace cada vez que cambias de armas. Ahora seguí adelante y comparé este guión con el proyecto anterior. Y el proyecto anterior era exactamente lo mismo que éste, al
menos a mi entender y no estaba consiguiendo ese tema. Si estás obteniendo ese tema, puedes ignorar esta parte, pero si lo estás, puedes entrar en el Blueprint de Animación del Reproductor y el movimiento del jugador gráfico Anim y esa máquina estatal. Y en realidad puedes simplemente eliminar esta transición superior de cambiar de arma a sprint. Lo que eso hará es que si estás corriendo y luego cambias de arma, o si estás cambiando de armas y sigues girando, en lugar de viajar de aquí a aquí, va a ir aquí, luego a ociar y luego de vuelta a sprint. Entonces ahora si pasé en juego y cojo un arma, no
conseguirás ese tema. Y seguirás siendo capaz de correr y cambiar de armas al mismo tiempo. Así lo hace el interruptor de arma y luego vuelve al sprint inmediatamente. Entonces todo eso funciona bien. Entonces potencialmente esta transición fue redundante porque va a ir aquí al uréter aquí de todos modos. Para que así fuera, creo que ese es el único tipo de tema que se tenía ahí. Pero lo que vamos a hacer es que vamos a crear algunos planos para agregar alguna arma o algunas pastillas de munición. Por lo que debajo de interactable, vamos a crear una carpeta nueva y llamarla munición. Y lo pondré a nuestro color. Entonces dentro de la carpeta animal, Hagamos una clase de blueprint de tipo Actor. Y llamemos a esta base de recogida de munición. ¿ Cómo se confunde con las pastillas? Una o dos palabras. Es una palabra si te refieres como un camión, pero también es si dices Recoger hasta 240 fonics, todos ustedes, ¿de acuerdo? Lo que vamos a hacer es que vamos a sumar dos mallas estáticas diferentes aquí. Por lo que una malla estática, la primera será la malla AML. Y podemos arrastrar esto a nuestra ruta de escena y hacer de ésta la predeterminada. Y luego debajo de aquí, hagamos otra malla estática. Y llamaremos a este hit Inbox. Por lo que estas texturas son pequeñas también, estas mallas o pequeñas también. Entonces vamos a hacer lo mismo que hicimos con las armas si hay esta caja invisible ahí mismo para nuestra malla de munición. Esto va a ser un padre, así que no necesitamos una ranura nada en. Pero voy a bloquear esto y hacerlo 2.5 veces el tamaño porque estos son muy pequeños. De acuerdo, entonces para nuestra caja oculta, sigamos adelante y la ranura en solo el cubo de un m va a ser bastante grande. Entonces sigamos adelante y podemos mantenerlo bloqueado y hacerlo la mitad de su tamaño, 0.5. Y luego vamos a poner esto para que sea invisible y escondido en el juego. Toda la colisión, todo debería, debería funcionar bien en su mayor parte, creo que eso es todo lo que tenemos que hacer. Sigamos adelante y en realidad regresemos aquí y dentro de nuestra carpeta de datos. Y vamos a crear una nueva enumeración que usaremos para estos planos. Vamos a enumeración de planos luego vamos E, y vamos a nombrar este tipo de munición. Está bien, y luego vamos a crear seis enumeradores. Entonces 1, 2, 3, 4, 5, 6. Y llamaremos a esta munición de pistola. Entonces vamos a nombrar a cada uno el arma y luego la munición. Por lo que fusil auto, animal, arma de tiro. Porque la forma en que lo estoy creando es que no podrás
interactuar con cierto tipo de munición a menos que tengas esa arma actual equipada. Por eso estamos creando esto un rifle de francotirador Anno. Por lo que queremos dar el camino, regalar el juego para identificar qué munición. Este es lanzagranadas o con qué AML estamos tratando de interactuar en sincronía eso con cualquier arma que tengamos equipada. Y por último, cohetes, lanza esmalte. Objetivo. Entonces nuestra base de recogida MO. Vamos a crear una variable, variable y lo llamaremos tipo munición. Y lo haremos de tipo, tipo animal así. Bien. De acuerdo, Ahora en el gráfico de eventos, Hagamos algunas cosas aquí. Bajo el juego de inicio. Vamos a crear una referencia a nuestro jugador. Vamos a lanzar al jugador y promoverlo a una variable en la que deberías estar muy bien versado. Casting. Y haciendo referencias aquí. Por ahora, debería ser un pro en ello. Haz esto. Y también sabiendo por qué hacemos esto. De acuerdo, ahora vamos a crear un evento personalizado. Y llamaremos a esto recoger munición. Esto va a correr cuando tratemos de recoger munición. Y lo que queremos hacer es que quiero crear un evento o una función, lo siento, eso va a comprobar si
nuestra arma actual es o no igual al tipo de munición con la que estamos interactuando. La forma más fácil de hacer esto. En mi opinión, sin
complicar todo es que vamos a hacer esto dentro de la base de armas. Entonces vamos a las armas y vamos a la base de armas. Esto se pondrá un poco peludo y sí necesitamos organizarlos después de cierto punto. ¿ De acuerdo? Entonces vamos a crear algunas variables nuevas. Y llamaremos, todos estos serán enteros y los llamaremos pistola. Recoger cantidad de tipo int. Y que queremos crear un montón de estos, uno por cada arma. Entonces auto es que ahora voy rifle cantidad de camioneta es ser una especie de nombres feos arma de tiro. Y controló WT es duplicarlo rápidamente. Francotirador, rifle, lanzador gris, y luego finalmente lanzacohetes. Recogedlos. Bueno, estos van a estar a cargo, digamos que ahora se pone en una categoría, Emma. Y yo sólo arrastraré todos estos aquí. No me gusta cómo está haciendo eso. Yo quiero ponerlos en el orden correcto. Entonces pistola y luego rifles y escopetas auto, Sniper. Está bien, bien. Enfriar. Entonces podemos hacer es podemos fijar estos tres números diferentes de cuánta munición quieres recoger? Basado en como cuando levantas un centro para la pistola solo, digamos solo 24 balas por ahora. El auto rifle, 60, la escopeta. Hagamos 16. Estoy tratando de recordar lo que puse. De moda como a revistas para cada uno de ellos, a cohetes. Y puedes cambiar esos a tu gusto. De acuerdo, ahora lo que queremos hacer es crear una función. Lo llamaremos munición. Recoger. Así. Está bien. Vamos sí, hagamos una entrada y llamemos a su tipo MO. Y lo haremos de tipo, tipo AMO, así. Arrástralo aquí y enciéndalo. Entonces ahora deberías ver toda nuestra munición pistilo, esto y aquello. Entonces si esta está configurada para ser una de estas cosas, correrá una de estas ejecuciones. ¿ De acuerdo? Por lo que todos estos van a ser iguales, que es Larry ligeras variaciones. Entonces fuera de munición de pistola, Saquemos una rama. Y digamos que salte el tipo de arma. Y diremos iguala hasta ahora arma actual. El arma si nuestro tipo de arma, que también es como el arma actual, que iguala a la pistola, entonces lo que queremos hacer aquí es que queremos agarrar munición total actual. Mira el set. Queremos llevar el monto de recogida de pistola y la munición total actual. Y queremos sumar estos juntos y luego poner eso como el nuevo AMA total actual. Entonces digamos que tenemos como, Oh Dios, esto en realidad es bastante de matemáticas. Digamos que por el bien de las matemáticas fáciles, tenemos 10 balas en reserva. 10 es nuestra munición total actual. Total de munición siendo 360 en este caso. Y teníamos un set a 24, así que 10 más 24, eso entonces pondrá que sea 34. La matemática es poder. ¿ De acuerdo? Y entonces hagamos un chequeo extra en esto, ¿de acuerdo? Con esto seleccionado y agreguemos una salida, y hagámoslo un booleano. Y entonces solo haremos que esto diga verdad o podemos tener que decir éxito si quieres ser cool. ¿ Verdad? Entonces, ¿como fue esto exitoso? Si pasa por esta rama, ¿fue exitoso? Sí. Volverá verdadero. Si sale de aquí, entonces dirá No, devolvió falso. Oh sheesh, deberíamos eso sin control. Ok. Y luego diremos añade munición de pistola. Si ella aquí agrega munición. Si esto todavía está recogiendo munición de pistola. Así. De acuerdo, Al verlo una mirada a ese guión así. Entonces ahora todo lo que necesitamos hacer de aquí en adelante es que necesitamos hacer exactamente lo mismo para
el choque auto rifle en todas nuestras diferentes armas. Se verá exactamente igual que esto. Todo lo que necesitamos cambiar es R. Así que para auto rifle lo hará cambiarlo a cantidad de recogida
rodada automática y para los títulos de armas que tenían un rifle. Entonces te voy a dar una pequeña tarea. Voy a hacer esto yo mismo. Te voy a dar algo de tiempo para llenar el resto de esta función por tu cuenta. Entonces voy a cortar un poco, volver a ti. Entonces diviértete con eso, y te veré en un segundo con las respuestas. Muy bien, Entonces así es como debería verse la función final. Entonces si el tipo de munición está configurado para pistola alrededor de éste en un rifle abajo uno y así sucesivamente, así sucesivamente. Entonces tuvimos que cambiar, como dije, Pixel Picker, cantidad masculina, pistola total
actual o rifle, rifle auto, arma de tiro, pistola francotirador, granada, granada, cohetes, cohete, y luego sí, todo eso correrá. Tengo un tipográfico aquí. Está bien, genial. Entonces ahora todo lo que tenemos que hacer es volver a nuestra base de recogida y arrastremos al jugador y cogamos el arma actual. Recuerda que el arma actual es una referencia a esta base de armas aquí. Entonces ya que tenemos eso fuera, ahora
podemos llamar a pastillas de munición, esta función que acabamos de crear. Y vamos a recoger y llamar a eso. Y va a estar pidiendo un tipo de munición, ¿verdad? Porque ponemos esto dentro, ponemos aquí. Entonces es pedir uno. Continuamente compartimos esto es cualquier cosa pero creamos esta variable, ¿recuerdas? Entonces, enchufemos eso. Entonces la razón por la que lo tenía ese set como entrada es para que podamos enchufar esta variable. Entonces cuando hacemos a los niños a esto, podemos poner esto dinámicamente en los niños para que este valor cambie siempre y luego ejecute las diferentes partes que salen de esa enumeración. Y luego fuera de nuestro éxito. Entonces digamos si, entonces,
si esto vuelve verdadero,lo si esto vuelve verdadero, que
significa que obtienes una de estas cosas de éxito, entonces lo que queremos hacer es ponerle un sonido a D. Promocionemos esto a una variable y llamaremos a esta pick, pick up sonido. Por lo que podemos establecer dinámicamente esto también en los niños. Y luego destruyamos así al actor. Y luego solo vendremos en cajas para decir suma montos MO en Base de Armas. Sólo para que podamos recordar qué hace eso y dónde está. Sentado así. Entonces eso es todo funciona. Entonces ahí vamos. Eso es todo lo que tenemos que hacer en nuestra base de recogida ahora. Todo lo que tenemos que hacer es hacer a los niños. Por lo que MO y vamos a escoger una base, Crear clase Child Blueprint y vamos a llamar a esta pastillas de munición de pistola. Y qué sí sigue haciendo esto por todos ellos. De acuerdo, así que si esto se hace correctamente, solo
tienes que hacer clic derecho en AML, escoge un plano infantil gris base, y luego les cambiamos el nombre a todos rifle, granada, pistola, escopeta cohete, y rifle de francotirador. Entonces ahora tienes que hacer es abrir uno de ellos, cualquiera de ellos. Para nuestra malla de munición. Busquemos recogida de rifle de asalto. Y aquí tenemos este tipo de revistas así para el tipo de munición. Pongamos eso a munición auto rifle y el sonido pick-up, deberíamos tener una camioneta. Ve que hay estos aquí mismo rifle y vamos a recoger taco así. Si no te gusta el volumen de eso, solo
tienes que entrar aquí y cambiar los multiplicadores de volumen para que puedas hacerlo lo que quieras o lo que quieras, tu preferencia personal. Y entonces se aplicará a todos ellos. Entonces eso es todo lo que tienes que hacer por uno de ellos. Entonces sí, solo adelante. Ranura en. Creo que sueno bien. Recoge así y teclearemos sonido de granada. Lanzagranadas soy una camioneta. Quieres asegurarte de tener el QRS porque entonces tendrá como múltiples sonidos diferentes. Al menos debería. Por lo general, así funcionan las colas. Entonces sí, solo adelante y rellena el resto de esos y volveré contigo en un segundo. De acuerdo, ahora que hemos ranurado en nuestros sonidos y mallas correctos y configuramos esa enumeración para que sea lo correcto. Podemos arrastrar y soltar estos para que podamos ponerlo. No sé por qué eso a veces hace eso. Es un poco raro. Simplemente toca extremo y entrará en su lugar correcto si está extrañamente en otro lugar. Tampoco estoy poniendo estos en la ubicación correcta ahora mismo, pero oh, bueno, está bien. Así. Entonces ahora deberíamos tener nuestros diferentes hipo, pero no hay forma de interactuar con ellos a partir de ahora mismo. Entonces sigamos adelante y arreglemos eso. Entonces en nuestro personaje en el e incluso gráfico donde ponemos esto, tenemos uno llamado Mappings de Acción. Sí. Entonces tenemos esta traza de línea y puedo hacer esto, hacer esta bandeja persistente ahora. Por lo que en realidad se puede ver este trazo de línea y golpear la tecla E. En realidad verás que son 200 sets. Hasta dónde va esto para interactuar realmente con uno de estos. Entonces verás esta casita y es roja y luego se vuelve verde para mostrar que en realidad golpeo algo, en
realidad interactúo con algo. La nieve lo golpea, mira recta hacia abajo en el suelo, conseguirás un golpe ahí mismo, pero está golpeando el suelo. No nos está agregando nada de valor. De acuerdo, así que eso es un poco guay. Ahora si tuviéramos como una tonelada de cosas ligadas a esto, a esto interactúan. Probablemente tendríamos algún tipo de y Despachador de Eventos que simplemente seguiríamos llamando. Pero sólo tenemos dos cosas en este proyecto con las que necesitamos interactuar. Entonces por eso se acaba de hacer de esta manera. Entonces lo que queremos hacer es sacar nuestra carga, encenderla. Y esto va a salir de eso. Entonces sólo queremos poder interactuar con munición si tenemos un arma. Entonces como no se puede agarrar munición sin armas, ese tipo de cosas. Y lo es, pero si tenemos un arma queremos lanzar para recordarla. Ammo, base de recogida. Una vez más, esto va a salir del actor jefe. Al igual que eso es, ese es un lugar bien. Y luego como base pika, queremos correr el evento que creamos. Este, recoge munición. En realidad queremos ejecutar eso. Entonces lo llamaremos recoger munición y luego es tragamonedas así para nosotros. Entonces podemos comentar cuadro, todo
esto con bastante honestidad porque ahora este guión está hecho. Y pondremos dibuja un trazo de línea para comprobar si se trata de interactuar con MO o pastillas de arma. Alguien así. Sí. Sólo asegúrate de deletrear todo correctamente porque realmente no pude ver dónde estaba escribiendo. Vale, Entonces así es como se ve el guión que acabamos de agregar esto, esto, esto, tan bastante autoexplicativo ahí. Ahora si salimos aquí y trato de interactuar con alguna de estas cosas, nada va a funcionar. A pesar de que estamos recibiendo hits verdes y no nos dan un error, se está acabando de ahí. Pero digamos que recojo la escopeta y estas tres armas. Entonces la pistola. Oh Dios, ¿cuál es cuál? Esa es la epístola M0. Entonces al interactuar con esto, no hace nada, pero si interactúo con
esto, hizo las matemáticas, desapareció. Todo eso. Si cambio al auto rifle, no
puedo interactuar con éste ni con éste, ni con éste éste
ni con éste ni con lo que sea. Pero no puedo interactuar con esa. Y entonces la escopeta no puede hacer nada más que ésta. Ah, tengo la empuñadura de pistola. Ahí vamos. Me asusté un poco de resiliencia. Yo estaba como hice la configuración uno? Ves, en realidad puedo ver esos rastros de línea ahora, ¿qué es un poco genial? Sí, Eso es todo lo que tiene que ver con nuestras pastillas de munición. Es como lo haces. Tan cool. Vamos a seguir rodando en clave malo y algunas nuevas características al juego. Y entonces por fin, va a ser muy pronto y en realidad vamos a empezar a disparar estas armas y a hacer algunas cosas geniales con ellas. Entonces espero que hayas disfrutado de este video y te veré en el siguiente.
19. Fotografía de las armas de poder de: Hola a todos y bienvenidos de nuevo a otro video. En este, vamos a empezar a agregar alguna funcionalidad para poder disparar a nuestras armas de Scan hit. Y entre videos, hice un par de cosas simplemente muy pequeñas. Añadí algunos textos renderiza al mundo. Para ello, todo lo que tienes que hacer es ir a los actores de
lugar y puedes sacar un render de texto. Puedes rotarlo. De todas formas que quieras. Se pueden cambiar las fuentes, aunque no creo que vaya a funcionar porque no tiene material de texto. Sí. Puedes alinearlo con el centro, cambiar el color o lo que quieras hacer, y escribir lo que quieras que diga. Entonces sí, yo pero nuestro casillero de armas y luego se va a recoger. Entonces lo hice negro y talla 30, y le di un nombre y lo puse en una carpeta. Y también puse nuestra munición en el orden correcto y puse eso en una carpeta porque no me llamaron estación organizativa en la preparatoria para nada. En realidad, yo llamé a eso. Pasando sin embargo, vamos a disparar algunas armas. Entonces lo primero que queremos hacer es en nuestra carpeta de datos, haga clic derecho y vaya al blueprint y luego vaya a enumeración. Vamos a ir ie tipo despedido. Y como dije al inicio mismo del primer video, tenemos dos tipos diferentes de armas. El primero se llama escaneo hit, y el otro es proyectil. Entonces si recuerdas, un arma Scan hit va a funcionar con un trazo de línea. Siendo un trazo de línea no creo depurar esto todavía. Entonces va a ser del mismo tipo de cosas donde dibuja una línea invisible hacia el mundo. Y va a ser un instantáneo en busca de lo que golpea. Entonces obtendremos resultados así con el hit scan, un proyectil va a ser similar a si solo
utilizaras la plantilla en primera persona que viene con Unreal. Esa pistola tiene una pequeña bola amarilla que sale de ella y en realidad es un proyectil. Y las diferencias entre proyectiles y hit Scan, hit Scan, Va a ser un golpe instantáneo. Va a ser una línea recta perfecta donde como proyectil, podemos fijarle diferentes velocidades y hacer que se vea impactado por la gravedad. Entonces nuestra pistola o rifle y escopeta, esos van a ser escaneados y luego el rifle de francotirador, granada y Rocket van a ser de proyectil. Entonces en este video, vamos a iniciar nuestro guión para poder agregar
funcionalidad a los hits cantos, bueno, digamos rechazar. Ho. Entonces sí, entremos a nuestra carpeta de armas y abramos nuestra base de armas. Aquí es donde va a vivir todo nuestro guión. ¿Está bien? Lo primero que queremos hacer aquí es
seguir adelante y crear una función y lo llamaremos empezar a disparar. Lo que queremos hacer es agregar una entrada a esto y llamarlo tipo fuego In, hacerlo de tipo, tipo fuego, así. Al salir de aquí, queremos hacer una secuencia. Y al igual que en otras ocasiones de la clase, vamos a sumar algo de los 1000. Pero por el bien de ahora mismo, lo que quiero hacer es salir a eso, luego un pin y luego agregaremos este guión más adelante. Ahí es donde vamos a estar controlando, en realidad disminuyendo la cantidad de balas que tenemos y luego haciendo algunas cosas de recarga. Pero en un tipo de incendio, Vamos a encender eso y enchufarlo al entonces un pin así, puede redirigir ese nodo así. De acuerdo, Así que fuera del escaneo de hits, lo que queremos hacer es que queremos llamar a un tipo diferente de función. Entonces no se suma mucho a esto todavía, pero vamos a tener que crear una nueva función. Entonces llamemos a esto Calcular hit o calcular un trazo de línea. Vamos a llamarlo así. Y entonces esto va a tener tres entradas diferentes. Por lo tanto, sumemos tres entradas aquí. El primero va a ser un componente de cámara. El segundo va a ser un, una malla de arma. Y el tercero va a ser un zócalo de arma. El camara va a ser de tipo. Alguien podría simplemente cámara componente objeto. Ahí vamos. Y entonces éste va a ser un componente de escena. Ver componente, referencia de objeto. Ver componente es como estas cosas. Cualquier cosa en nuestro componente como cualquiera de estos componentes se considera un componente de fregadero. Y entonces éste va a ser un nombre. ¿ Está bien? Lo que podemos hacer aquí es sacar una secuencia para deshacer un par de cosas diferentes. Y vamos a promocionar todos estos a variables locales. Cámara local, malla de arma local, y toma de armas local, no lechón. Enchufe. De acuerdo, y luego vamos a hacer esto fuera del, luego el 0. Y esto es un poco feo. Entonces, tal vez movamos un poco todo esto hacia arriba. Y luego agregar algunos nodos de redireccionamiento como ese tal vez lo haga un poco apagado. Es trágico. Tengo que cambiar a estos dos. Oh Dios mío. Esto es sólo una primera parte incómoda del guión. Seguro. Para poner todos estos y Unreal hazlo y luego no darme las líneas rectas, lo cual es un destino horrible. Está bien. Pero se hace el trabajo, grita, se hace el trabajo. Entonces fuera de entonces uno, Vamos a alinear traza para objetos. En lugar de por canal. Lo vamos a hacer por objetos porque queremos. Entonces al igual que la línea, si estuviera haciendo seguimiento de línea por canal, notarás que le falta este tipo de objetos. Por lo que sólo queremos que nuestro trazado de línea interactúe con un par de tipos de objetos diferentes. Entonces con este trazado de línea por canal, es solo que no tenemos esa opción esencialmente en términos simplificados. Por eso estamos usando esa. Muy bien, entonces lo que queremos hacer, similar a cómo hicimos esto en el personaje, si recuerdas, tomamos el componente de cámara, ubicación de
dios e hicimos algunas matemáticas aquí, queremos hacer algo parecido. Entonces tomemos nuestro componente de cámara local, que si recuerdas, es una entrada. Entonces si fuera a ir aquí y fuera a sacar esto y decir Calcular traza de línea. No va a estar pidiendo esos datos porque son insumos. ¿ De acuerdo? Entonces cámara local, vamos a conseguir que el mundo se transforme. Y queremos dividir este tachuelas que podemos conseguir una rotación, una ubicación en una escala. O puedo usar la báscula, pero usaremos la rotación y la ubicación. Por lo que la ubicación de nuestra cámara va a ser nuestro punto de partida. Entonces eso es agradable y fácil ahí. Pero vamos a hacer varias cosas diferentes fuera de este endpoint. Entonces empecemos realmente con la rotación y obtendremos el vector de avance. Entonces la rotación de nuestra cámara directamente desde ese punto es lo que estamos obteniendo. Y luego vamos a multiplicar este vector tiempos flotantes. Yo lo creo como un flotador. Sí, UCS es k Así que esto en realidad es lo lejos que van a ir en el mundo nuestros rasgos de línea. Por lo que los otros a 200. Entonces hagamos de esto algo bastante vago, como 10 mil recorridos de traza de líneas de distancia y si quieres, está bien. Entonces como digamos que quieres darle a una determinada arma más alcance que a otra diferente. Todo lo que tienes que hacer es promocionar esto a una variable. Y entonces la traza de línea llegará tan lejos. Entonces si quieres una escopeta, es golpear algo de como, ya
sabes, a través del mapa o algo ridículo. Puedes hacer eso preferir sake simplicidad ahora mismo. Bueno, dejémoslo así. Y vamos a vector más un flotador compatible con. Podríamos necesitar vector más vector. Vector más vector. Sí, está bien. Está bien. Matemáticas. Entonces, sí, esto entra aquí y luego eso entra ahí. Entonces lo que estamos haciendo es tomar la ubicación de nuestra cámara como punto
de inicio y luego estamos sumando 10 mil a ese punto. Ahora, normalmente, simplemente agregaríamos eso
al punto final y estaríamos hartos en la vida sería bueno. Pero nos gusta hacer las cosas más complicadas porque si te acuerdas, aquí
tenemos esta cosa de propagación de balas. Por lo que no queremos que nuestros rastros de línea sean
absolutamente rectos si no estamos apuntando hacia abajo por los sitios. Entonces, ¿cómo logramos ese efecto? Bueno, hagámoslo ahora mismo. ¿ De acuerdo? Entonces fuera un vector, Vamos a romper establecer un vector r, ¿verdad? Y entonces lo que vamos a hacer es agarrar nuestro spread de balas, lo que sea que se establezca como predeterminado 350. Y entonces multiplicémoslo por otro flotador, y multiplicémoslo por uno negativo. ¿ De acuerdo? Y entonces lo que queremos hacer aquí es conseguir un flotador aleatorio dentro de un rango. Entonces. Este nodo va a ser el mínimo, y entonces este nodo va a ser el máximo. Entonces, así nuestro audaz spread es de 350. ¿ Todo bien? El valor mínimo que esta aleatorización puede bombear es negativo 350 y el máximo puede ser como 300, 50. Entonces OK, realmente suficiente aunque necesitamos conseguir esto para la x, la y, y la z Así que tenemos que hacer esto a otras veces. Entonces podemos enchufar uno para la x, uno para y, y uno para la z Así que enchufemos el valor de esto y hagamos todos
los mínimos en el valor de esto en todos los máximos, que sí, es, esto es una abominación cosa de aspecto, pero es lo mejor que podemos hacer. De acuerdo, fuera de aquí, Vamos a agregar float, float, y queremos hacer eso para x, y, y z Así que quiero asegurarme de que estamos aleatorizando esto en todas las ubicaciones x, y, y z. y entonces los valores de retorno entrarán en el fondo de eso. De acuerdo, esto se puede poner muy feo muy rápido. Tratando de domesticar todos estos nodos aquí. ¿ De acuerdo? Y luego añadir un aquí. Vamos a hacer de esto un vector porque lo rompimos. Ahora tengo que volver a convertirlo en vector otra vez. Todos estos valores flotantes en un vector de nuevo. Y luego por último pero no menos importante, necesitamos revisar en realidad, ¿de acuerdo? Nosotros sólo queremos hacer esto si no estamos apuntando ¿verdad? Nosotros sólo queremos que esta propagación de bala sea disparada al azar como si somos Amy, queremos que sea esta línea perfecta, ¿verdad? Entonces adivina lo que tenemos que hacer está fuera de una vaga gran y jugada, necesitamos conseguir una referencia a nuestro jugador porque ellos creen que aún no tenemos uno. Entonces, llevemos el reparto del personaje del jugador al jugador, a variable y llamaremos a Jugador. No voy a hacer que se vea hermosa sólo para ahorrar algo de tiempo. Eso lo haré entre videos. Sí, no me gusta porque para esto, está bien. Entonces fuera del valor de retorno de esto, Vamos a obtener una nota selecta como esta. Y en realidad eso no jaló de la manera que yo quería. Vamos, intentemos hacerlo de esta manera. Jugador, Vamos a conseguir es apuntar. Y luego hagamos un selecto. Fuera de eso. Ja-ja, ahí vamos. Eso es lo que queremos. Entonces ahora está agarrando lo verdadero y lo falso. Entonces si es el apuntar es cierto, entonces sólo queremos agarrar eso. Simplemente queremos agarrar la línea perfecta. Esto el, la rotación de nuestras cámaras hacia adelante vector más 10000 unidades hacia fuera al mundo. Quieres que eso sea perfecto. Pero si no somos Amy, queremos hacer esta pequeña matemática de propagación de balas. Por lo que queremos enchufar eso en lo falso. Y entonces el valor de retorno de eso va a ser nuestro punto final. En su complejo. En realidad no. Y como que me salgo de aquí. Vamos, hagamos una matriz porque queremos tener múltiples objetos con los que interactuar. Los dos que queremos interactuar con nuestro mundo estático y rodar esa dinámica. Entonces estas son las cosas que nuestra línea traza van a cruzarse. Entonces si sales al mundo y miras esto y bueno, si fueras a entrar en la configuración de colisión de algo, así que tal vez si solo saqué esto de este hijo Pollyanna por defecto. Entonces si yo fuera a tomar esto y Collision Presets y artistas dicen que esto es Wars world, que ECUA, mundo dinámico ahí. Oh, tal vez necesite hacerlo. ¿ O lo es? Ah, ahí vamos. Esto es lo que busco. Un mundo dinámico, mundial estático. Por lo que hay diferentes cosas en el mundo que se considerarían dinámicas y estáticas. Probablemente no necesité explicarlo, pero estos son los tipos de objetos que queremos. Los tipos de objetos que queremos están alineados para intersecarse con. Pero entonces también queremos ignorar a algunos actores. Entonces vamos a conseguir el personaje jugador. Y no creo que esto se enchufe de inmediato. De acuerdo, acaba de hacer una matriz. Entonces podemos sumar más cosas a esto que queremos que esto ignore. ¿ Verdad? Fuera de este golpe fuera. Nosotros queremos, ¿podemos simplemente hacer esto? No, no podemos. Entonces vamos a añadir otro pin. Vamos a añadir un nodo de retorno fuera de esto. Y luego hagamos unas salidas y hagamos este resultado hit. Y lo llamaremos resultado hit. Y luego enchufa eso así. Está bien. Eso es lo más feo que he visto en mi vida. Muy bien, así que ahora tenemos nuestra cosa Calcular trazado de línea aquí. Por lo que realmente rápidamente pasa por encima de esto. Entonces estamos configurando el prompt me. Ni siquiera necesitábamos hacer el arma mencionada el zócalo, ponerlos como variables porque en realidad no las usábamos. Pensé que potencialmente solo usaríamos la cámara encendida o lo que sea. Realmente no es tan gran cosa tenerlos o no tenerlos. Es lo que es. Entonces cuando dibujamos esta traza de línea, estamos obteniendo la posición de una cámara. No hemos especificado qué es esa cámara. Apenas todavía. Estamos consiguiendo su ubicación y configurando eso como nuestro punto de partida. Y entonces lo que estamos haciendo es que estamos tomando la rotación de la cámara, el vector de avance de esa cámara, más 10000, sumando eso juntos. Y entonces si estamos apuntando, nuestra arma le devolverá eso como punto final. Si no estamos apuntando, entonces hemos
roto, roto ese vector hacia arriba en x, y, y z Hemos aleatorizado ese número entre el negativo 315,
350, o cualquier número que dijimos es este tazón como este perno se extendió aquí. Entonces estamos sumando esos dos valores juntos de nuevo, convirtiendo eso en un vector de nuevo porque lo rompimos y lo convertimos en flotadores. Y luego haciendo de eso el punto final. Y queremos que nuestro trazado de línea interactúe con objetos
estáticos y dinámicos del mundo e ignore a nuestro jugador. No queremos que interactúe con nuestro jugador. Está bien, así que ahora tenemos esa función sentados fuera y alrededor así. Y esta parte será bastante fácil. Entonces vamos a agarrar al jugador y vamos a agarrar la cámara. Eso está en el jugador. Y esa va a ser nuestra cámara. Entonces agarramos esto, su cámara para la malla de arma. Bueno, vamos a agarrar la malla de armas de nuestra base. Eso no es nada más que está ambientado como otras cosas en los niños. Y luego el zócalo de armas. Baba, baba, baba. Entonces si les muestro esto, si vamos a las armas en una malla esquelética, queremos esto se llama destello hocico. Esto es lo que estamos agarrando. Todos se llaman el destello del hocico. Está bien, así que no te necesito el spammer promovido a una variable y lo llamaremos socket de arma, ahí la variable de nombre. ¿ Y por qué no lo es? ¿ Dejándome? Ok, Así que está aquí arriba. Está bien. Eso fue como, Bueno, pondremos eso para que sea destello de hocico. No creo que alguna vez necesitemos cambiar eso, pero por si acaso tuviera un arma diferente que tú ibas a agregar a este proyecto más adelante. Ahora puedes cambiar eso por una variable. Entonces sí, eso es bastante guay. De acuerdo, Y entonces vamos a hacer cosas diferentes. Está regresando lo que sea este hit para que lo puedas romper solo para mostrarte, hacemos todas estas cosas diferentes pero el resultado hit, hits de la línea, bien, y estamos regresando ese valor para que podamos hacer cosas cool con eso después, que es exactamente lo que vamos a hacer, es que siempre queremos hacer las cosas geniales. Muy bien, Así que todo eso se armó luciendo bastante bien hasta ahora. Muy bien, Así que hay algunas cosas diferentes que vamos a agregar a todos estos guiones. Pero sólo para mostrarte que esto está funcionando, Vamos a seguir adelante y simplemente configurarlo como una especie de cosa de depuración realmente rápidamente. Así que vamos a entrar en nuestra configuración, configuración
del proyecto, y entrada. Crea Nueva Acción Mapping y llámalo disparar, disparar, disparar, disparar. Nosotros lo llamamos fuego. Estos son los que voy a llamarlo fuego. Siento que disparar es igual que manejar disparar. izquierdo del ratón. Por lo que queremos disparar. Normalmente es como va. Muy bien, entonces en nuestro gráfico de eventos, sigamos adelante y creemos un evento. Y lo haremos, lo llamaremos a esta manguera de incendios así. Entonces vamos a agregar cosas a esto para asegurarnos de que realmente
tengamos munición en un montón de otras cosas como esa. Asegúrate de que no seamos como en realidad podemos disparar a nuestra arma. Ya sabes, uh, podemos hacer esa conferencia ahora mismo porque creamos esa variable. Pero siempre será verdad, ¿verdad? Entonces, solo pongamos que eso sea cierto por ahora. Entonces vemos que esto funciona. ¿ De acuerdo? Entonces consigamos el arma actual. Está bien. Y luego queremos conseguir el tipo de fuego. ¿ Cómo llamamos eso? ¿ O en realidad no ponemos eso como un hoyo abajo un segundo o peso? Tipo de arma donde empieza a disparar se dispara tipo de tipo var a 0. De acuerdo, Lo ponemos en la entrada. En realidad no lo hicimos una variable. Entonces hagamos ese biotipo. De acuerdo, entonces ahora tiene una variable real de tipo flyer, tipo de proyectil escáner hits. Y eso es importante porque necesitamos asegurarnos de que
establecimos eso en todos nuestros hijos eventualmente también, para que sepa si se trata de un arma Scan hit o de un arma tipo proyectil. Está bien, así que ahora vamos a conseguir el tipo de fuego. Eso. Tan amable con nosotros ahora. Y queremos correr empezar a disparar. El objetivo va a ser el arma actual y se va a quedar sin la verdadera rama y especie de jerry-amañado juntos en este momento, es cierto. Pero debería funcionar. El último que hay que hacer es ir a Action Mappings y
busquemos fuego, el evento de acción. Y entonces vamos a correr fuego así. Entonces ojalá, Dios
mío, lo he hecho. De acuerdo, queremos asegurarnos de que tengamos esta persistente, de acuerdo, y probablemente queramos comprobar que realmente tenemos un arma. Entonces antes de hacer esto,
sigamos adelante y saquemos la carga porque eso fue lo que causó errores en esas áreas. Errores. Está bien, Leia niña. Está bien. Prensado. Tiene fuego de arma y podemos ver esas líneas. Correcto. Porque se fijó para ser un persistente. Está bien. Excelente. Entonces no hay líneas, ni orejas. Bastante bien. Entonces sílice consigue eso. Entonces estamos disparando ahora mismo y se pueden ver esas líneas saliendo,
boom, boom, boom, boom, boom. Y voy camino por ahí. Y si es Seguin, mira que está golpeando cosas porque tiene la pequeña línea. Y luego estos y yo estoy disparando, no hagas nada. Entonces obviamente la munición no va a bajar. No tenemos ningún retroceso. Todo el montón de cosas que tenemos que añadir. Pero ahí vamos. O sea, nuestra, nuestra pistola está disparando. Estamos dibujando estas trazas de línea hacia el mundo, que es exactamente lo que queremos hacer. Se está comprobando que se vería esa distancia ahí. Si tan sólo dibujara uno así, en realidad lo verías. Entonces de ahí para allá, Así es Fargo. Entonces como si quieres cambiar eso, si no quieres el choque y tienes tanto rango, adelante y establece esa variable de 10 mil al año y entonces puedes cambiar eso. Y todos los niños dicen, no
soy un loco como el espectáculo de luces pasando por aquí. Sí. Eso se ve un poco genial. Ver una o, se puede ver cómo en realidad, voy a saltar de ellos. Se puede ver cómo en realidad sigue pasando por el verde. Por lo que todavía pasa a pesar de que golpea algo. Enfriar. Eso se ve tan sí, todo eso funciona. Sí, eso es todo. Eso es todo para este video. Entonces vamos a seguir agregando cosas a esto y haciéndolo más robusto. Queremos sumar los sonidos y los efectos y
poder recargar y asegurarnos de que su conteo de munición realmente baje. Y luego también hacen funcionar las armas específicas de arma, cómo hacen que ese rifle de asalto automático y la escopeta se esparza y todas esas cosas. Pero esta es la línea de base para lo que van a hacer todas nuestras armas proyectiles, que es disparar. Y así ahora tenemos disparos de armas, tiroteo con cotizaciones aéreas. Entonces eso será bastante genial. Entonces espero que ustedes hayan disfrutado de este video y los veré el próximo.
20. Funcionalidad de relato (parte 1): Hola a todos y bienvenidos de nuevo a otro video. En estos próximos videos, vamos a estar agregando, recargando a nuestro juego. Entonces en este video, esto va a ser principalmente la matemática detrás de él. Por lo que conseguir que nuestra munición actual disminuya cada vez que reshoot o arma en un juego para entender como si tenemos 0 balas en la revista para recargar automáticamente y simplemente hacer cosas diferentes como esa. Y luego en futuros videos, realidad
vamos a agregar efectos de sonido y una animación y en ese tipo de cosas. Entonces para empezar en esta, vamos a entrar a nuestra base de armas y vamos
a crear una cantidad decente de funciones aquí. Y entre videos, Hay un par de cosas que hice. Principalmente acabo de agregar cajas de comentarios alrededor de las cosas e hice que algunas de las cosas se vean un poco más agradables. Entonces aquí está nuestro Calcular traza de línea del último video. Entonces aquí está nuestra propagación de balas. Actores alinearon treguas van a golpear a los que ignorarán. Entonces solo algunas cosas agregadas. Me deshice de esas otras dos variables locales porque no
creo que las vayamos a usar, pero sí las necesitamos como insumos. Simplemente no necesitamos establecerlos como variables. Y luego terminé deshaciéndome de esta variable de enchufes de arma. Porque para mi proyecto al menos cada socket va a ser bozal flash. Pero si quieres usar diferentes mallas de armas que estoy usando en el futuro. Definitivamente querrías establecer eso como una variable para
que cualquier hijo de esta base de armas, puedas establecer eso dinámicamente cada vez. Pero yo lo puse manualmente. Creo que eso es todo. Aparte de eso, puse algunas de nuestras variables en diferentes categorías para mantenerlas organizadas. Um, y como dije, si puedes establecer que esto sea una variable si te gustaría también. Simplemente no lo hice porque por el bien de la simplicidad, cada línea traza armas va a ser esa distancia por ahora. ¿ De acuerdo? Entonces creo que eso es todo. Y sí, podemos empezar. Entonces, empecemos creando una función y
llamaremos a este cálculo de recarga. Esto será controlar las matemáticas que estamos haciendo aquí. Para esto, vamos a necesitar un par de variables más para agregar a este OData, que es como lo llamé. Entonces vamos a añadir una variable y vamos a llamar a esto. Por lo que no tenemos el tamaño de revista CF. Esto va a ser de tipo entero. Todos estos serán enteros. Por lo que tienes tamaño de revista. Y luego necesitamos una llamada diferencia de bala. Piensa que eso es todo. Podemos arrastrar esos a categoría si no quieres usar categorías, ciertamente no tienes que hacerlo. Al igual que si abres a un niño, si no has sido categorías y se mostrarán en estas pequeñas categorías. Si no haces esto, entonces eso solo será, solo
serán como una sección
realmente, muy larga ahí. Entonces sí, empecemos. Por lo que tamaño de revista, esta variable siempre debe igualar la munición actual. Entonces nuestro valor predeterminado es 30, así que vamos a configurar esto para que sea 30. Esto es lo que sea justo el tamaño de nuestra revista. Este número no va a cambiar. Se va a cambiar la munición actual. Pero este es el total. Entonces nuestro tamaño de revista, Vamos a conseguir eso. Y vamos a conseguir nuestro ML actual. Y vamos a restar estos. Y luego vamos a poner esto como la diferencia de bala. ¿De acuerdo? De la forma en que no voy a crear toda esta función entonces sólo explicar tipo de lo que hace después del hecho. Sacando una diferencia de bala. Queremos obtener un número menor o igual a entero. Y queremos conseguir el AMA total actual. Y entonces saquemos a sucursal aquí. ¿De acuerdo? Tratando de pensar simplemente como cuándo y cómo explicar qué es exactamente lo que esto está haciendo. Bueno, vamos sólo, sí, vamos a salir a la verdadera rama por ahora. Y pongamos munición no actual. Y vamos a poner eso de inmediato para lo verdadero y lo falso. Disculpe. Así que el tamaño de la revista chatarra y lo enchufó a la munición actual aquí arriba. Y luego vamos a conseguir nuestra munición total actual. Y la diferencia de bala. Vamos a restar estos. Entonces vamos a poner eso como la nueva munición total actual. Al igual que esto. Se ve bastante bien. De acuerdo, y entonces si este resultado es falso, queremos agarrar la munición actual. El actual munición total. Y los vamos a sumar juntos. Y luego vamos a poner esto como nuestro ML actual, como tal. Y entonces queremos que nuestra munición total actual sea 0. De acuerdo, entonces, ¿qué hace todo esto? Está bien, así que aquí viene la matemática. Así que quédate conmigo un segundo aquí. Por lo que tenemos nuestro tamaño de revista. Digamos, vamos a usar sólo 30 es 30. Por lo que nuestra revista es de 30 y nuestra munición actual también es de 30. Por lo pronto, digamos que disparamos a ronda o a cinco rondas, disparamos cinco rondas. Entonces eso significa que esto es 30 y esto es 25. Reste que esto, y luego esto equivale a cinco. Si cinco es menor o igual a la munición total actual, entonces vamos a hacer cosas diferentes. Por lo que esta munición total actual es un número muy grande. Por lo que la mayoría de las veces, vamos a correr esto y yo sólo diré carreras cuando haya munición de reserva. Por lo que la mayoría de las veces, esta función va o esto no va a ser cierto la mayor parte del tiempo porque nuestra diferencia de bala va a ser números relativamente bajos. El mayor número que esto puede ser, ya que sería 30, 30 menos 0. Por lo que el disco más grande podría ser, sería 30. Entonces esto sólo va a correr al fondo si nos quedamos sin reserva AMA. De acuerdo, Así que vamos a seguir por la verdadera rama por ahora. Entonces conseguimos esto igual a 55 es menor o igual a 244. Entonces vamos a correr hasta aquí. Y nuestro tamaño de revista, que es de 30, se va a fijar como munición actual. Entonces, en otras palabras, esto se convierte en 25. Estamos ajustándolo de nuevo al tamaño de nuestra revista, que sería de 30. Y luego nos estamos llevando nuestra munición total actual, que es 244. Lo estamos restando de la diferencia de bala, que en este caso fue de cinco. Apagamos cinco rondas y estamos fijando eso como el nuevo total actual. Entonces eso sería 239. Entonces lo que esto está haciendo es que está tomando, está actualizando el gran número. Por lo que 12 en este caso sería el actual y también el tamaño de revista. Entonces es tomar ese número, está ajustando eso al tamaño de la revista, que siempre va a ser 12 en este caso. Y entonces es sólo restar lo que fuera esa diferencia de bala, cuántas rondas disparamos desde ese back-end. Pequeño número 144. Ahora, digamos que nos gusta quedarnos sin munición o no tenemos mucha munición en reserva. En este caso. Sólo vamos a hacer esa matemática. Entonces nos vamos a llevar nuestra munición actual. Lo vamos a sumar al total actual. Establezca eso como nuestra corriente porque ya no igualará el tamaño de la revista porque no tendrá una revista completa que nos devuelva. Y luego se va a poner
al animal total actual en 0 porque no tenemos ninguno en la reserva. Por lo que esto se ejecutará cuando la cantidad de reserva sea menor que la revista de munición. Entonces esta es la matemática que va a hacer cuando hay como cuando estás corriendo extremadamente baja y munición esencialmente. Está bien, genial. Ahora vamos a hacer un par de cheques diferentes. Entonces vamos a crear una nueva función y diremos que es MAG, lleno o vacío, así, algo así. Y saquemos una rama de aquí. Y luego agarremos nuestra munición actual y nuestro tamaño de revista. Y luego vamos a echar un vistazo a estos iguales entre sí. Porque no queremos recargar nuestra pistola si nuestra revista está completamente llena. Entonces no sé si fuimos y creamos esto todavía, pero en nuestro personaje, vamos aquí y tenemos una recarga de lata? Nosotros no. De acuerdo, Así que vamos a crear una recarga de lata. Esto debería ser un booleano. Podrían ya lo era. Los colores son duros para mí. De acuerdo, entonces vamos a agarrar nuestra referencia de jugador y vamos a establecer se puede recargar para ser falso. Porque no queremos recargar. Entonces podemos decir así, la recarga de Abel. Si la revista está llena o las reservas están vacías. No queremos, en realidad no hemos puesto esto se puede recargar en cualquier lugar todavía, pero eventualmente lo haremos. Y si es falso, no
podremos hacer ese evento de acción que vamos a configurar. Está bien, y luego vamos a, queremos una nota de retorno aquí. Entonces le devolveremos el resultado de esto. Podemos simplemente llamar a este término valor o algo así. Y luego enchufa el resultado de esto ahí. Por lo que vamos a devolver el valor de esta función. Si es falso, queremos sacar a otro. Si queremos decir, agarremos nuestra munición tonal actual y queremos
asegurarnos o comprobar si esto es igual a 0. De acuerdo, entonces si nuestro M0 total actual es igual a 0, nos hemos quedado sin munición de reserva. Entonces vamos a decir que no podemos recargar. No queremos no podemos no queremos recargar nada. Y no podremos recargar si no tenemos nada en la reserva, esencialmente. Entonces esto es como un extra a prueba de fallas aquí porque
habrá momentos donde como la munición actual e igual a un tamaño de revista, ¿verdad? Tienes que te has quedado sin balas en tu total actual. Este igual 0, pero tienes 30 y 30. Por lo que no se puede recargar. Pero digamos que te quedan como cinco balas y en la reserva. Por lo que esto correrá por la rama falsa. Y entonces esto solo asegura que aún no se puede recargar porque no se quiere poder sacar munición de, de nada esencialmente. Pero si tú, si esto no es igual a 0, si estos no se igualan entre sí, esto no equivale a 0. Sé que esto puede llegar a ser algo confuso. Canon. Vamos a establecer se puede recargar de nuevo. Y vamos a decir que sí, podemos recargar. Y entonces vamos a devolverlo así así. Y entonces diremos habilita la recarga. Revista está vacía, pero queda munición en reserva. Entonces sí, podemos recargar si tenemos munición de reserva. Todo eso debería funcionar bien. Entonces ahí está esa función ahí mismo. Tengo un par más para ir. Vamos a crear otra función y digamos, ¿tenemos M0? de interrogación? Esto va a ser fácil. Y esto en realidad es menos con la recarga y apenas más con el poder disparar argón. Entonces vamos a conseguir nuestra AMA actual. Y digamos que más grande que el retorno. Diremos que tiene AML, es sólo el nombre de eso y devolver ese valor. Por lo que todo esto está haciendo es ocurrir o permite que los eventos de los brotes ocurran si el jugador tiene. Entonces si nuestro animal actual equivale a 0, no queremos poder disparar. Eso debería ser bastante sencillo. Ese. Está bien. Y luego queremos hacer una revisión más para ver si queda munición. Entonces sigamos adelante y hagamos eso ahora. Entonces vamos a crear una función más. Creo que éste es el último. Y llamaremos a esto es su munición. Y vamos a mecanografiar. Entonces HOD, y esto va a ser realmente similar al último. Por lo que esta vez obtendremos la munición total actual, actual, y diremos mayor a 0. Y vamos a devolver un booleano y digamos ¿hay munición queda como ese plugin que resulte así devolverá esto. Y entonces éste sólo dirá como cheques para ver si hay munición en las reservas. Por lo que no querrás poder recargar si no hay munición y nuestra reserva. Por lo que esto volverá verdadero si nosotros, si nuestra corriente voy a etiquetar es mayor a 0. ¿ De acuerdo? Entonces tenemos todas esas cosas hechas. Por lo que ahora se crean todas estas funciones. Entonces ahora podemos empezar a hacer algunas cosas y en realidad hacer que esto funcione. Entonces vamos a hacer eso. Muy bien, así que volvamos a nuestra función de inicio de disparo en nuestra base de armas. Y es cierto que hay muchos pasos para esto. Por lo que va a tomar un poco de tiempo antes de que esto funcione totalmente, pero nuestras funciones están configuradas en su lugar. Entonces cuando disparamos, una cosa que queremos hacer es agarrar la munición actual y
restemos una de eso y luego pongamos eso como la nueva corriente de la corriente así. Entonces, mira algo así. Y sólo podemos decir que resta 1 balas al disparar arma. Entonces eso es bastante sencillo ahí mismo. Pero queremos que nuestro juego sea capaz de distinguir y recargar automáticamente. Nos quedamos sin balas y también deshabilitamos el disparo. Entonces volvamos a conseguir nuestro modo kernel. Y vamos a ver menos o igual a 0. El motivo por el que tengo un menos que y no sólo igual a ceros porque. Es como un seguro extra para fallas que puedes tener ahí. si acaso algo raro sucede en tus balas pasa a una negativa. Todavía va a correr esto. Y queremos crear un nuevo evento para
recargar automáticamente nuestro arma cuando nos quedamos sin munición. Entonces vamos a entrar en nuestro gráfico de eventos y crear este evento. Y crearemos un evento personalizado y diremos auto, recargar en vacío. Está bien, y entonces sólo podemos volver aquí y podemos ir a la verdad. Podemos decir recarga automática en vacío. Entonces eso está todo listo. Se puede resaltar esta cosa y diremos que debe coincidir con ella. Cargas cuando se agota el mag. Algo así. Funciona muy bien. Entonces ahora podemos hacer eso. Entonces ahora nuestro objetivo se va a recargar automáticamente y nos quedamos sin
munición y tenemos que configurar eso, ese evento. Entonces sigamos adelante y empecemos a hacer eso. Entonces cuando hice esto, inicialmente, reconozco este extraño tema que pasaría. Entonces lo que vamos a hacer, realmente no tenemos trabajando recargando animaciones y queremos poder configurarlas para unos tiempos específicos. Entonces lo que vamos a terminar haciendo es que vamos a hacer que el arma saque de la pantalla para luego volver a subir. Algo de lo que me di cuenta es que cuando disparas la última ronda del rifle de francotirador, en particular, el arma empieza a ser
derribada demasiado rápido donde tu disparo se perderá esencialmente. Por lo que se alinearán tus cruces, dispararás. Pero el arma comenzará a moverse hacia abajo en el segundo que los pernos actuales equivalen a 0, para que empiece a joderte. Por lo que tenemos que poner un poco extra a prueba de fallas para eso. Entonces sigamos adelante y agarramos el tipo de arma y digamos iguales. Y revisaremos para ver si estamos sosteniendo el rifle cibernético y luego lo metemos. Si quieres hacer algo ligeramente diferente. Si tenemos el rifle de francotirador, esencialmente, podemos decir que como Snowbird causa problemas. Tan tonta así. Principalmente estoy poniendo estos comentarios aquí para ustedes chicos para que puedan un poco mirar atrás a interrumpir, tipo de entender exactamente qué está haciendo todo esto después del hecho. Entonces si estamos usando al francotirador, no
queremos destruirlo, pero queremos hacer un retraso. Y todo lo que necesitamos es como 0.3 segundos. Y esto lo hará menos perceptible. Y luego queremos hacer un evento de recarga. Pero una vez más, no hemos creado ese evento de recarga. Entonces sigamos adelante de nuevo a nuestro personaje y a nuestro jugador. Y sigamos adelante y creemos eso ahora mismo. ¿Sabes qué? Después de mirar eso, creo que voy a guardar eso para otro video. Entonces no quiero que este sea súper largo porque esta próxima parte de recarga va a ser un poco larga. Entonces voy a decir eso para el próximo. Entonces espero que hayas disfrutado de este video. Estamos avanzando en esta serie. Y sí, espero que lo estés disfrutando y lo veré en el siguiente.
21. Funcionalidad de relato (parte 2): Hola a todos y bienvenidos de nuevo a otro video. En el último, empezamos a agregar funcionalidad de recarga a nuestros hombres de juego. En este sólo vamos a seguir con eso. Entonces sigamos adelante y empecemos. Entonces donde recogimos, queremos crear un evento de recarga real en lugar de nuestro jugador para correr cuando nos quedamos sin balas, cuando estamos disparando nuestro arma. Y luego vamos a llamar a este evento de recarga muchas veces diferentes. Entonces tenemos que entrar y crearlo. Entonces hagamos un evento personalizado y llamemos a esta recarga así. Entonces ahora que al menos existe, podemos llamarlo al mundo. Entonces voy a volver a nuestra base de armas. Y voy a agarrar a nuestro jugador y voy a decir recarga. Entonces a pesar de que en realidad no hay nada dentro de este evento todavía, voy a simplemente engancharlo. Y luego voy a querer hacer esto. Bueno, no estamos sosteniendo el rifle de francotirador. Queremos poder recargar. Y podemos simplemente entrar en cajas y decir, Sí, automáticamente llama a evento de recarga o algo así. Y agregaremos una cosa más a esto eventualmente. Pero por el momento, eso me queda bien. Y enseñó que está subiendo. No se puede encontrar la función 0, compilar. Piensa en todo eso, arregló ese problema. Antes. Otra cosa que queremos hacer antes es vamos a terminar este evento de incendio porque nosotros, en nuestra base de armas, creamos antes algunas de estas funciones, pero en realidad no las conectamos. Y tienen más que ver con el disparo que con la recarga real. De acuerdo, así que fuera de esta verdadera rama, vamos a hacer otra declaración si. Y queremos conseguir el arma actual y queremos llamar ¿Tenemos munición y tenemos que cambiar una cosa realmente rápidamente. Entonces de vuelta en nuestra base de armas para ¿tenemos munición y queda su munición? Lo que vamos a hacer es dar click en Peer. Vamos a hacer estas funciones puras. Y al hacerlas funciones puras aquí, haré un NOP aquí, y luego el otro será peer. Entonces si saco, ¿tenemos munición? Ve cómo ya no tiene un cable de ejecución. Y diremos que les queda la munición. Entonces esta es una función pura y esto es lo que se conoce como una función no pura. Esto es como, al igual que se vería una función normal como cables de ejecución, ejecución. Entonces cuando lo haces así,
como funciona más como una macro o simplemente puedes enchufar eso directamente y no necesita tener estos cables de ejecución blancos. Entonces queremos hacer ambos de ya que estos solo están revisando como, sabes, es solo devolver verdadero o falso basado en un par de variables. Vamos a hacer estos puros. Entonces igual que una forma diferente de hacerlo. Entonces sí, lo comprobaremos antes de poder disparar. Vamos a decir ¿podemos disparar? Podemos. Y vamos a estar como, de acuerdo, bueno, ¿tenemos munición? Si tenemos munición y nuestra revista, entonces vamos a seguir adelante y vamos a disparar,
nuestras armas, empezaremos a disparar, que fue este evento aquí. O función supongo. Usa esas palabras indistintamente. A veces. Si no tenemos munición, entonces vamos a revisar, ¿nos queda M0? ¿ Hay alguna munición en absoluto? Está bien. Si sí nos queda munición con, vamos a llamar a eso recargar este evento. Si no lo hacemos, entonces vamos a tocar un sonido 2D. Y hay uno llamado fuego seco. Y estos podrían ser alardeados. Solo tragamonedas en fuego seco uno por ahora. Está bien. Y entonces podemos decir recarga arma si hay munición reservada. Sí. Iba a decir algo sobre el firewall DRI o lugar similar a la Tierra. Por lo que este fuego seco es igual que si tienes literalmente 00:00 AM a la izquierda, eso va a hacer. Entonces este es como el lugar final al que puede ir está aquí. Porque recuerda, si recuerdas, hay MLF está revisando si tenemos munición totalmente, igual que en general en la reserva. Entonces si tenemos munición, si nuestra munición actual es mayor que eso, entonces podemos disparar nuestro arma. Pero si este número es igual a 0, actualmente no
hay balas en nuestra revista, pero aún tenemos reservas. Se recargará. Si no tenemos munición, que nuestro primer gran número equivale a 0, nuestras balas actuales. Y la más pequeña, nuestras reservas, entonces será como si no tuvieras ningún MO, izquierda, punto. La vida apesta para ti. Ve a buscar algunos más. ¿ Está bien? Ahora lo que vamos a hacer es que vamos a hacer este evento de recarga y esto va a ser bastante largo. Entonces voy a arrastrar esto hacia abajo y Sue algo de espacio abierto, arrastrar un cable. Y como de costumbre, queremos hacer un cheque. Y voy a almacenar esto en una macro y decir, ¿podemos recargar? Normalmente uso macros cuando tengo múltiples booleanos que quiero comprobar a la misma hora exacta. Normalmente cuando uso como un AND o un OR. A primera hora vamos a ser como, ¿no estamos recargando? Y tenemos cambiar de armas. Y no cambiar de arma. Y vamos a decir o aquí. Y luego devolver ese valor. Mostrar lo que esta macro está diciendo. Volverá cierto si no estamos recargando o no cambiando de armas. Entonces no quiero poder recargar si ya estamos recargando o si actualmente estamos en medio de cambiar de armas. Y cambiar de armas sólo dura como 0.3 segundos. Es una animación muy rápida, pero no quiero interrumpir torpemente eso porque eso sería raro. Entonces vamos a arrastrar ¿podemos recargar y enchufar esa macro? Está bien, y luego fuera de la verdadera rama, así que no estamos recargando están listos, no
estamos cambiando de armas. Vamos a hacer tres cosas diferentes. Entonces, ¿tenemos es recargar? Queremos que eso sea cierto. Puede disparar. Queremos que esto sea falso. No queremos poder disparar mientras estamos haciendo esto. Y está apuntando. También falso? No quiero poder apuntar más. Estamos haciendo esto. Otra cosa que queremos comprobar es que queremos conseguir como sprinting. Y diremos que no. Y diremos rama. Y lo comprobaremos. Si no estamos corriendo mientras estamos haciendo esto. Entonces queremos conseguir el Componente de Movimiento de Personajes. Queremos ajustar nuestra velocidad máxima de caminata a cualquiera que sea nuestra velocidad máxima de caminata, la puse en 750. Entonces lo que esto está haciendo aquí
es que esto está acelerando a ese jugador si se recargan mientras apuntan. Entonces lo que vamos a hacer eventualmente es cuando apuntemos a sitios de nuestra arma, nuestro personaje va a ir más despacio. No se moverán a velocidad 750. Entonces si no estamos corriendo actualmente, queremos simplemente reiniciar. Esto es simplemente restablecer nuestra velocidad de nuevo a su defecto. De acuerdo, y luego nos ocuparemos de esto luego a más tarde. Esa es en realidad una específica que vamos a hacer para las escopetas. Porque las pistolas de tiro queremos tener un trabajo de
recarga un poco diferente porque son pellets individuales. De acuerdo, ahora saquemos una línea de tiempo y sólo llamaremos a esta arma lo que bajó. Y vamos a jugar esto desde el principio cada vez. Abrámoslo en un Float Track. Llamaremos a esto pull-down. Quieres que esto dure punto a cinco segundos. Agregaremos dos fotogramas clave. El primero B en el tiempo 0, valor de 0. El segundo será en el momento 0.5 y un valor de uno. Entonces se verá así en ese entonces. Lo que queremos hacer es querer hacer estos auto. Entonces es un poco más suave así. De acuerdo, otra vez, no quieres que esto se haga bucle ni nada. Cerrar tono fuera de esto y mantener eso abierto. Está bien. Entonces fuera de las actualizaciones, queremos comprobar si estamos recargando y está saliendo la actualización si no lo mencionaba ya. Entonces se actualizan si estamos recargando, entonces queremos promocionar realmente esto a una variable y vamos a llamar a este temporizador pull down. Entonces, esencialmente solo estamos configurando ese 0.5 como una variable y simplemente asegurándonos de que estamos recargando mientras está sucediendo. Cuando esto termine. Por lo que termina que 0.5 segundos, vamos a golpear un retraso. En este retraso se va a promover en. Esto se va a conocer como recarga. Ah, en realidad, llévate eso. No pongas en tiempo real aquí. Entrémonos a la base de armas y hagamos tiempo de recarga. Porque queremos poder aplicar esta variable a nuestros planos infantiles. Entonces haz que eso sea un flotador y luego agarremos el arma actual. El tiempo actual de recarga de armas. Whoa, no lo que queremos. Está bien. Y pondremos eso como el retraso. Así. Y puedes hacer que este tiempo predeterminado sea de 1.5 segundos o lo que quieras. Ese va a ser tu tiempo de recarga predeterminado. Cuando esto se haga, queremos hacer otra línea de tiempo y llamaremos a esta arma pull up. Va a tirar de nuestro arma. Entonces esto va a mover nuestro arma hacia abajo. ¿ Y va a tirar de nuestro arma hacia arriba? Queremos que esto juegue siempre desde el principio. Mantienes el control y agarraste la nota si no te resulta familiar cómo hacerlo. Está bien. Y esto va a ser exactamente lo contrario de los otros. Entonces llamaremos a este pull up. Y dos fotogramas clave, 0.5 segundos. Este va a ser veces 0 valor de uno. El segundo va a ser tiempo de 0.5 y el valor de 0, va a ser el inverso del otro. Y vamos a auto, hacer esto también. Entonces se está moviendo de ese otro valor, el 100 por ciento de sí mismo. Y volviendo al original, Cool, Genial, Nos estamos moviendo aquí fuera de la, vamos a agarrar esto y agarrar dos más de ellos y sacar eso de las actualizaciones así como de los acabados, solo para asegurarnos que seguimos recargando. Y entonces esto va a ser que solo podemos poner aquí de nuevo el temporizador pull down, así. No necesitas hacerlo. A pesar de que está bajado, el temporizador sigue funcionando para ellos. Tire hacia arriba, está bien. Y entonces esto es lo que queremos hacer. Ahora. Queremos volver a conseguir nuestra arma actual y queremos recargar el cálculo. Entonces recuerdas esto es lo que está haciendo las matemáticas. Matemáticas para balas. Abre esto. Esta es esta función. Entonces es hacer las matemáticas por nosotros. Y lo está haciendo cuando estamos cuando
terminamos con tirar del arma hacia abajo, tirándola de nuevo hacia arriba. Y entonces todo lo que necesitamos hacer es tomar es recargar y poner eso en falso. Ya no estamos recargando. Y toma puede disparar y decir, sí, ya puedes disparar tu arma. Entonces eso es todo lo que está haciendo ahí mismo. Y luego por un par de pedacitos de estilo aquí, podemos entrar a nuestra base de armas y añadir una variable y llamaremos a este sonido de inicio de recarga. Y haremos esto de tipo sonido. ¿ Queremos que sea un sonoro? Supongo que depende donde encerremos eso como correcto. Déjame comprobar rápidamente qué hice eso antes de mis notas y volveré en un segundo y qué tipo de variable hice. De acuerdo, Así que en realidad hice que esto es onda de sonido. Entonces onda de sonido, referencia de objeto, recargar, iniciar sonido. Y luego haremos una recarga y sonido. Oh Dios, no quiero ese apóstrofe. De acuerdo, y así estos pueden ser ranurados como lo que sea. Así que ahora de vuelta en nuestro jugador aquí, fuera de, para este temporizador pull down, Hagámoslo. Hacer una vez nodo, así. Y entonces vamos a tocar un sonido 2D, tendrá ese sonido sería el arma actual. Y consigue un sonido recargado y enchufa eso como el sonido así. Siéntase libre de cambiar el volumen. ¿ Cómo te gusta? Entonces tendremos un nodo de retraso. Tendrá su retraso como un segundo. Y luego vamos a restablecer nuestro du una vez. El motivo por el que lo estamos haciendo de esta manera es solo para asegurarnos de que el sonido no se reproduzca más de una vez. Porque como a veces te pueden atrapar y estos temporizadores y hacer que este sonido de tipo de spamming realmente extraño, que es simplemente muy incómodo cada vez. Y luego salir de entonces colas es hacerlo fuera de aquí. Vamos a Reproducir sonido. 2d, acurrucarse en. Y obtenemos el sonido de inicio de recarga. Y luego hazlo así. De acuerdo, así que aquí está nuestros eventos de recarga todos terminados así. Vamos a recargar, vamos a asegurarnos de que no estamos cambiando de arma o estamos recargando actualmente. Se va a quedar bien como este spam de la misma. Y vamos a decir que estamos recargando, no
podemos disparar, no podemos apuntar. Te vamos a poner nuestros paseos de vuelta a la normalidad, vamos a tocar un sonido. Entonces vamos a ejecutar esta pequeña animación que se instalará en un video futuro. Vincularemos eso en nuestro Blueprint de Animación. Entonces lo haremos para, mantendremos el arma ahí abajo por el tiempo de recarga. Siempre que entremos eso, volverá a tirar del arma hacia arriba. Haremos los cálculos para nuestras balas. Y luego diremos Ya no estamos recargando. Podemos disparar y luego tocaremos ese sonido. Está bien, para que eso funcione. Genial. Podemos comentar cuadro como esta sección o algo así y diremos controles. Animaciones para solo diremos por recargar, sé genérico al respecto. Así. Sólo como los respaldos comunes, ciertas partes del guión que Es como no realmente podrían no saber lo que hace o algo así. Entonces sí, todo se ve bien. Sólo tenemos como una cosa más que hacer. Entonces hagámoslo ahora vayamos a nuestra configuración de proyecto. Y realmente vamos a crear una entrada para este mapeo de acciones. Llámalo una recarga, y haz que lo vincule a la tecla R. Cosas típicas de tirador en primera persona. Entonces en nuestros mapeos de acción de jugadores, Vamos adelante y vamos por debajo, recargar, ver, la recarga del evento de acción. Y hagamos un par de cosas aquí. Entonces vamos a agarrar la carga como de costumbre y encenderla. Por lo que sólo queremos poder hacer esto si realmente tenemos un arma para prevenir los bichos. Porque si le pego a R y no tengo arma, se va a confundir. Entonces consigamos el arma actual. Aquí es donde van a entrar en su lugar algunas de nuestras funciones, es un mag, lleno o vacío. Y si eres miembro como arma, si recuerdas, tenemos un valor de retorno. Entonces, ¿nuestra revista está llena o vacía? Está haciendo esto. Girando. Esta variable puede recargarse encendido y apagado. Entonces si podemos recargar, lo siguiente que queremos comprobar es, ¿estamos corriendo? Ahí vamos. Si tratamos de recargar y estamos corriendo, entonces queremos llamar a movimiento detenido. Si recuerdas, eso ralentiza a nuestro personaje de nuevo a la normalidad e inicia la regeneración de nuestra fuerza por no correr. Entonces sacaremos otra rama y pondremos los movimientos parados. Dirigiremos ese evento, luego seguiremos por ese camino. Entonces conseguiremos el arma actual. Y queremos comprobar si estamos actualmente, uh, aún no hemos creado eso, ¿verdad? Hm, de acuerdo, bueno vamos a hacer eso entonces. Entonces vamos a crear una nueva variable en nuestra cuenca de armas. Llámalo está disparando, que
sea barba. Está bien, y luego quiero, quiero hacer una nueva función. Esta va a ser la función más patética que hayas visto tu vida. Pero vamos a llamar a esto dejar de disparar. Y todo lo que vamos a hacer en dejar de disparar es tomar es disparar y hacerlo falso así. Literalmente, eso es todo. Y luego dentro de nuestro inicio disparando fuera de esta línea traza justo por ahora. Hagamos, es cierto disparar así. Por lo que ahora de vuelta en nuestro jugador, Vamos a conseguir está disparando. Entonces estamos disparando. Se tiró de un cerebro. Pero ya lo hicimos. Incómodo. Está bien. Entonces si tratamos de recargar mientras estamos disparando nuestro arma, no
queremos seguir disparando el arma mientras estamos recargando, porque entonces las matemáticas se van a confundir realmente. Estamos sosteniendo el gatillo del arma automática o las balas actuales están bajando, pero también está tratando de hacer las matemáticas. Entonces queremos serlo, queremos dejar de disparar así. Y luego agreguemos la llamada falsa, recarguemos y luego arrástrela así. Entonces si estamos sí, entonces sobre el disparo dejará de disparar antes de que podamos recargar. Si no estamos disparando, entonces simplemente se recargará. Por lo que podemos decir que las paradas se fueron de disparar durante la recarga. Entonces hay un montón de estas cosas raras que te gusta, Oh, dispárale a eso toda mi arma para estar disparando mientras intento recargarla. Pero estas son las cosas cuando tu guión y tienes que pensar en todo. Entonces, ¿tenemos qué? Pensando en todo en esta clase, vale, tengo que cubrir. El siguiente que hay que hacer es adentrarse en tus hijos de armas. Y puedes tragar algunos sonidos para la recarga, inicio y fin. Y luego puedes establecer un tiempo de recarga. Y luego asegúrate de que solo entras y asegúrate de que el tamaño de tu revista no esté a los 30, que es el predeterminado. Ponlo a lo que tengas es tu munición actual. Y luego si te subes y juegas, verás que si cojo la pistola, por ejemplo, y disparo munición TCR va a bajar. Si golpeo la tecla R, se está recargando y si trato de disparar, No me está dejando hasta que se restablezca de nuevo a 12 y pueda disparar. Entonces si dejo que esto vuelva a bajar a 0 y estoy tratando de disparar para que dejarme se esté recargando automáticamente y me hiciera todas esas matemáticas así. Y luego si fuera a hacer algo así como, vamos a ver, puse esto para ser 24. Déjenme que esto sea 12 o algo así. Entonces si vengo aquí, tienes una pistola y yo estoy disparando y me estoy quedando sin munición. Entonces está recargando justo ahí. Ahora si trato de recargar, No me está dejando recargar porque tengo 0 y el paracaídas de reserva no me deja recargar. Todavía no. Y entonces no lo sé, no
puedo recargar nada. Supongo que lo único que pasó que fue donde hace que reprodujo el sonido de recarga. Pero esa sería una solución rápida y fácil que sólo podemos implementar. Al asegurarse haciendo un cheque como ese es su munición que le queda. Podríamos agregar una sucursal o algo así aquí mismo y luego ahí mismo haciendo eso. Pero sí, eso debería ser bastante fácil de poner ahí y hacer. Interesante. Sí. Está bien. Bueno, eso lo arreglaré y me pondré con usted en eso para encontrar algo que funcione. Pero sí, eso es recargar. En pocas palabras. Todo funciona. Es hermoso. Entonces gracias por ver. Te veré el próximo.
22. Animación de armas: Hola a todos y bienvenidos de nuevo a otro video. En este vamos a seguir adelante con nuestra funcionalidad de recarga en poder animar o armar realmente. Entonces entre videos, hice un par de cosas que ojalá tú también lo hicieras. Si no, tómese un tiempo para hacerlo ahora. Entonces entré en cada arma y puse diferentes sonidos se usan, los más bajos y los de rayos, siento que suenan mejor que los de parte de este pack que en realidad se llaman recarga, pero eso depende de ti. En realidad cambia un poco el esparcido de bala sobre estos. Estos sólo importan. En realidad. En realidad sí importa. Y otras armas iban a decir que sólo importa en el hit scan 12. No importa en absoluto. Dije un tiempo de recarga y luego me aseguré de que el tamaño de revista en la actual Emma fuera lo mismo. Entonces ahora si entramos al juego y recogemos un arma, dispara, recarga. Diferentes sonidos y todo. Sí, tienes la idea. Algo que quería presumir, así que recuerda en un video anterior hablé de cómo cuando sprint, queremos hacer algo mientras tratamos de sprint, para solucionar problemas mientras estamos filmando. Y eso lo voy a demostrar ahora. Entonces no salen pernos. Pero VC, si estoy corriendo y disparando, el arma está apuntando hacia la izquierda, pero sigue disparando derecho. Entonces eso es una cosa que queremos arreglar. Entonces si entramos al jugador y vamos por debajo, tiene un arma, lo que hicimos antes de crear esa función de stop shooting. Entonces sigamos adelante. Puso algunas de estas en categorías. Creo que hice una llamada arma, el arma actual y hicimos esa función de parar disparar la última vez. Enchufa eso ahí y luego enchufa eso en juego. Al igual que tal. Y entonces podría simplemente un poco redireccionado a todo esto alrededor y moverlo un poco. Eso tal vez. De acuerdo, entonces ahora dejamos de disparar. Yo no esto podría no ser todos los pasos para ello. No fue oh, creo que sé por qué. Aguanta 1 segundo. Sí. Entonces otra cosa que tenemos que hacer es que tengamos que entrar en nuestras mappings de acción en nuestro jugador y en realidad agregar algo más a esto. Entonces sigamos adelante y empecemos por copiar pegando esto. Queremos agregar algo sobre la estrenada apenas en general. Pero fuera de este inicio, voy a romper esta pista por ahora. Entonces si tenemos un arma, queremos hacer un par de cheques diferentes. El primero es, vamos a tener que crear una nueva variable para esto y decir Está cargando fuego de arma. Esto es algo que vamos a añadir más adelante. No lo haremos, así que saldríamos de la verdadera rama. Esto nos va a permitir. Entonces si vas en el juego en este momento, puede que no funcione este plug-in. Entonces si te das cuenta ahora mismo podemos disparar a esta arma tan rápido como podamos hacer click. Y lo mismo va con el rifle de francotirador. Y lo mismo va para la granada. Queremos que estos tengan tasas de fuego
reales para que esta variable vaya a estar controlando eso más adelante. Para asegurarnos de que no podamos simplemente disparar spam a cada uno. Pero entonces queremos comprobar si estamos corriendo, rentar. Si estamos corriendo, entonces lo primero que queremos hacer es parar el movimiento, y luego podemos disparar. No los estamos esprintando, sólo vamos a disparar. Entonces. Hagámoslo cuando liberemos esto es principalmente para armas automáticas se mantendrá presionado el gatillo para Eso es principalmente lo que el stop shooting. De qué es esto principalmente para parar de disparar, pero sólo podemos copiar y pegar eso. Arrástrelo debajo. Y si tenemos un arma, entonces dejaremos de disparar cosas. Ella realmente no hace mucho de nada. Son en su mayoría sólo obras para armas automáticas son arma automática, pero ahora si le pasamos al juego, esto debería funcionar. Ahora, estoy corriendo y luego tiro. Se puede ver cómo mi arma mira hacia atrás hacia adelante y mi velocidad de movimiento se restablece a la normalidad. Está bien. Entonces ahora eso está todo arreglado y bien y bueno. Entonces sí. Ahora lo que podemos hacer es entrar en el plano de animación de nuestro personaje. En realidad podemos animar esto. Entonces vamos a entrar en nuestro gráfico de eventos y vamos a querer crear un par más de estas referencias aquí. Entonces vamos a crear uno llamado temporizador de tirar hacia abajo de tipo. Y llamaremos a uno es. Y carga de un booleano. Y al igual que antes con estos otros, queremos agarrar al jugador y queremos que esa variable tire hacia abajo el temporizador. Y queremos poner eso como el temporizador de bajada. Aquí. Te acuerdas que creamos este temporizador bajador. Lo establecemos aquí mismo, establecemos esto como una variable aquí, y luego lo establecemos como la misma variable aquí. Voy a hacer esto más largo. Entonces voy a poner ambos en la misma caja. Está bien. Entonces sigamos adelante y también pongamos es pondremos estos recargando, el de aquí. Y volveremos a conseguir al jugador. Y conseguir es recargar así. De acuerdo, entonces ahora tenemos esas variables sincronizan desde nuestro reproductor a nuestro Anime Blueprint. Ahora podemos volver a nuestro gráfico de animación. Y entonces así tenemos una pose de arma. Entonces, eliminemos la pose de arma de la salida porque vamos a tener que usar esto ahora. Entonces sigamos adelante y tomemos una pose de arma así. Y vamos a transformar modificar hueso otra vez. Nosotros sólo queremos hacer rotación. Sí. Sí, sí. Por lo que queremos subexponer la escala. Mantendremos la traducción y la rotación. Y los vamos a dividir así a ambos. Entonces obtenemos un nodo que se ve así. Esto va a agregar como local los componentes automáticamente. De acuerdo, y entonces sigamos adelante y tomemos otra vez una pose de arma. Y queremos mezclar poses por un bool. Y entonces esto se va a enchufar a una nueva pose de efectivo. Y vamos a llamar mucho a esto voy a posar, sólo
soy un poco lo que los nombres aleatorios en este punto. Y entonces tendremos carga out pose la salida. Entonces solo para pasar por un paso extra aquí, queremos que esto se enchufe. Un falso será un poco. Entonces la postura de arma va a ser cierta, correcta. Entonces vamos a agarrar es recargar y decir no recargar. Está bien. Entonces si, si no estamos recargando, entonces sólo estamos tomando menos esencialmente, que es lo que las innovaciones que hemos estado usando. Pero si estamos recargando que queremos transformar, modificar un hueso, nuestro valor alfa va a ser nuestro temporizador pull down. De tal manera que 0.5 segundos de moverse de 0 a uno y luego uno de vuelta a 0. Y vamos a traducir en la y de cinco rotar papel y la x. Eso debería ser. Ah, en realidad tenemos que querer hacer columna vertebral, columna 1. Entonces quitando todo el asunto hacia abajo. Entonces todavía no es como yo. Ah, vamos a asegurarnos de que sí sumamos al existente para ambos. Ese fue el tema. Está bien, genial. Entonces ahora podemos comentar cuadro esto y digamos que se mueve hacia abajo, bien recargando. Y lo va a mantener ahí abajo hasta que se acabe nuestro temporizador de recarga, que es establecido dinámicamente por nosotros en el tiempo de recarga variable. Entonces eso es lo que se ve así. Ahora si entramos aquí y agarro mi arma y la disparo un par de veces y luego recargar, mueve hacia abajo, la trae de nuevo arriba. Y estoy golpeando a nuestro justo ahora tratando de recargar. No es hacer esa animación, no es disparar. Se me acaba el estudiante de munición automáticamente. Abajo. Ahí vamos. Eso funciona perfecto. Por lo que ahora tenemos un sistema de recarga completo en nuestro juego. Es hacer todas las matemáticas. Es, es animar, hacer las cosas automáticamente para nosotros cuando nos quedamos sin. No nos está permitiendo disparar un puntería e incluso podemos nombrar en general ahora mismo, pero no nos permitirá hacer ciertas cosas. Sí. No veo ningún problema con él ahora mismo. Creo que todo está funcionando bien, Así que sí, en la próxima serie de videos, vamos a seguir agregando algo más de funcionalidad o armas y personalizándolas y haciendo algunas cosas geniales. Por lo que espero verte ahí.
23. Fotografía la pistola: Hola a todos y bienvenidos de nuevo a otro video en
este, éste en realidad probablemente va a ser el más corto hasta ahora. Creo que ya veremos porque en realidad vamos a poder disparar a nuestro pistilo. Ahí. Vamos a empezar a montar estas armas con algunas cosas geniales. Entonces vayamos a nuestra carpeta de armas y realmente abramos el arma de pistola. Abrir editor de blueprint completo. Y podemos eliminar estos nodos. Ahora deberías tener en tu mirador, tu pistola aquí mismo como tu malla de arma. Y puedes fijar la cantidad de recogida de pistola, la munición actual, y algunas de estas cosas. Pero lo que queremos hacer, sólo queremos hacer dos cosas muy fáciles. Queríamos conseguir evento. Empezar a disparar. Hacemos clic derecho en esto y vamos a agregar call the parent function así. Entonces estamos creando, estamos vinculando este evento al que existe en el padre justo aquí. Cuando disparamos a esta arma en particular, queremos, vamos realmente agarrar la malla de arma. Y diremos Play Animation, la animación que queremos reproducir. Por lo que estas armas llegaron con animaciones. Hay una llamada fuego Pistola W. Puedes navegar a eso y abrir eso. Entonces conseguimos este ruido. Ahí es un poco extraño, pero obtenemos un poco de destello de hocico que se ve el martillo moviéndose así. Entonces eso es la animación va a jugar así. Y luego queremos que los eventos recarguen peso. Y no tenemos que hacer esto. Y luego recargar el cálculo. Hagámoslo solo para asegurarnos de que funciona en esta arma como se pretendía. Puede que no necesitemos hacerlo así, pero sólo lo voy a agregar para estar a salvo. Entonces ahora si entramos y jugamos, conseguimos nuestro pistilo. Disparamos. Ahora en realidad podemos disparar el arma. Y parece que está disparando. Suena como si se notara. Se puede ver cómo esas balas son como ahora el aterrizaje perfecto del radical. Y eso es porque nuestra propagación de balas es así. Si volviera a entrar aquí e ir al esparcido de
balas y estoy a 250 de ciudadanos de IA que como 750, como algo realmente grande. Tan solo para demostrar esto, amarillos están aterrizando por todo el lugar. Yo quiero que mi propagación de mi pistola sea bastante precisa. Ellos lo son. Es así como debes el PESTEL. Eso es todo lo que tenemos que hacer en este video. Entonces el siguiente, vamos a sumar un poco más a la base de armas y añadir un retroceso. Hará eso. Y luego vamos a pasar a empezar a poder disparar el resto de las armas, que son ciertamente todas van a ser más complicadas que esta pistola. Pero éste era para mostrarte cómo se hace. Entonces gracias por ver. Ya veré en el siguiente.
24. Agrega Recoil realista: Hey a todos y bienvenidos de nuevo a otro video. En este video, vamos a estar agregando retroceso a nuestras armas para darles un poco de arma, patear, dispararles verticalmente en el aire mientras estamos disparando, solo para que se sientan un poco más realistas. Entonces sigamos adelante y hagamos eso. Vamos a querer adentrarnos en nuestra base de armas, que en realidad ya tengo abierta al parecer. Y solo haremos esto dentro de nuestra gráfica de eventos. Entonces vamos a conseguir un poco de espacio abierto. Y vamos a crear tres eventos personalizados. Uno llamado Arranque retroceso. Vamos a tener uno llamado stop retroceso y otro llamado reset recoil. Entonces éste va a hacer que el arma patee hacia arriba. Esto no va a detener que eso suceda y esta va a mover el arma hacia abajo para nosotros. Para que el juego sea un poco más agradable con nosotros. Para poder lograr esto. Tenemos que usar una línea de tiempo. Entonces llamemos a este retroceso. Seguro. Esto siempre va a jugar desde el principio. Este retroceso de parada va a estar en parada y reinicialización. Va a ser al revés. Y en realidad podemos llamar a este retroceso inverso para
que sea más consistente con los nombres de la línea de tiempo para ti así. Adelante y abramos esta línea de tiempo. Esto va a ser realmente, muy rápido. Este, va a ser una pista de flotación, él, construye su nombre. Este alfa va a tener el punto 1, 0 segundos de largo. Y luego en esto realmente corto, entonces queremos tener tres fotogramas clave. Establecerás uno de Tiempo 0 y valor de 0. El segundo va a ser tiempo de 0.02 en un valor de uno. Y entonces éste va a ser el tiempo 0.1 en valor 0. Y como de costumbre, vamos a configurar estos para que sean auto para su interpolación clave. Entonces así debe ser nuestra línea de tiempo. No necesitamos un bucle ni hacer nada más para poder cerrarlo así. Lo siguiente que queremos hacer es sacarnos de esta dirección. Esta es una enumeración que salió automáticamente de esta línea de tiempo. En realidad no lo hicimos nosotros mismos y vamos a encenderlo. Entonces fuera de la actualización, queremos hacer esto. Y así esto es conseguir una dirección de avance o retroceso, o hacia adelante o hacia atrás. De acuerdo, fuera de nuestra línea de tiempo, sigamos adelante y llevemos al personaje del jugador. Y queremos agregar entrada de pitch del controlador. De acuerdo, entonces para adelante, queremos que esto entre en el terreno de juego. Y para atrás también queremos que esto entre en el terreno de juego. Vamos a establecer la velocidad diferentes valores. Entonces vamos a arrastrarnos fuera de aquí. Y vamos a recordar que la alerta es la interpolación lineal. Por lo que se está moviendo de un a B sobre Alpha. Por lo que va de un a B sobre Alpha es como un cierto periodo de tiempo. Entonces al igual que puedes aprender dos números diferentes o trabajado con colores. Entonces si tienes a es como azul y B es rojo, puede recorrer como 1 segundo y va, en lugar de como parpadear, se desvanecerá de un color a otro. Por lo que hay diferentes formas en las que puedes usarlas. Entonces alfa va a ser nuestro valor alfa, que va a terminar siendo 0.1 segundos. A se va a dejar en 0 y B se va a promover a una variable. Y llamaremos a este arma patada. Esto va a ser como cuánto
arranca nuestra arma en realidad en el aire cada 0.1 segundos. Entonces si compilamos esto, oh Dios. Vamos a establecer esto para que sea negativo 0.05 por defecto. Entonces no mucho. Entonces este valor de retorno va a ser estos valores. Sólo por éste, por atrasado, lo
vamos a multiplicar por uno negativo. Entonces, o sí, dije uno negativo, simplemente no lo escribía. Quería ser lo inverso para al revés así. Y necesitamos un enchufe que en el objetivo porque uno o uno que me estaba dando un error. Está bien, Así que eso se ve bien. Vamos adelante y sólo voy a conseguir que el personaje jugador sea otra referencia al mismo. Y luego fuera de aquí, vamos a agregar controlador, su entrada. Entonces solo vamos a hacer que esto suba y baje. También vamos a hacer un poco una especie de sonajeros de izquierda a derecha. En por este valor. Vamos a seguir adelante y conseguir un flotador aleatorio en rango. Y vamos a hacer esto. Punto negativo 15 a puntos positivos 15, así. Puedes sentirte libre de aumentar o disminuir, cambiar estos números a donde quieras probándolo y haciéndolo a tu gusto. Ahora una vez que terminemos por esta línea de tiempo, vamos a querer revertir retroceso. Entonces vamos a revertirlo. Lo vamos a mandar de vuelta. Así. Obtiene el realmente no me ayudó tanto. Ese nodo de reencaminamiento se ve bien. Vamos a revertirlo. Entonces vamos a tener una lectura Trigger se retrasará. El diferencial entre un retraso en un retraso recuperable es que lo dice aquí mismo. Realiza una acción con un retraso recuperable, llamando a la acción mientras está contando atrás, restableceremos la cuenta atrás a la duración. Entonces la razón por la que queremos leer gatillo un doble aquí es porque si estamos revirtiendo, correcto, y este temporizador está bajando, y sigue contando y empezamos a disparar de nuevo. Queremos volver a ajustar este retraso a lo que era antes. Y queremos empezar a retroceder hacia arriba. Select, queremos ir como boom, y luego empezará a volver a entrar y volvemos a disparar. Queríamos y ser capaces de hacer eso. Entonces sí, se puede leer activado y luego queremos parar o retroceder después de 0.05 segundos. Entonces esto es como un tiempo realmente, muy corto. Adelante y comentemos cajas, todo el asunto. Y diremos que agrega efecto retroceso a armas así. Lo último que tenemos que hacer es que lo hagamos, Empecemos evento de retroceso. Eso va a ser en inicio de rodaje. Entonces, después de calcular el trazo de línea, digamos que empiece el retroceso así. Y entonces diremos que está disparando así. Entonces ahora tal vez no podamos notar esto demasiado, pero deberíamos ver un poco de, supongo, movimiento de la pantalla. Si simplemente no muevo el mouse derecho derecho, mira que está sonando un poco la pantalla. Se está moviendo hacia arriba si fuera a hacer esto. Entonces entra en la pistola y hagamos de este algún número ridículo como negativo te hace intentar recordar si los negativos lo hacen peor o mejor y ver. Sí. Entonces como negativo dos tal vez tiene un poco demasiado ridículo. Sí, eso lo veo. Cubo como un Bronco. Entonces uno negativo sería mucho parecido al negativo 1 o podría ser como tu tipo de retroceso lanzacohetes. Al igual que yo, yo soy, no voy a mover el ratón y va a dar click. Eso es lo mucho que se está moviendo así. Entonces 0.05 para como una pistola es bastante bueno, solo tiene un poco de retroceso a ella porque se puede disparar tan rápido. Así. Ves, sí, puedes sentirte libre. Y nosotros, realmente no podemos disparar estas armas todavía. Por lo que podría ser algo que hacer para después. Pero voy a añadir esta patada de arma a nuestros datos de armas. Sí, así que esa es otra variable que se puede
establecer dinámicamente dependiendo de cualquier arma. Creo que el rifle auto fue como 0.1 negativo. Para que te dé un ejemplo. Entonces sí, para que ese recuerdo va a estar sucediendo tanto si estás apuntando como si no. Entonces eso es que tengo retroceso, no súper loco complejo donde sí agregando algo de pitch en entradas de guiñada en nuestra pantalla cuando disparamos el arma. Entonces espero que ustedes disfrutaran de este video, lo
encontraran útil, lo encontraran informativo. Y te veré en el próximo.
25. Fotografía el Rifle de la astura: Todos y bienvenidos de nuevo a otro video. Este probablemente va a ser el favorito de mucha gente, el que habían estado esperando. Porque vamos a poder disparar a nuestros rifles de auto o de asalto, rifle o como quieras llamarlo. Vamos a estar disparando un arma automática y tú
mantendrías pulsado el gatillo y solo va bam, bam, bam, bam, bam, bam. Está bien. Sé que eso es lo que todos quieren ver. Entonces lo estamos haciendo aquí en este video. También lo hace en realidad bastante simple de hacer. Adelante y abramos nuestro auto rifle. Y podemos revisar nuestros sonidos y voy a hacer que nuestra bala se extienda como 100, algo en tiempo real y 0.5 ese socket, esto y aquello y todas esas cosas. Siempre puedes editar eso simplemente desplazándote por aquí con esta seleccionada o ventanilla debe tener el arma. Pero ahora lo que vamos a hacer es que vamos a crear algún guión. Entonces al igual que antes con la pistola, queremos que el evento comience a disparar. Y queremos agregar llamada a la función padre. Pero en realidad no queremos enchufar esto de inmediato. Vamos a crear una nueva variable específica a este blueprint. Y diremos que es tiroteo con rifle automático? ¿ Es tiroteo? Esto va a comprobar si nuestro rifle auto está disparando porque es automático. Es sólo una forma extra de comprobarlo. Entonces en los eventos empiezan a rodar, vamos a poner este booleano para que sea verdad. Y queremos, queremos hacer es queremos crear un evento personalizado y lo llamaremos fuego de rifle automático. Y lo que vamos a hacer es que vamos a llamar a ese evento aquí fuego de fusil auto. Y entonces lo que queremos hacer aquí es que vamos a establecer un evento de temporizador. Y este temporizador, el evento en este temporizador va a ser éste que acabamos de crear aquí mismo. Al igual que tal. El que queremos hacer de esto un looping y vamos a promover esta vez a una variable,
y vamos a llamar a esta velocidad de disparo de fusil automático. Por lo que puedes configurar esto para que sea lo que te gustaría personalmente que fuera. Dice lo rápido que va a disparar tu rifle auto. Voy a hacer 0.1. Cuanto menor sea el número, más rápido se va a ir. Por lo que 0.05 será el doble de rápido que este. Si lo hicieras como 1 segundo, sería como boom, boom, boom, boom, boom, boom. Pero si fuera como 0.1, va a ser como, ya
sabes, va a estar haciendo ese tipo de efecto. Entonces para el fuego de fusil auto, una cosa que queremos revisar es que queremos revisar es nuestro disparo de fusil auto. Termina de rodaje. Y eso es lo que llamaremos función de nuestros padres para empezar a disparar. Entonces vamos a enchufar eso así. De acuerdo, así que ahora tenemos el evento de padres saliendo. Y queremos jugar una animación en nuestra malla de armas. Automáticamente lo agarró para nosotros. Muy amable. Y entonces esta animación se llama rifle de fuego. Rifle de fuego w. bien, ahora saliendo de aquí, quiero crear un tipo de cheque adicional para nosotros. Entonces sigamos adelante y obtenemos balas actuales. O actual es munición? Obtener AMA actual. Y diremos, ¿esto es menor o igual a 0? El motivo por el que estoy haciendo como una doble comprobación en este es porque con el disparo automático, encontré que a veces solo puede seguir disparando por la razón que sea. A pesar de que tenemos eso. Este mismo tipo de función que se ejecuta en el padre, sigue siendo a veces se atascan. Entonces solo hay una forma extra de decir que vamos a dejar de disparar. Y luego vamos a, tengo referencia de jugador que viene de nuestro padre y decir recargar. Sólo para asegurarse de que haga eso, que ha estado haciendo eso. Pero a veces solo puedes conseguir un paso extra porque a veces puede quedar atrapado en esta cosa correcta del fuego. Lo siguiente que queremos hacer es que queremos conseguir un evento stop shooting, que también es del padre, que sólo convierte esa variable en falsa. Vamos a hacer esto falso. Y entonces lo que vamos a hacer es sacarnos de nuestro temporizador y vamos a decir claro e invalidar el temporizador. Yo manejo y no quiero que esos estén conectando uno para conectar así. Sí, está un poco en mal lugar de cualquier manera que lo cortes,
pero oh, bueno, lo que sea. Entonces, ¿qué está haciendo esto tendrá este evento donde empecemos a rodar. Y vamos a ejecutar este evento que pone un temporizador. Y está ejecutando este evento de rodaje de padres que configuramos cada 0.1 segundos o lo que sea que establezcamos el SAS, está tirando de esa animación. Cada vez. Si nos quedamos sin munición, vamos a dejar de disparar una recarga. Y luego cuando soltamos el botón gatillo, dejamos de disparar. En caso de dejar de disparar y borrar el temporizador. Entonces aquí está el momento de la verdad. Vea si esto funciona, podría encontrarse con un error. Podría faltar algo en el personaje, pero ya veremos, guau, que en realidad estaban perfectamente en casa voy. Y llegamos a 0. Y va a tratar de disparar. No está funcionando. Se ve que la bala se extiende subiendo. Y eso está funcionando muy bien. Por lo que aún podemos disparar unos que no lo tiramos hacia abajo y simplemente rociar por todas partes. Así. A lo mejor todas estas lindas líneas rojas que éramos. Está bien. Entonces así es como disparando el rifle auto. Piensa que eso es todo lo que tenemos que hacer. Entonces como solo mostrarte si cambiara este ritmo de fuego a como 1 segundo, sería como una ametralladora pesada. No puede ni siquiera gustarle eso. Sheesh alguna vez hizo esto realmente pequeño, ¿como 0.005? Probablemente más como un S, M, G o algo así. No salvaré. Yo estaba como, lo juro. Es como, oh, sí, cualquier cosa que puedas reproducir la animación tan rápido. Está bien. Rompe el juego en ese punto. Está bien. Sí, ese es el rifle auto. Funciona. Hace lo suyo. S todo lo que tenemos que hacer. Para que puedas seguir adelante y también puedes cambiar el orden. Pongo esto la patada de arma a como negativo 0.1 o algo así. Y luego con eso, puedes conseguir más patada. Oh Dios, ¿esto no retrocedió a sí mismo? Vamos, juego. Punto negativo. Oh Dios mío, ahora me estoy confundiendo con mis números. Esto va a ser 0.1. Esto va a ser negativo 0.1 para la patada. ¿ De acuerdo? Aquí vamos. Ahí vamos. Entonces ya ves cómo se mueve un poco a la derecha y a la izquierda para decir, bueno estos no lo son. Entonces no lo están, no se está moviendo perfectamente hacia arriba. Es zigzagueante derecha e izquierda. No estoy moviendo el ratón en absoluto. Y esos son los resultados que obtenemos. Tan bastante cool. Sí. Espero que hayan disfrutado de este video. Y sí, te veré en el próximo.
26. Fotografía la pistola de la pistola: Hola a todos y bienvenidos de nuevo a otro video. En la última lección, mostramos cómo hacer el rifle de asalto. Y en éste vamos a mover nuestra atención hacia la escopeta. Este es nuestro arma de escaneo final. Este como los otros, va a ser bastante sencillo, bastante fácil. Sólo un par de pasos. Este video no debería ser demasiado largo. Entonces sigamos adelante y abramos nuestra base de armas y nuestra escopeta. Dentro de la base de armas, lo que vamos a hacer es crear un par de variables. Vamos a llamar a este recuento de pellets, y vamos a hacer esto en número entero. Esto va a representar cuántos pellets individuales te gustaría disparar fuera de la escopeta. Esencialmente selecciona ¿cuántos trazas individuales de línea quieres que haya? Probablemente sea la forma más fácil que puedo explicarlo. Entonces lo que en realidad, ya sabes, pondremos eso ahí dentro. Sí, sí, sí, sí. Y luego vamos a tener otra variable y llamar a esto es escopeta. Y esto será un booleano, no a Medline. Un booleano. Ahí vamos. Ahora si vamos a nuestro choque y arma, y abrimos a este editor, deberíamos ver que estas armas son estas variables. Vamos a poner que eso sea ocho. Entonces lo que voy a hacer, y entonces esto va a ser una escopeta. Estas variables, sólo las voy a poner en una categoría en esta columna. Escopeta, que nuestras otras y otras armas no tienen que verlas porque sólo van a importar en esta. Está bien, así que al igual que antes, dentro de nuestro shock y Gráfico de Eventos, Vamos a los eventos, empecemos a disparar a llamado el padre. Enchufe, enchufarlo. Y luego vamos a agarrar la malla de arma y jugar una animación. Recuerden estas armas venían con animaciones. Esta manada de armas. Es así como conseguimos estas escopeta de fuego. Entonces si no tuviéramos estas animaciones, tendríamos que hacerlas nosotros mismos o hacer algún efecto
loco como engendrado de partículas en sonido en localizaciones y esencialmente hacerlas nosotros mismos. Por lo que el hecho de que estas armas vengan con animaciones es sumamente conveniente. Um, entonces, sí, hay un par de cosas que me gustaría hacer por algunas de estas armas, empezando por la escopeta, porque no quiero poder solo bam, disparando esto. Entonces vamos a entrar en nuestro personaje. Y en el Gráfico de Eventos, algún espacio abierto, Hagámoslo un evento personalizado y llamemos a esta tasa de fuego. A mí me gusta este nombre. Cal. Cálculo de tasa de incendio. Bastante cool. Bastante cool. Ah, ¿sabes qué? Eso es incómodo. Wow. Hagámoslo en la base de armas. Lo siento, arma favorita básicamente. Hacer un evento personalizado en llamarlo tasa de fuego. Por 3k. Podríamos haber hecho en el jugador técnicamente también. Pero cada vez que tiene al jugador y vamos a conseguir es un fuego de arma cargando. Vamos a ponerlo. Establezca esto para que sea cierto. Y luego vamos a arrastrar un retraso. Y vamos a ver, hicimos y creo que hicimos una tasa de fuego. Y aún. Ves, esto a veces es lo malo de que en realidad estoy poniendo esto en que no lo hicimos. Está bien. Y luego hagamos uno llamado tasa de fuego y que flote. Enchufa eso. No necesitas ponerlo como nada ahora mismo. Bueno, esto lo puso dentro de los planos. Agarra esto. Por lo que habría falso. Y sólo toma estos y ahorra fuego furioso para non Adam, los metadatos de
Adam no pueden hablar por
armas no automáticas z y evitar el spam, disparando estas armas. Entonces si recuerdas en nuestro jugador, y eso debería estar en uno de nuestros mapeos de acción aquí mismo. Nosotros queremos disparar es fuego, es fuego de arma cargando. Si no lo es, entonces podemos disparar se han ido. Entonces en este caso, cualquiera que sea nuestra tasa de fuego esté fijada ya que va a encender y apagar esa variable. Entonces no podemos disparar. Por lo que no nos puede gustar disparar tan rápido como podemos hacer click. Entonces en el arma escopeta, sigamos adelante y llamemos a este evento tasa de fuego calculada para cada arma que queremos que esto afecte. Tenemos que llamar a este evento. Por lo que esto se va a llamar a la escopeta, al rifle de francotirador, y al lanzagranadas. El único arma dijo que se necesita en el resto de ellos, el auto rifle, sólo tienes que sostenerlo hasta el píxel. Puedes disparar lo más rápido que puedas hacer click. Y el lanzacohetes sólo tiene un cohete en el cargador. Entonces cuando lo filmes, de todos modos sólo se va a recargar. Entonces no necesitas hacerlo, Es redundante. Entonces es una cosa que quiero hacer. Hay otra cosa específica de la escopeta. Hay un par de cosas. Entonces este video podría ser en realidad más largo de lo que pensaba porque hay algunas cosas diferentes que necesito hacer con la escopeta. Pero sigamos adelante y volvamos al evento de inicio de rodaje aquí mismo. Y luego vamos a hacer una ligera desviación en nuestros escaneos de hit como este. Entonces voy a romper esto por ahora. Voy a sacar una sucursal. Y vamos a preguntar, ¿esto es una escopeta? O le disparamos un shock aquí. Y si lo estamos, queremos hacer un bucle for. Entonces no para cada bucle, solo un bucle for. Nosotros vamos. Entonces si miras, un bucle for se ejecuta para cada índice a partir de StartIndex. Entonces va a correr a través de estos tiempos de armonía que pones aquí, esencialmente. Por lo que el cuerpo fuera de bucle conectará eso de nuevo para que funcione. Y luego fuera de la rama falsa simplemente irá derecho ahí así. Entonces si no es una escopeta solo ve derecho ahí. Si es un shock y vamos a correr por este bucle, entonces vamos a conseguir un,
vamos a conseguir nuestro recuento de pellets y vamos a restar uno del recuento de pellets. Entonces va a ir 8, 7, 6, 5, 4, 3 va a correr a través de todos aquellos todavía que igual a 0, entonces va a correr a la derecha. Y eso es lo único que tenemos que hacer para conseguir los pellets en realidad es que esto es dispara rastros de línea extra. Ya sabes, una vez lo que eso hace ahí. Está bien. Lo último que quería hacer es por recargar la escopeta. Hay algunas cosas especiales que quiero hacer, pero para mostrarte esto ahora mismo si solo tomo esto y disparo, puedes ver cómo es tu todas esas ocho líneas, 1,
2, 3, 4, 5, 6, 7, 8. Tiene rango de locura, pero eso está bien. Un poco difícil de ver. ¿Y qué fue lo que hicimos? Ah, sí. Entonces si solo sigo pulsando lo más rápido que pueda. Oh, dispara, no funcionó. ¿ Por qué no funcionó? ¿ Hombre? Fue incómodo. Sheesh, déjame comprobar eso de verdad rápido. Después vuelven a ti. De acuerdo, bueno, esto es realmente incómodo de averiguarlo y literalmente cinco segundos, así que estas transiciones de desvanecimiento van a durar como ningún momento. Nunca lo hice ni siquiera. Y hay un momento para esto. Entonces eso es un poco incómodo. Tratando de ver lo que me siento ya que la última vez fue 1.2 segundos. Escopeta era 1.2 cosas. También cambié un par de cosas como las balas se esparcen. Hice como mil, así que se extiende un poco más. Puedes hacerlo como 1511 o 1200 o lo que quieras hacer el tiempo de recarga. Y entonces la patada de arma fue un 0.1 negativo. Y qué eso patear un poco más. Entonces ahora pasamos, jugamos y le pego a esto en lo que puedo. Ahí vamos. Obtenemos una propagación mucho más grande ahí. Recuerda si no estamos apuntando y vamos a hacerlo, todas estas paletas van a disparar perfectamente rectas. Entonces ahora mismo golpea así. Ver que probablemente quieras golpear a todo el objetivo. Sí, no podemos solo disparar spam, así que eso sí funciona. Está bien, genial. A veces solo cometes errores tontos así. Muy bien, lo último que quiero hacer es que quiero agregar algo a nuestro evento de recarga. Entonces si vas eventos de jugador justo aquí fuera de este sonido de juego. Lo que quería hacer es que quiero. Entonces recargar una escopeta es que vamos a trabajar manera diferente a otras armas porque él recargando cada pellets individuales. Entonces como lo que quiero lograr aquí es si solo disparas una ronda, quiero que ese recargado sea bastante rápido, ¿verdad? Pero si vacías toda tu revista, quiero que esa recarga sea más larga. Entonces quiero que el tiempo de recarga se establezca dinámicamente esencialmente, dependiendo de cuántas balas has disparado para dejar tiempo, como insertar cada pelícano individual. No estás metiendo toda una revista, solo
estás metiendo todas las balas individualmente. Entonces hagámoslo ahora. Entonces fuera de esta rama, este es nuestro evento de recarga de Event Graph. Digamos que si. Y cogamos el arma actual y diremos que es escopeta. Entonces si esto es un arma de tiro, queremos hacer algunas cosas especiales. Si se trata de un arma de tiro, queremos. Haz algo, y probablemente deberíamos hacerlo en la base de armas. Entonces vamos a crear una función llamada esta escopeta. Recargar pellets. ¿ Verdad? Y luego saquemos el tamaño de nuestra revista y restemos. Queremos restar eso de la actual m, k. Y entonces queremos multiplicar eso no por un entero, por un flotador. Multiplica eso por nuestro tiempo de recarga. Está bien, y entonces vamos a establecer en tiempo real así. Entonces, a diferencia de todas nuestras otras armas, el tiempo de recarga para nuestra escopeta debe ser muy, muy corto, ¿verdad? Entonces se ha tomado nuestro tamaño de revista, que es ocho menos la munición actual, ¿verdad? Entonces digamos que disparamos también. Entonces cornetto es seis, así que es ocho menos 62. Entonces si esto es como 0.2, entonces vas a recargar por 0.4. Está bien, incluso puedo sacar la calculadora para ustedes. Pero si vaciamos, digamos que disparamos siete. Entonces esto es 8 menos 1, que serían siete. Y digamos que un tiempo real va a ser el punto 2. Entonces ahora nuestro tiempo de recarga va a ser 1.4. Si nosotros, como dije, si disparamos a uno, entonces 1 a cualquier sinónimos, 8 menos 6 es 2. Entonces dos veces 0.2 es sólo 0.4. Entonces, mientras más pellets, más rondas hayamos disparado, va a aumentar nuestro tiempo de recarga. Entonces lo que queremos hacer por nuestra arma escopeta para esto en tiempo real es que queremos configurarla para que sea bastante baja. Entonces como ponerlo a ser como 0.3 o algo así. Y para fines de prueba te puedo mostrar esto para que imprima una cadena. De acuerdo, compilar, y luego ir por aquí. Y luego volvamos a conseguir el arma actual. Y sigamos adelante y llamemos a ese evento. ¿ Cómo se llamaba? Escopeta recarga pellets así. Entonces vamos a ejecutar ese evento y luego tendremos un retraso de la voluntad solo conseguir tiempo real de esta manera, consigue tiempo de recarga. Y luego una vez que terminemos con esto, queremos establecer el tiempo de recarga. Sólo queremos oh sí, sólo queremos el objetivo. Por lo que vamos a poner duro el tiempo de recarga de nuevo a su defecto. Porque lo que va a terminar pasando es que esto es un poco difícil de explicar cómo es. Entonces como recargamos, ¿verdad? Nuestro tiempo de recarga va a estar configurado como digamos que es 0.4. Bueno entonces ahora cada vez oh, no a mi choque de motor. No. Respondiendo. Oh, wow, está de vuelta. De acuerdo, así que digamos que me gusta esto se pone listo para ser como el punto do. Bueno en la próxima vez que pasemos por esto, Va a ser o está configurado. Normalmente se establece como 0.3, ¿verdad? Hacemos las matemáticas y luego se establece como 1.2 o algo así que rodamos para redondear. Bueno ahora la próxima vez que haga esta matemática, va a volver a poner eso. Va a estar haciendo esa matemática fuera de como el nuevo tiempo de recarga y no el original que habíamos establecido aquí, que es 0.3. Por lo que sólo queremos que estos coincidan. Simplemente estamos restableciendo. Así que restablece la configuración de nuevo a todos los tiempos. Entonces si alguna vez cambias esto, también
necesitas cambiarlo. ¿ Está bien? Entonces te mostraré cómo funciona esto. Entonces conseguimos un arma de tiro, disparamos. Recargo. Desde este 0.3, disparo, disparo, disparo y digo 0.66 un poco más. Vacío todo esto y recargo. Ahora es 2.1, puede tardar un poco más. De acuerdo, así que sí, eso es un gran, uh, como un sistema de recarga más dinámico, supongo, para un choque encendido. Entonces eso es todo lo que debes saber sobre la escopeta. Ya está todo hecho. Se dispara, se recarga, se extiende las trazas de línea. Eso hace todo lo cool. Entonces espero que ustedes hayan disfrutado de este video, espero que ustedes estén aprendiendo y disfrutando de todo. Hazme saber abajo como siempre, si tienes alguna pregunta, te volveré a llamar. Pero sí, si no, te veré el próximo.
27. Crear efectos de impacto: Todos y bienvenidos de nuevo a otro video. En este video, lo que vamos a hacer es empezar a hacer diferentes efectos de impacto dependiendo de lo que nuestras balas interactúen con esto. Entonces tal como está ahora mismo, si abriera nuestra base de armas y desactivara esta traza
de línea de dibujar y ver que nuestras armas disparan mercancías sin el rastro de la línea. En realidad no parecen que vayan a ningún lado. Por lo que vamos a crear diferentes calcomanías y sonidos y efectos para disparar dependiendo de lo que golpeemos con nuestros rastros de línea. Para darle algunos en realidad como si estuviera golpeando algo esencialmente, ¿verdad? Entonces para lograr esto, Vamos a entrar en Configuración, en la configuración del proyecto. Y vamos a desplazarnos hacia abajo a la física aquí mismo, que está debajo del motor. Ya verás que tenemos todas estas opciones de superficie física, ¿de acuerdo? Y vamos a crear bastantes de
estas opciones de superficie física aquí para luego ser ranuradas en eso. Podemos hacer cosas diferentes con ellos. Entonces, a pesar de que aún no tenemos creado a nuestro enemigo, vamos a tragar estos ahora mismo. Entonces haremos uno llamado cabeza, pecho, brazo, mano, pierna y pie. Está bien, y entonces hagamos otra llamada piedra. Ahora todas estas partes del cuerpo, nos falta en el departamento de FX. Todos van a ser como un sonido de mega metal en una chispa de metal como los afectó. Y entonces la piedra va a ser como más rocas rompiéndose y sonando así esencialmente. Entonces eso es todo lo que necesitamos para eso. Volvamos a nuestro juego FPS y creamos una nueva carpeta. Y en realidad ya tendré una carpeta Materiales. Por lo que vamos a crear materiales físicos y sólo los vamos a mantener todos en la carpeta Materiales. Entonces vamos a hacer clic derecho e ir por debajo. ¿Dónde está? ¿ Materiales? Vamos a crear un material físico que sea ciego. ¿ Por qué no está aquí? Siéntate debajo, oh, probablemente esté bajo física, material físico. Está bien. Haga clic en material físico y luego llamemos a este cuerpo cabeza. Creo que eso es lo que tuve o sabes cómo llamémoslo peso cuerpo tenía. Eso no tiene sentido. Llamémoslo cabeza enemiga. Está bien, y vamos a duplicar esto y llamarlo cofre enemigo. Y el brazo medio. Mano enemiga, enemigo, retraso en, pie
enemigo, y luego piedra. Ok, y vamos a salvar así. Está abierto cualquiera de ellos. Y así lo que verán es que tenemos un destructor dañará escala de umbral. Vamos a usar esto cuando se trata de nuestros enemigos. Y esto en realidad va a controlar como nuestro cálculo. Eso va a permitir que la cabeza haga más daño que el pecho al pecho para hacer más daño que los brazos y las piernas y así sucesivamente y así sucesivamente. Pero por el momento, sólo queremos entrar en nuestras propiedades físicas. Por lo que bajo tipo de superficie. Entonces creamos todas estas diferentes, estas son las cosas que creamos en la configuración del proyecto. Adelante y ranura todos estos en el apropiado. Por lo que la pierna se pondrá para ser cabeza, cabeza. Y esto solo deja que el juego asigne una especie de material
físico a los diferentes nombres físicos que dimos. Entonces podemos hacer más adelante es que podemos tomar un objeto y podemos darle un material físico. No creo que estos ni siquiera tengan uno, esa geometría, pero el cubo debería tener uno. Pero tienes la anulación de material físico de cola. Por lo que tenemos nuestros materiales físicos aquí. Por lo que podemos decir como esto es de este material y podemos correr de diferentes eventos. Entonces puse pie, pecho, y luego tenemos este brazo. Sí. Está bien. Por lo que ahora esos están todos ranurados. Por lo que ahora podemos empezar a crear diferentes eventos basados en lo que sea que estamos golpeando. De acuerdo, así que sigamos adelante y creemos una nueva carpeta. Será, en realidad creará una nueva carpeta esta vez. Entonces lo llamaremos afectos. Y vamos a crear una clase de blueprint de tipo Actor y llamar a este impacto de la base de hechos. Muy bien, Vamos a dar click a esto abierto. Y en base de efecto de impacto, solo
queremos crear un montón de variables diferentes. Entonces consigamos uno llamado Resultados de enganche. Y vamos a hacer de esto un tipo hit resultados. Y lo que queremos hacerlo, este resultado hit es que queremos que esta instancia sea editable, lo
que la hace esto significa que esta variable ahora es pública y se puede acceder y mirar por otros planos. Y podemos cambiarlo sobre la marcha, por así decirlo. Y entonces también queremos exponer sobre desove. Entonces, ¿esta variable debe ser expuesta como alfiler al desovar este plano? Y queremos decir que sí. Y entonces lo que eso va a hacer es que lo va a exponer como alfiler. Entonces vas a llegar a gustarte cuando engendras este plano, te
va a dar una opción. Esta variable se va a convertir en un pin, similar a cómo está aquí mismo. Y el trazo de línea es como devolver un valor. Al menos se mostrará pareciendo similar a eso. Ahora mismo queremos hacer diferentes efectos. Por lo que solo haremos uno llamado piedra FX. Y vamos a hacer de este sistema de partículas tipo una referencia de objeto, creo que es lo que queremos. Sí. Está bien. Queremos tener piedra y luego queremos tener cuerpo. Podemos llamarlo cuerpo enemigo, como quieras llamarlo. En. Entonces la otra cosa que queremos crear, una piedra S fx. Y esto va a ser de tipo sound cue object de nuevo. Y entonces queremos hacer esto también para el cuerpo. Está bien. Y luego haremos uno llamado Impacto, la vaca. Y esto será de vaca tipo D, ¿verdad? Es que probablemente no es material. Por lo que vamos de tipo material. Objeto a hacer referencia así. Está bien. Entonces lo que queremos es D tamaño de vaca, eso va a poder tipear float. D vida de vaca también va a ser flotante. Y luego por último pero no menos importante, queremos rotación Di Cao. Esto va a ser de un rotador. Ahora va a haber todas nuestras variables aquí. Entonces este es un resultado hit al que vamos a. Entonces lo va a hacer, esencialmente nos va a pedir un lugar para engendrar un efecto de paquete SYN, y sólo vamos a usar esta variable de resultado hit para vincularlo con el resultado hit. Es por eso que estamos devolviendo el resultado hit de la traza de línea es para que
podamos vincularlo con donde queremos que se genere nuestro efecto de impacto. Entonces la razón que existe, estos fueron una ranura en nuestros diferentes efectos o diferentes sonidos. Tendrás un capó D para como un agujero de bala que queremos aparecer. Y entonces podemos, hice estas variables para que podamos personalizar el tamaño, cuánto tiempo dura antes de que desaparezca, y son especie de aleatorizado su rotación, dependiendo de cualquier arma que estemos usando porque queremos que la pistola crear un agujero de bala más pequeño que el lanzacohetes, por así decirlo. De acuerdo, así es como tenemos que hacer para la ventanilla. Entremos al Event Graph y vamos a hacer todo fuera de él entonces para empezar a jugar. Y a veces no te deja borrar cosas, así que solo tienes que, tienes que borrarlo y empezar de nuevo, ¿verdad? Entonces hagamos una secuencia aquí. Y vamos a añadir bastantes alfileres. Esos muchos, eso son cuatro. ¿ Está bien? Y luego fuera de aquí, lo que queremos hacer es agarrar nuestro resultado hit en. Queremos romper el resultado hit. Entonces cuando lo rompes golpe resultado, obtienes todas estas opciones diferentes. Lo que vamos a estar buscando aquí es un punto de impacto. Por lo que es una ubicación vectorial del punto que el trazo de línea golpeó a un objeto. Y queremos conseguir un material físico. Queremos que el juego pueda ver a qué material físico impactó este? Está bien. Por lo que podemos mantener esto debajo fuera de bloqueo hit. Hagamos aquí una declaración if. O sucursal. Bloqueo hit true si hubo un hit de blogging false, lo contrario, esto es sólo una especie de prueba a prueba de fallas. Entonces como si disparamos al aire y nuestro trazo de línea no golpea nada, el juego volverá con un error porque dirá, ya sabes, me
estás diciendo que engendra algo,
alguna partícula afectó algún sonido en el lugar golpeado y yo no tienen un lugar hit. Entonces si tenemos este hit de bloqueo, evitará que ocurra ese error porque será como,
Vale, esto sólo se ejecutará si realmente golpeamos algo. ¿Está bien? Entonces si golpeamos algo queremos engendrar en emisor. En ubicación en emisor es un efecto VFX. El lugar que queremos que engendren como punto
de impacto del resultado hit que dibujamos. Una vez más, calculamos el trazado de la línea. Y luego queremos conseguir el material físico, cuál, ¿cuál emisor queremos engendrar? Hay tantos. Bueno, eso podemos personalizar con base en el material físico. Entonces fuera de material físico, físico, Vamos a obtener tipo de servicio así,
eso es tipo de superficie física incorporada. Y luego queremos conseguir un nodo selecto. Y se puede ver ahora todo el fisio diferente, me deshice de él. Todos estos aquí. Ya sabes lo que voy a decir, No Jeff. Todas estas diferentes superficies físicas que tenemos aquí ahora están apareciendo en esta nota selecta y vamos a devolverlo. Por lo que ahora nos da una opción de ranura en lo que queramos dependiendo del objeto al que golpeemos. Y por eso creamos estas como variables. Entonces para el cuerpo, Vamos a poner eso para la cabeza, el pecho, el brazo y la pierna, y el pie. Y luego para la piedra, haz esa piedra. Y entonces podemos hacer de la piedra el defecto también. Eso abajo para que sea más visualmente atractivo. Sí. Está bien, así que eso es lo que queremos. Por lo que podemos decir efectos de partículas para diferentes tipos de servicio que tiene eso. Entonces ahora todo lo que tenemos que hacer es exactamente lo mismo para el sonido y el d contar, ¿verdad? Por lo que podemos copiar, pegar la mayor parte de esto En, arrastra eso aquí. Así. Seguro. Dale un poco de espacio a estos. Esto serán sonidos, efectos de sonido. Queremos mantener todo igual. En cambio, queremos hacer tocar sonido en el lugar. El lugar va a ser el punto de impacto. Puedes sentirte libre de cambiar. Oh, toca hacerlo de nuevo. Ya sea puedo seleccionar y luego se convertirá en un sonido. Ahí vamos. Entonces esto asegura que tengamos los efectos de sonido de piedra y cuerpo sacados. Pecho, brazo, mano, pierna, pie, piedra, por defecto. Así. Siéntase libre de cambiar el volumen. Puedes hacer variable bender si quieres. Yo soy bueno con eso como es. Para esta tercera, lo que queremos hacer es que voy a aleatorizar una rotación de las calcomanías para que no se vea exactamente igual cada vez. Por lo que vamos a querer agarrar nuevamente el resultado hit en resultados de hit rotos. Pero luego fuera de lo normal. Normal es si se barrió el espacio mundial oculto para el objeto. Impacto normal para prueba de línea. Entonces vamos a la rotación de x vector. Y vamos a hacerlo, así que vamos a conseguir una rotación y vamos a romper el rotador. Entonces ahora tenemos una X, Y, y Z. Y luego fuera y vamos a conseguir un flotador aleatorio en rango así. Y hagamos que esto vaya 360 grados. Tan negativo 180 y luego positivo 180. Para que podamos recorrer todo el camino alrededor del círculo. Y entonces hagamos un rotador. Y luego, sí, esto se puede enchufar a la x, la y, y la z Vamos a mantener lo mismo. Entonces sólo estamos cambiando la x. Entonces ocho que entran en un círculo por así decirlo. Y luego pongamos eso como la rotación de Dekalb y luego podemos tener ese plugin así. Sí, eso está bien. Está bien. Y diremos Ran to Mises rotación de calcomanías. Entonces eso nos va a dar un poco de aleatorización. Así que todas nuestras calcomanías no se ven exactamente iguales. Y luego por último pero no menos importante, para que puedas copiar y pegar todo esto otra vez. Ponga eso en la rama. Literalmente más limpio. Y si el nodo seleccionado eliminado. Y luego engendemos D vaca apegada a eso. Se va a pedir ubicación todavía. Entonces eso va a punto de impacto. Podemos deshacernos de estos. La vaca D va a ser la misma cada vez. Pero aún así queremos asegurarnos de que estamos puntuando eso también. En realidad, quizá ya no necesitemos. Pero sólo por el bien de la consistencia. O si alguna vez quisimos editar esto más, hagámoslo como hemos estado haciendo los otros. Mantengamos la posición girada y no sea lo que se fijó como la rotación será esta rotación variable o D vaca, la que hicimos vida útil. Recuerda que hicimos una vida de DKA así. Y el valor predeterminado, Vamos a establecer para ser como diez. Apenas por defecto, que en caso de que nos olvidemos no desaparece de inmediato. Y luego para D tamaño de vaca, ponemos eso como variable 2. Y luego como esto es un flotador, vamos a convertirlo en un vector x, y, z. enchufarlo en tamaño. Entonces ahí vamos. Ahora tenemos eso. Entonces hay todo este guión que necesitamos. Ah, sabes qué, estos dos también necesitan conseguir esos en realidad. Por lo que el componente hit se adjuntará al componente y el nombre del hueso golpeado se adjuntará nombre del punto. Eso podría darnos áreas en las que no enchufamos esas. Entonces muchos cables y éste, pero es lo que es. Entonces sí, eso es todo lo que necesitamos hacer para nuestro efecto de impacto. Está bien. Ahora de vuelta en nuestra base de armas, después de que
calculemos esto, vamos a romper este resultado de hit. ¿ Todo bien? Antes de iniciar el retroceso, queremos engendrar a un actor de clase. El actor que queremos engendrar es nuestra base de impacto afecto. Ahora recuerda que hice exponer este resultado hit en desove. Entonces vas a ver que aparece ese pin cuando entregue esto. Ahí está. Por lo que el resultado hit va a ser este hit resultados para engendrar transformación. Va a ser el impacto. O vamos, vamos a dividir el Struct Pin y luego hacerlo así. No necesitamos preocuparnos por la rotación y la escala. De acuerdo, entonces ahora tenemos todo eso ahí dentro. Y sabes qué, probablemente
debería convertir esto en una variable, impacto afecta base. Y luego haremos que esto de impacto de tipo afecte a base y referencia de clase, y luego arrastraremos eso en su lugar. Muy bien, entonces ahora tendremos múltiples impactos, efectos del conjunto por una variable. Y luego empieza a retroceder todo eso. Entonces eso es bueno. Eso funciona. Ahora, qué podemos hacer, y como esto se establece en una variable, ahora si te metes en alguna de nuestras armas o un rifle, deberías ver una ranura para efecto de impacto. Y probablemente no debería nombrarlo base. Podría haber impacto confuso de los hechos. compilar Guardar. Por lo que ahora tenemos efectos de impacto que podemos tragar. Entonces ahora si entramos en nuestros efectos y empezamos a hacer niños, así que sólo voy a mostrar esto como uno. Por lo que nuestro efecto de impacto de rifle. Hacemos click y abrimos esto. Verás que la piedra afecta al cuerpo en los diferentes sonidos, calcomanías, tamaño, vida útil, y no tenemos que meternos con la rotación. Entonces para la piedra, creo que hay uno que se acaba de llamar Stone. Se puede conseguir un pequeño mediano o grande. Yo sólo voy a hacer medio para cuerpo. Ahí hay uno que se llama metal. Medio metálico para piedra. De qué se llamaba Rock. Se invita a pasar impactos superficie, impactos de rifle, superficie así para el cuerpo. Podría haber habido una hora de metal. Están rotos. Está bien. Impacto bala metal. Entonces es ranura que dentro y arreglaremos ese hogar, dios
mío, que tantos. Entonces, ¿no hay una bala? ¿ Metal de bala? Oh Dios mío. Juego dice que estoy diciendo que simplemente no es. Tenemos cuerpo de impacto aquí. Nosotros sólo usamos esos. Eso es un sonido asqueroso. Entonces tienes su cuerpo Hagamos esos probablemente no sean fusil roto y empaquetar cuerpo. Ahí vamos. Impacto D vaca, esto es algo que necesitamos hacer. Así que vamos a entrar en filtros de juego de disparos y vamos a hacer clic en el material. Aquí mismo. Por lo que el material de los filtros debería verlo aquí. Detalle de impacto. Am impactado la vaca. Arrastremos eso a nuestros materiales. Entonces lo tenemos, abrimos esto y va a ser un poco. Pero está bien, arreglamos eso. Por lo que a esto se le va a llamar agujero de bala, agujero para y esto va a estar ahí se llama milivoltios. La distorsión es como se llama ésta. Distorsión uno. Una vez que entramos esos, conteste, ahí vamos. Deberían arreglarse. Ahora. Ahí vamos. Entonces ahora cada rótula de impacto. Entonces solo llamaré bien a esto, en lo que sé cómo se llama. Por lo menos. Tiene em agujero de bala. Es tal vez una talla 10 por ahora, vida útil de ocho segundos. Está bien. Entonces ahora si demostramos o en realidad arma de rifle
auto necesita asegurarnos de que tenemos nuestro efecto de impacto de rifle asignado a ella. Ahora si vamos a nuestra arma y caminamos hasta aquí, se
puede ver que alguna vez nos hoyos de bala en el pequeño defecto es, era la piedra, derecha, derecha, derecha. Está bien. Pero si arrastro un cubo por aquí, aumenta un poco el tamaño. Y digo que esto es cofre enemigo o algo así, deberíamos conseguir un efecto diferente. Entonces estos, y luego para conseguir las chispas ahora, se
puede escuchar ese sonido carnoso. Muy bien, entonces ahora estamos teniendo diferentes efectos de impacto. Entramos en el impacto de hecho y puedo hacer estas calcomanías como 50 o algo así, hace sus hoyos de escopeta en el suelo, lo cual es ridículo. También podemos dar cosas diferentes. Tenemos querer, creo que estos que vienen con el, hay algunos bastante cool en realidad, vienen con el juego de tirador como, pero creo que todos están como rotos para mí como si ya algo como explosión, la explosión podría tener que hacer algo realmente rápido, pero ahí vamos. Entonces ahora es como flotar en eso. Gracias. Sí. Correcto. Bastante cool. Bastante cool. Entonces así es como hacemos eso. Entonces la única otra cosa que tendremos que hacer aquí, y voy a hacer esto como una pequeña asignación, es que va a dejar los efectos y crear las clases de blueprint infantil. Entonces pistola, impacto, efecto o derecho. Y luego ranura en tu tamaño de calcomanías preferidas en vida útil en diferentes efectos que quieras. Puedes hacerlo todo igual, o puedes hacer que parezca una locura. Y entonces todo lo que tienes que hacer es entrar en el arma correspondiente. Entonces bajo el yo debería ver un lugar donde poner ese efecto de impacto en. Y si compilas y guardas, eso funcionará entonces. ¿ De acuerdo? Y puedes, si quieres, puedes joderte con diferentes efectos. Puedes entrar a la configuración del proyecto y hacer otros nuevos. ¿ Son esto todo lo que tendrías que hacer es crear una nueva variable, como si tuvieras que deslizarla, crear un material físico para ello, como hice el principio. Después pintarías en esto y luego debería haber un nodo de actualización. Y entonces deberías tener esos extras que creaste pop-up sin eliminar esto. Y luego puedes crear nuevas variables, enchufarlo, hacer un montón de cosas geniales, pero así es como haces
diferentes efectos de impacto basados en lo que sea que tus rastros de línea estén golpeando. Por lo que nuestra arma ahora se ve mucho más profesional. Al igual que en realidad es rodar y editar algo. Y está cambiando dependiendo de la superficie que estemos golpeando. Por lo que espero que ustedes hayan disfrutado de este video, le
pareció útil e informativo. Y te veré en el próximo.
28. Enemigos dañinos: Hola a todos y bienvenidos de nuevo a otro video. En esta lección, vamos a seguir adelante en nuestro shooter en primera persona. Y vamos a estar haciendo algunos enemigos con los que podamos disparar y hacer algunas cosas geniales. Entonces entre videos, hizo un par de pequeñas cosas. Dé nuestro material de rejilla de loseta de concreto a una escala de dos. Y entonces he puesto aquí dos cajas diferentes. Una, pongo esto dos veces el tamaño de acero bruñido y esta otra es una piedra cortada. Esta es de nuestra piedra tipo y esto es solo cualquier cofre enemigo, como quieras llamarla. Entonces esos son videos de inmediato te di la tarea de poner diferentes defectos de impacto en ella todo debió haber sido relativamente sencillo. Los únicos que podrían haber sido un poco confusos donde el lanzagranadas en el lanzacohetes, para estos,
todos los impactos van a ser explosión de granada en explosión de granada,
para luego explosión de cohetes y cohetes explosión. Entonces hice estas calcomanías bastante grandes. Eso debería ser lo único. Y con toda sinceridad, me refiero a estos. Entonces en el rifle de francotirador,
sí, funcionará ahora mismo porque todas estas armas están configuradas para ser escaneadas de golpe, pero eventualmente estaremos cambiando esas para que sean proyectiles y haremos diferentes eventos por ellos de esa manera. Pero lo haremos, estaremos usando ese mismo efecto de impacto. Por lo que es bueno encerrarlos ahora porque van a funcionar. Pero necesitamos sumar primero a nuestros enemigos solo con cómo se configuran el guión del proyectil y los planos. Hará que sea más fácil hacerlo de esta manera. Entonces sí, creo que eso es todo. Entonces empecemos creando una nueva carpeta y llámala enemigos. Ya que estamos de color dentro de aquí. Vamos a seguir adelante y hacer un, un personaje. Y llamaremos a este BP subrayado enemigo. Otra cosa que quiero hacer es crear nueva carpeta y llamar a esto interfaces. Porque vamos a estar haciendo un par de Interfaces de Blueprint en este video. Pero empecemos solo abriendo aquí a nuestro enemigo. Entonces nada demasiado loco aquí. Lo único que estaremos haciendo es que la malla va a hacer el maniquí. Puedes escoger varón o hembra donde quieras. Adelante y rotemos 90 grados. Vamos a establecer las alturas de la cápsula para que sean 95 y podemos mantener 34, 0 podemos hacer es ir al modo izquierdo o derecho. Podemos agarrarlo y su moverlo hacia abajo. Probablemente cambié la configuración de snap. Simplemente mueves esto a cinco, ahí mismo a negativo 95. Girar negativo. Por lo que z ubicación de negativo 95 y rotación de negativo 90 lo configurará en el Componente Cápsula fue como 95 también. Vuelve al modo perspectiva y aquí está nuestro personaje. El modelo alambrico no importa tanto. No hace falta que se superponga el brazo porque vamos a estar golpeando estos no se estaban cruzando con el Componente Cápsula. Esto es sólo para que si lo arrastramos hacia fuera como realmente estar nivelado con el suelo así. Entonces sí, todo eso se ve bien. Entonces sigamos adelante y seleccionemos nuestro maniquí hombre y peguemos a los marrones. Y entonces deberías ver para el activo de física variante masculina. Y está abierto esto. Y así ahora tenemos un montón de estas diferentes pelvis, columna vertebral, todas estas cosas diferentes. Se trata de activos físicos. Entonces sigamos adelante y entramos estos para que podamos empezar con la cabeza anulación de material físico y hagámosla cabeza enemiga. Tan solo trata de seleccionar todo. Entonces como si esto es justo en el área general, lo
llamaremos el pecho,
la columna vertebral, lo llamaremos el ajedrez. Probablemente podamos borrar algunas de estas honestamente, pero lo llamaremos la parte superior del pecho, lo
llamaremos brazo, brazo inferior. Aún así llamaré a ese brazo. Y omega. Y brazo superior, brazo
inferior se pone como varios llamados ARM. Y estos
dos van a ser chico cabeza. ¿ Verdad? Y ternero. ¿ Verdad? Estos dos fue para todos va a ser pierna y luego balón de pie y luego futbol de izquierda y derecha van a ser menos dicho futbol va a ser pie. Muy bien, Así que ahora todos estos deberían tener algo, enróllalo. Así. Ahora si recuerdas, en un video anterior hablé de la escala de umbrales de daño. Entonces volvemos a nuestros materiales y vamos con brazo enemigo. Entonces si hay habilidad umbral de daño. Entonces lo que quiero que hagas es que pienses en esto. Entonces si configuramos nuestra arma para que sea 25 de daño justo por bala, si ésta está puesta en uno, cómo eventualmente se va a configurar esto, eso significa que la bala hará 25 seleccionar la cabeza lo pondrá como uno. Pero piensa en esto como un número de multiplicación. Entonces digamos que quiero, si pongo esto para que sea el brazo sea como 0.5, ¿verdad? Digamos que nuestra bala hace 25 puntos de daño. Eso significa que lo golpearían en el brazo. Esa bala hará 12.5 puntos de daño. Para que podamos entrar y censurar ligeramente el brazo. Mantendré eso en 0.5. El cofre será de 0.8. Entonces puedes pensar en ello como ¿qué porcentaje? Entonces si lo golpeamos en el pie, será el 30 por ciento de cualquiera que sea el número total de daños que normalmente sea, la mano hará un punto para manejar y hacer ese tanto daño. El cabezal será un 100 por ciento del daño que ponemos en la pierna será como 0.7, un
poco menos que el pecho, un poco más que los brazos? Sí, eso debería ser bueno. Está bien. Eso es lo que va a controlar las diferentes cantidades de video de daños. Va a hacer un poco de multiplicación. Ya verás, ya verás, está bien. Fuera de evento comienzan el juego. Queremos una referencia a nuestro personaje. No, no queremos echar a nosotros mismos capa. Eso es y tal vez en esa instancia para tu uso, Pon. Pon es el que vamos a controlar selecto técnicamente, estos son ambos personajes, pero el estanque para ser el que estamos controlando. Para que puedas usar Get Player Peón, solo
estoy acostumbrado a usar el personaje de jugador de Git. Haremos lo mismo en su mayor parte, para la mayoría de las instancias. Y otra vez, como esto realmente no importa. Está bien, genial. Entonces ahora lo que vamos a hacer, entonces vamos a hacer una interfaz. Así que vamos a entrar en nuestra carpeta de interfaces, haga clic con el botón derecho y vayamos a imprimir Interfaz de Blueprint. Por lo que una Interfaz de Blueprint es una colección de una o más funciones nombra solo ninguna implementación que se pueda agregar a otros blueprints. Entonces, ¿cómo
lo hago yo, es así que una interfaz en realidad no hace nada. Es solo un lugar donde se pueden almacenar varias funciones diferentes. Y luego puedes llamar a esos eventos columna dentro de múltiples planos diferentes. Y como que verás, será una de esas cosas que verás a medida que avancemos. Entonces, solo llamemos a este enemigo, recibamos daño. Abramos esto y vamos a crear una función y llamarla Enemigo, recibir daño. Podría cambiar el nombre predeterminado. Vamos a llamarlo BPI. Toma daño, Interfaz de plano recibe daño. Porque queremos que el enemigo sufra daños. También queríamos recibir un daño de radio o daño, y vamos a poner los dos de aquí. Por lo que tengo Enemigo recibir daño. Y luego queremos tener dos insumos al respecto. Queremos que uno se llame las estadísticas de armas, y vamos a crear eso en un segundo. Y luego uno llamado pitch result de tipo pitch result. ¿ De acuerdo? Y tenemos que hacer una estructura para nuestras estadísticas de armas. Entonces vamos a entrar en Data, haga clic con el botón derecho. Y vamos a ir planos, estructurar y llamarlo s. estadísticas de
armas. Por lo que una estructura es ligeramente diferente de una enumeración. La enumeración es como una lista. Una estructura o una estructura es como un cubo de variables. Para que puedas agregar un montón de variables a esta cosita. Entonces vamos a hacer uno llamado daño, y esto va a ser de tipo float. Esto controlará cuánto daño son arma hace. Y luego para los nuestros que explotan, tendremos un flotador para radio de impacto. Y como dije, esto sólo sería necesario cuando nos sentimos como nuestro lanzagranadas en un lanzacohetes. Por lo que queremos hacer esto de muertes de tipo armas. Ahí mismo se puede ver así. ¿ De acuerdo? Entonces esta es nuestra interfaz. Entonces ahora si vamos de lado de nuestro plano enemigo, podemos llamar enemigo de evento. Y déjame allá vamos. Enemigo recibe daño porque no necesitas poner evento. Ah, bueno eso no funcionó. ¿ Por qué no funciona? Yo compilo. Ah, olvidé la parte más obvia. Está bien. Necesitamos realmente agregar esta interfaz a este blueprint. ¿ De acuerdo? Por lo que bajo la configuración de clase, verás interfaces y necesitamos agregar una. Y vamos a seguir adelante y añadir BPI, recibir daño. Por lo que ahora cuando añadimos esta interfaz a este blueprint, ahora
podemos llamar enemigo o evento enemigo recibir daño. Por lo que ahora podemos tener un evento en este plano y se pueden ver nuestros pequeños insumos aquí. Y así, cualquiera que sea el plano que agreguemos, esa interfaz también, podemos llamar a este evento para que se salga corriendo de él. Y tendrá esta misma salida. Entonces es un poco útil si quieres tener como tan como pensar en un juego como quincena. De acuerdo, Hay un montón de cosas diferentes en Fortnite que reciben daño. Se pueden destruir los edificios, las casas, los árboles, y se puede dañar a los jugadores. puedas tener una interfaz que tenga entradas de todos los diferentes tipos de datos por los que te gustaría pasar de diferentes cosas que reciben daños. Pero como un árbol sufrirá daños de manera diferente a una parte de un edificio de madera. Y de manera diferente entonces un jugador, todos
tienen diferentes cantidades de Salud y todos toman diferentes cantidades de daño. Por lo que al usar interfaces, puedes crear una interfaz y luego puedes personalizar esencialmente como esos tipos de cosas en un nivel más simple, pero no tienes que crear un evento diferente cada vez. Simplemente puedes llamarlo la interfaz y luego ejecutar ese evento fuera de la interfaz en lugar de hacerlo por 1000 veces. De acuerdo, así que vamos a crear una variable y llamar a esto está muerto. Queremos comprobar para ver si nuestro enemigo está muerto. Es lo primero que vamos a hacer. Entonces no quieres que sufra daños si estamos muertos. ¿ De acuerdo? Y de manera típica nos vamos a quedar sin lo verdadero. Si no estamos muertos, entonces queremos hacer algún daño. Adelante y déjame mostrarte esto. Entonces las estadísticas de armas y vamos a romper las estadísticas de armas. Y así ahora tenemos daño y radio de impacto, que era lo que estaba en nuestra estructura. Está bien. Pero queremos poder calcular cuánto daño queremos hacer. Entonces vamos a almacenar eso en una función. Por lo que llamaremos a este Coull daño tardío. Y agreguemos algunas entradas aquí. Crearemos un flotador llamado daño. Y también pasemos en un hit resultados de tipo hit resultado de eso. Sigamos adelante y solo voy a establecer esto en
una variable local para que pueda usarlo más adelante en el guión. Este va a ser demasiado largo y vamos a añadir un nodo de retorno. Y esto también va a ser un flotador. Y lo será, llámalo daño calculado. Entonces esto, esto es lo que en realidad va a calcular cuánto daño le hacemos a nuestro enemigo. Entonces vamos a romper el resultado hit. Muy bien, y luego fuera del material físico, queremos obtener la escala de umbral destructiva dañará. De acuerdo, así que una vez más, como dije, si entramos en materiales y entramos en nuestra mano enemiga estamos consiguiendo un material físico y entonces estamos revisando esta escala de umbrales de daño. Entonces en esto, en esta oportunidad, como dije, estamos haciendo el 30% de lo que metamos como el daño que nuestras armas van a hacer. Y queremos multiplicar esto por nuestros daños locales. Entonces como dije, si esto es 25 o multiplicando eso por en este caso, si golpeamos la mano sería como 0.3. Y luego estamos fijando eso como nuestro regreso, estamos devolviendo ese número. Por lo que ahora de vuelta en nuestro gráfico de eventos, llamemos a calcular el daño. Por lo que queremos que este daño se pasara así. Entonces donde vamos a asignar esta estructura, estadísticas de
armas a cada una de nuestras armas en nuestra base, ¿verdad? Entonces podemos individualmente en cada plano como lo hemos estado haciendo muchas veces en todos los niños, se tragarán en cuanto daño queremos que haga esta arma. Por lo que he estado usando el número 25. Por lo que nuestra tristeza, nuestro rifle de asalto hace 25 puntos de daño. Eso va a pasar. Va a tener esa variable tienda 25, y son estadísticas de armas. Se va a tomar esos datos, se lo va a pasar. Se lo va a calcular. Es como, vale, golpeé la mano de este enemigo. Ahora mismo. Mi rifle de asalto es de 25 daños. Pero le di en la mano. Entonces estoy tomando 0.3 de eso o lo que fuera, y luego estoy regresando 7.5 de daño. Está bien, así es como funciona eso. Y luego queremos pasar en este resultado hit también para asegurarnos de que tenemos bien, estamos golpeando algo porque eso sería incómodo. Y entonces lo que queremos hacer es que queremos actualizar la salud de nuestros enemigos. Por lo que vamos a querer crear una nueva función para esto y llamar a esta fecha abierta de salud. Y hagamos una gripe y llamemos así a este daño. Y hagamos esto en una secuencia porque aquí haremos un par de pequeñas cosas diferentes. Queremos poder comprobar para ver si nuestros enemigos están muertos, esencialmente. Por lo que Saturno regresaría. Y diremos que está muerto y que sea booleano. ¿ Verdad? Entonces fuera de nuestro daño aplicado, Vamos a ir mayor que o igual a. Y luego decir rama, whoa, whoa, whoa, el rhonchi, su rama. Eso es más parecido. Está bien. Y hagamos una nueva variable y llamemos a esta salud actual. Va a ser nuestro flotador tipo salud enemigos. Entonces si nuestro daño aplicado es mayor o igual a nuestra salud actual, así que digamos que nuestra salud actual es de 10 y nuestro daño aplicado es de 20. ¿ De acuerdo? Si esto sucede, entonces queremos
establecer está muerto o no, en realidad, vamos a crear un local está muerto. Podría hacer lo mismo. Lo que sea. Esto es, justo como lo hacía antes. Estableceremos local está muerto para ser verdad. Y entonces nos aseguraremos de que nuestra salud no vaya por debajo de 0 fijándola en 0. Entonces esto es lo que pasa si mueren. Si no mueren, entonces queremos aguantar el daño que hemos aplicado. Nosotros queremos restar eso. Queremos que esto esté en el fondo. Arrastra esto hasta aquí. Seguro. Ahora tomemos la salud actual. Por lo que nuestra salud actual es mayor que la cantidad de daños. Por lo que nuestra salud actual es de 20. Estamos haciendo 10 puntos de daño y queremos restar 20 de 10. Y luego ponlo como nuestra nueva salud actual. Y luego fuera de entonces uno, queremos revisar y ver si estamos muertos. Y vamos a enchufar local está muerto, así. Para comprobar y ver. Por lo que creamos esta variable local. Podríamos haberlo hecho sin eso. Probablemente podríamos haber usado eso como muerto. Pero es lo que es. Estamos poniendo lo local como lo mismo de todos modos. Entonces realmente no importa. Entonces eso es lo que estamos haciendo aquí. Entonces si salimos de aquí, entonces queremos hacer nuestras actualizaciones de salud. El daño aplicado va a ser el daño calculado. Y luego estamos regresando, esto está muerto. Por lo que queremos establecer está muerto a lo que fuera la salida de esto. Entonces si nos quedamos sin Salud, estamos muertos o salud de 0. Ahora bien, si el daño que aplicamos es menor a la cantidad de salud que los tenemos. Sólo vamos a decir: Bueno, aún no
hemos puesto esto para que sea cierto, así que no estamos muertos. ¿ De acuerdo? Entonces nos estamos montando muy bien sea que vamos a hacer una declaración if. ¿ De acuerdo? Y entonces si nosotros, por el momento, solo
imprimamos una cuerda y digamos, soy David. ¿ Todo bien? Y entonces por no decir que soy todavía permito. Todos los derechos. Y eso debería ser todo lo que necesitamos. Por ahora vamos a sumar más a esto más adelante, algunos efectos. Pero sólo por el bien de ello, podemos ver si esto funciona. Daños calculados. Por qué no también imprimimos aquí una cuerda para que en realidad puedas ver el daño que somos, en
qué está nuestra salud. Entonces pongamos que eso sea 100. Por defecto, la salud actual es un 100. Y veremos que se produzca la resta y haremos todo eso. Entonces lo último que tenemos que hacer aquí es entrar en nuestro arma yendo o Base de Armas y queremos agregar esa estructura. Entonces vamos a armar. estadísticas lo hacen de estadísticas de tipo armas. De acuerdo, así que ahora puedes ver esas estadísticas. Entonces vamos a entrar en nuestro que ya estaba en la carpeta correcta, no era una pistola. Y deberías ver estadísticas de armas. Hagamos que esto haga 20 puntos de daño. No necesitamos preocuparnos por el radio de impacto porque aún no hace nada de eso. Entonces ahora si saltamos y jugamos, y escogemos un bollo, y le disparamos a nuestro tipo. Y no funciona. Debo de haber olvidado un paso. Ah, sí, sé lo que es. Tenemos que llamar realmente a la cabeza que hicimos aquí. Entonces si entramos en nuestra base de armas, Sigamos adelante y creemos una función en la que
agregamos la cual agregamos daño a nuestro tipo. Entonces sí, sí, sí. Está bien. Tan triste, nueva función y llamar a esto añadir daño. Está bien. Agregar daño va a tener una entrada de un resultado de TI como por costumbre, porque el ARN siempre querrá pasar por nuestros resultados de hit. No lo perdemos. Y entonces lo que queremos hacer es que queremos conseguir, ya que no hemos agregado la interfaz, queremos conseguir un mensaje de enemigo, hacer daño esa interfaz. Y así va a estar pidiendo algunas cosas. Entonces, ¿cuáles son nuestras muertes de armas? Bueno, es lo que sea que nos conectemos en nuestras armas. Entonces ahora que se están pasando datos, queremos romper este hit resultado aquí mismo. Me ayudó a golpear resultado en los resultados de éxito para que simplemente se arrastra a través de así. Pero tenemos que darle a esto un blanco para golpear como lo que está cobrando daño. En este caso, va a ser el Hit Actor, que va a ir, que es nuestro enemigo. Un actor o un dragón que a través de así. De acuerdo, así que esto es como pasa información a través de arma al enemigo. Tomar daño dice lo que en realidad está
pasando por la cantidad de daño que al igual que hacen nuestras armas. ¿ Y ya agregamos eso? No, no lo hemos hecho. Está bien. Entonces al salir de aquí, necesitamos agregar daños así y eso va a ser pedir un resultado de golpe. Y entonces ese resultado es eso. Entonces justo el mismo. Por lo que ahora espero que Dios funcione porque tenemos ese 20 daño que pasa. Y todavía no lo es. Lo que está pasando en mi vida. Wow. Wow. Yo digo, está bien, así que ya me he dado cuenta del tema. Entonces si recuerdas cuando calculamos nuestro, algo de eso, cuando calculamos nuestro trazado de línea, tenemos actores que vamos a golpear en unos que vamos a ignorar. Entonces lo que podríamos hacer es agregar un alfiler, agregar estanque o algo más porque eso es lo que es esto. Set predeterminado S. Lo que queremos hacer, lo que podemos hacer asumió ir a la Malla. Y probablemente tendrás diferentes configuraciones en esto. Probablemente dirá peón o algo así. Adelante y ponlo a la medida. Asegúrese de que la colisión está habilitada consulta y física. Y establece el mundo tipo de objeto 2 y dinámico si haces esas tres cosas en la malla. Entonces ahí es donde están los objetos físicos. Y luego coges la pistola y pasarás por aquí. Entonces obtendrás los efectos de impacto. En todas las matemáticas está pasando. 30 está muerto. Y así ya no le ha costado más daño. Pero él es él es un perdedor. Y creo que esto está funcionando, así que no tengo juego perfecto, pero para él en la cabeza debería ser 8650 para ser alguna experiencia con eso también. Dile ahora mismo en las matemáticas, podría que también la haya metido la pata. Mis efectos de impacto son mis materiales parecen que la cabeza era la cabeza está puesta para estar ahí. Sí. Eso será más difícil de decir si los cálculos de daño exactos y todo eso lo está funcionando hasta que tengamos los números de daño en el HUD apareciendo. Pero si eso está mal, habrá algo fácil de arreglar. Probablemente sea un error bobo. Al igual que establecer esto en el tipo incorrecto o establecer la escala de umbral dañada incorrecta. O tal vez incluso en el cuerpo de física del maniquí aquí. Quizás poniendo algunas de estas cosas como las equivocadas o algo así. Nunca se sabe. Hay algunas cosas tontas que pueden suceder, pero eso está funcionando como se pretendía sin embargo. En lo que va de momento. Puedes recoger nuestra arma para que puedas entrar
e ir al otro hit Escanea armas ahora mismo. Y puedes asignar diferentes números de daño debajo estadísticas de
un arma entre videos y ver cuánto daño quieres hacer. Eso probablemente llevará más juguetear con cuando realmente obtenemos los números de daño y conseguimos que sucedan cosas diferentes cuando nuestro enemigo se hace dieta. Pero siendo el momento puedes joderte ahí dentro y divertirte un poco. Pero sí, espero que ustedes hayan disfrutado de este video. Gracias por ver. Tienes preguntas, avísame y te veré en la siguiente.
29. Atribución hacia la imagen: Oigan a todos. En este video, vamos a sumar la capacidad de apuntar a la vista de nuestra arma. El motivo principal por el que quería hacer eso ahora en lugar de después, es porque tal como está en este momento, realmente no
podemos decir exactamente. Supongo que si encendimos diferente. Bueno, está bien, mira, hay algunas maneras en que podríamos hacerlo. Podríamos volver a encender la traza de línea. Hacemos una buena mirada al impacto afecta hace configuración, pero con toda sinceridad, siento que esta característica es algo que hace mucho tiempo vencida. Y si estamos apuntando, entonces nuestros rastros de línea van a salir perfectamente directamente. Subimos a preocuparnos por cualquier tipo de balas, esparcimos cosas. Entonces sigamos adelante y hagamos eso ahora. Entonces dentro de nuestro personaje, ya
tenemos es variable apuntando, pero queremos crear una acción de entrada para apuntar. Entonces vamos a entrar en nuestra configuración, Configuración del proyecto, Entrada. Y hagamos otro y llamemos a este objetivo. Y lo haremos con el botón derecho del ratón así. De vuelta en nuestro jugador, en nuestros mappings de acción, Llamemos a puntería. ¿ Verdad? Entonces no quiero ser capaz de apuntar. Todos se recargaban. Eso es ante todo, vamos a conseguir es recargar. Y digamos que no. A ver si va a poner eso en el prensado. No quiero poder recargar mientras llueve. Ahora, la forma en que vamos a hacer esto es que vamos a usar un Despachador de Eventos. ¿Todo bien? No necesariamente tenemos que hacerlo, pero lo voy a hacer de esta manera sólo para mostrarte cómo usar Event Dispatcher. El primero y más importante que queremos establecer es apuntar a ser verdad aquí. Si presionamos el botón. Y luego si
soltamos, queremos que esto vuelva a ser falso así. Entonces sigamos adelante y creemos este Despachador de Eventos. Y vamos a llamar a este objetivo entrar, y vamos a llamar a otra salida de puntería. Entonces, lo que puedes hacer con un Despachador de Eventos es que si lo
arrastras, puedes llamarte combinado o asignar. Creer que todo va a estar haciendo aquí es llamarlo y vincularlo. Entonces cuando llames, así que está bien, déjame explicarte de esta manera. Puedes enlazar puedes vincular despachadores de eventos a múltiples eventos diferentes que existen dentro de tu juego. Entonces si creo un eventos personalizados y digo hola. Por lo que estos pequeños nodos, puedes enlazar, despachadores de
eventos, pueden conectarlos a eso. Eso es lo que estos pequeños nodos o cuatro. Entonces lo que puedes hacer es vincular un evento a un despachador de eventos, y luego puedes llamar a ese Despachador de eventos. Y siempre que se llame, también llamará a todos los demás eventos a los que está ligado. Entonces cuando hacemos clic en esto, Llamemos a apuntar entrar. Sólo digamos al juego que hemos entrado en nuestro objetivo. Queremos llamar a movimientos parados. Entonces si
apuntamos, queremos no estar corriendo. Eso siempre es algo bueno que hacer. Y entonces sigamos adelante y saquemos nuestra carga. Y eso es raro. Y enciéndalo. Y copiar pegar. Queremos hacer esto dos veces. Vamos a encenderlo ahí. Entonces llamémosle salida. Cuando no estamos apuntando. Y podemos alinear esto en realidad, hacer que se vea un poco bonito. Vamos a encender eso aquí también. De acuerdo, ahora vamos a obtener nuestros componentes de movimiento de personajes porque queremos comprobar para
asegurarnos de que queremos establecer nuestra velocidad de caminata, así que establece y máxima velocidad de caminata. Y queremos hacer esto por ambos. Por lo que los objetivos. Y entonces para tiene arma la perdió como arma. Eso me gusta. Eso se ve bien. Entonces si apuntamos nuestra salida, si salimos de nuestro objetivo, queremos obtener una velocidad máxima de caminata, esa variable nos fijamos en 750. Y entonces podemos establecer que esto sea una variable también, pero sólo voy a ponerlo en 250. Esto va a ser, ya sabes, voy a ser amable. Apuntar, velocidad de caminata, esto estará arriba en este movimiento. Velocidad máxima de caminata. Apuntar la velocidad de caminata será de 250. Por lo que te gustaría presentar eso a una variable. Eso también se puede cambiar. Y así me limitaré a ralentizar jugador cuando no queremos poder movernos a toda velocidad mientras Amy no se verá bien. También se siente muy difícil moverse en una mayoría de juegos cuando estás apuntando que lento año, Walk Speed down así. Entonces eso es lo que estamos haciendo ahí. De acuerdo, Entonces eso es todo lo que necesitamos hacer dentro de nuestro personaje. Lo siguiente que tenemos que hacer es que vayamos dentro de nuestra base de armas. Y vayamos a la Gráfica de Eventos. Y subamos a Evento Begin Play aquí mismo. Y aquí tenemos esta referencia de jugador. Por lo que en realidad podemos hacer esto directamente de aquí. Entonces vamos a vincular evento para apuntar entró. Entonces aquí está nuestro Despachador de Eventos aquí mismo. Y hagámoslo otra vez. Encuadre Evento para apuntar salida, así. Por lo que ahora podemos crear un par de eventos y atarlos a esto. Entonces, cuando esto suceda, también sucederán
estos eventos. De acuerdo, así que vamos a crear un evento personalizado y llamar a este arma apuntar, entrar. Y Vamos a crear una variable es apuntar arma. Y pondremos eso para que sea cierto. Y luego para las salidas de AIM, hagamos lo mismo. Diremos arma, apunte salida. Y estos serán eventos cortos que van a encender y apagar este booleano. ¿ De acuerdo? Y diremos multas apuntando a la acción de entrada de
ADS por la parte. Entonces lo que esto está haciendo es vinculando estas variables con estas esencialmente. Y hay otra manera, hay otras formas en que puedes hacer esto, ¿verdad? Pero quería mostrarte cómo hacerlo a través de un Despachador de Eventos para que
puedas crear una línea mucho más compleja de script de código, evento o lo que sea fuera de aquí, en atar eso a algo y puedes vincular las cosas varias veces diferentes y como tener como siete eventos diferentes se disparan todos al mismo tiempo. Siempre que llame a un Despachador de Eventos. Una forma fácil que podríamos haber hecho eso está en nuestro guión Interact. Podríamos haber creado una de estas llamadas interactúan. Y podemos simplemente llamar a interactuar en nuestro evento de acción Interact y poner acción podría simplemente decir, llamarlo, llamar interactivo. Y podemos tener un montón de eventos diferentes ligados a eso en uno de ellos podría ser un evento que podríamos tener como cliente malo y llamarnos interactuar o lo que sea, y luego enchufar eso. Y entonces podríamos vincular eso a un despachador de eventos y luego llamarlo aquí mismo. Es una forma diferente en la que podrías hacer las cosas. Sí, no lo vamos a hacer de esa manera. Entonces porque somos demasiado cool. Algo que quiero hacer aquí es auto recarga en vacío. Yo quiero llamar a salida de puntería de arma. Este evento, salida de apunte de arma. Oh, guau. Eso es como, literalmente, justo ahí. Espere. Sí. Sí. En mi cabeza. Está bien. Sí. Estos son sólo orden raro. Está bien. Por lo que sólo estamos recordando este evento. Entonces cuando recargamos automáticamente en vacío, queremos salir de nuestro objetivo. No queremos seguir apuntando y recargando al mismo tiempo. Entonces eso es bueno hacer. Mucho de esto va a estar en nuestro rifle de francotirador. Porque el rifle de francotirador apuntando, ya que es un alcance, va a funcionar un poco diferente. Por lo que atar estos aquí nos ayudará cuando creemos el rifle de francotirador. Por lo que tal vez no veas un montón de funcionalidad con él en este momento, pero volverá más adelante. Entonces lo siguiente que tenemos que hacer aquí es ir dentro de nuestro plano anim sobre nuestro personaje. Porque vamos a usar esta pose de caché y crear una cosa completamente otra y luego cobrar esa pose y luego enchufarla ahí. Bu para eso lo hacemos. Bueno, tenemos que asegurarnos de que todas nuestras cosas se digan, todas nuestras variables realmente recordadas. Por lo que necesitamos crear tres variables en nuestra base de armas. Por lo que llamaremos a 11 X offset. Todos estos van a ser ortografía flotante. Entonces tengo un desplazamiento x, compensaciones Y, y un desplazamiento Z. Y pondré esto en una categoría llamada puntería. Entonces hagamos primero el desplazamiento x, y, y z. Entonces vamos a añadir esas variables aquí ahora. Desplazamiento X de tipo flotante, y offset. Nuevamente flota y luego Z offset. Está bien, y entonces queremos conseguir es apuntar. Y eso será un booleano así. Está bien, así que vamos por aquí después está recargando. Vamos adelante y set está apuntando a conseguir la referencia del jugador y conseguir está apuntando a casa. Incluso saber, otra vez, perezoso con mis cajas comunes. Yo sé lo que hace esta cosa. Pero es bueno tenerlos separados todavía. De acuerdo, lo siguiente que queremos hacer es poner al jugador. Consigamos su arma actual. Y luego consigamos el desplazamiento X y luego pongamos eso como desplazamiento X justo aquí. Así, así, así, así. Y entonces hagamos eso para el desplazamiento Y. Set, ese es el desplazamiento Y. Y luego una última vez, pero las compensaciones z marcarán esto. Esto es, te lo explicaré más tarde. Lo que están haciendo estos números dirá compensaciones por cualquiera que sea el nombre. Por lo que estas variables es x, y, y z Vamos a personalizar por arma para poder dictar dónde queremos realmente mover el arma para que parezca que se está cruzando con la pantalla en el punto medio exacto justo ahí. Entonces ahora que tenemos nuestra configuración variable, ahora
podemos usarlos. Entonces vamos a agarrar x y vamos a agarrar Hawaii. Y vamos a agarrar z. Y vamos a agarrar, es apuntar. Quieres agarrarlos a todos. Vamos a empezar con el puesto de avanzada de carga. Entonces vamos a conseguirlo y lo rompamos de ahí y lo agarramos. Y queremos, como es habitual, queremos transformar, modificar el hueso. El hueso que vamos a modificar es B espina uno. Una vez más. Lo que vamos a hacer es deshacernos de la escala y de la rotación y nos vamos a dividir. Creo que dije eso mal. Deshazte de la escala y de la rotación y divide la traducción. Y luego vamos a enchufar x, y, y z a esos valores ahí así. Vamos a seguir adelante y consigue una nueva animación. Vayamos a un juego de disparos. Animaciones ahí dentro debería haber una llamada un rifle, AIM. Apuntar. Sí. Entonces vamos a golpear sí, va a jugar a tus objetivos de lectura esqueleto. Creo que esto realmente tiene como si hubiera un efecto de sonido que podemos agregar aquí. Por lo que si quieres, puedes hacer clic aquí en Agregar notificar y reproducir sonido y luego ranura el sonido y probablemente tendrías que
arreglar el archivo de sonido. Ya tenemos eso agregado. Entonces volvamos a nuestro plano anim y vamos a apuntar con rifle. Y esto va a crear un componente de deuda local. Entonces estamos tomando nuestra animación de puntería de rifle, y luego vamos a compensar esta columna por diferentes valores que estableceremos porque este objetivo de rifle no
va a configurar perfectamente cada arma para estar perfectamente apuntando en el centro de la pantalla. Por lo que vamos a poder establecer estos números en consecuencia para que se vea mejor. Entonces mezclemos poses por bool. Vamos a enchufar esto para la verdadera pose. Si estamos apuntando, entonces sí, queremos hacer esto. Si no estamos apuntando, sólo vamos a utilizar este puesto de avanzada de carga que tenemos aquí desde la salida de nuestra recarga. Entonces conseguí un poco de computadora y mi propio guión. Escabullirse esto aquí. Ah, está bien, y entonces vamos a almacenar en caché esta pose y
diremos cargar bocanadas
apuntando. Aquí me estoy quedando sin nombres. Sí. Muy bien, y luego vamos a sacar baja carga hacia fuera apuntando comando pose. Oh, Dios mío. Oh, Dios mío. Sakes. Y media horas después. Podrían estar ahí en todo momento y su ciega lo que sea. Está bien. Sí. Vamos a seguir adelante y añadir offset para girar arma. Durante apuntar por el sitio o lo que quieras decir ahí. Entonces haremos nuestro color habitual. Entonces eso va a hacer eso. Entonces ahora, ¿qué no es como transformar componentes para modificar, seleccionados? Dios mío, cómo nos hizo, odio cómo siempre es por defecto, ignorar. Asegúrese de configurarlo para que se agregue a existente. Y entonces te dará el aire. Entonces ahora si entramos y agarramos un arma y apuntamos, se
puede ver cómo no es perfecto. Es hacer lo que se supone que está haciendo. Pero no está claro que no está en el lugar correcto, ¿verdad? Pero está apuntando. Y notarás que eso es como perfectamente hecho nuestro daño de anualidad AutomL pero y ver cómo eso está apareciendo perfectamente donde queríamos posar a la derecha. Entonces está haciendo lo de la audaz propagación. Y entonces está apuntando perfectamente. Simplemente se ve estúpido y ridículo. Entonces lo siguiente que vamos a hacer es que les
voy a decir cuáles son estos valores para cada arma. Y para que bueno, no se ve horrible. Entonces sigamos adelante y hagamos eso ahora. Te los voy a dar en acción de fuego rápido. Está bien, entonces para el rifle auto, vas a tener un desplazamiento X de 1.5. El desplazamiento y va a ser negativo diez, y el desplazamiento Z va a ser 0.5. Compilar y guardar eso. Vamos a hacer la pistola siguiente producto no lo hagas. El primer desplazamiento X es de 0.9. El desplazamiento Y va a ser de 15. Entonces va a empujar bastante eso hacia adelante. Y luego las compensaciones z lo van a mover hacia arriba, van a ser 9.2, las escopetas a continuación. Y el desplazamiento X va a ser 1.3. El desplazamiento Y va a ser negativo 0.5. Y luego por último pero no menos importante, el desplazamiento Z va a ser siete. Por lo que a mitad de camino de inmediato, vamos a presumir de esto. Entonces tenemos esta arma, esta arma, este conjunto de armas. Entonces ahora eso se ve, todavía se
puede ver el punto blanco. Vamos a hacer que eso desaparezca en un segundo. Pero eso se ve muy, muy bien. Creo que entonces la escopeta también es como muy precisa ahí mismo. Entonces todo está funcionando bien. Adelante y hagamos el siguiente. Este rifles de francotirador va a funcionar un poco diferente para que en realidad no tengas que
preocuparte por ello en absoluto. Entonces sí, no te preocupes por ello. Pero para el lanzagranadas, el desplazamiento X va a ser de 0.5. Y se va a dejar en 0, y luego z va a ser 0.5 también. Y luego finalmente, para nuestro lanzacohetes, la x va a ser un valor de 1. Y se va a dejar una vez más en 0, y luego z va a ser negativo cuatro. Entonces con todo eso hecho, como dije, el francotirador, francotirador oscuro no importa. Pero tenemos algunos problemas de recorte con el lanzacohetes. Pero el lanzagranadas luce, se ve bien. Esto también va a disparar un arco. Lo último que creo que debemos hacer es que podemos entrar en nuestro rojo, pongo esos planos en nuestro HUD y podemos,
bueno, más producto para editar, empezar a jugar, ¿no? Obtén una referencia a nuestro personaje. De acuerdo, y luego sacaremos una declaración if de aquí. Y entonces diremos, git está apuntando. Si no estamos apuntando. Y queremos dibujar el rectángulo. Entonces vemos la pequeña línea aquí y se va. Por lo que desaparece un pequeño punto blanco. Ahora, cuando estamos apuntando, al
igual que lo hacen el resto de los cruces. Entonces sólo podemos usar eso como el radical. Entonces realmente no quieres ver ese punto blanco todo el tiempo. Entonces ese es guión que hice bastante feo. Haré que se vea hermosa en un segundo. Y puedes hacer eso también si quieres. De lo contrario funciona, pero así es como apuntamos en nuestro juego. Y lo de la propagación de balas parecía que funcionaba bien. Entonces eso debería estar todo bien y bien. Entonces sí, así es como apuntas en los videojuegos que vayan a envolver este video. Y te veré en el próximo.
30. Zoom de cámara ADS: Hola a todos y bienvenidos de nuevo a otro video en la última lección, si puedo recordar correcto, porque es cierto que ha pasado un poco. ¿ Lo llamas? Empezamos a sumar apuntando al juego. En este video, quiero agregar solo una característica a eso. Entonces si saltamos en nuestro juego y agarramos un arma, o quiero decir, cualquiera de estas honestamente y reanudamos o apuntamos. Te das cuenta de que las cámaras un poco atrás, eso es un poco difícil de ver. Entonces lo que podemos hacer es cambiar nuestro campo de visión. Podemos empujar en un poco esta cámara si estamos apuntando o no, y hacer que eso se vea un poco más dinámico. En el último video, sí me encontré con un tema y lo resuelvo bastante rápido cuando a nuestro enemigo. Si este es R calcular la función de daño que se llama el Gráfico de eventos, colina derecha. Entonces lo que puedes hacer es sacarte de este daño calculado como si yo no imprimiera una cuerda. Por lo que cada vez que dispares un arma, te devolverá ese daño. Y el tonto error que cometí fue en este activo de física aquí. Hice la cabeza, piense que era una mano. Entonces por eso estaba bombeando pequeños números, pero ¿ves que tengo mi pistola puesta en 20 y si disparo, hace 201614610, y luego cuatro. Por lo que Zun por daño en la cabeza antes y eso fue incómodo. No es lo que queríamos. Entonces una manera fácil de arreglar que si te encuentras con algo así, Vamos a seguir adelante y seleccionar al enemigo. Puedes ir a ese activo pulsando este botón, abrir nuestro activo de física y solo asegurarte de comprobar que estos son correctos. Entonces lo que hice es tener un cuello y una cabeza puesta a mano y no cabeza porque se ven similares. Por lo que estaba haciendo por daños antes. Entonces esa es una manera fácil de arreglar eso y asegurarte que y tienes los activos de física adecuados en. Y así que ese fue realmente el único tema que quería asegurarme de que estuviera arreglado. Eso podría ser otra cosa que probablemente ni siquiera te encontraste. Pero sí lo hice. Entonces, solo sigamos adelante. Entonces abramos la base de armas y vamos a hacer una nueva variable. Y vamos a llamar a esto no tasa de fuego. Estoy viendo el ritmo de fuego en este momento. Campo de visión. Lo llamaremos en realidad campo de visión apuntar porque hay una variable incorporada llamada campo de visión lo convertirá en un flotador. Entonces queremos abrir nuestros componentes de carácter así porque vamos a necesitar nuestra cámara. Y queremos hacer esto dentro de una función. Entonces vamos a crear una nueva función y llamaremos a este campo de visión de objetivo. Podemos darle el mismo nombre. Primero lo primero, vamos a seguir adelante y conseguir es apuntar. Y queremos comprobar para asegurarnos si estamos apuntando o no. Solo quieres que esto suceda si estamos apuntando. Adelante y agarremos nuestra cámara. Y en realidad vamos a conseguir dos de estos para hacer algo fuera de lo verdadero y algo fuera de lo falso. Y así digamos establece campo de visión para ambos. Entonces si tú Gosh, creo que seleccionamos en la cámara y entramos, solo
puedes buscarlo hasta campo de visión establecido en 90. Entonces vamos a cambiar eso. Entonces es 90, cuanto mayor sea el número, más atrás se va a mirar. Por lo que un montón de boilerplate, las personas que juegan juegos de PC son como un poco hacen que ese campo de visión sea realmente amplio, extra ancho. Y entonces ese es el número que están cambiando cuando haces eso en tu configuración. Por lo que queremos empujar un poco más esta cámara y estamos configurados dinámicamente eso. ¿ De acuerdo? Entonces vamos a necesitar una cámara de nuevo, y vamos a necesitar obtener esa variable de campo de visión, que está establecida en 90. Piensa que tal vez puedas cambiar eso. Y no queremos que esto se acople a este nuevo, nuevo campo de visión. Queremos que interpele por lo que vamos a conseguir una interrupción F para flotar. Interpretar He descrito antes lo que significa la interpolación. Entonces vamos a conseguir nuestra arma actual. Es por eso que casi no me gusta poner las cosas en categorías porque me llegó a gustar averiguarlo, oh Dios, ¿dónde puse esto? Y queremos conseguir ese campo de visión puntual. Por lo que nuestro campo de visión normal es la corriente que queremos pasar al objetivo, que es lo que estableceremos. Por lo que guardo esta variable en el arma padres para que siempre podamos seguir llamando de nuevo a eso en cambiar dinámicamente eso dependiendo de lo que tengamos. Para velocidad de interrupción. Sólo pongamos que sea 10. Puedes cambiar esto por lo que quieras fuera de tu preferencia personal. Simplemente sepan que si se establece en 0,
se va a chasquear ahí inmediatamente, que vamos a conseguir. Mundo que Delta segundos para nuestro tiempo delta, es bonito, bastante normal ahí. ¿ Todo bien? Y luego vamos a copiar y pegar esto. Y así lo único que vamos a hacer, bueno, sigamos adelante y pongamos que esto sea un 90. Entonces si quieres cambiar tu campo de vistas valor predeterminado, puedes promocionar esto a una variable por amines, pero no lo estoy cambiando de 90 SMS yendo a duro, vuelve a
ponerlo en 90. De acuerdo, Entonces esto es esencialmente sólo corriendo si no estamos apuntando. Entonces la corriente es de 90 y estamos pasando a 90, donde esa es otra forma de decir que no estamos haciendo nada. Y luego vamos a devolver éste para el campo de visión. Si estamos apuntando como, oh, es hermoso. Y entonces podemos decir cambios, ¿Qué es de fantasía F0 v Si apuntando arma, el jajaja. Al igual que una hermosa así, maravillosa compilar, guardar, hacer lo que tengas que hacer. Ahora volvamos a nuestra arriba y base y vamos
a estar en el Gráfico de Eventos si no estás ya ahí. Y vamos a entrar en el espacio abierto de set. Y vamos a querer correr esto fuera del tick de evento. Si recuerdas, el tick de evento es como una actualización nula. Corre cada fotograma o cada segundo se llevará a cabo al mismo tiempo, creo Digamos que cada fotograma, está bien, Profesional. Agarremos a nuestro jugador y queremos correr este evento. Cada cuadro. Apuntar campo de visión, queremos estar revisando, bien, ¿ estamos apuntando todo el tiempo? Entonces podemos cambiar ese campo de visión. Entonces, por defecto, para este campo de visión, vamos a establecerlo en un valor predeterminado de 70. Entonces solo conoce el número más bajo que lo pones como. Cuanto más vaya a empujar hacia adentro, más va a hacer zoom así. Sólo voy a dejar eso ahí por ahora. Entonces como esto está establecido en 70, en realidad
deberías ver esto. Entonces si agarro nuestro rifle auto y ya puedes ver ahora en acercamientos y zooms retroceden así. Y si te das cuenta, podría haber tenido algún tipo de problema de recorte con el arma y como el zoom del cameron, en realidad
lo arreglará. Entonces si fuera a hacer algo bobo como hacerlos 30 y tú querías algún tipo de veamos, tienes como un alcance cuatro veces en tu arma, entonces eso va a hacer que realmente no se vea muy mal. Es un poco cool en cierto modo, pero ese es el efecto que vamos por así, pero voy a ponerlo en 70. Creo que eso es un poco menos ridículo. Para que puedas seguir adelante y subirte a cualquiera de estas armas y cambiar esto para que puedas hacer que la pistola tal vez zoom un poco más. Nuestro lanzacohetes hace esa clase de cosa rara de recorte. Te mostraré cómo arreglarlo, pero solo debes saber que requerirá muchos pasos. Entonces si entras a la Configuración del proyecto y solo yo
estoy, voy a ir a cerca tipo que en. Verás cerca de avión de recorte. Si estableces que este sea un número menor como cinco o algo así, eso probablemente se deshaga de ese recorte que estás viendo. Vendrá con una compensación, lo que
significa que las cosas, si recuerdo esto correctamente, las cosas fuera a lo lejos no necesariamente se van a cargar tan lejos porque el plano de recorte está más cerca de la cámara. Entonces lo haces con eso, como te gustaría, este es un país libre en el que vivo, puedo hacerlo. No solo sabrás que si cambias esa configuración, diferencia de muchas otras configuraciones aquí, vas a tener que cerrar tu programa y luego abrir copia de seguridad tu Unreal Editor para ver realmente esos cambios. Por lo que puede ser bastante tedioso. Y probablemente necesites cambiar también tus compensaciones X, Y y Z. Porque eso podría llegar, no se va a alterar. Simplemente le gustará una mirada un poco diferente si ese plano de recorte cambia. algunas cosas tienen en cuenta, pero sí, adelante y entra en las diferentes armas y ve qué tipo de niveles de zoom quieres. Sí, eso funciona todo. Todo se ve bien. Entonces eso es todo lo que tengo para este video. Gracias por ver. Te veré en el próximo.
31. Agrega marcadores de golpe: Hola a todos y bienvenidos de nuevo a otro video. En éste vamos a estar continuando con nuestro guión enemigo. Y vamos a estar agregando algunos marcadores de impacto a nuestra arma enemiga. Ni siquiera sé qué es, cuál sería técnicamente, qué va a aparecer y le pegamos al enemigo. Entonces vamos a estar sumando de si no tienes ya nuestro enemigo abierto para este evento, enemigo recibe daño. En lugar de estas tontas cadenas de impresión, realidad
vamos a hacer algunas cosas geniales. Muy bien, así que empecemos entrando en nuestra carpeta de interfaz de usuario y vamos a hacer un nuevo widget y podemos simplemente llamar a este hit marcadores. Ahora si has descargado los archivos del proyecto para esta clase, que debiste, los vamos a utilizar aquí. Entonces vamos por debajo de los iconos y tendremos marcador de hit. Esto es para nuestro Minimap, que aún no hemos calificado. Este es nuestro rifle de francotirador. Vamos a seguir adelante y sólo arrastrar y soltar a los tres. Puedes sentirte libre de crear otra carpeta llamada texturas, pero solo voy a colocarlas todas en la interfaz de usuario. Ahora, estos se mostrarán luciendo bastante tontos. Entonces podemos arreglar eso como si abriéramos esto. Y si bajamos aquí al grupo de texturas, establecemos que esto sea UI. Ya puedes ver que ahora arregla eso, en realidad
no cambia nada al respecto. Simplemente hace que la pequeña miniatura no parezca basura recta. Tan divertidos hechos por todos lados hay una manera de hacer masa todos esos al mismo tiempo, pero no son tan profesionales. De acuerdo, así que vamos a estos ácidos aquí. Sigamos adelante y sigamos en nuestros widgets de marcador de éxito. Y vamos a hacer algunas cosas geniales ahora, a diferencia de antes, en realidad
queremos que esto sea de un like, perfecto, no vamos a configurar esto para que sea deseado o cliente nada porque sí queremos que esto se presente en el centro de nuestra pantalla. Porque si lo piensas de esta manera,
bueno, los marcadores de hit siempre deben estar en el centro de la pantalla porque nuestras balas están disparando desde el centro de la pantalla. Entonces no necesitamos realmente hacer nada súper loco con eso. Muy bien, así que sigamos adelante y agreguemos una imagen a nuestro panel de lona. Y sólo llamaremos a este marcador. Podemos centrar esto o anclarlo al centro, decir posición 0, posición y es 0. Y necesitamos alinearlo 0.5.5 en la x y la y. y vamos a seguir adelante y también golpear tamaño al contenido. Ahora podemos tragamonedas en nuestro hit marcador cosita, y es ginormoso. Por lo que puedes configurar esto para que sea el valor que quieras. Voy a recoger 60 por 60. Entonces lo haremos así. Y eso debería ser bueno. Entonces ahí está nuestro pequeño marcador. Hice esto en Photoshop. No es lo más grande, pero se hace el trabajo. Ahora lo que vamos a hacer es que vamos a querer 0. Ya es una variable. Bueno, irreal, saltándome el arma ahí. Vamos a crear un par de animaciones. Queremos crear dos de ellos. Queremos hacer uno por uno, nos dan un golpe normal, y uno para cuando tengamos un golpe de muerte porque somos fantasiosos. De acuerdo, así que vamos a crear uno, llamarlo normal, golpear así. Y lo único con lo que vamos a atornillar aquí como nuestro entorno transformado. Entonces si te desplazas hacia abajo para renderizar transformación, y vamos a querer hacer escala. Vamos a hacer clic en este fotograma clave en la escala. Y abrirá este menú desplegable y aquí tenemos nuestra configuración de escala. Entonces por defecto, hagamos esto 0 por 0, ¿verdad? Entonces a 0.2 cincos con relativa rapidez, agreguemos dos fotogramas clave y hagámoslo 0.7 de su tamaño a tamaño completo. Está bien. En realidad, sólo hagámoslo del tamaño completo. Muy bien, puntos 75. Vamos a volver a configurar estos fotogramas clave. Por lo que acaba de pulsar de nuevo estos dos botones para que siga en ese mismo tamaño por esa cantidad de tiempo. Y luego a 1 segundo. Por último, vamos a hacer esto en dos fotogramas clave y ponerlo en 0 y luego 0 de nuevo. Entonces ahora si reproducimos esta animación
, sólo hará eso. Entonces sube y luego vuelve a bajar el zoom así todo hermoso lago. De acuerdo, ahora creemos otra animación y llamemos a esto muerte. Por golpe de muerte. Va a ser muy similar. Entonces vamos a agarrar la báscula una vez más. Predeterminado o no predeterminado, pero a 0 segundos, hazlo 0.25. Voy a hacer este un poco más grande. Entonces tal vez como 1.2 por 1 para volver a poner eso en 0.75 segundos y luego en 1 segundo, volver a
ponerlo en el 0. Entonces ahora es exactamente lo mismo, solo un poco más grande. Y lo otro que queremos cambiar es que queremos asegurarnos de que esto sea rojo. Entonces podemos hacer esto yendo a golpear marcador y luego yendo en color y opacidad. Y honestamente podemos pegarle a cualquiera de estos. Yo sólo voy a pegarle a R. Y lo único que tenemos que hacer es establecer todos estos valores para que sean 0. Por lo que debe significar a es la opacidad. Por lo tanto, mantén eso a una. Queremos que G y B se fijen en 0. Y sólo podemos arrastrar esto todo el tiempo. O podría ser capaz de deshacerme de ese en realidad sólo está listo para ser leído Omega. Entonces ahora es rojo. Por lo que tienes justo en el AR, haz que uno y luego por defecto, estos deben estar configurados para ser 0. Y es sólo en el déficit. Entonces volvemos a golpe normal. Es blanco y muerte, pero es un poco más grande y nuestros colores, no, nada de trabajo. De acuerdo, bueno ahora el juego me odia. Está bien. A lo mejor acabamos de poner todos estos. Oh, espera, antes de volver a uno, entonces balón bobo. Está bien. Simplemente ponlo como casa. Realmente no importa. Igual que eso. Está bien, Ahí tienes. Así que solo establece los fotogramas clave para todos ellos y eso debería funcionar. Muy bien, ahora vamos a necesitar realmente decirle el juego en el Event Graph, bueno, cuando se quiere ejecutar esta animación. Entonces nos vamos a quedar corriendo de constructo de eventos. Y queremos hacer una nueva variable, y llamaremos a esto está muerto. Y sería un booleano. Y queremos exponer esto en engendro. Y solo podemos seguir adelante y hacer que sea instancia editable también. Porque ¿por qué no? Y lo que vamos a hacer es que vamos a vincular esto con la variable muerta que existe dentro de nuestro enemigo. Por eso lo estamos exponiendo en engendros que cuando creamos este widget en ese blueprint, o este blueprint que podemos hacer es enlazar este valor con, este valor es tan fácil. Ahora, debajo de Animaciones deberías ver nuestra muerte tenía una cabeza normal. Entonces si es muerto es cierto, Agarremos definitivo y digamos Play Animation así. Y todo esto debería estar bien. El predeterminado, si no está muerto, queremos conseguir el hit normal y reproducir esa animación. ¿ Todo bien? Y luego voy a seguir adelante y golpear un nodo de retardo aquí sólo para evitar estos. Y enchufarlos a ambos ahí. Tan solo para evitar que estos hagan extrañas solapamiento y las cosas ni siquiera
son que les impidan simplemente darle tiempo para que esta animación realmente se reproduzca. Una cosa que puedes hacer es que
puedes conseguir la hora final de estos y enchufar eso en un retraso. Eso hago a veces, pero por el bien de este 1 segundo, funciona simplemente bien. Entonces eso es todo lo que tenemos que hacer. En realidad podemos cerrar nuestros marcadores de golpe ahora en B, vuelta en nuestro enemigo. ¿ De acuerdo? Entonces hay algunas cosas diferentes que queremos hacer. Todavía no tenemos nuestros números dañados creados. Entonces vamos a necesitar hacer un par de cosas diferentes fuera de aquí. Sí, me voy a quedar con esas cuerdas de impresión por ahora. Está bien, y se pone esto cierto y sólo di que estoy muerto. Por lo que queremos tener uno por lo falso. Muy bien, Entonces fuera de aquí queremos decir, ¿es válido? Y vamos a enchufar algo aquí en un segundo, y vamos a enchufar el falso recto aquí. Estas cosas simplemente se agregarán a más adelante con nuestros números de daño. ¿ Está bien? Entonces off of no es válido. Realmente no importa cuál hagamos eso. Vamos a crear un widget. No importa cuál saquemos esto ahora mismo. Y luego vamos a querer crear nuestro marcador de hit. Entonces ahora tenemos esto es variable muerta. Entonces vamos a agarrar está muerto de este plano, es el eslabón que arriba. Por lo que ahora estas dos variables ahora están vinculadas. Vamos a seguir adelante y hacer clic derecho y promover esto a una variable y llamarlo hit marker, ref para referencia o lo que sea. Y luego queremos sumar a la ventanilla. Está bien, genial. Ahora tenemos este hit marcador de referencia. Conectemos esto a nuestros objetos de entrada así. Off of es válido. Vamos, probablemente no podamos hacer así. Agarra una referencia de marcador de golpe y di Eliminar del padre, y luego enchufa que dentro fuera de es válido, como esto, y luego mueve eso de nuevo a la cadena. Entonces la razón por la que esta pequeña parte existe, esta voluntad. Entonces te va a estar pidiendo que te guste crear el widget de marcador hit esencialmente, ¿verdad? Y tus balas o yo disparan y bastante rápido, sobre todo con el rifle auto. Por lo que lo harás, estará diciéndole al juego con cada hit crear un nuevo marcador de hit. Pero el juego que consigo, nos vamos a confundir un poco porque será como si estuvieras intentando crear un widget antes de que se haya quitado de la pantalla. Simplemente lo estás creando, creándolo y creándolo sin quitarlo nunca. Entonces lo hará, se va a confundir. Te dará igual que algunas advertencias o lo que sea. Entonces esta nota aquí más o menos dice como, vale, si los marcadores de golpe ya están en la pantalla, entonces quítala y luego crea uno nuevo. Por lo que se podría decir, para propósitos sólo dice quita marcador
anterior si
se produce otro golpe antes de la primera, este pares, no lo sé. Esperemos que eso tenga sentido. Es como si estuviera deteniendo el juego de crear likes para golpear marcadores a la vez. Entonces quitando uno de ellos, sucederá tan rápido, ni siquiera lo notarás, pero sí, es una cosa. Por lo que esto podría funcionar ahora tal como está, incluso faltan otras partes del guión. Entonces vamos por aquí. Y vamos a disparar. Y ahí vamos. Entonces note que no le cogemos a él o a ella, así que no le pegamos a nada. Pero si le pegamos a nuestro tipo, estamos consiguiendo que se presente nuestro marcador de hit. Y si te das cuenta, deberíamos matarlo pronto. Ahí vamos. Ahí está el rojo y Saddam lo hizo. De acuerdo, y ahora ya no deberían aparecer. No lo hacen. Por lo que esto será evidente en el auto rifle. Entonces el todo como quitar de lo de Padres. Se puede ver como si no creara como 4 mil de ellos en la pantalla al mismo tiempo. Es realmente rápido ver son muy difíciles de ver, supongo. ¿ Verdad? Ahí lo tienes. Ahí hay marcadores de hit, como algo así como las pistolas de disparo
le van a golpear con todos estos diferenciales a la vez. Por lo que sólo aparece con un marcador de hit en lugar de ocho. Así. De acuerdo, entonces todas esas cosas deberían estar funcionando si tus balas no están haciendo ningún daño. Solo para asegurarte de entrar
a clase e ir a las estadísticas de armas y asegurarte de que realmente has dañado. Cosa fácil de perderse. Entonces sí, genial. Eso son marcadores de hit. Siguiente video, vamos a hacer números de daño y deshacernos de
esas feas cuerdas de impresión y hacer que esto luzca jodidamente impresionante. De acuerdo, entonces te veré ahí. Gracias por ver.
32. Agrega números de Damage: Hey todos y bienvenidos de nuevo a otro video. En la última lección, agregamos marcadores de hit a nuestro juego. Y en este vamos a estar sumando a nuestros pantalones de lujo CUI y agregando algunos RPG cool como números dañados a la pantalla. Entonces, empecemos. De acuerdo, pasemos a nuestra carpeta de interfaces. Y vamos a añadir una nueva interfaz. Entonces vamos a los planos y a la Interfaz de Blueprint. Y llamemos a esto, debe mantener el nombre mismo BPI subrayado números de daño. Ahora, lo que técnicamente podríamos hacer esto fuera de un evento personalizado. Pero en nuestro juego. De acuerdo, si lo piensas, si quisieras sumar a esto, y fueras a querer crear todo un montón de enemigos diferentes. Digamos que hacer una oferta de una interfaz sería bastante fácil porque entonces solo podrías seguir creando estos eventos y estas funciones esencialmente que estarán creando dentro de aquí. Por lo que de inmediato podría hacerlo sólo haciendo un evento. Pero así no es como rodamos aquí mismo, ¿de acuerdo? Porque quería crear este proyecto de una manera que se pueda agregar fácilmente un implemento a él. Entonces por eso lo estamos haciendo de esta manera. Entonces cambiemos el nombre de nuestra función predeterminada y llamemos a estos números de daño. Y queremos tener tres entradas aquí. Queremos que uno sea un flotador, uno para ser un vector, y luego uno para ser un booleano. Y llamemos al daño del flotador. Se llama la ubicación de impacto vectorial. Y llamemos al booleano es un tiro de cabeza así. Y es todo lo que necesitamos hacer ahí dentro. Muy bien, y entonces podemos desplazarnos hacia abajo dentro de nuestro enemigo bp. Y vayamos a nuestra configuración de clase y añadamos esta interfaz. Entonces vamos BPI. Bpi números dañados, compilar, y luego podemos ir números dañados de evento. Entonces ahora tenemos que se llaman aquí mismo y podemos empezar a hacer algunas cosas fuera de ella. Pero no tenemos nada creado. Todavía no tenemos nuestros números de daño realmente creados, así que vamos a tener que hacer eso primero antes de que podamos salir corriendo de esto. Muy bien, así que vamos a entrar en la interfaz de usuario. Vamos a crear un nuevo widget y vamos a llamar a este número de daño así. Y podemos abrir esto para arriba. Muy bien, entonces lo primero que queremos hacer es seguir adelante y establecer este tamaño de pantalla para que se desee en nuestro panel de lona. Pongamos una caja de tamaño. Esta caja de tamaño, sólo voy a llamarla caja de tamaño. Voy a convertir esto en una variable. Y voy a fijar esto para que sea 100 por 100. Así y se obtiene este ancla. Oh Dios, anclándolo, lo estropeó. Supongo que esto realmente no importa. Oh, lo hicimos. Bueno, eso es incómodo. De acuerdo, bueno, negativo 50, 50, 100, 100. Realmente no importa. Está bien. Solo, no me gustaba ver esa cosa en el centro. Está bien. Ahora agreguemos algo de texto a nuestra caja de tallas. Pero luego encima de la caja de tamaño. Y llamaremos a esto algo así como Oh, no
sabía que no estaba bien. Texto dañado. ¿ Qué es lo irreal para él? Es como no mostrar mi Todavía está dividido. También haciendo las ediciones. De acuerdo, y vamos a seguir adelante y hacer variable el texto dañado. Alinémoslo en el centro, así. En, vamos a tener que ser un texto predeterminado de como algún número como 99 o algo así. Después tenemos nuestras fuentes añadidas. Vamos a hacer de ésta la fuente audaz como esta. Vamos a hacerlo de un tamaño de, realmente no
me gusta que sea tan grande. Alguien puede tener pierna 18. Siéntete libre de hacer este look. Como siempre quieras. Esto es todo este artificio, fantasía de fantasía para ti que estoy haciendo ahora mismo. De acuerdo, Para un desplazamiento de sombra, quiero agregar un poco de sombra. Entonces vamos a hacer dos por dos. Y para el color de la sombra, en realidad
voy a hacer este espectáculo porque nuestro un valor está configurado para ser nada en este momento. Voy a hacerlo como 0.5 por algo así. Y ya sabes, y estoy contento con ello. Se puede cambiar la justificación o todos estos ajustes extraños. Pero en pocas palabras. Eso es lo que quiero. De acuerdo, entonces ahora necesitamos crear una animación para esto y llamarlo daño aplicado o algo así. Y vamos a darle a esto un efecto a una especie de pop-in y luego volver a salir. Muy bien, lo vamos a tener como acercar, zoom hacia abajo, y luego tipo de flotar un poco hacia arriba. Déjame solo pensar en qué hacer por un segundo aquí. Lo primero que quiero hacer es meterme con la báscula. Entonces sigamos adelante y asegurémonos de que el texto dañado esté seleccionado y bajemos a escala. Vamos por la X y la Y, y podría desaparecer. Por lo que queremos que este sea 0 al principio. Y luego después como 0.25, Hagámoslo como 1.5 su tamaño. Muy bien, y luego a 0.5, Hagamos que agregue algunos fotogramas clave pueden obtener su verdadero tamaño a las 11. Entonces está haciendo como este tipo de cosas. Y entonces eso es todo. En realidad es que necesitaré hacer para la báscula. Está bien. Entonces eso es genial. Ya sabes, estaba pensando como tenerlo como que se desvanezca si quieres que se desvanezca aquí. Supongo que, como dije, no
quiero pasar como una ridícula cantidad de tiempo en los widgets y como hacer todo eso porque vas a hacer como quieres que se vea de todos modos, está bien. La única otra cosa que quiero hacer es que quiero meterme con la traducción en la x e y Así que agreguemos algunos fotogramas clave aquí así. Y luego vayamos a como 1.25. Y creo que sólo necesitamos el sí, sólo necesitamos el y. así que en realidad puede eliminar los x1. y entonces pongamos esto para que se mueva tal vez como negativo 10. Por lo que ahora va a jugar en especie de moverte arriba así. Ah, sí lo necesitamos para que se desvanezca dentro y fuera. Sí. Necesitas conseguir que desaparezca. Está bien. A ver cómo vamos a necesitar hacer eso, ¿de acuerdo? Pero tenemos nuestro movimiento tipo de cosas abajo. Ahora vamos a nuestra interfaz de usuario, ya que agregamos una sombra. Funciona tan irreal. Necesitas hacer esto con el color de la sombra y solo el color y opacidad normales. Entonces estas dos cosas van a ser lo mismo, los mismos valores a. Por lo que por defecto solo podemos hacer este 0. Para cuando llegamos a 0.25. Hagámoslo un set. Todo el asunto se carga a 1 segundo. Vamos a añadir de nuevo los fotogramas clave para asegurarnos de que estos estén configurados para ser uno. Y luego a 1.25, Hagamos el a valor 0. Entonces ahora si reproducimos toda esta animación, hace eso. Está bien, estoy demasiado loco. Como dije, siéntete libre de volverte loco añadiendo fotogramas clave en atornillar con todo un montón de cosas,
cualquier cosa con esta etiqueta puedes cambiar. Se puede hacer un fotograma clave y cambiar ese valor con el tiempo. ¿Está bien? Pero no vamos a perder un montón de tiempo en eso. Muy bien, así que salgamos de Event Construct por aquí. Y vamos a agarrar el texto de daños. Ah, ¿sabes qué? Tenemos que crear un par de variables en esto. Entonces hagamos uno y lo llamemos daño, y lo hagamos de flotación. Y vamos a crear uno y decir es los tiros a la cabeza en convertirlo en una instancia de entradas
booleanas editable y exponer ambos de estos en engendro. El motivo por el que hicimos eso es porque
necesitamos, los creamos aquí y solo queremos vincular esas dos cosas eventualmente. De acuerdo, entonces vamos a agarrar nuestros daños. Esto va a ser lo que está haciendo nuestra cadena de impresión actual. Cuánto daño estamos haciendo. Algo que queremos hacer actualmente es si nosotros, no
queremos que nuestros números muestren puntos decimales. Entonces con cómo funcionan las matemáticas, es posible que pudiéramos hacer como 7.5 de daño o algo así. No queremos que los números dañados aparezcan como 7.5, pesar de que podría, eso podría ser más preciso. Entonces podemos hacer a flotadores es podemos trazar el Snowden, digamos piso. Y lo que esto hará es todo esto prevenir decimales. Va, Es como redondear hacia abajo. Está bien. Así son los textos dañados que quieres establecer, SetText, obtener este texto de conjunto de widgets, y luego enchufar esto así. Por lo que va a agregar esta pequeña nota extra aquí y luego vamos a enchufar eso. Entonces lo que esto está haciendo es que estamos haciendo lo que sea este número de daños, que no es nada en este plano, pero lo vincularemos a daños aquí dentro. Y este valor que se controla en nuestra web y planos, enlazaremos esas dos cosas. Nos aseguraremos de que no muestre ningún decimal. Y entonces la haremos uso de la palabra como en deshacernos de los decimales porque queremos ver eso. De acuerdo, ahora vamos a conseguir de nuevo nuestro texto dañado. Y quiero agarrar es tiro a la cabeza. Entonces quiero cambiar el color del texto de daño si nos dan un disparo en la cabeza porque eso es un poco divertido. Por lo que podemos sacar un nodo que literalmente se llama Seleccionar color. ¿ Está bien? Y luego fuera del valor de retorno podemos decir hacer color de pizarra así. Entonces fuera de los textos de daño, digamos establecer color y opacidad. Y ya verás tenemos esta nueva opción para un color pizarra y la dejaremos caer ahí dentro así. Está bien, y así ahora todo lo que necesitamos hacer es tener uno para un y tener uno para B. Ahora, a va a ser si esto es cierto. Entonces voy a hacer esto antes de que lo hiciera amarillo y ya tengo este color rojo, así que solo, solo lo haré rojo. Está bien. Y entonces voy a tener que no los tiros a la cabeza sean blancos o algo así. A mí me gusta el amarillo, pero realmente no siento que
puedas hacer eso del color que quieras para tus tiros a la cabeza. De acuerdo, lo último que queremos hacer es que queremos tomar aplicado nuestro daño de animación. Y queremos jugar dicha animación. De acuerdo, entonces tocaremos tu animación y luego queremos tener un retraso. Y luego queremos quitarle esto al padre, que es deshacerse del widget. El motivo por el que tenemos este nodo de retardo aquí es para
evitar que se elimine nuestro widget de la pantalla antes de que se reproduzca la animación. Por lo que esto correrá como un fotograma como instantáneamente. Entonces a pesar de que técnicamente estaremos reproduciendo la animación también estará eliminando todo el widget de la pantalla al mismo tiempo. Por lo que necesitamos tener un retraso. Dirá conseguir n tiempo para nuestra animación. Entonces solo tendremos el tiempo N para esa animación, que es de 1.25 segundos. Y luego retrasaremos por esa cantidad de tiempo antes retirar todo nuestro widget de la pantalla. Está bien, así que eso es todo lo que tenemos que hacer con esto. Entonces ahí vamos. Ahora volvamos a nuestro enemigo. Y vamos por debajo de este evento aquí. De acuerdo, y lo primero que quiero hacer es que queremos crear un widget. Ese widget que queremos crear es números dañados. Y como tenemos esas variables como exponer el engendro, ahora las
podemos ver aquí mismo. Entonces sólo los enchufaremos así. Desde que está bien. Ahora impacta ubicación, esta va a ser la ubicación será querer que los números realmente aparezcan. Ahora, necesitamos agregar algún nivel de aleatorización a esto. Porque si estás disparando el arma, típicamente no lo
estás moviendo lo suficiente. Seleccione los números, los números se superpondrán. Muy bien, seamos simples aquí. Por lo que necesitamos agregar algún tipo de aleatorización a esta ubicación aquí. Entonces empecemos por conseguir el controlador de nuestro personaje. Y está esta pintura realmente elegante el nodo llamado Project world location to widget position. Nos va a estar pidiendo una ubicación. Entonces pongamos eso ahí así. Y eso es todo lo que necesitamos para eso. Ahora tiene una posición de pantalla de una estructura vectorial 2D. Vamos a romper esto. Por lo que ahora obtenemos una coordenada x y una y en nuestra pantalla. Está bien, así que ahora tenemos que hacer algunas matemáticas de fantasía. Entonces para la x Add, va a querer agregar negativo 100 a esto. Y luego vamos a sacar esto y añadir otra flotación más una flotación. Entonces vamos a sumar este negativo 102, un flotador aleatorio en rango como éste, um, y luego voy a hacer negativo 25 como mínimo y máximo como ciento ciento cincuenta. De acuerdo, entonces fuera de la y, vamos a querer agregar más carrozas. Y éste va a ser más negativo 100 otra vez. Y luego sólo vamos a, se va a copiar pegar estos dos. Esto está controlando nuestras ubicaciones x y nuestras y aleatorias. El mínimo para el y, que está arriba y abajo va a ser 050, así. Y luego por último pero no menos importante, sólo
necesitamos sumar estas dos cosas juntas. Ahora, pasé una cantidad decente de tiempo jugueteando con estos números. Esto es lo que siento. Me crea una buena difusión aleatoria en mi opinión. Entonces si piensas en esta matemática que estamos sumando negativo 102. Entonces el número más bajo que esto puede ser para nuestra x, que es esta ida y vuelta, es negativo 125 a positivo 150. Entonces como esa es la mayor cantidad que puede extender de esta manera, los números. Y luego el, esto puede ser tan bajo como negativo 100 y negativo 100 más 0 es negativo 100 o negativo 50. Entonces eso es lo más que podemos ir en esta dirección. Entonces conseguirás este tipo de sección transversal así. Si quieres hacer el número mínimo potencial como negativo 200, por lo que obtendrías un negativo 100 más potencialmente negativo 100 y puedes hacerlo. Pero estos son los números que sentí que eran lo suficientemente decentes. Está bien. Entonces lo que hicimos, oh, en realidad no quiero sumar estos juntos. Rompimos el vector. Por lo que ahora queremos que estas carrozas vuelvan a ser un vector. Y queremos hacer vector 2D así. Porque esto es sólo un plano 2D en nuestro widget aquí. Y luego vamos a establecer la traducción de render. ¿ Por qué sabe, hacerme esto? Es posible que necesitemos conseguir Vamos adelante y conseguir nuestra caja de tamaño. Ahí vamos. Démosme el tonto nombre. Por eso necesitábamos hacer de esto una variable. Si no lo hiciste, no puedes conseguir esto, solo hazlo en una variable o selecciona cuadro de tamaño y solo configura la variable. Podría funcionar fuera de aquí. Ahora set, render. Ahí vamos. Establecer a la derecha, o traducción. Y la traducción es eso. Por lo que en realidad estamos cambiando la ubicación de nuestra caja de tamaño. Y recuerda que nuestro texto es un niño de la caja de tamaño. Dondequiera que vaya la caja de tamaño, la escala numérica. Sólo enchufemos eso como tal, así. Y luego podemos salir de aquí y decir Agregar a Ventana. Enchufa eso. Entonces una especie de guión de inicio de sesión tonta, no voy a mentir entre videos ya que no quiero ser esto una vez que pertenezcas. Por lo que probablemente añadiré las cajas comunes y cosas entre ellas. Sólo un poco mostrarte lo que hice. Lo último que queremos hacer es que realmente quieras llamar a este evento. Entonces aquí mismo tenemos algunas cuerdas de impresión tontas. Esto es en nuestro evento y puede sufrir daños. ¿ De acuerdo? Por lo que no hemos agregado ningún tipo de cosa M de muerte enemiga. Pero lo haremos en el próximo video. Para nuestra falsa rama significa que no estamos muertos. De acuerdo, queremos llamar a números dañados, que es éste. Ahora lo estamos llamando y está pidiendo esa información. O y esto debería ser bastante sencillo. Entonces daño, queremos que este no sea el daño de aquí. Está bien, habrá incorrecta. Queremos obtener el daño calculado, que es restablecer ese número en base a cualquier parte del cuerpo que impactemos, esencialmente con cualquier arma que estemos sosteniendo. Está bien. Tomemos nuestro resultado hit y podemos sacarlo de aquí, en realidad romperlo así. Para la ubicación de impacto, queremos enchufar eso a la normalidad de impacto. Está bien, y entonces lo último que necesitamos es que esto sea un tiro a la cabeza. Entonces agarremos nuestro material físico y obtendremos el tipo de superficie. Muy bien, y tenemos una cabeza llamada. Entonces podemos hacer es decir iguales. Y diremos, ¿esto es igual a la cabeza? Si lo es, entonces será un tiro a la cabeza y eso volverá cierto. De acuerdo, entonces eso es todo lo que tenemos que hacer para eso. Entonces si saltamos y jugamos, aquí hay un momento de verdad. Entonces si hacemos este rodaje, tenemos 16, el seto sea 20 y amarillo o rojo. Ahí vamos. 1014600 antes de ahí vamos. 16. Supongo que acabo de fallar. Y ahí estamos. Yo estoy muerto. Y no bombeó números supongo para la muerte final de abajo. Eso está bien porque tiene los marcadores de hit rojos que lo hace por nosotros. De verdad. Conoce. ¿ Por qué funcionó eso? No funcionó. Estamos muy lejos. A lo mejor sólo estoy ciego o algo así. Eso fue muy extraño sin embargo. ¿ No funciona desde cierta distancia? Bueno, vamos aquí abajo. Está bien. Por lo que es cierto que nunca antes había visto que eso sucediera. tengo absolutamente ni idea de por qué sólo se está mostrando dentro de cierto radio como ese. Porque está funcionando de la misma manera exacta que está el marcador hit. Entonces realmente no debería estar sucediendo. Entonces podría ser algún tipo de asunto interno porque eso es realmente extraño. No tengo ni idea. Entonces si yo si solo pudiera ser algún raro fallo, podría ser algo con mi configuración. El guión es exactamente el mismo en este plano en el proyecto anterior. Entonces supongo que si miras avísame si están experimentando el mismo tipo de cosas. Pero eso es una cosita muy extraña. Porque como dije, los marcadores de hit funcionan de la misma manera exacta y sigue apareciendo sin importar dependiendo de la distancia. Entonces si encuentro algún tipo de solución al mismo, entonces se lo haré saber. De lo contrario, sólo voy a mantener el tren
avanzando porque podría ser sólo una especie de bicho raro,
irreal que no tiene nada que ver con nosotros. O podría ser solo algún escenario raro, algo que alteré que ni siquiera estás experimentando porque
parece que todos los bichos que he tenido hasta ahora solo por mi culpa, no por otra cosa. Entonces sólo estar de mi lado. Es decir, ser un bobo, como poner el material físico equivocado en la cabeza y cosas así. Pero ese es el video, así es como haces los números de daño. Y luego tanto por ver. Y te veré en el próximo.
33. Animación designada: Hey todos y bienvenidos de nuevo a otro video. Entre videos, traté de mirar un poco a lo que podría estar causando como problema son números dañados. Y si miras aquí nuestro viejo proyecto, ves que esto es exactamente lo mismo que antes. O eso o estoy ciego. Y si entro y disparo desde lejos, los números siguen apareciendo. Entonces no estoy del todo seguro si estoy siendo honesto lo que está causando el tema. A veces el motor solo encabeza errores o problemas o lo que sea que suceda y es posible, probablemente más probable que tenga algunos problemas. Entonces si te encuentras con ese mismo tipo de problema donde los números de daño solo están apareciendo en un cierto rango. De verdad me disculpo, pero como dije, golpean marcadores están trabajando en el guión es exactamente lo mismo. Entonces no estoy realmente seguro. Al final de toda esta clase, probablemente
añadiré algún tipo de video de corrección de errores donde solo entramos y arreglamos algunos de los pequeños problemas que tiene nuestro proyecto, que es lugar común para literalmente cada videojuego de la historia creado como parte del proceso. Por eso existen equipos de control de calidad. ¿ Está bien? Pero vamos a mantener el tren en movimiento, ¿de acuerdo? Porque si te das cuenta ahora mismo en nuestro juego, obtenemos el marcador de hit rojo fresco cuando nuestro personaje muerde el polvo. Está bien, pero sólo dice que estoy muerto y queremos hacer algunas cosas geniales. Queremos tocar algunos sonidos. Queremos hacer algo de física de muñecas de trapo, ¿de acuerdo? Y queremos sumar algunos impulsos. Muy bien, así que vamos a hacer algunas cosas geniales de física en este video. Por lo que una vez más, vamos a necesitar una encuesta de nuestros archivos de proyecto es ser el último. Entonces cuando tenemos una carpeta llamada audio y sólo tiene un efecto de sonido aquí. Por lo que debajo de FPS. No dije eso bien, juego de FPS. Está bien. Hagamos uno llamado audio. Y este será nuestro único archivo de audio honestamente. Pero podemos simplemente arrastrar y soltar eso ahí dentro. lo irreal le gustan los sonidos de onda. Entonces esto necesita ser una ola y me gustaría un MP3 o algo si alguna vez quieres agregar tus propios sonidos al juego. Esto en realidad es un sonido de la franquicia de campo de batalla si consigues un disparo en la cabeza matar. Pero creo que es, es una especie de sonido fresco en general. Está bien. Apenas un poco, poco añadido llamarada. Está bien. Sé que no soy grande en el estilo cuando se trata de las clases. En realidad pasé mucho tiempo en la bengala, en mi propio tiempo libre, pero estamos hablando de hacer esta información, acuerdo, así que estoy,
estoy en el Event Graph para las clases. Entonces hay, hay una pequeña,
pequeña bengala de mi parte. Está bien. Entonces sigamos adelante y reemplacemos esta cadena de impresión tonta por un evento real que lo hará, que se ejecutará. De acuerdo, entonces vamos a crear una función y llamar a este enemigo muerte. ¿ Acaso llegué al espacio? ¿ Tienes una lágrima? Mucho mejor. De acuerdo, Entonces para la muerte enemiga, Consigamos dos entradas. Sí, sí, sí, sí, sí, sí, sí. Está bien. Llamemos a uno de ellos, golpear ubicación, hacer de esto un vector. El motivo por el que esto existe es para que podamos pasar por un lugar para sumar un impulso. Muy bien, para que nuestra animación de muerte, física de muñecas de
trapo se vea impresionante. Muy bien, el otro que vamos a conseguir como nombre de hueso y vamos a hacer de esto un nombre. Queremos decirle al juego
cuál, ¿ a qué hueso le estamos pegando a este personaje para aplicar ese impulso? De acuerdo, así que hay, realidad no
estamos agregando animaciones, solo
estamos agregando impulsos de física a los personajes. Esqueleto, que obviamente se verá más fresco. Entonces fuera de aquí, hagamos una secuencia o escribamos una. Y entonces queremos agarrar nuestros componentes de malla de nuestro enemigo. Y queremos decir set simular física. Está bien, así que esto lo hará, comprobamos esto en nueva simulación. Esto significa que para esta parte estamos habilitando la colocación de muñeco de trapo. Física aquí donde nos estamos poniendo, estamos simulando algo de física en nuestro año de malla. Lo estamos dejando ir todo willy nilly. Muy bien, lo siguiente que queremos hacer, un add a pin, va a tocar un sonido hoy. Y el sonido que queremos se va a matar sonido. Uno que les hice agregar ahí mismo chicos. Y luego por último pero no menos importante, vamos a agarrar nuestra malla de nuevo. Y vamos a sumar un impulso en un lugar. Entonces esto va a estar impulsando un impulso fresco aquí. Está bien, así que va a estar pidiendo un
Esto un nombre de hueso y una ubicación. Bueno, tenemos un nombre de bot y tenemos una ubicación. Por lo que hemos hecho nuestra tarea, gente. De acuerdo, así que eso está todo listo. Y lo último que necesitamos hacer es que realmente tengamos un impulso. Ahora la forma fresca de hacer esto es hacer diferentes armas tengan diferente cantidad de impulsos a la pistola probablemente tenga un impulso bastante bajo. Pero el lanzacohetes, queremos un impulso ginormoso para explotar sobre este enemigo. Por lo que van volando por el aire y va a ser impresionante. Está bien, pero después de que hagamos esto, vamos a agarrar no a ti, a esos componentes de la cápsula. Y queremos destruir este componente. Esto sólo lo permitirá para que podamos caminar por encima de este personaje. Y ningún tipo de otros eventos con ellos van a poder desencadenar ahora que el Componente Cápsula, esto se ha ido. Muy bien, así que sólo estamos destruyendo ese componente. Si destruyéramos a todo el actor que toda esta malla y todo desaparecería, cual sería desafortunado. Entonces en tal vez otros juegos, tendrías un nodo de retraso y luego destruyes a todo el actor. Por lo que acababan de salir de pop fuera de la existencia o lo que sea. Bueno, no vamos a hacer eso aquí. De acuerdo, Así que vamos a agarrar una referencia a nuestro jugador. Y queremos conseguir ubicación de actor. Entonces estamos consiguiendo la ubicación del actor. Y luego queremos volver a conseguir la ubicación del actor. Entonces este es el objetivo, aquí está el del jugador, esta es la ubicación del jugador. Y entonces esto es una referencia al yo. Entonces ahora esta es la ubicación de nuestro enemigo. De acuerdo, quiero conseguir dirección de unidad. Por lo que estamos consiguiendo un vector desde la ubicación de nuestro jugador hasta la ubicación de nuestros enemigos. Está bien, y vamos a multiplicar esto. Entonces un vector veces un flotador. Entonces la salida de esto va a ser nuestro impulso. Lo que queremos hacer fuera de jugador es agarrar el arma actual y necesitamos crear una variable en nuestra actual arma o Base de Armas. En otras palabras, y llamaremos a este impulso de matar, que sea un flotador. Y pongamos que esto sea predeterminado como 10 mil. Está bien. Ahora sigamos adelante y volvamos a meter impulso de matar. Y la función de muerte enemiga en que vive dentro de nuestro enemigo y enchufa eso. Entonces lo estamos consiguiendo. La ubicación del jugador, una línea de vector desde esa ubicación hasta la ubicación del enemigo. Está bien, así que en otras palabras, eso sería como la misma cosa exacta. Es como nuestro rastro de bala de alguna manera porque estamos golpeando al actor, estamos golpeando a nuestro enemigo. Y vamos a multiplicar eso por este impulso y luego usar eso para hacer un vector de un impulso que está pidiendo, así. Por lo que este guión está hecho. Lo último que tenemos que hacer es salir de esta verdadera rama aquí. En realidad quiero que esto pase por encima de sada, cierto, Llamemos a muerte enemiga y enchufemos eso. Entonces si nuestros enemigos muertos, vamos a correr a este enemigo de la muerte,
esta función de evento de muerte, ¿de acuerdo? Si no están muertos, entonces haremos los números de daño. ¿Está bien? Entonces va a ser pedir otras cosas, ubicación y, y todas esas cosas que probablemente puedas adivinar. Entonces si tomamos esta ubicación, agregamos un pequeño nodo de reruta, entonces no tenemos que tirar hacia arriba desde aquí. Podemos salir de aquí. Entonces vamos a hacer que el impacto sea normal. El hit resulta, golpean ubicación y luego nombre del hueso. Este tiene nombre hit bone como opción y solo enchufa eso ahí, solo pasa eso o lo que sea. Tenemos luz láser, mostrar todas estas líneas de colores diferentes aquí. De acuerdo, y así que eso se va a conectar así RA. Entonces lo que podemos hacer para ser divertidos al respecto o lo que sea, sigamos adelante y cambiemos esta arma escopeta. Tiene que matar impulso y hacer de esto algo loco como 50 mil. Eso parece 50000. Sí, está bien. Y mantengamos presionada la tecla Alt y arrastremos a algunos otros enemigos aquí. Muy bien, y le pegué a Play. Y así el rifle auto está fijado para estar en 10 mil que una falla. Entonces ahí vamos. Allá lleno en el suelo. Si lo golpeara en el brazo, digamos por el disparo de muerte, volará de regreso. El impulso se pondrá en ese nombre óseo en ese lugar. Por lo que va a disparar el impulso en este brazo así. Por lo que en realidad se mueve allá atrás y descifrar el arma de tiro. Podemos demostrar que tenemos un impulso de kiloohm mayor. Es como cinco veces más que podría ir volando. Esto podría no ser nada que sea lo que lo tengo como por defecto en el otro proyecto. Pero vamos a ver. El un, un vuelan así. Este pobre hombre. Pero lo ha hecho, así que así es como le agregas impulsos y esas cosas. Entonces el juego, por lo que ahora puedes agregar más enemigos y esas cosas. Obtendrás sonidos geniales y todo. Entonces la epístola, esto probablemente es demasiado alto. Y señorita. Ahí va, de nuevo adentro desde atrás, va volando de esa manera. Ya puedes ver cómo todo esto se está juntando ahora. Tenemos en el pie. Muy bien, así que adiós, adiós. De acuerdo, así que sí, ya ves cómo funciona ahí y solo me estoy divirtiendo en este punto. ¿ De acuerdo? Entonces así es, así es como le agregas kilojoules. Tenemos nuestro sonido fresco en marcha. Todo se ve bien en lo que va esa cosa. Entonces ahí tienes. Ah, ustedes disfrutaron este video. Siéntete libre de entrar en tu diferente solo tenemos, ya sabes, quiero decir, puedes cambiarlos si quieres Reno, pero en realidad no hacen nada ahora mismo. Eso es lo que estaremos haciendo viniendo como agregar el proyectil. Pero si quieres cambiar la pistola dolorosa y arma de
tiro para ser diferentes impulsos de muerte. Esa sería mi conjetura. Está bien. El defecto es de 10 mil. Siento que esa es una cantidad bastante decente para una de estas armas. Entonces yo solo siento que esa es una cantidad bastante buena realista para como, ya
sabes, lo siento, voy a escribir arma. De acuerdo, para que puedas hacerlo más por la escopeta. Tienes la escopeta sea mucho, ya sabes, la pistola sea un poco menos lo que quieras hacer. Entonces espero que ustedes hayan disfrutado de este video. Te veré el próximo.
34. Fotografía proyectiles (parte 1): Hola a todos y bienvenidos de nuevo a otro video. En este vamos a estar sumando a una base de armas. Y finalmente nos vamos a permitir disparar algunos proyectiles. Por lo que prácticamente hemos terminado con nuestras armas de Scan hit. Y ahora tenemos que pasar a es del proyectil. Está bien, hagámoslo. Entonces, entremos al juego de FPS. Creemos una nueva carpeta y llamemos a este proyectiles. Y pongamos un color. Y hagamos una nueva clase de blueprint de tipo Actor. Y llamémoslo Base de proyectiles. Y vamos a abrir esto y arrastrarlo a lo largo de la parte superior. Un par de cosas que queremos hacer, sumemos unos componentes de movimiento de proyectiles, vale, este proyecto, cómo el movimiento tiene algunos ajustes diferentes en los que podemos manipular. Podemos cambiar o eventualmente podremos cambiar por nuestra velocidad inicial. Hagámoslo algo así como 10 mil y la velocidad máxima, también 10000. La escala de gravedad de proyectil uno es bastante intensa, por lo que la haremos como 0.2. Vamos a estar cambiando esto dependiendo de la arma que tengamos. Entonces como un lanzagranadas va a tener la escala de gravedad de proyectil más alta porque va a ser más de un arco hacia nuestro rifle de francotirador probablemente tendrá menos. También probablemente va a ser el más rápido. Está bien. Esto no debe rebotar. No necesitamos hacer nada así. Fuera del senior 2, vamos a hacer una colisión de get a sphere, y vamos a llamar a esta colisión. Y sigamos adelante y justo y hagamos que sea la nueva raíz. ¿ Por qué no? Una cosa que queremos hacer con esta colisión, creo, déjame solo revisar simulación realmente rápida, de
acuerdo, así que si tenemos esta colisión seleccionada, bien me, sólo asegúrate, sí, vale. Entonces si tengo seleccionada esta colisión, queremos buscar evento y queremos asegurarnos de que hemos seleccionado simulación genera eventos hit. Este es un paso muy importante porque si no haces esto, cada vez que golpeas algo con un arma proyectil, te dará errores. ¿ Todo bien? Porque con cómo creamos nuestra base de impacto, eso va a ser buscando un material físico que hubiera golpeado. Y así mientras un juego sabrá que el proyectil golpea algo, lo, simplemente se confundirá. Y no es simular un generar. Dice que no está simulando un evento hit. No pensará que golpeó nada y así no sabrá qué sonido
tocar y qué efecto engendrar y cosas diferentes como esa. Así que solo asegúrate de tener eso comprobado. Ver prevenir errores. Está bien. Entonces vamos a conseguir una malla estática que será un niño a nuestra colisión y solo
llamaremos a esta malla de Proyectil. Y no necesitamos meter nada por eso ahora mismo ni hacer nada. Con eso. No creo que todo eso deba estar bien por ahora. Probablemente le haremos un par de cambios a esto eventualmente, pero es lo que es. ¿De acuerdo? Vamos a crear un par de variables. Llamemos a este está infligiendo daño de radio. Por lo que esta será puesta para ser verdad para nuestra granada y cohete. Van a estar haciendo un radio de daño donde el rifle de francotirador es solo que golpeas algo y eso es lo que golpeó dos. También queremos agarrar aquí nuestras estadísticas de armas, esa estructura que creamos unas estadísticas de armas. Y sigamos adelante y asegurémonos de que
así sea, para que podamos vincular esto al de nuestra base de armas. Hagámosla instancia editable. Se supone en un engendro. Y luego por último pero no menos importante, queremos asegurar tener nuestro efecto de impacto. Entonces vamos a obtener impacto, afectar referencia de clase base, Compilar y Guardar. Está bien, Y todo eso se ve bien. Entonces vamos a crear una referencia a nuestro jugador. Y probablemente ya lo sepas, pero como podemos sacarlo de aquí y hacer cualquiera de la pierna lo que queramos. Yo solo siempre lo promociono a una variable para que podamos simplemente dibujarla así. Pero salir de aquí y meterse aquí es hacer exactamente lo mismo. Nosotros, no tienes que establecer esto en una variable cada vez. Esa es sólo una especie de la forma en que rodo. Entonces supongo que, uh, probablemente ya lo sabías, pero sólo quiero asegurarme. Está bien. Yo soy este movimiento de proyectiles. Es clic derecho. Agrega un evento y queremos hacer en proyectil, detente. Está bien, y ven aquí mismo tiene resultados de impacto. Ya justo aquí para nosotros, eso se crea. Bueno, queremos hacerlo. Por lo que este es un evento que se ejecutará cuando se llame, cuando los proyectiles llegan a una velocidad de parada por debajo del umbral de simulación. Está bien, Así que esencialmente está diciendo cuando esto golpea algo y no está listo para ser, debería rebotar. De acuerdo, hagamos una función y llamemos a este proyectil stop. Y vamos a tener esto, tener una entrada de un resultado hit de tipo hit result. Si compilas esto y vuelves al Event Graph, podemos llamar a esto de inmediato así y luego simplemente enchufa los resultados de éxito como tal. Entonces así debe ser nuestro gráfico de eventos. Es todo lo que tenemos que hacer. Entonces ahora, vamos a parar proyectil y vamos a hacer una secuencia. Pero aquí suceden un par de cosas simultáneamente. Queremos revisar para ver si estamos infligiendo daño de radio hará dos cosas diferentes. Si lo estamos, queremos correr una función diferente que aún no hemos creado. Pero por el momento, no
hagamos eso. Creemos eso más adelante. Entonces una cosa que queremos hacer, Tomemos el resultado hit en romperlo. Está bien, y luego queremos conseguir al actor hit. Entonces fuera de aquí deberíamos decir: ¿Lo tenemos? Nosotros lo hacemos. Por lo que fuera de Hit Actor podemos conseguir que el enemigo se haga daño así. Porque ese es uno de los torus de Zak que podemos calentar. Este es nuestro BBA, estos gay, ¿verdad? Por lo que necesitábamos agarrar algunas estadísticas de armas. Si recuerdas aquí, si el enemigo recibe daño, es pedir estadísticas de armas. Por lo que creamos una variable para las estadísticas de armas. Entonces podemos simplemente enchufar eso. Y si te acuerdas, esta arma stat, ok, esto es volvemos a la Base de Armas, ¿verdad? Y estamos en empezar a disparar. Y tenemos esto, estamos llamando a este evento y estamos vinculando estadísticas de armas. Entonces estos son los que viven dentro de los hijos de nuestra base de armas. Entonces eso se está pasando en sus estadísticas de armas cuando aparece aquí. Y así ahora estoy vinculando la variable dentro de aquí también, la que está dentro de la base de armas. Al hacer eso, eso es sólo pasar en todos esos datos a través. Si no pudiste adivinar los resultados de HIT, solo
tendremos que sea ese mismo resultado exacto así. Entonces ahora necesitamos hacer un par de cosas artísticas. Entonces, ¿sabes qué? Esto no debe enchufarse aquí. Esto debería tapar el falso. Si no estamos lidiando estándares listos, entonces sólo vamos a recibir daños. Si lo estamos, entonces vamos a crear una interfaz diferente que haya recibido daño de radio, que tendrá algunas cosas diferentes disparan. Muy bien, así que vamos a buscar nuestra malla de proyectil y digamos establecer juego oculto. Enchufa eso. Y queremos que esto sea un nuevo oculto. Entonces hemos golpeado algo, queremos que desaparezca la malla, ya no queremos verlo. Entonces vamos a conseguir que el mundo se transforme. Entonces la ubicación de esto en una transformación, x, y, z.
Y queremos engendrar a un actor de una clase. El actor que queremos es nuestro efecto de impacto. Y lo haremos. Entonces hicimos esto a una variable. Ahí vamos. Entonces así, ahora tenemos un resultado hit por el que necesitamos pasar. Entonces lo haremos y luego lo redirigiremos así. Hagámoslo configurado para siempre engendrar, ignorar las colisiones. No queremos que eso potencialmente tenga algún tipo de problema. Y luego vamos a agotar este nodo que dice set vida útil. Esto es similar a destruir a un actor como Aquí es la cosa. No se puede llamar a nodos de retardo dentro de una función. Entonces esto no es cosa. Por lo tanto, establece la vida útil cuando expira. El objeto B es cierto. Por lo que este es el equivalente de hacer retardo por 0.1 segundos y luego Destruir Actor. Por lo que solo estamos estableciendo la vida útil solo porque no se pueden poner retrasos y funciones. De acuerdo, yo no hago las reglas. Para que podamos venir a caja esto. Por lo que podemos decir elimina malla, engendra, impacto, efecto, destruye acto. Eso es lo que todo esto está haciendo. Por lo que hay más del nivel de arte del scripting. Y esta es la función. Esto es lo que está haciendo las matemáticas y las cosas es lo que está engañando al jugador para que piense eso,
bueno, así que las cosas realmente suceden en pantalla. Ah, necesitamos pasar en una transformación. Oh, simplemente nunca conectamos ese nodo. Tonta a mí. ¿ De acuerdo? Entonces tenemos que hacer algo ahora para si estamos haciendo daño de radio. Está bien, así que hagámoslo. Creemos otro y llamemos a este proyectil explotar. Está bien. Esto también va a tener un resultado hit. Y lo llamaremos resultados hit. Está bien. Y creo que vamos a hacer esto en probablemente otro video, pero vamos a seguir adelante y llamarlo z Queremos que solo quiero que el francotirador funcione primero, pero así es como funciona. Por lo que llegaste a explotar proyectil y esto será un éxito resultados. Yo sólo supongo que no cambió el nombre. Nunca lo compilé. ¿ Podemos vivir todos lu estás bien. Entonces domina eso. Explotando el proyectil en un video diferente cuando estamos lidiando con el otro. Gracias. De acuerdo, entonces eso es todo lo que queremos hacer dentro de nuestra base de proyectiles ahora mismo, volvemos a nuestra base de armas y volvemos a empezar a disparar. Lo que queremos hacer es que ahora queremos hacer las cosas para si ponemos nuestra arma para que sea un proyectil, lo que vamos a hacer es que vamos a conseguir rastreo
calculado de línea y vamos a golpear Control W. Y vamos a sólo copia eso. Y vamos a decir calcular rechazar. Ahora lo que hice aquí es que tenía una malla de arma en un zócalo de arma en Calcular traza de línea. Y la razón por la que eso fue y yo estaba confundido, ¿por qué nunca lo usé? El motivo fue porque
solía tener el trazo de línea y el proyecto cómo dentro de la misma función. Y yo cambio eso. Por lo que ahora trabajan en diferentes formas. Por lo que estas dos cosas son realmente inútiles para calcular el trazado de línea. Podrás deshacerte del zócalo del arma y de la malla del arma. Solo necesitas la cámara. Está bien, y así te va a dar un error porque te odia. Y luego podemos hacer clic derecho aquí y podemos decir refrescar nodos y luego simplemente deshacernos de eso. Y eso aún debería funcionar perfectamente bien. Todavía funciona bien. Está bien. No lo necesitábamos. Está bien, pero lo necesitaremos dentro de cálculos. proyectil necesitará los tres. De acuerdo, necesitaremos la malla de arma, la cámara y el zócalo de arma. Entonces estas van a ser justas,
solo que siempre tan levemente. En realidad hay un montón de serifs. Entonces en lugar de calcular proyectil, en realidad
puedes simplemente deshacerte de esta cosa. Simplemente deshazte de la mayor parte. Mantener el nodo de retorno. Deshazte de esto, deshazte de DrawLine, trace y todo eso. Y sólo vamos a promover estas dos variables locales. Entonces diremos malla de arma local. Entonces en realidad estaremos usando estos aquí dentro, a diferencia del otro que hicimos. Y luego enchufes de arma. Recuerda que ya existe. Entonces, ¿a qué te refieres Está en uso? Oh, Dios mío. Sí. Yo quiero borrarlo. ¿ Esperar qué? No, espera. Enchufe de armas. Oh, Dios mío. Estoy tan confundido o sumidero objeto componente. Oh Dios mío, sólo voy a promocionar esto a una variable local. Quiero decir, Oh, mira, no existe. ¿ De acuerdo? A veces esa copia pegada, realmente sí te pone bien. Está bien, así que está bien, sólo
nos gusta en los datos lo que hicimos en el otro, el otro plano de ahí, para que eso se vea funky. Está bien. Por lo que tenemos nuestra cámara local o malla de arma local en nuestro zócalo local. De acuerdo, entonces lo que queremos hacer, voy a golpear a Control y voy a mover esto hacia arriba y deshacerme de este nodo de redireccionamiento. Y lo que queremos en lugar de un resultado hit es que queremos
conseguir una transformación que sea como similar a una ubicación. Entonces en lugar de los resultados de golpe, Vamos a conseguir la transformación de proyectiles. Y vamos a llamar a esto una transformación, porque va a estar preguntándonos cuando engendemos nuestros proyectiles puede estar preguntándonos dónde necesitamos hacer eso. Y promovamos esto a una variable. Y lo llamaremos objeto. Voy a transformarme. ¿ Todo bien? No necesitamos que esto se establezca como nada ahora mismo. Por lo que tienes todas estas coordenadas fantasiosas y fantasiosas. El motivo por el que no necesitamos esto es porque queremos ponerlo justo aquí. Y ahora vamos a hacer algún guión para establecer esto. Entonces esto es para nuestro proyectil. Entonces sigamos adelante y busquemos nuestra malla de armas local y nuestra toma de armas local. Y vamos a decir get socket location. Va a ser tal vez sacando uno de inmediato. Por defecto. Simplemente borra eso. Así que solo consigue la ubicación del socket. Conectamos nuestra malla de armas local y nuestro zócalo de armas local o bien configuramos las variables porque nuestra malla de armas siempre está cambiando. ¿ De acuerdo? Queremos hacer esto en una transformación, agarra esa. Está bien, y así nos va a estar pidiendo una rotación y escala y todo. No nos importa la escala de set. Pero el valor de retorno de esto va a ser nuestra transformación CINAHL. Vamos por nuestra cámara local y vamos a conseguir dueño. Y luego vamos a lanzar a jugador de BP. Podemos hacer clic derecho en esto y podemos decir convertir a puro elenco. Y odio ese sesgo de falacia. Muy bien, Así que ahora digamos que obtiene control de rotación y tuberías para rotación. Entonces lo que esto está haciendo
aquí mismo es donde necesitamos transformar que verás en un segundo aquí para disparar contra nuestro proyectil. Entonces estamos consiguiendo la ubicación de nuestra malla de armas y estamos consiguiendo ese nombre de socket. Recuerda que se llamaba hocico flash. Estamos consiguiendo eso. Entonces eso es lo que vamos a decir. Nuestro punto de desove es que es nuestra ubicación, ¿de acuerdo? Pero necesitamos conseguir la rotación de nuestro personaje. Entonces estamos consiguiendo el componente de cámara en nuestro personaje. Estamos haciendo estamos echando a ella. Podríamos ver, sí. Entonces no puedes. Está bien. Sí. Necesitas estas notas. Necesitas conseguir lo del casting. Y lo hice un elenco puro para que no necesitemos tener los cables de ejecución corriendo a través de él. Y luego nos estamos metiendo en la rotación de control de esa cámara. Y luego configurando ese hacer, haciendo estos a esta ubicación, esta ubicación vectorial en esta carretera, rotación en una transformación. Entonces un vector es XYZ, un transformadores como XYZ más rotación más escala. Entonces es aún más fantasioso. De acuerdo, para que podamos cerrar de aquí. Podemos volver a empezar a disparar. De acuerdo, y entonces podemos sacar un proyectil. Y diremos que calcula proyectil, esta función. Nos va a estar pidiendo muchos de estos datos ahora. Entonces ahora si entramos en esas pocas armas y decimos, estos son escaneos de proyectiles o no impactados. Ahora correrá por éste de aquí. ¿ De acuerdo? Entonces ahora queremos sacar aquí y decir actor engendrado de clase. Se puede ver que es pedir una transformación, así que simplemente enchufamos eso justo. Y luego queremos conseguir son 0. Vamos a configurarlo para que sea una variable y diremos proyectil, y vamos a conformar esta base de proyectil tipo. El motivo por el que lo estoy convirtiendo en una variable y no sólo ranurando es porque en los niños, en el rifle de francotirador, cohete y todo, queremos asignar diferentes planos de proyectiles, similares a cómo hicimos los efectos de impacto. Queremos poder establecer dinámicamente aquellos dependiendo de cualquier arma que tengamos. Entonces, así que si solo lo ranuré así, entonces siempre será la base. No lo hará, no cambiará eso vía variable. Y es pedir estadísticas de armas. Entonces vamos a vincular eso con la variable que habíamos creado dentro de nuestra base de armas. Entonces si recuerdas, hicimos esta variable y la exponemos en engendros. Entonces ahora cuando engendramos esto, Te está pidiendo eso. Entonces ahora estamos vinculando esos datos hacia arriba, por lo que pasará. Está bien. Ahora, cuando alguna vez esto es en general lo que necesitamos hacer es simplemente enchufar eso en el retroceso para terminar este cable aquí. Y luego sigamos adelante y enchufemos estas cosas. Por lo que vamos a conseguir el jugador va a conseguir el get la cámara. Plugin la malla arma de la cámara. Saquemos la malla de armas de aquí. Y el zócalo de armas. Podemos convertir eso en una variable, pero como dije, todos estos se llaman destello de hocico. Por lo que el destello de hocico, duro de entrada siempre funcionará. Si quieres convertirlo en una variable, ve pelirroja. Estar, solo necesitarías hacerlo a una variable. Técnicamente hablando, si quisieras
agregar armas que sean diferentes a la manada que estamos usando aquí. Por último, sólo asegúrate de que dice siempre
engendrar, ignorar las colisiones solo para evitar algunos problemas. Y luego mis cajas de coma y decir engendros, proyectil. De acuerdo, lo último que quiero hacer en este video para que sólo tengamos esta configuración aquí, es, entremos a nuestras armas. Y para rifle de francotirador, Vamos a ver, ahora
tenemos una ranura para repentinamente nuestro proyectil, que es bastante guay. Y solo queremos asegurarnos de que esto no esté configurado para golpear la piel, está configurado para proyectil. Y queremos hacer eso por el cohete Proyectil y el proyectil lanzagranadas. Y ahora esas tres armas correrán por el otro camino. Esto en realidad no va a hacer nada. Podría darnos errores, pero se puede ver cómo ya no está disparando un rastro de línea y sigue haciendo esa pequeña patada de arma, pequeña cosa de traqueteo. No he cambiado ninguno de esos números para que sea algo demencial, pero como si se estuviera corriendo y no nos está dando un error. Simplemente no hay ningún evento que se añada en este momento para correr cuando realmente golpeamos algo con esto. Entonces lo vamos a hacer en el siguiente video. Te veré para la segunda parte. Entonces gracias por ver. Si tienes alguna pregunta avísame y te veré en la siguiente.
35. Fotografía proyectiles (parte 2): Hola a todos, Bienvenidos de nuevo a otro video. En este vamos a seguir con nuestro guión de proyectiles, terminando eso en este video. Ahora, a diferencia de cualquier otro video hasta el momento, éste no se está grabando en vivo. Este soy yo del futuro porque algo malo le pasó a la grabación la última vez. Entonces tengo que volver y rehacerlo. Entonces va a haber un poco incómodo. Entonces en realidad estoy mirando hacia atrás a lo que estoy haciendo actualmente. Entonces si estás mirando la pantalla ahora mismo, lo que te estoy explicando es una cosa. Cambié la variable para que sea una variable local porque no es necesaria fuera de esta función. Pero quieres asegurarte de que el nodo devuelto esté fuera del pin de secuencia final. Si ese no es el caso en tu juego, en tu proyecto, entonces no estará desovando en la ubicación correcta. Entonces, a pesar de que se supone que las secuencias suceden simultáneamente, sí
quieres asegurarte de establecer esa variable antes de devolverla. Así que seguí adelante y estoy ranurada en una base de proyectil en mi lanzagranadas solo para mostrar que eso está funcionando y he puesto solo una caja aleatoria en nuestra malla de proyectil por diversión,
solo para demostrar que todo eso está funcionando cuando tienes el proyectil está apareciendo en la ubicación correcta. Y luego lo quité. Entonces si quieres, puedes seguir adelante y meter algo en la malla y luego meterte en una de tus armas y ponerlo. Entonces lo siguiente que estoy haciendo aquí es hablar de respuestas de una colisión. Y vamos a estar creando una nueva respuesta de colisión llamada el tipo de proyectil u objeto. Para que nuestro juego reconozca que estamos usando un proyectil porque queremos nuestro juego para mí. Podemos establecerlo agrega al igual que la dinámica del mundo o algo más. Pero lo que también podemos hacer es crear un nuevo objeto canales. Entonces vamos a llamar a un nombre un proyectil. Entonces la configuración del proyecto debajo del motor, es colisión. Vamos a crear uno llamado proyectil. Y la respuesta por defecto va a ser bloqueada. Entonces cuando creemos esto ahora, aparecerá como una opción. Y así ahora podemos establecer eso como un tipo de objeto. Entonces creo que sí me encuentro con un pequeño problema aquí, si recuerdo correctamente, creo que voy adelante y lo busco. Por lo que sí aparece a lo largo del fondo. Para que podamos hacer que nuestro enemigo se asegure de que ese ajuste para bloquear el proyectil. Pero en realidad no hemos entrado en nuestros Preajustes de colisión para
poder establecer cualquier cosa como proyectil. Entonces me voy a encontrar con el tema aquí. Estamos mirando alrededor como preocupaciones principales. Creo que está en alguna parte. Por lo que son dos pasos. Se puede agregar un tipo de objeto, pero es algo completamente diferente a, para agregarlo. Para realmente hacer que aparezca aquí en un preset. Porque queremos que nuestro proyectil se establezca como proyectil para que nuestro enemigo que está configurado para bloquear siempre el proyectil. Por lo que este no es un paso 100% necesario. No tienes que hacer esto cada vez. Pero al hacerlo de esta manera, llega a especificar qué objetos quieres ignorar, solapar, y bloquear para correr de diferentes eventos en tu juego. Tan irreal viene con una cantidad decente de preset una vez. Pero siempre puedes crear las tuyas propias para hacer las cosas más específicas y adaptadas a ti. De acuerdo, Así que finalmente descubrí que necesitas ponerlo también como un preset. Entonces aquí estamos en lo mismo. Por lo tanto, asegúrese de crear un proyectil de nombre de canal de objeto en la colisión de configuración del proyecto. Uno de mi peso y para él probablemente EPA arriba y por todo el lugar. Pero queremos asegurarnos de que también creamos uno bajo el preset. Tan proyectil. Ver, queremos hacer, queremos habilitar colisión para consulta y física para este nuevo perfil de objeto? Y puedes agregar una bonita descripción si quieres. Y luego para esto vamos a decir ignorar, ignorar. A ver qué estoy haciendo aquí. Bloque, bloque. Ignora el comando pon, Tim, sí, ignora el cuerpo de física y creo que ignoramos todo lo demás. Sí, sí. Entonces estamos, estamos ignorando todo, pero vamos a bloquear la estática mundial y la Dinámica Mundial. Entonces si recuerdas nuestro tipo enemigo, la malla que tiene el cuerpo de física sobre ella. Y es donde ranuramos en nuestros materiales físicos. Nosotros pusimos eso, creo que voy a ir a revisar un segundo aquí ponemos esa malla. Vamos a ellos, podrías hacerlo. Entonces como ven aquí, establecemos la malla para que sea dinámica mundial. Por lo que nuestro tipo de proyectil. Está configurado para ser proyectil en nuestra malla se le dice que bloquee cualquier cosa que se llame proyectil. Entonces así es esencialmente como eso está funcionando en nuestro juego. Y estamos sobre, nuestro personaje está configurado para ser un estanque, así que vamos a ignorar eso, lo que significa que nuestras balas o proyectiles no nos van a estar golpeando. Si quieres poder volarte con un cohete o algo así, asegurarías de que ese peón también bloquee. Pero eso no es algo que vamos a estar haciendo en este proyecto. Entonces en la colisión en nuestra base de proyectiles, si no lo ves, solo presiona Compilar y lo vas a configurar para que sea un proyectil. Presets de colisión bajo proyectil de colisión, acuerdo, con la colisión esfera de colisión seleccionada, ¿de acuerdo? Ese es el objeto real que va a estar conduciendo nuestro evento para la parada del proyectil. Ahora vamos a sacar algunos niños de esta base de proyectil. Vamos a hacer uno para nuestro rifle de francotirador, uno para nuestro lanzagranadas, y otro para nuestro lanzacohetes. Entonces ya saben el simulacro, haga clic derecho en la base y luego dele el nombre que quieran. Estoy haciendo guión bajo proyectil y luego el nombre del arma. Probablemente si quisiera ser consistente, lo habría hecho al revés. Habría hecho el nombre del arma y luego subrayado proyectil como lo he hecho todo lo demás, pero decidí cambiarlo esta vez. Sinceramente, probablemente olvidé que los
llamé al revés con todo lo demás. Pero vamos a arrancar el rifle de francotirador y luego debajo del proyectil, vamos a ranura en proyectil de rifle de francotirador. Entonces esto está en realidad en el arma misma. Por lo que quieres entrar en todas y cada una de las armas,
esas tres armas, arma de rifle de francotirador, lanzagranadas, arma, cohetes lanzan tu arma. Y ya que configuramos que sea una variable, quieres asegurarte de que estén configurados para ser proyectil no hit scan. Y quieres asegurarte de que debajo del proyectil, esté configurado para ser los niños proyectiles adecuados que debiste haber hecho justo ahora. Entonces para el proyectil de rifle de francotirador debajo de la malla, hay una llamada munición de rifle de francotirador, y es esta pequeña bala. Y vamos a rotar esto para que se enfrente hacia adelante y aumente el tamaño. Tan negativo 90, se ve como en la y. y luego hago esto probablemente como seis veces más o menos el tamaño. Puedes hacerlo por grande que quieras que sea. Entonces solo lo hago lo suficientemente grande para que se ajuste alrededor de nuestra colisión. Pero puedes cambiar el tamaño de la colisión solo para saber que si redimensionas la colisión dentro del niño, también encogerá la malla porque la malla es hijo de eso. Vamos a cambiar estas velocidades para ser 12 mil y la escala de gravedad para ser 0.1. Entonces no va a haber un montón de entrega y éste va a ir muy rápido. Queremos asegurarnos de que eso está infligiendo daño de radio por nuestro rifle de francotirador se convierta en falso. Para las estadísticas de armas, voy a tragar un 100 de daño, pesar de que creo que la variable controladora que existe dentro del arma. Creo que eso es todo lo que importa. Y luego para efecto de impacto, pero efecto de impacto de rifle de francotirador, como dije ,
estos, podría no importar tanto. Es posible que no necesites ponerlo aquí porque podría estar agarrando esa información del plano del arma. Pero ya sabes, es una buena práctica. No hace ningún daño a la ranura en las cantidades de daño. Y ese efecto de impacto en el proyectil está bien, no
puede hacer ningún daño. Por lo que mucho de esto es solo asegurarnos de que las variables estén ajustadas al tipo correcto. Muchas veces si podría tener algún tipo de error, podría ser que no tenga el Proyectil ranurado en o el impacto afecte ranurado en. Podría tenerlo rifle de francotirador. El francotirador listo para ser un hit Scan cuando es realmente debería ser un proyectil. Entonces si ciertas pequeñas cosas como esa no están funcionando, lo primero que yo solo haría es revisar tus variables en tus planos para asegurarme de que realmente estén configuradas para ser las cosas correctas. Porque cuando tienes a alguien armas, puede llegar a ser un poco confuso. Por lo que no hemos arreglado el alcance. Eso haremos en un video posterior. Pero si debería ser disparando que balas fuera del frente del arma ahora y debería ser bastante visible para ver eso. Ahora lo que voy a hacer es dispararle a este tipo. Voy a recibir un error cuando cierre esto en un video anterior, creo que mencioné para asegurarnos de que cambiemos cierto sentido para los materiales físicos no puedan ser devueltos correctamente. Y este es el error del que hablaba. Entonces me confundo un poco aquí. Yo soy como, ¿Qué diablos? Entonces nuestros daños y trabajar, pero es raro. Por lo que sigue disparando un efecto de impacto. Sigue mostrando un número dañado, pesar de que el número de daños es 0. Y todavía te está mostrando un marcador de pista como si golpeáramos algo pero hay algo malo en ello. Por lo que la última parte de este video va a estar viva de nuevo. Por lo que ojalá pudieras soportar a través de esta parte del video. Una vez más, pido disculpas por esto pasando en se pierde el audio tiene que volver a grabar esta parte, pero el último minuto o dos de este video será la versión en vivo otra vez. Y me verás mostrándote la solución a este aire. De acuerdo, así que sigamos adelante y avancemos rápido a eso y sigamos con nuestras vidas. Está bien. Entonces más torpeza yendo para mí, vale, para que sepas lo que te dije. Come un cheque en cierta variable C, no
obtienes errores para que la computadora no reconozca qué material físico tienes. Bueno, hice lo correcto y diciéndote que eso iba a pasar, pero no te dije cuál y te dije cuál encender. Entonces si desmarco esto aquí mismo, está bien. Agarro el rifle de francotirador, lo recojo, tiro al suelo. Está bien. Observe que sigue siendo el d recuento, todo de todo, pero dirá acceso ninguno tratando de leer propiedad, material
físico y va a mostrar en nuestro impacto afecta base cómo el emisor, el sonido en detalle no está funcionando y se obtiene un acceso ninguno error. Significa que está tratando de encontrar algo que no está ahí. Entonces en este caso está buscando un material físico que fue impactado. No lo puede encontrar. Por lo que la computadora sigue haciendo algo y la
mayoría de las veces todavía va a hacer realmente lo correcto, pero lo estás confundiendo. Entonces en la base del proyectil y también notaste que los números dañados no funcionan si no haces esto. Entonces en la colisión de nuestra base de proyectiles, basta con buscar retorno. Si los componentes verdaderos barridos devuelven material de los resultados. No sé por qué en nombre de Dios no se enciende por defecto. Pero necesitas hacer esto. Así que pon el material de retorno en movimiento, enciende eso en tu configuración de colisión. Entonces ahora si disparamos al suelo sigue siendo todo funciona. Pero si nos acercamos a nuestro enemigo y
los golpeamos con el sonido correcto y los números de daño y todo eso. Y cuando golpeamos Escape, no obtenemos errores. ¿ De acuerdo? Ese es un paso crucial. No puedo creer que corrí al mismo error otra vez, pero quiero decir, sí quieres supongo que quieres también barda generada de manera similar? No veo por qué no lo harías, pero sí. Está bien. Tan cool. Nos arreglamos eso antes de que podamos seguir adelante con nuestras vidas ahora. De acuerdo, así que sí, vamos a averiguar dónde estábamos y toda honestidad, eso podría ser donde sólo pueda terminar el video porque sigo escondidos tiros a la cabeza en tanque. En el siguiente video, arreglaremos el rifle de francotirador, que en realidad haga cosas y construya eso. Pero sí, quiero decir, ahora mismo nosotros nuestros proyectiles de disparo fuera de nuestro arma, entonces trabajaré bien. Entonces crearemos el rifle de francotirador y luego pasaremos a hacer explosiones, y luego prácticamente nos haremos. Entonces estamos en el homestretch aquí. Gracias chicos por mirar. Te veré en el próximo.
36. Fotografía el Riffle.: Oigan todos, bienvenidos de nuevo a otro video. En este, nos van a arreglar en el rifle de francotirador porque si bien actualmente lo podemos equipar, dispararlo y todo, no hace sonido y el alcance es bastante Genki, así que vamos a arreglar esas cosas en este video. ¿ De acuerdo? Pero empecemos instalándonos por aquí. Entonces tenemos esta textura de nuestros pelos cruzados, pero necesitamos agregarla a un widget. Entonces hagamos clic derecho en la interfaz de usuario, y llamaremos a esto, se llama pelos cruzados de francotirador. Y abramos esto. Podemos mantener esto en una Pantalla de Relleno y solo queremos agregar una imagen. Y solo llamaremos a este cruzado pelos siempre recuerden F2 es cambiar el nombre de las cosas e irreales y al igual que en tu computadora en general, vamos a anclar esta imagen para llenar la pantalla y establecer las compensaciones en 00. Entonces ahora solo llenemos toda nuestra pantalla aquí. Y solo entreguemos nuestra imagen para pelos cruzados de francotirador. Y ahí vamos. Entonces esto es otra cosa que hice en Photoshop. Es cierto que no es perfecto. Se hace el trabajo sin embargo, para nuestros propósitos. Esto no es lo que somos profesionales aquí. Está bien. Pero no es tan profesional. Podemos cerrar de eso. No necesitamos hacer nada con ello, solo
necesitamos que eso exista. Entonces entremos a nuestra carpeta de armas y abrimos nuestra arma de rifle de francotirador. Está bien. Si no tienes estas cosas ranuradas, tenemos impacto, tenemos nuestro impulso de daño o matar podemos hacer como 15000, hacerlo bastante poderoso. proyectil es proyectil de archivo separado. Todo eso debe ser ranurado. Sí. De acuerdo, así que ahora sigamos adelante y creemos algunos eventos. Entonces vamos a tener que agarrar empezar a disparar. Tú. Eventos empiezan a rodar así. Añadamos una llamada a la función padre. Entonces ambos se enchufaron ahí. Y luego fuera de la malla de arma. Esto lo hemos hecho antes de que fuéramos a tocar una animación. Animación va a ser fuego de francotirador, rifle de
francotirador, lo siento, animación. Entonces ahora nuestros efectos de sonido y partículas y todas esas cosas funcionarán solo disparar. Y tampoco queremos que este sea uno de esos que pueden ser despedidos de spam. Por lo que haremos el cálculo de tasa de fuego. Y luego yo sólo chequear realmente rápido. El índice de fuego para esto. O habría puesto esta tasa de fuego, fijado esto para ser 1 segundo. Entonces un poco más rápido disparando luego la escopeta. ¿ De acuerdo? Ahora si recuerdas en nuestra base de armas tenemos estas arma apuntar entrar en apuntar arma, salir. Y estos están ligados al evento de entrada que tenemos en nuestro reproductor, que está ligado al botón derecho del ratón. Entonces, en realidad podemos llamar a estos eventos ahora, ¿verdad? Y estos eventos que existen en nuestro padre, ya que están ligados al Despachador de Eventos que existe en nuestro jugador, provocarán que esto se dispare cuando alguna vez entremos a nuestro objetivo dentro del jugador. Entonces por eso los creamos de esta manera. Entonces, hagamos entrar un arma de evento apunte, y recibamos esa llamada al padre. Está bien. Entonces si explico eso lo suficientemente bueno. Entonces como estos están ligados a un mentor, estos eventos que estamos llamando aquí mismo. Y este evento en nuestro personaje, ¿funcionan nuestros despachadores de eventos? El objetivo de los mappings de acción y estamos llamando a un mentor. Por lo que siempre que llamamos a esto, todos los demás eventos que están ligados a suceder también. Entonces esta es una de ellas. De acuerdo, entonces tomemos una referencia a nuestro jugador y consigamos el arma actual. Y sólo queremos asegurarnos de que el arma actual que tenemos es el rifle de francotirador. Está bien. Porque no queremos que esto suceda cada vez que llamamos mentor. Entonces, vamos a conseguir una declaración if. Entonces no hicimos esto, de lo contrario lo haría. Y que podemos conseguir una referencia a sí mismo. En lugar de tener esto igual como la carga fuera equivale a debilidad del rifle de francotirador. Consigue una referencia a nosotros mismos en este plano porque mientras nosotros mismos somos ese rifle de francotirador, ¿de acuerdo? También lo hace lo mismo. Porque no queremos que esto, que no queremos que todo esto
suceda si no tenemos rifle de francotirador equipado. Y vamos a crear un widget. El widget, como probablemente puedas adivinar, va a ser nuestros pelos cruzados de francotirador. De acuerdo, digamos que está en viewport. Entonces diremos, y luego diremos rama. Y luego diremos fuera de aquí en el mirador. Esto no es cosa de viewport. Lo que esto está haciendo es que está previniendo. Entonces puedo decir que no la sumaré dos veces. Por lo que sólo agregará nuestro crosshair a la ventanilla si actualmente no está ahí. Está bien. Esto solo evitará que ocurra ese tipo de problema igual que obtendrás algún tipo
de advertencia o error diciendo widget ya agregado a la pantalla o algo así, y no aparecerá. Entonces eso evitará que eso suceda. A continuación, cuando tengamos nuestros pelos cruzados arriba, queremos colocarnos ocultos en el juego. Queremos conseguir nuestra malla de arma y en realidad hacerla invisible. ¿ De acuerdo? Entonces es por eso que realmente no nos preocupamos el Apuntado F0 v y todas esas cosas porque ¿a quién le importa? Simplemente lo vamos a hacer invisible. También vamos a llevar a nuestro personaje jugador y no pretendía hacer eso y hacer de nuestro personaje jugador. De acuerdo, no importa dicho actor juego oculto. Por lo que el arma mensajes oculto juego, y luego el personaje es Hit Actor en el juego. Entonces vamos a hacer que nuestra arma en nuestro personaje sea todo invisible. ¿ De acuerdo? Y queremos conseguir a nuestro jugador. Y si recuerdas, creamos el HUD y nuestros jugadores, vamos a conseguir el HUD principal. Y vamos a establecer la visibilidad para que sea colapso. Entonces vamos a deshacernos del HUD también. No queremos ver al HUD, no
queremos ver a nuestro jugador y ya no queremos ver la malla del arma. Entonces digamos que esconde arma, jugador y Hod. Al mismo tiempo que apuntaba. Nueva York. Así. Al tiempo que se esconde. Si bien Amy y el rifle de francotirador, estas son cosas que simplemente lo estaban ocultando todo. De acuerdo, así que ahora eso es todo para un mentor. A continuación queremos conseguir eventos, apuntar arma, salida, y vamos a llamar así a la función de los padres. ¿ De acuerdo? Y luego vamos a chequear es válido. Lo primero que vamos a comprobar es válido es esta cosa de pelo cruzado. Por lo que esto evitará que esto se ejecute. Si este pelo cruzado tiene una neomicina creada. Porque vamos a decirle que lo quite de
vamos a decirle que se vaya a quitar de padre. Entonces esto es solo revisando como digamos que levantamos el rifle de asalto y apuntamos salida, ¿verdad? Nosotros, cuando apuntamos salida, se va, el juego va a ser como quitar este widget de la pantalla y luego el juego se va a confundir. Serán como, Bueno, ni siquiera lo agregamos en primer lugar. Por lo que este es un aviso válido que evita que ocurran errores por ese tipo de error. Eliminado del padre. Por lo que sólo lo quitará si es válido. En otras palabras, si alguna vez se creó en primer lugar. De acuerdo, entonces todo lo que queremos hacer es tomar estas mismas tres cosas que queremos desmarcar nuestras cajas, así que tráela de vuelta, tráela y hazla visible. Y entonces sólo diremos muestra capa de armas y todas esas cosas, todo apuntando francotirador. Está bien, y así esto es todo lo que necesitamos para un rifle de francotirador. Entonces ahora si vamos y agarramos al francotirador, recogemos esto y apuntamos. Ahí vamos. Algo que probablemente querremos hacer es cambiar el zoom porque eso es un poco difícil de ver ahora mismo. Apuntar campo de visión. Y si puedes totalmente con esto como quieras, cuánto quieres esto para acercar porque se supone que el francotirador debe Zoom. Sí, probablemente ni siquiera esté cerca. Hagámoslo algo así como 25. A ver cómo se ve eso. Ahí lo tienes. Diré que aún faltó. Por lo que es cierto que mi escopeta de rifle de francotirador no es perfecto. Está bien. Yo sólo voy a ser el primero en admitir eso. No es que es bastante estrecha línea hasta el centro de la pantalla. Pero yo no lo hice Photoshop. Entonces si solo llegas un poquito, siempre te pegará. Realmente deberían cerrar los CIOs. Entonces sí, es un poco incómoda. Pero algo que también puedes hacer para solucionar ese problema. Muy bien, Así que aquí el pequeño Jerry Reagan. Entonces si bajas y encuentras la malla del rifle de francotirador, ¿verdad? Si recuerdas la malla esquelética, si recuerdas esto, vale. Estamos expulsando la bala del flash de hocico para que puedas hacer es que puedes tomar el destello de hocico aquí y simplemente moverlo un poco hacia arriba. A lo mejor ponerlo en línea con esto, tal vez así y golpea Save. Y ahora tus balas en realidad se van a inyectar un poco más alto porque ese zócalo era más alto. Y ahora y ahora estamos escondidos bandera tiro a la cabeza no es asunto de nadie. Muy bien, Así que a pesar de mi pobre Photoshop y habilidades, si mueves esto hasta como de 20 a 22, parecía un valor decente. Zancada 22. El zócalo de flash del hocico en el rifle de francotirador. Ahí lo tienes. Ahora, ahora estamos golpeando nuestros tiros. Entonces el camino para llegar ahí como armas militares, armas plateadas, y luego agarrar la malla esquelética del rifle de francotirador, conseguir destello de hocico, De eso estamos inyectando nuestras balas. Y mover eso hasta un valor z de 22. Y entonces eso hará que este francotirador sea más preciso con el pelo cruzado que creé en Photoshop. Está bien, Así que eso es todo para el rifle de francotirador, todo está creado. Entonces en el próximo par de videos, vamos a trabajar en un lanzagranadas y lanzacohetes y hacer que las cosas exploten y va a ser increíble. Muy bien, así que gracias por mirar. Avísame si tienes preguntas y espero verte en la siguiente.
37. ¡Hacer que las cosas vayan los borrar BOOM (explosiones!): Oigan a todos y bienvenidos de nuevo a otro video. Este va a ser divertido porque vamos a volar algunas cosas con nuestro lanzagranadas y lanzacohetes. Entonces no perdamos tiempo y lleguemos a esos Michael Bay piden explosiones ahora mismo. Está bien, así que vamos a nuestras interfaces y vamos a BPI, llevemos daños. Vamos a añadir una nueva función dentro de esta interfaz ya existente y vamos a llamar a esto tomar daño de radio. Está bien. Toma daño radio va a tener dos entradas. Vamos a tener que uno sea un éxito resultados porque Siempre
tenemos que escribir y el otro va a ser igual que antes de que el enemigo reciba daño, queremos conseguir estadísticas de armas. Entonces consigamos una de las estadísticas de armas tipo. Componer, Guardar, Cerrar. Ahora vamos y abrimos a nuestro enemigo es entrar en el Gráfico de Eventos y podemos desplazarnos hacia abajo hasta donde tenemos algo de espacio abierto y queremos llamar a evento recibir daño de radio. De acuerdo, entonces ya agregamos esta interfaz a esos planos y ahora solo podemos seguir tirando de funciones que existen dentro de ahí. De acuerdo, entonces primero lo primero, vamos a revisar y asegurarnos de que nuestro personaje o enemigo no esté muerto. No quiero poder hacer lo que vamos a hacer si están muertos. Fuera de resultado hit. Va a sacarlo de las estadísticas de armas son un poco romper eso. Vamos a empezar a enchufar algunas cosas en el aire. Para ello, vamos a crear una nueva función y digamos contar, cola, tarde, radio, daño. Esto va a funcionar un poco diferente. Li entonces sólo calcularlo dañado. Entonces vamos a sumar tres entradas diferentes. uno se le llamó daño. Vamos a tener uno llamado radio de impacto, y luego otro llamado puntos de impacto. Y estos van a ser daños de flotación del radio de impacto de flotación también es un flotador. Los puntos de impacto van a ser un vector. Está bien. Establezcamos daños a una variable local solo con fines organizacionales. Al igual que bien, sigamos adelante y consigue la ubicación del actor. Entonces estamos consiguiendo la ubicación del enemigo. Recuerda, el objetivo es uno mismo, es este personaje de blueprint. Vamos a tomar los puntos de impacto y vamos a restar estos. Entonces vector menos vector. ¿ Todo bien? Y luego vamos a conseguir la longitud de este vector. Y luego vamos a dividir esto por un flotador. Es un flotador. Queremos asegurarnos de que esto esté arriba y vamos a dividir eso por el radio de impacto. De acuerdo, y entonces vamos a hacer una resta aquí. Y vamos a agarrar esto en el fondo, y luego vamos a hacer éste. Entonces va a ser 1 menos sea cual sea el valor de esta matemática. Matemáticas es que está consiguiendo el actor, la ubicación del enemigo. Está tomando lo que sea que sea este vector de punto de impacto,
está consiguiendo la longitud de esas dos cosas, lo lejos que están separados. Dividiéndolo por lo que nos pusimos a ser este radio, y luego restando eso. Entonces como dije, mayoría de las pequeñas cosas de matemáticas aquí, Es ícono fácil arriba, en, pero muchos de estos números y estos cálculos se descubren justo a través de las pruebas. Entonces el hecho de que esto sea una clase significa que no tienes que pasar por el tedio de hacer eso. Entonces hagamos un flotador veces un flotador. vamos a multiplicar por nuestros daños. ¿ Todo bien? Y entonces lo que queremos hacer es que queremos hacer algo llamado la sujeción un flotador. El mínimo queremos ser 0. Y el máximo que queremos poder hacer es cualquier daño. Entonces esto es sólo decir como si esto es prevenir el daño que aplicamos a un mayor que lo que fijamos los daños. Entonces como si nuestro cohete hace 700 de daño o algo así, Nosotros aunque este cálculo resulte en un número mayor que 700, se pintará, evitará que pase más de 700. De acuerdo, entonces vamos a añadir un nodo de retorno y diremos daño de radio. Aplicados o se calculan daños de radio o lo que sea. Y esto va a ser un plug-in de retorno de flotador. Y ahí vamos. Eso es eso. Por lo que ahora podemos volver a pasar a nuestra gráfica de eventos. Y si no estamos muertos, podemos calcular el daño del radio. Tenemos todos estos insumos. Entonces conectemos Daño en daño, impacto en radio de impacto. Y luego nuestro resultado de golpe de ruptura, va a
haber un punto de impacto. Ahí mismo lo puedes ver. Punto de impacto en punto de impacto. Así. Mis nodos están bastante unidos en una, pero eso está bien. Está bien. Lo siguiente que queremos hacer es que queremos ejecutar nuestra actualización de salud. Entonces el mismo que el, como antes de eso usábamos aquí arriba cuando estamos calculando ese daño. Entonces vamos a pasar eso. Muy bien, entonces queremos revisar y asegurarnos si estamos muertos o no. Y luego mucho de esto va a ser lo mismo. Si estamos muertos, entonces queremos correr la muerte enemiga. ¿ Todo bien? El lugar golpeado va a ser este punto de impacto. Establece donde se disparará el impulso y luego necesitamos conseguir un nombre de hueso. Se, nombre de hueso en nombre de hueso. Colapso. Oh Dios mío. Es una fiesta de nodo por aquí. Está bien. Sí, eso está bien. Por no muerto. Entonces queremos ejecutar los números de daño k y sólo vamos a enchufar eso así. La ubicación de impacto seguirá siendo punto de impacto. El daño aún va a ser la mezcla de daños aplicada. Es el daño aplicado después de que se produzca el cálculo, no antes. Y entonces no necesitamos como tiro a la cabeza. Algo que un podría haber hecho incorrectamente. Permítanme comentar las casillas primero y decir que el enemigo recibe daños por explosivos o algo así. Algo que podría haber hecho incorrectamente inicialmente en el daño de cinta, el daño normal del tejido. Y asegúrate de que el tuyo se vea así. Asegúrate de que la verdad es ir hasta la muerte y luego bajar a los números de daño. Entonces falso está entrando en números de daño y luego números de daño está llevando a que sea válido. Podría haber tenido la muerte entrando aquí así y luego simplemente saltando esto. No estoy del todo seguro, pero podría haber hecho eso si me asegurara de que se vea, estos cuatro nodos se ven así. En este evento, enemigo recibe daño, parte del guión así. ¿ De acuerdo? Pero eso es todo lo que necesitamos hacer en el enemigo. Entonces ahora todo eso es configuración. Entonces lo que tenemos que hacer ahora es volver a nuestro proyectil, en nuestra base de proyectiles. Y recuerda, tenemos esta función de proyectil de explosión que se está ejecutando aquí. Y así no hace nada. Entonces hagámoslo hacer algo. Entonces fuera de explote proyectil, abramos una secuencia. Vamos a golpear resultados. El simulacro, lo vamos a romper. Nos gustaría romper las cosas. Y entonces lo que haremos es conseguir nuestras estadísticas de armas y vamos a romper eso. Por lo que quieres poder obtener este radio de impacto. Y vamos a hacer un nodo llamado de 1000. Va a ser actores de superposición de esfera. Entonces esto es dibujar una esfera. Y se va a solapar. Devuelve una matriz de actores que se superponen a la esfera dada. Entonces estamos dibujando una esfera y luego está regresando con un montón de actores que se superponen a esa esfera. Entonces, ¿qué tan grande va a ser la esfera? Bueno, va a ser lo que nos fijemos para ser nuestro radio de impacto. Cuál es la posición de la esfera que va a ser, el punto de impacto va a ser donde nuestro proyectil impacta algo. De acuerdo, así que al igual que antes necesitamos darle tipos de objetos para solaparse y luego unos para ignorar. Entonces, fuera de aquí, hagamos una matriz. Array es como una matriz de cosas, como múltiples cosas, una lista, ni siquiera lo sé. Un arrays como una palabra normal si vamos a querer comprobar qué es
dinámico del mundo y qué es peón pone a nuestro enemigo y luego como otras cosas del mundo. Por lo que nuestros enemigos son enemigos, dinámica mundial. De acuerdo, así que eso es lo que se solapará. Y luego vamos a desechar al jugador y vamos a conseguir el arma actual. Está bien, y entonces enchufemos eso a actores para ignorar. Y entonces haré su propia pequeña matriz. Estos son los actores que no queremos. No queremos que nuestra esfera diga que se está solapando con nuestra arma. Está bien, eso no estaría bien. Yo crearía cierta confusión fuera de nuestros actores OUT. Vamos a hacer un para cada bucle o derecho, como en la ejecución. Y luego fuera del cuerpo de bucle, queremos decir toma radio, daño. Las estadísticas de armas van a ser estadísticas de armas aquí. Resultado hit, probablemente adivinarías va a ser este resultado hit. Ingresa en, Bergen it en. Y eso es todo lo que necesitamos hacer. Para el elemento array. Aunque los vamos a enchufarlos a Target. De acuerdo, entonces lo último es que queremos engendrar a un actor de clase y queremos hacer una explosión, pero no hemos creado ese efecto de explosión, así que vamos a tener que crear eso ahora. Por lo que sólo podemos mantenerlo en proyectiles. Vamos a crear una clase de plano y actor y llamemos a esta explosión impulso o algo así. No tiene que ser súper complejo de un nombre. De acuerdo, y entonces lo que queremos sumar a esto es que queremos sumar en el hombre es que podría ser un componente de fuerza radial. Tan sólo una fuerza radial. Ok. Y llamaremos a esta explosión llena. Entonces este va a ser nuestro gran objetivo. Está bien. Entonces para el radio, Hagámoslo como 400 en cambios como quieras. Impulso. Tan bien. Entonces si haces la caída del impulso constante es una fuerza constante para hacerlo lineal, entonces habrá impulso se debilita cuanto más lejos del origen. Entonces eso es lo que queremos, eso es más realista de como una verdadera explosión. Es más poderoso en ese impacto en el centro. Y luego si le pegas desde afuera, no
va a hacer tan loco de las cosas. Tipos de objetos a efecto. Hagamos simplemente cuerpo dinámico y físico del mundo. Podemos. ¿Podemos simplemente deshacernos de estos? Podemos deshacernos de estos par de unos porque cuando los he estado usando, fuerza de impulso, podemos establecer que sea como 3 mil lo que quieras hacer. Y luego en el gráfico de eventos, todo lo que necesitamos hacer es comenzar a jugar. Agarremos nuestra fuerza de explosión y digamos impulso de fuego. De acuerdo, entonces cada vez que este plano sea engendrado al mundo, dispararán este impulso. Bada bing, bada, boom. Muy bien, entonces ahora estoy de vuelta en nuestra base de proyectiles. Diríamos que siempre engendran, ignoran las colisiones, lo cual es bastante estándar aquí cuando se trata de estas cosas. Y la clase que queremos va a ser impulso de explosión. ¿ Todo bien? Y el engendro se transforma. Vamos a dividirlo porque sólo nos importa su ubicación. Entonces haces que ese sea el punto de impacto. Y entonces eso Es eso. Está bien. Entonces ese es ese guión. Detener carreras de proyectiles para escuchar que se vea correcto. Entonces lo único que necesitábamos hacer es que necesites crear esos proyectiles en nuestros planos, necesitamos asegurarnos de que estemos configurados en su daño de radio. Está bien. Entonces vamos a entrar en nuestro lanzagranadas. Uno. Está bien, solo usemos esto como ejemplo. Entonces para nuestra malla de proyectil, voy a hacer esto tres veces esto. Y voy a decir munición lanzagranadas. Y ahí vamos. Ahí está. Podemos hacerlo tal vez cuatro veces el tamaño, hacerlo un poco más grande. Lo que sea que quisieras. Realmente no importa. Y voy a añadir un componente extra a esto. Y voy a buscar un sistema de partículas y vamos a llamar a esto efectos de trail así. Porque hay uno llamado rastro de granadas. Por lo que en realidad va a disparar un poco tipo de efecto ahumado, supongo que quieres llamarlo casa. Ya verás por nuestro movimiento de proyectiles, estos son los ajustes que tuve. Tenía 3500 para las velocidades iniciales y máximas. El balanza de gravedad era bastante pesado y lo que las cosas arcos voy a ponerlo a ser dos. Y entonces está infligiendo radio dañino. ¿ Quieres encender eso en este plano? El motivo que es porque queremos que se quede sin proyectil de explosión y no solo como lo normal reciben daño que hacen los rifles de francotirador. Por lo que cruzaron los dedos. Aquí vamos. Tengo y quizá no hayamos ranurado estos en nuestro Blueprint. Déjame sólo ver. Y no lo hemos hecho, de acuerdo, así que en realidad no hemos dicho al juego qué pequeño. Entonces para las estadísticas de armas. En realidad, sigamos adelante. No sé si las estadísticas siquiera importan, pero por el impacto de los hechos, creo que sí porque estamos desovando eso y el proyectil Bayes. Por lo que las estadísticas probablemente importan en el arma, pero el efecto de impacto importa aquí. Entonces sigamos adelante y hagamos efecto de impacto lanzagranadas. Y luego déjame volver a mi lanzagranadas, un arma. Se va a abrir esto. Entonces para proyectil, esto es importante. Queremos tragar en lanzagranadas proyectiles, Ese es el archivo del proyecto que queremos disparar por sus estadísticas de armas. Digamos que el valor máximo, puede
ser como un 100 y, y déjame revisar y ver qué tenía antes. De acuerdo, Entonces en el proyecto anterior tuve el daño en un golpe de 150 Sophie, conseguir golpeado justo en el epicentro va a hacer mucho daño en el radio de impacto de esa esfera. Van a ser 500. Está bien, así que esto en realidad no va a reproducir un sonido cuando expulsa porque en realidad no lo hemos construido todavía. Pero vamos a ver si eso dispara. Ahí vamos. Es rodar por disparar esta delgada. De verdad llegar a volar a la gente. Ahora el, el impulso de la cabeza, eso es un error que podría aparecer a veces no se preocupan por ello. Sólo tiene que ver con como destruir el componente de la cápsula y es tratar de interactuar con algo. No te preocupes por ello. Está bien. Entonces, ¿ese fue el impulso o lo que sea el impulso de matar? Eso es algo con lo que queremos meternos un poco. Entonces hagamos esto como qué, un 100 mil, correcto. Y enviarlos volando. Y me perdí. Está bien. Entonces sí, eso va a funcionar. Está bien. Por lo que en el siguiente video, vamos a rematar el lanzacohetes y el lanzagranadas y es construir esos arriba. Asegúrate de que estamos tocando las animaciones y haciendo el último par de cosas que queremos hacerlas esas dos armas, pero sí, eso es todo puesto en piedra,
así que sí, espero que ustedes hayan disfrutado de este video. Nos acercamos al final de esta clase. Bastante loco. Entonces, muchas gracias por mirar y nos vemos en el siguiente.
38. Fotografía el lanzador de la granada y el Rocket (final): Hola a todos y bienvenidos de nuevo a otro video. Este probablemente va a ser el último video de esta serie principal. Y lo que vamos a estar haciendo en él es que vas a estar terminando nuestro lanzagranadas y nuestro cohete. Entonces creando este proyectil y luego agregando un par de cosas
al lanzador gris que faltaban en el último video. En el medio, yo sólo he alineado nuestro video o videos son enemigos cada 200 aparte. Entonces si recuerdas, selecciona algo con tu configuración de snap en un ajuste determinado, pulsa Control End y lo ajustará a esa cuadrícula, textos, renders y carpetas y cosas por el estilo. De acuerdo, entonces en esta que empecemos
abriendo nuestra arma lanzagranadas en nuestra carpeta de armas. Lo que queríamos hacer como la mayor parte del tiempo, porque necesitamos que el evento comience a rodar. Y agreguemos una llamada a la función padre. Bueno, me gustan estos, como estos. Y luego queremos conseguir la malla de arma y vamos a jugar animación. ¿ Todo bien? Y la animación que queremos jugar es disparada lanzagranadas así. ¿ Está bien? Y luego para este, también queremos disparar tasas, calcula. Tampoco quieres que el spam dispare a éste. Y el ritmo de fuego que vamos a tener para aquí, sólo
vemos dónde está eso. Tasa de incendio. Establece que sea 0.5. De acuerdo, así que eso es todo lo que queremos hacer. Podemos establecer estos números para que sean diferentes como 0.2, negativo 0.25. tiempo de recarga puede ser de 2.5, propagación de
balas puede ser de 600. Entonces quiero decir, algunos de estos, quiero decir, esto tiene que ser proyectil, esto tiene que ser lanzagranadas. Pero algunos de estos, la munición, aquí es donde las cosas se están volviendo divertidas. Ya sabes, donde puedes mirar todas estas variables que
creamos y encerrarlas para lo que quieras. Puedes meterte con diferentes mallas. Si tienes diferentes packs y diferentes efectos de sonido y puedes meter fácilmente este material, cambia el impulso de matar. El proyectil debe ser el lanzamiento de gradiente un efecto de impacto proyectil debe ser eso. Estadísticas de armas. Se pueden cambiar los valores de daño. El tiro de arma, tiempos de recarga, todo eso ahora es totalmente personalizable para ti. Entonces si entro al juego, así que no voy a pasar demasiado tiempo en él. Y ahora tenemos nuestro lanzagranadas. Seré un poco demasiado grande de un radio, pero así ahora se mete como probar el juego donde todo funciona y ahora trata de hacer que se vea y se sienta y suene a quien quieras. Y así que eso fue algo grande que quería hacer con esta clase era configurarla de esa manera
donde a estas alturas todo lo que se reduce es solo cambiar estas variables y obtienes un juego de sentimiento completamente diferente. Y así tus armas ahora pueden empezar a lucir de manera diferente a la mente, suenan de manera diferente a las mías. Tener diferentes cantidades de KYC y balas esparcen y retroceden y justo todo ese tipo de cosas. Está bien. Entonces para rematarlo, Hagamos el lanzacohetes. Y también es conseguir el proyectil lanzacohetes. Y para una malla de proyectil, Vamos a conseguir cohetes, munición. Y pongamos esto para que sea como, Oh, eso es demasiado grande. Dos veces 2.52.5 veces el tamaño. Es un poco más grande que la colisión. Podemos establecer que esto sea como 1, 2, 0. Eso hizo todo menos tus manos arriba. Ven a él y a los niños, debes saber cómo funciona esto. Queremos asegurarnos de que esto está infligiendo daño de radio, estadísticas de
armas no importan, pero el impacto de hecho, queremos que este sea un lanzacohetes. Efecto de impacto realmente dice lo que pienso, vale, humano, tú en vez de abrir este guión sólo llega a ser un largo en este punto. Movimiento de proyectiles. Vamos a poner esto a ser. Por lo que nuestro rifle de francotirador era como doce mil doce mil. Por lo que podemos mantener esto a cien, diez cientos. Podemos hacer este 0.5 porque creo que la granada es como también, así que quiero que seas 0.5, como dije, metes con ella, haz lo que quieras. Se puede tener esta cosa, disparar una pelota de playa y hacer un como un ruido chirriante o un rugido de león. No me importa. Haces lo que quieras. Es sólo cuestión de cambiar. Entonces podemos cerrar el proyectil ahora en el arma. Por lo que tenemos nuestra arma lanzacohetes. Todo lo que queremos hacer. Muy bien, sólo tenemos una cosa que hacer, evento. Empieza a disparar porque los pros de TI de esto. Entonces este punto, solo enchufa los tipos de fuego, agarra el puré de armas y queremos poner en animación. En realidad olvidé hacer una cosa, pero haré esa tarea, dispararé un cohete. Y tenemos que ir eso. Tenemos que preocuparnos por la tasa de fuego calculada al menos no tengo que hacerlo porque sólo tengo un cohete redondo un cohete en mi revista en un momento dado. Entonces cada vez que disparas, solo recarga automáticamente proyectil va a ser lanzamiento de cohetes un proyectil. Voy a abrir esa copia de seguridad, en realidad. Mata impulso. Pongamos esto en 250 mil o algo así. Simplemente absolutamente ridículo. El daño será de 200 y el radio de impacto sería de 300. Sólo estoy poniendo números aleatorios en este punto. impacto del lanzacohetes afecta el tiempo de precarga b. bien, Eso está bien. Tener esto sean 750, así r. Entonces eso no afectará realmente a dónde va el proyectil, pero afectará el punto de mira. De acuerdo, entonces hará que sea más difícil golpear puntería de fuego porque no cruzarás aquí. Los spreads pueden ser mucho más anchos. Ahora, patada de arma, probablemente queremos que esto sea como 0.5 negativo, probablemente como mucho. Cuanto más cerca esté de uno lo loco sería si es como dos negativos. Por lo que cuanto menor sea el número, más intensivo se guardará esencialmente. Pensar en eso, ya que son números negativos, Es como invertido. Entonces negativo 0.5 no es tanto, pero como negativo dos es como la tasa de fuego no importa. Si tipeo proyectil. Sí. Lo único que quiero hacer es como con el lanzagranadas. Se va a añadir un componente. Y yo quiero asegurarme de hacerlo aquí de un,
un sistema de partículas y volveremos a llamar a esto efectos de trail. Y luego hay un rastro de cohetes. Puedo lanzar un rastro. Está bien. Los dedos lo cruzaron, olvidan algo. Pero sí, tenemos esto. Ahora tenemos este rezago un poco de carga iniciada. Ver es como discutir abajo. Ah, ahí vamos. Tenemos que matar. Los sonidos son un poco inhundibles. El cohete es realmente ruidoso y así podrías, pero si escuchas de cerca, todavía puedes escuchar ese impulso de matar. Si lo disparo justo en el suelo frente a ellos. Got sólo golpeó la decisión única. Haz eso con todos ellos. Pero ojalá eso esté creando Oh, podría no haber establecido el radio de impacto. Esto así en realidad sí se sentó en los estados de armas radio de impacto. Yo sólo pensé que terminaría de este video se está poniendo realmente al azar. Y es una especie de tonterías hasta este punto. Se puede ver que eso golpeó a la gente contratándome la lista local radio. No es súper grande refi golpeando el suelo. En realidad. ¿ Antes se van? No. Está bien. Baja a él. Está bien. Sí. Creo que creo que eso es todo. Esas son todas nuestras armas podemos recoger MO. Sí, creo que eso es todo lo que tenemos que hacer en esta clase por el momento. Entonces tenemos Ella está recogiendo esta arma, esta arma. Esta arma. No cambié la propagación de la bala para que veas que el rifle de francotirador no es tan grande. Por lo que probablemente podría hacerlos un poco más grandes. Se puede ver que están cambiando un poco. El Chicago es en realidad más que como todos ellos. Sí, podemos recoger nuestras munición. Recoge esto. Sí, tienes todo este proyecto. Debería estar todo en trabajo ahora. Burros. Esto, tengo esto. Nos dieron un poquito de eso. Tenemos un poco oh, me perdí. Tenemos un poco de deuda. Será esto. Y un poco para él. 360. Termínalos en el pistilo. A ver ahora, ahora puedes empezar a divertirte un poco. Puedes cambiar entre las armas y puedes ser Africano Pro por aquí. Está bien. Entonces sí, chicos, creo que eso es casi todo. Entonces antes de terminarlo, solo
quiero repasar un par de cosas. Por lo que avanzando en este proyecto, obviamente hay ciertas cosas que están en tiradores en primera persona que no incluí aquí en quería incluir las armas. Yo quiero incluir d, la munición y los diferentes defectos de impacto. Entonces como dije, es muy fácilmente personalizable para ahora
hacerlo cualquier tipo de shooter en primera persona que quieras. Se puede tomar este conocimiento de cómo
dibujar los rastros de línea y se puede aplicar eso a un shooter en tercera persona. Alerta, funcionará exactamente de la misma manera. Se pueden agregar diferentes tipos de servicio. Se puede agregar IA a los enemigos, un montón de cosas diferentes. Entonces, sí, así como ahora puedes hacer el tipo de juego que quieras, puedes convertirlo en como un shooter Luder, puedes convertirlo en un tipo de juego de supervivencia de onda zombie. Se puede tener objetivos de tiro con un sistema de puntos. Se puede hacer. Un tirador de tipo militar más estándar, que es un poco como lo que hice aquí. Se puede seguir adelante y crear como un sistema de salud, agregar filtros de sangre. No tenemos una forma de que el jugador realmente se haga daño en este proyecto actual con eso es algo que se puede agregar. Puedes hacer pastillas de salud y cosas diferentes como esa. Podemos hacer que los enemigos dejen caer munición. Entonces lo que podemos hacer esto sería realmente sencillo. Ofrecer esta muerte enemiga. Podrías agregar un pin extra y podrías tener que engendra a un actor de clase. Y puedes tener que engendra cualquiera de estos. Se puede sacar una matriz, ¿verdad? Y entonces puedes tenerla sea cualquiera de estas seis posibilidades que necesites. A lo mejor puedes tener una matriz de 10. Entonces hay una posibilidad de que nada caiga del enemigo, algo así. Podemos poner más,
Más características de UI con las armas en las pastillas. Porque ahora mismo en un juego real, algo aparecería y en realidad podrías interactuar con esto. Eso fue algo que no me molesté en agregar. Podemos regalar nuestro juego para hacer esa mano y desaparecer. Entonces, esperemos que sepas lo suficiente sobre diferentes planos de animación con no estamos sosteniendo un arma. Todo lo que tienes que hacer es simplemente cambiar la animación o puedes simplemente, incluso
puedes correr un tic de evento y tener la malla del brazo si no tenemos un arma recién puesta en Endgame y sí tenemos eso invisible. Entonces hay igual que una pareja como pequeñas cosas que puedes hacer. Este proyecto no va a ser súper perfecto. Van a haber pequeños temas. Algo que me di cuenta de ese particular es que si estás cambiando de armas, así que si estoy apuntando y cambio de armas, simplemente en realidad sólo va entre ellos. En realidad no reproduce la animación en el sonido. Entonces por eso existen equipos de QA. Entonces hay ciertas cosas que no necesariamente son como los bugs per se, pero son una especie de inmersión rompiendo cosas dentro del código que o bien puedes intentar aliviar. Probablemente haya algunas cosas de las que yo, toda sinceridad, ni siquiera soy consciente, pero tal es la vida. Eso es algo así cuando hacer juegos es como si hubiera tanto tiempo gastado en diferentes construcciones de juegos que se crean cada día y luego tener esas compilaciones actualizadas y tener todo un equipo de personas jugando probándolas para encontrar algunos estos temas que tal vez la computadora no reconocerá como un tema, pero un ser humano jugando el juego diría, eso es un poco sobre natural que sucediera así, ¿verdad? También podemos añadir más ajustes de colisiones al juego. Entonces diosa tiene estos trabajando como trazas de línea, pero estas cajas invisibles en las que se puede ver que realmente interactúan, golpean la cosa de piedra predeterminada que no podemos caminar alrededor de ellos. Eso sería tan simple como entrar en la configuración del proyecto, entrar en colisión y agregar ajuste esa caja dice un tipo diferente de traza de objetos que nuestro jugador realmente puede caminar entre, y eso es algo que haría nuestro trazado de línea, ignoraría. De acuerdo, así que estoy tratando de pensar en otra cosa. También podrías hacer que el juego sea como tú lo desees. Al igual que no tengo con la forma en que lo tengo configurado. No se puede recargar. Si estás esprintando. Se puede, se puede cambiar eso si se quiere. Puedes modificar, modificar el guión a tu gusto personal o lo que sea, dependiendo de cómo funcione esto y dónde lo estés viendo. Si hay ciertas características que quieres verme
específicamente muéstrale cómo hacerlo si no lo desconoces. No puedes encontrar un tutorial en YouTube para
construir a partir de este proyecto o algo sobre la documentación irreal, te sugiero altamente que sigas adelante y pruebes eso si quieres buscar algo que es realmente, realmente específico. Pero si hay ciertas otras características que quieres ver agregadas, solo avísame y potencialmente puedo agregar a este curso, tendría que pensar si es incluso posible puedes agregar videos, como anexarlos al final. Pero sí, si lo hiciste todo el camino hasta el final de esta clase, muchas gracias por ver. Significa mucho para mí que veas este tipo de cosas enganchando. Espero que hayas aprendido mucho el de este proyecto final en nuestro orgulloso de ello. Y puede o dejarlo ser y ser como, está bien, sé cómo hacer esto y eso fue divertido o puedes empezar a personalizarlo y agregarle tus propias cosas, tus propias características entrando en el mercado y, y, y haciendo que a estos tipos no les guste el hombre del maniquí o algo así. Entonces sí. Este proyecto es una ostra por lo que ya sea puedes usarlo como algo así, yo sé hacer esto y eso fue genial. O puedes mantener UNO agregado en él. Y si sigues agregando a ella, me encantaría ver qué creas a partir de esto. Habrá impresionante. Como siempre, ¿tienes alguna pregunta para mí? Simplemente escríbalo en la discusión o dispárame un correo electrónico o lo que sea. Muchas gracias chicos por ver esto de principio a fin. Realmente sí significa mucho para mí. Y te veo en el siguiente video slash clase slash. Ni siquiera lo sé. Está bien. Bien.