Unreal Engine 5: prototipos rápidos de autos (plan para principiantes) | Ian Bradley | Skillshare
Buscar

Velocidad de reproducción


1.0x


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

Unreal Engine 5: prototipos rápidos de autos (plan para principiantes)

teacher avatar Ian Bradley, Technical Designer

Ve esta clase y miles más

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

Ve esta clase y miles más

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

Lecciones en esta clase

    • 1.

      Introducción

      1:27

    • 2.

      Coche tragamonedas: introducción

      1:30

    • 3.

      Coche tragamonedas: configuración del proyecto

      1:34

    • 4.

      Coche tragamonedas: crea la pista

    • 5.

      Coche tragamonedas: entrada

      7:45

    • 6.

      Coche tragamonedas: crea el coche

      13:49

    • 7.

      Coche tragamonedas: lapeado

      3:09

    • 8.

      Coche tragamonedas: impulso

      7:29

    • 9.

      Coche tragamonedas: ¡salta de las esquinas!

      10:51

    • 10.

      Coche tragamonedas: agregar multijugador

      2:32

    • 11.

      Coche tragamonedas: fabricación de materiales

      7:47

    • 12.

      Coche tragamonedas: adición de interfaz de usuario

    • 13.

      Coche tragamonedas: condiciones de victoria

      11:39

    • 14.

      ¡Empaquetado de proyectos y compártelo a Skillshare para obtener comentarios!

      1:30

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

Generado por la comunidad

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

17

Estudiantes

--

Proyecto

Acerca de esta clase

¡Crea tus propios juegos desde cero con UE5! Crea un juego de rompecabezas en un motor 3D con el sencillo script de blueprint

¡Actualizado para Unreal Engine 5.4!

Aprende Unreal Engine 5 desde cero creando tres prototipos de juegos diferentes.

¡Esta serie trepidante te llevará de principiante a principiante a principiante de una manera interactiva divertida! Todo el contenido de este curso ha sido adaptado de mi contenido de enseñanza que se imparte en la galardonada academia de Inglaterra, diseñada para llevar a cualquier persona que haya usado una computadora a preparar, enseñar y empujarlo al mundo del desarrollo de juegos. Este curso rápido se ha dividido en tres prototipos en tres cursos que te enseñarán los fundamentos y los principios básicos del diseño de juegos y el scripting.

Conoce a tu profesor(a)

Teacher Profile Image

Ian Bradley

Technical Designer

Profesor(a)

Hello, I'm Ian. A Technical Game Designers living in england. Currently working in a AAA studio and have spent time teaching Unreal Engine 5 all over Europe.

Ver perfil completo

Level: All Levels

Valoración de la clase

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

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

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

Transcripciones

1. Introducción: Bienvenido a Unreal Engine five rapid prototyping, Slochar. Si estás listo para aprender el desarrollo de juegos creando proyectos reales, estás en el lugar correcto. En este curso, crearemos un juego clásico de Sloccar desde cero usando el Unreel Engine five Este proyecto es la segunda parte de mi serie de prototipos rápidos aquí en Skillshare, donde nos sumergimos en proyectos del mundo real mientras aprendemos habilidades básicas de desarrollo de juegos A medida que construimos, obtendrás experiencia práctica con cosas como splines, gestión de entradas, eventos, funciones y habilidades de lógica de juego que no solo son fundamentales para el desarrollo del juego sino también para la creación rápida de prototipos Esta clase es para todos los niveles, pero si eres completamente nuevo en Unreal Engine, recomiendo comenzar con mi Unreal Engine cinco planos Esa clase cubre todos los elementos esenciales, así que te sentirás como en casa mientras nos sumergimos en este proyecto. Y tal vez mientras estás en ello, quieres ponerte al día con la primera parte de mi serie de prototipos rápidos donde hacemos un juego de ruptura. Pero no te preocupes, si no quieres hacer ese juego, aquí también te sentirás como en casa como en casa. Al final de este curso, tendrás un juego de cartas tragamonedas completamente funcional que tú y un amigo pueden jugar al mismo tiempo y una comprensión más profunda de la creación rápida de prototipos y el motor Unreal mientras estás en Entonces, si te emociona crear tus propios juegos dentro Unreal Engine five y obtener experiencia práctica, comencemos a inscribirte hoy, y te veré en clase 2. Coche tragamonedas: introducción: Bienvenido a un segundo prototipo. De hecho, vamos a estar haciendo algo muy diferente a lo que normalmente podrías ver en los cursos irreales modernos Vamos a estar haciendo un juego estilo slot card. La razón es esto porque te enseña muchas cosas diferentes, especialmente cuando se trata de cómo funcionan los insumos y cómo funcionan eventos dentro de lo irreal y cómo delegarlos correctamente, así como cosas como cómo trabajan los actores dentro del mundo del juego Ahora, lo que recomendaría es que bajes el enlace en la descripción a continuación y juegues uno de estos juegos de tragaperras. También recomendaría apagar el sonido y, ya sabes, seleccionar dos reproductores, y luego podrás ver en línea recta e intentar tocarlo principalmente por ti mismo o por otra persona si tienes a alguien a tu lado. Pero puedes ver aquí tienes dos teclas dentro del teclado. Tenemos el control y la tecla t va a controlar los dos autos diferentes. Y entonces lo que están viendo aquí es que el teclado está controlando dos entradas diferentes, y esto es lo que vamos a intentar hacer dentro de nuestro prototipo. Entonces, antes de comenzar este, solo tómate un tiempo para jugar este juego o un juego similar y solo anota un par de cosas que puedas notar sobre esto, lo que podrías pensar que tendríamos que hacer mientras hacemos un prototipo como este Te veré en la siguiente. 3. Coche tragamonedas: configuración del proyecto: ¿Cómo va? Sólo vamos a poner en marcha este proyecto. Esta va a ser mucho más fácil. Solo queremos configurar un proyecto y también crear un nivel. Entonces, como la última vez, vamos a crear un espacio en blanco. Voy a poner esto como voy a llamarlo. Mucho subrayado de autos. Yo, así sé lo que es. No necesito ningún contenido estrella, y quiero asegurarme de que esté en el plano, así que simplemente crearemos Podría tomar un poco a la vez solo por inicializar, pero nuevamente, es un proyecto vacío, por lo que debería estar completamente bien Bien, como la última vez, el Unreal Engine five lo ha cargado y está cargado con nivel predeterminado Podemos esperar hasta que abazmente haya sido discriminado. No debería tomar mucho tiempo. Debería haber formas de cambiar eso, pero para mí, estoy completamente bien con eso. Tengo una computadora bien para lidiar con eso. Detener. Lo que vamos a hacer es simplemente crear un nuevo nivel. Entonces, como la última vez, voy a entrar en el contenido. Yo sólo voy a hacer una nueva carpeta llamada levels. Y mientras estoy aquí, sólo voy a hacer clic en Nivel. Llamemos a éste, porque podríamos hacer más pistas para este juego. Lo abriremos. Te pediremos que ahorres. Voy a llegar con negro. Como la última vez, solo quiero que entres a la configuración del proyecto. Siempre que la configuración del proyecto se cargue, decidimos mapas y modos. Voy a establecer estos como nuestro defecto. Aparte de eso, deberíamos ser una especie de formas agradables y fáciles de ir a la siguiente lección, así que te veré en la siguiente. 4. Coche tragamonedas: crea la pista: Bienvenida de nuevo. Entonces vamos a hacer una pista. Lo primero que probablemente quieras hacer sería hacer un auto que se pueda mover o hacer una pista. Ahora bien, como no estamos haciendo un juego de carreras normal donde controlemos un auto, como lo harías en algo así como para la velocidad, estamos buscando un poco más de un juego clásico de gaetrics o slo cars slot car ty Probablemente queramos hacer primero la pista porque en realidad queremos hacer algo llamado espina para poner la pista para dar la vuelta para que podamos hacer que los carros den la vuelta a la pista de cierta manera Así que vamos a necesitar un básicamente una pista para construir nuestro shaper. Así que voy de primera manera voy a hacer esto es voy a hacer clic derecho sobre mi contenido. También voy a hacer una nueva carpeta llamada Assets. Y en esa carpeta, voy a beberme en una foto de una pista de autos de carreras Ahora, he descargado uno de Internet, puedes agarrar cualquier tipo de pista que quieras. Siempre y cuando sea un archivo PNG, probablemente debería funcionar. Pero he establecido el enlace y puedes descargar el track de Silverson, que obtuve del sitio web de F one y convertirlo en un PNG en las notas de Lasser abajo Y lo que voy a hacer es simplemente arrastrar eso hasta aquí. Se va a importar, voy a hacer algunas cosas, y luego va a importar ahí. Ya tenemos esto de nuevo. Tenemos que hacer algo con esto ahora. Entonces lo que voy a hacer es volver a traer panel de actores del lugar que teníamos antes. Solo voy a deshacerme de este registro de salida y no necesito eso en este momento. Y voy a arrastrar en algo que se llama avión. Y lo que es un avión es una especie de forma de dos D. Voy a cero que abajo. Mira, F, el foco. Esto no lo sabes antes, F, siempre lo pondrá en el foco. Por el momento, esto está encendido, así que no podemos ver. Pero como digo, lo que es un plano es una forma de dos D que no tiene ningún eje z a él. Entonces solo tiene forma de X e Y. No es así podemos escalar en la Z y no pasa nada. Voy a poner eso de nuevo a cero de nuevo a uno otra vez. Ahora, tenemos que añadir algún tipo de luz a esto. Podemos simplemente tenerlo apagado, y se puede ver que está sonando aquí, pero me gustaría tener algún tipo de luz Entonces estoy consiguiendo lugar panel de actores, este pequeño botón de aquí. Voy a hacer una luz direccional, y probablemente voy a ponerla boca abajo aquí para que puedan ver. Mientras esta parte esté encendida, aquí debería estar más que feliz. Acepto esto como cero, cero, cero, y luego esto bajando 90 grados, lo cual debería estar bien. Podríamos tenerlo, tal vez así se gira ligeramente hacia un lado, y luego tener una segunda. Por lo que agrega una sombra. Pero el segundo bajamos la intensidad. Por lo que tiene una iluminación un poco más uniforme. Esa es una técnica de iluminación muy, muy barata y rápida. No siempre recomendaría hacer eso. Estoy seguro de que ustedes, artistas de iluminación tal vez lo asesinarían por eso, pero es una manera muy agradable y fácil al crear prototipos Entonces ahora tengo esta imagen en ella, por ejemplo, pero como que quiero poner esta imagen en este plano. Podemos hacer esto fácilmente arrastrando esto a través de nuestro avión. Y lo que verás es esto eventualmente hará un material y luego nos convertirá en un mapa, lo cual es muy bonito, en realidad. Esto es muy práctico. El tema es que por el momento es bastante pequeño, y también es de manera cuadrada. Así que en realidad vamos a escalar este avión. Debido a que en realidad estamos usando esto como telón de fondo, realmente no debería importar sobre nuestras colisiones en esto Pero debido a que esta ya es una imagen de textura bastante alta, de alta calidad no debería importar demasiado cuando la cambiemos. Entonces lo que vamos a hacer es en mi eje X voy a hacer 180 y por y voy a hacer 100 y luego vamos al zoológico ahora. Y vamos a ver a un bonito Matt grande, en realidad podemos para ayudarnos, voy a ir en perspectiva y hacer clic en Top y entrar en labio y ya verás eso. De hecho, podría trabajar solo para estar en modo labio solo para que ayude un poco. Es un poco más rápido para mí hacer eso. Podríamos jugar un poco con el material. Entonces, si abrimos esto, realmente no hemos trabajado con materiales en ninguno de estos. Pero podemos, podríamos trabajar en esto. Una forma en que podríamos tal vez es simplemente agregar un valor a la aspereza. Si haces clic en uno. Esto lo hará brillar o dijimos que lo hiciera muy áspero Entonces ahora, ahórrate eso. Veamos cómo funciona eso otra vez. Se puede ver que es un poco más. Se recoge para la luz un poco más. Si lo ponemos a cero, va a ser muy brillante, y vas a ver esto. Ser muy, muy vibrante, muy reflexivo. Se puede ver, pero se puede ver de dónde viene la luz después. Pero eso está bien. Vamos a dejar esa descarga Podemos mirar material en otro momento o en el curso más avanzado después de esto Entonces ahora tenemos que hacer para pista. Hemos hablado de algo que se llama columna vertebral. Tenemos que hacer algo así. Entonces la forma que vamos a hacer esto es haciendo un nuevo actor, un nuevo actor va a ser una nueva carpeta llamada planos Impresiones. Y luego vamos a dar click derecho a clase Blueprint Actor Y esto se va a llamar BP Underscore. Se llama Track. Subrayar actor. Este actor de pista en realidad es realmente simple. Va a ser un componente, un solo componente. Este componente, lo abrimos que fuera sólo va a ser algo que se llama columna vertebral. Estamos buscando una columna vertebral. Ahora bien, qué spline es incluso puedes pasar el cursor sobre él, y nos lo dirá, pero un componente de bazo es básicamente un montón de puntos y luego ecuaciones matemáticas para mostrar una pista de algún tipo Si tienes un ejemplo de esto dentro de irreal o se podrían usar otras cosas para establecer el comportamiento de la IA, también se puede configurar para configurar las pistas de la cámara para ver cómo puede rotar la cámara Estas son cosas realmente, realmente, muy poderosas. Mucho de eso, como puedes ver aquí es ver objetos animados, pero realmente para nosotros, lo vamos a usar para tener la pista que van a cruzar los autos. Así que todo lo que quiero hacer es configurar esto, configurar la spline y en realidad voy a establecer el lomo para que sea el predeterminado Voy a llamar a esto columna vertebral. Veamos como track spine, para que sepamos de qué se trata. Puede cambiar el nombre de estos con solo hacer clic en FTP o hacer clic derecho y luego cambiar el nombre. Compilar ahorrado. Y lo que ahora queremos hacer es, vamos a arrastrar esto una spline aquí Vamos a hacerlo donde empiece. Entonces pongamos esto aquí. Y ya pueden ver que voy a tratar de mover esto. Se movió esto, así que está perfectamente aquí. Lo que van a ver ahora en realidad voy a saber lo que voy a hacer es por nuestra propia custodia, vamos a hacer algo que se llama cartelera Lo que es una cartelera es básicamente una pequeña textura dos D, que siempre será la cámara Facabo Vamos a asegurarnos de que esté oculto en el juego, pero visible, así que solo podremos ver un editor. Entonces ahora podemos entrar si queremos hacerlo. Simplemente podemos hacer clic en esto y lo seleccionará. Tenemos uno y dos puntos. De hecho vamos necesitamos muchos más puntos que que sólo dos. Y lo que finalmente vamos a hacer es cubrir toda la pista con estas splines Entonces eso es lo que vamos a hacer ahora. Se tardará un tiempo, y cuantos más puntos añadas, más información obtendrá y más refinada va a ser. Entonces, para ello, das clic en el siguiente punto. Podemos arrastrar por ahí. A estos se les ocurrirán dos puntos extra. Cada vez que selecciones un nuevo punto, ellos crearán los puntos tangentes Estos puntos tangentes cambiarán lo duro que es el giro duro Ya que va a cambiar la forma en la que quieres darle la vuelta. Entonces, si hiciste más grande, nosotros podemos hacer estos. En realidad, si hacemos clic en este de aquí, queremos cambiar de local a mundo. Podemos hacer que esto tenga un plazo realmente largo, o podemos tener esto realmente corto. Ahora mismo, en realidad, no quiero hacer ningún cancionero Control bloqueado. Voy a volver. Entonces haciendo clic en este pequeño punto aquí, voy a arrastrar esta parte hasta tal vez el final de la curva. Vemos que estamos llegando a este punto. Después usando la tecla Alt para duplicar, entonces puedo arrastrar otro punto hacia fuera, y vamos a conseguir que esto esté en algún lugar donde queremos que esté abajo. Vamos a un punto ahí dentro, y hagamos otro punto. Puede ayudar traerlo de vuelta a las coordenadas mundiales. Y ve a estirar esto uno más para sacarlo aquí, y luego probablemente queramos volver a entrar en él. Ahora bien, ya ves que este es un comportamiento realmente extraño aquí. ¿Qué está pasando? Desconecta de la columna vertebral. Haga clic de nuevo. Lo que podemos ver aquí es cuando hacemos clic en esto, pueden ver que esta es una tangente muy larga, así que voy a arrastrar esto y traerlo Así que ahora puedes ver que es un poco más de eptin, en realidad podría incluso alargar esta tangente porque queremos un poco de giro grande, o podríamos sacar esto porque queremos que los jugadores se a colación porque queremos que los jugadores se adentren profundamente en Como pueden ver ahora, así es como vamos a estar haciendo una pista. Vamos a dar la vuelta a donde va. Entonces. Para el resto de esta lección, quiero que salgas y hagas el resto de esta pista. Yo lo haré contigo. Podría subir mi micrófono para que no me oigas enfocarme, pero esto se hará. El o. bien, sí, estamos recién llegados al final de esto. Entonces, una cosa que realmente podemos hacer fácilmente ahora para terminar esto, si haces clic en el lomo aquí, podemos bajar y hacer un bucle cerrado, y lo apagará. Se puede ver que aquí hay un poco poco poco poco poco poco confiables. Podemos arreglar esto encontrando la tangente aquí. Tangente de curva personalizada. Simplemente haz un lineal ahí. Ahí vas. Agradable y fácil. Haz una tangente lineal aquí. Oh, no, es que obtienes toda la curva, lo cual es realmente agradable y manejable. Entonces ahora obtienes una pista completa aquí para ir. Incluso puedes esconder el avión, y verás que la pista está bien para ir. La siguiente lección la veremos todavía, siguiente lección, veremos el modo de juego y las entradas y luego, finalmente, grúas el auto. Fantástico. Te veremos en la siguiente. 5. Coche tragamonedas: entrada: Bienvenida de nuevo. Deberías haber conseguido una pista ahora agradable y completa, y es hora de empezar a hacer algo del gran levantamiento de este prototipo. Entonces necesitamos configurar nuestras entradas, y también tenemos que configurar nuestras clases, que es nuestro modo de juego, nuestro controlador de juego, y jugaré un peón Quiero comenzar esto haciendo algunas entradas. Entonces vamos a hacer lo mismo que hicimos la última vez. Lo que vamos a hacer es ir al contenido, clic derecho en un cajón Mil, hacer una nueva carpeta, y vamos a sacar las entradas. Y entonces tendremos todo lo que realmente me gustaría hacer es un IA en realidad. Sólo necesitamos una IA. Sé que necesitamos dos IA, en realidad, uno para el jugador uno y uno para el juego dos. Entonces vamos a tener esto llamado botella de subrayado IA. P uno. Bueno, vamos P uno, sí. Sí, así que lo que solo queremos hacer es abrir nuestro archivo IA. Queremos otra vez, solo asegúrate de que sea Access Wandi. Esto se debe a que en realidad vamos a imitar lo duro que están impresionados los archivos A pesar de que estamos usando un teclado, que es solo una especie de entrada binaria, donde está encendido o apagado. Es posible que desee implementar esto dentro tal vez un controlador o podríamos en realidad más adelante porque está usando un Access Wandi nos va a permitir tal vez hacer algo como la aceleración también Podemos hacer uno realmente agradable y fácil ahora, Control C o copiar o podemos duplicar. Y lo hará automáticamente porque tenemos uno al final, automáticamente agregará el número dos al final, lo cual es agradable y fácil salvarnos. Entonces hagamos un IMC. Así que en contexto de mapeo de entrada, vamos a llamarlo IMC, guión bajo, SlackR Porque de nuevo, podríamos Probablemente deberíamos empezar a llamar al default, pero es solo una buena manera de saber cuáles estamos haciendo. Y vamos a añadir dos mapeos. Entonces la primera va a ser 41, y eso va a tener la W y la segunda va a ser la caída dos. Y eso va a tener tablero. Pero yo como lo. Solo un recordatorio rápido para obtener fácilmente la llave que quieres usar este pequeño botón aquí. Nosotros lo pondremos. Mismo adiós. Guarde eso. Esos insumos son un poco agradables y fáciles de hacer ahora. Así que tenemos una caminata, agradable, fácil de llevar, y hemos hecho algunas entradas. Ahora sólo tenemos que hacer todas las clases. Ahora, vamos a hacer esto un poco diferente, como te acabo de mencionar cuando estamos haciendo las entradas. Pero normalmente con los juegos multijugador, tendrás dos peones de jugador, tendrás dos personajes de jugadores, dos controladores de jugador porque tienes dos métodos de entrada diferentes que lo tratan, lo que significa que tendríamos tal vez dos controladores para controlar cada auto Ahora, con este juego, en realidad estamos usando el teclado para ambos controladores, lo que significa que básicamente necesitamos delegar esas entradas a dos actores diferentes través de un aula misma. Así que podríamos usar un controlador de reproducción, y voy a configurar todo ese camino. Pero en realidad, vamos a hacer un peón de jugador, que luego controla a dos actores Esta es quizás una forma bastante enrevesada de mirarlo, pero es una muy buena manera de aprender cosas como adjuntar y gestionar eventos a través Entonces voy a hacer tres cosas. Lo primero, voy a hacer un modo de juego, que voy a llamar modo de juego de carrera BP, que automáticamente voy a entrar en la configuración del proyecto y al set. Así que sí, BP race game mode amabilidad conjunto. Entonces voy a hacer un peón, eso va a llamarse BP ontroller Ahora, va a ser un poco confuso, pero de nuevo, esto va a tener mucho más sentido cuando nos metamos Y vamos a hacer una última, que es sólo un actor porque realidad no estamos poseyendo esto Esto no está recibiendo ninguna entrada. El pan es, y luego los peones van a delegar la entrada. Vamos a hacer un actor llamado BP car pero agradable y fácil, estos fans libres. Lo que instantáneamente podemos hacer rápidamente es abrir nuestro controlador porque necesitamos hacer un par de pequeñas cosas. También deberíamos abrir nuestro modo de juego mientras estamos en el modo de juego, asegurarnos de establecer nuestra clase de peón predeterminada para que sea nuestro peón controlador BP Vamos a asegurarnos de que hereda en el nivel, pero por si acaso siempre es útil tenerlo Entonces dentro de nuestro peón, realmente montamos una cámara. Porque así es como vamos a ver. Vamos a tener una cámara porque es realista, estamos haciendo una especie de juego para un jugador, pero estamos teniendo estamos teniendo ese control dos cosas diferentes para dos personajes diferentes Entonces lo que necesito que hagas es abrir nuestro controlador de auto, nuestro peón controlador BP Entonces vamos a agregar, y vamos a agregar una cámara. Y ahora podemos sacarlo fácilmente de nuestro tipo. Ahora, ahora podemos meter nuestro peón controlador aquí, y se puede ver que está bastante encendido Si giro esa cámara, entonces está mirando hacia abajo, y luego es solo sacarla. Simplemente me doy cuenta ¿por qué no hay luces direccionales? Oh, el avión está encendido. Ahí vas. Puedes ver que puedes ver aquí, también es bastante brillante, y si tal vez solo giramos esto, así cabe. Correctamente eso está al revés. No es un Tg 108 ahí va. Se puede ver que es muy brillante. Y eso es normalmente por la exposición de la cámara. Así que podemos arreglar esto si entramos en nuestra cámara, y luego hacemos clic en para la exposición. Verás aquí todos estos ajustes, que son ciertas partes. Lo que mirarás es el mínimo y máximo EB 100. ¿Es esto realmente algo realmente interesante, porque está tratando de encontrar el nivel de luz adecuado entre estos dos valores masivos? Y estos son el valor más bajo que podría ser y el valor más alto que podría ser. Entonces, lo que queremos hacer es en realidad pasarlos a un valor predeterminado. Entonces voy a poner estos dos para dos. Entonces está un poco encerrado a la exposición de dos. Y entonces ves que esto se vuelve mucho un poco más vibrante y menos brillante. Podemos incluso si quisieras bajarlo de nuevo, algunas personas podrían querer que bajara a uno. Creo que cuanto más bajo es, más brillante se pone, que incluso podemos llevarlo a la libertad, y eso podría funcionar perfectamente bien. Agradable y fácil. Si bien estamos en realidad tenemos que controlar o empeñar, lo que realmente queremos hacer cuando nos aseguramos de que lo tenemos aquí es mirar hacia abajo, igual que hicimos con nuestro último prototipo, queremos asegurarnos de que esto está siendo un desastre Y tenemos que asegurarnos de que estamos haciendo clic en la raíz aquí ego. O para poseer, vamos a tener jugador cero, agradable y fácil. Ahora, ahora deberíamos ser lo suficientemente buenos para continuar y luego ahora hacer que el rector de autos comience a dividir todos nuestros eventos y prepararlo para que salga rector de autos comience a dividir todos nuestros eventos . 6. Coche tragamonedas: crea el coche: Fantástico. Bienvenido de nuevo. Ahora tenemos nuestros actores todos establecidos, y también tenemos nuestra pista pista para ir Ahora podemos empezar a fabricar nuestro auto, lo cual va a ser muy, muy agradable y fácil, en realidad, porque tenemos esta columna vertebral, y todo lo que queremos hacer es que el auto conduzca por la columna vertebral. No debería ser tan duro como queremos que sea. Ahora, eso lo digo, y estoy tocando un poco de agua mientras lo digo. Entonces lo primero que hago es abrir nuestro porno de autos. Por el momento, realmente no tenemos mucho para nuestro auto. No tenemos malla para auto. Tal vez tarde o tal vez más tarde o podamos hacer una sesión de extensión, que repasa donde podemos encontrar activos para poner aquí. Este no es un curso de creación de activos. No estamos haciendo libertad en esos. No estamos haciendo esas cosas. Sólo estamos aquí haciendo juegos con lo que tenemos. Así que solo voy a usar un cubo tubos Tubos salirse con la suya con un montón de cosas, y es muy fácil de usar. Y este es nuestro cubo. llamar a esto Llamemos a este carro malla. Este es nuestro costo. Puedes usar algo de imaginación aquí. Incluso podríamos agregar una flecha a esto, pero en realidad agreguemos una flecha a esto. Las flechas son pequeñas cosas realmente poderosas que nos ayudan a estimular donde buscan los autos porque todo esto es lo mismo. Todo es simétrico. Tenemos que asegurarnos de saber qué camino es el frente. Y así ponemos esta pequeña flecha aquí, y podemos hacer clic en Ocultar en juego apagado en la flecha solo un poquito, para que incluso podamos ver cuando jugamos el juego donde está orientada la flecha. Por caja fuerte. Abramos nuestro gráfico de eventos. Aquí tenemos un par de cosas. En realidad, lo que nos gustaría hacer aquí es que primero tenemos obtener la pista de un automóvil para que sepamos el paradero que va, y luego queremos asegurarnos de que queremos mover el auto por la pista Entonces, necesito hacer una nueva variable. Voy a llamar a esto. En realidad, no vamos a hacer una variable vamos a hacerlo un poco diferente. Lo que voy a hacer es No, no, no, sí. Vamos a hacer una nueva. Entonces voy a hacer una nueva variable. Lo voy a llamar actor de pista o pista, Vamos a llamarlo actor de pista. Actor de pista. Y esta va a ser una pista de subrayado de tipo variable BP Actor. Ahora bien, esta es una lección muy divertida aquí donde cualquier actor que hayamos hecho o cualquier clase de plano que hayamos hecho, en realidad podemos establecer eso como una variable Podemos establecer una referencia de objeto, lo que significa que esto obtendrá una referencia de algo dentro del mundo. Si quisiéramos una referencia de clase, podríamos entrar suf. Quizás podríamos acceder al relleno de esa clase, pero eso no nos permitirá acceder a nada que ya esté en el mundo del juego Entonces queremos obtener esta referencia de objeto. Vamos a instancia es exponer en spawn porque en realidad queremos establecer esto en el mundo del juego o en el editor, hacerlo agradable y fácil Entonces lo que voy a hacer dentro de nuestro evento empieza a jugar. Voy a conseguir nuestro actor de pista, y voy a conseguir nuestro spline Obtener pista. Todavía no recuerdo cómo lo llamé en realidad. Obtener spline de pista. Y lo que vamos a hacer es conseguir la longitud de la columna. Obtener la longitud de la columna vertebral. Lo que va a hacer esta espina dorsal es que esto sólo va a decirnos cuánto dura esta pista Necesitamos saber qué tan larga es la pista. Pero una es ver lo lejos que estamos en la pista y saber cuándo llegamos al final de una pista para que podamos recorrerla más adelante en este curso. Entonces y luego queremos asegurarnos de que esto se establece como una variable. Clic derecho, promueve una variable. Vamos a llamar a esta pista. Agradable y fácil. Ahora bien, lo que vamos a hacer es que esta podría ser la primera vez que hacemos esto, pero ya hemos estado usando muchos eventos pre hechos previamente. En realidad vamos a hacer un evento personalizado. Ahora, lo que es un evento personalizado es realista, es un evento al que puedes llamar cuando quieras No tiene ninguna lógica preexistente en él, que se llamará automáticamente. Tienes que llamarlo tú mismo. Lo que vamos a hacer es agregar personalizado. Y vamos a llamar a esta jugada porque eso es lo que va a hacer. Y todo lo que queremos ahora mismo, ¿ese auto es que se mueva? Entonces tenemos este evento de autos de mudanza. Y lo que vamos a hacer es que vamos a añadir, ¿y vamos a conseguir esto? Vamos a agregar una entrada. Ahora bien, lo que hace sumar insumos es cada vez que llamamos a este evento que ahora llamamos coche de movimiento, nos va a pedir que pongamos una entrada. Ahora bien, lo que esto va a hacer es que lo vamos a llamar acelerador, y vamos a llamar tener esto como flotador. Probablemente va a ser de ese lado. Vamos a cambiar algunas entradas en un poquito para arreglarlo también. Entonces vamos a arrastrar fuera de esto. Y voy a hacer yo mayor hecho, cero. Vamos a hacer un brunch. Queremos que algo suceda. La razón por la que vamos a hacer esto es que si este acelerador es mayor que cero, queremos que el auto se mueva. Entonces voy a añadir unas nuevas variables que van a llamarse velocidad. Y va a ser una carroza. Y vamos a agregar una segunda variable que se va a llamar distancia. Y esto también va a ser un flujo. Esto es lo lejos que va a ser la pista más larga. Y todo lo que queremos hacer ahora, en realidad, es así que vamos a agarrar nuestro acelerador. Vamos a hacer un plus, y vamos a hacer plus speed. Y entonces vamos a sujetar esta causa queremos una velocidad máxima. Sujete este flotador. Digamos que vamos a sujetarlo para liberarlo. Incluso podríamos tener esto como velocidad máxima. Vamos a establecer este conjunto esto como Max speed, que como hicimos con nuestro último, vamos a establecer esta instancia es lo que expongo y span, y eso va a por defecto a libre. Y luego vamos a establecer velocidad, establecer velocidad. Entonces, si va un acelerador, vamos a aumentar nuestra velocidad. Si nuestros aceleradores no van, vamos a poner nuestra velocidad a cero Va a disminuir la velocidad. Entonces lo que queremos hacer es la forma en que realmente manejamos es que queremos mover el auto a lo largo de la columna vertebral por lo rápido que va. Entonces voy a tomar distancia, y voy a hacer este plus. Voy a agarrarlo directamente de velocidad. Esto va a obtener el nuevo número de velocidad y solo permitirme luego introducirlo en otra cosa. Y entonces lo que podemos hacer es entonces de distancia. Entonces, lo que hemos hecho aquí es que hemos acelerado y luego vamos a establecer qué tan avanzado hemos llegado. Y entonces necesitamos realmente mover al actor. Porque nos estamos moviendo junto con spline, la forma en que voy a hacer esto es que voy a arrastrarme Voy a hacer set actor, ubicación y rotación. Podríamos establecer una transformación extra, pero en realidad no necesitamos cambiar la escala del auto. No queremos hacer eso, así que solo podemos configurarlo como esto. Vamos a moverlo como nosotros mismos, y necesitamos encontrar dos nuevas ubicaciones. Lo que ahora voy a hacer es usar el nodo. Sin embargo, transformarse a distancia a lo largo de la columna vertebral. Así que voy a hacer. Sin embargo, transformarse a distancia a lo largo de splat. Y tenemos que hacer clic en Contact Unsensitive off y eso va a aparecer. Y qué voy a hacer a medida que voy en realidad voy a hacer clic con el botón derecho sobre este, y luego partirlo y luego vamos a obtener nuestra spline pulmonar a distancia Lo que necesito para asegurarme es que esto se establece el mundo porque en realidad queremos obtener la ubicación de la columna vertebral del mundo, no la ubicación de la columna vertebral, cuando la estamos adjuntando desde el jugador. Entonces sí, entonces tenemos esta increíble función aquí. Ahora tenemos que propagar esto. Agradable y fácil. Esto es algo que se explica por sí mismo. Nuestra ubicación va a entrar en eso y nuestra rotación también va a entrar en eso. Esto va a mover el auto a una nueva ubicación y asegurarse de que está girando de la misma manera que gira la pista, por lo que el auto parece que está circulando por la pista. Nuevamente, no necesitamos escala porque no vamos a mover la escala de esa. Queremos asegurarnos de que esto se ponga al mundo porque queremos que la ubicación dependa dónde se encuentre la pista en el mundo, no dónde esté la pista dependa del actor. Eso haría un tema masivo. Ahora, necesitamos obtener un componente de columna vertebral. Ahora, por suerte, tenemos aquí una referencia al actor de pista. Ahora tenemos que hacer obtener seguimiento. Y creo que es track spine, agradable y fácil. Y queremos llegar a distancia. Por suerte, tenemos un bonito ya tenemos una buena variable que llamamos distancia hicimos que compilan seguros. Y esto en realidad está casi hecho. Antes de dejar esto, queremos asegurarnos de que tenemos todo en común. Entonces este de aquí, voy a voy a simplemente establecer obtener longitud. En los arranques. Esto va a ser muy útil en un poquito. Y luego porque en realidad están pasando muchas cosas, voy a venir con todo esto. Voy a hacer movimiento. Movimiento, lo he escrito incorrectamente. Movimiento, Movimiento, Movimiento, Lógica. Y luego vamos a usar si haces clic derecho sobre las cosas, ya ves que podemos empezar a usar los comentarios de nodo. Voy a poner no co todo lo hecho. Y puedes empezar a ver estos cargados. Este Podemos simplemente, como, asegurarnos de que la velocidad del auto no vaya demasiado alta, llegar a una nueva ubicación en esta línea. Yo cuerpo escribí algunos de estos y los hago muy frecuentemente. En la columna vertebral. Agradable y fácil. Y esto sólo nos va a ayudar un poco más, especalmente cuando miramos un poco hacia atrás Entonces ahora tenemos que volver a nuestro peón controlador. Entonces ahora para agregar algo de lógica al juego peón el peón controlador Ahora bien, lo que realmente queremos hacer aquí es que necesitamos establecer una variable. Y en realidad, voy a configurar dos variables aquí. Sí, vamos a configurar. Vamos a configurar, vamos a configurar sólo una variable. Este va a ser jugador 1 bar. Y esto va a ser un subrayado de BP. Actor. Vamos a asegurarnos de que sea un insensible, expuesto y span, y vamos a establecer esta categoría requerida Nosotros hacemos éste. Es agradable y fácil en letras capta así que sabemos qué hacer Ahora, lo que ahora tenemos que hacer es establecer nuestras entradas. Puede que no hayamos hecho esto antes, así que necesitamos hacer un evento. Empezar placa. Y en lo que tengo que hacer es conseguir el controlador del reproductor. Aunque este es un controlador de cable, no es el controlador del reproductor. Esa es otra clase por encima de ella. Y vamos a hacer obtener un subsistema de reproductor local de entrada mejorado, exactamente lo mismo que hicimos en nuestro anterior. Y luego mientras estamos aquí, solo lo hacemos agregamos contexto de mapeo. Y vamos a agregar el contexto de mapeo que hicimos en nuestra sesión anterior. Agradable y sencillo. Así que ahora podemos acceder a todos estos contextos de mapeo para dos acciones de entrada. Voy a hacer, creo que se llamaba IA subrayado B es todo P uno Y va a llegar a tener un valor flotante también. Entonces lo que ahora puedo hacer es arrastrarme de mi jugador O auto porque es acelerador P uno Me voy a mover. Y porque editamos nuestra entrada, y vamos a establecer nuestra referencia a este jugador Un carrito aquí, voy a obtener nuestro valor de acción. Entonces, ya sabes, es el valor de la acción y ponlo en eso. Voy a hacer clic en Reproducir Guardar. Nos hemos asegurado de que nuestro autobus juegue. Y ahora tenemos que asegurarnos de que nuestro jugador uno tenga un auto. Entonces voy a hacer click. En realidad no podemos acceder a nada ahora mismo. Acabo de darme cuenta que dice Track. Eso no debería decir pista. Jugador un auto. Pista. Aún no hay actor que adjuntar a eso. Interesante. Oh, es porque aún no hemos agregado un auto. Eso es tan tonto. Solo vamos a arrastrar un auto. Se puede ver en realidad, necesitamos establecer un actor de pista aquí, así que voy a poner ahí al actor de pista. Vamos a agarrar nuestro controlador de jugador. Vamos a asegurarnos de que sea el actor de autos. Ahora, si haces clic en Reproducir, debería cargarse. Y se puede ver que nuestro auto despacio está conduciendo por el auto. Es bastante lento en ese momento, ¿no? Vamos a averiguar cómo acelerarlo. De hecho, podemos acelerar fácilmente porque en nuestro auto, establecemos cuál podría ser nuestra velocidad máxima. Vamos a poner eso decir tal vez diez. Veamos cómo va esto ahora. Esto sube mucho más rápido ahora. Podemos ver cuánto va. A lo mejor lo dijiste nosotros dijimos que son 25. Mira lo rápido que va ahora. Y verás que esto va por toda la pista. De alguna manera hemos hecho un auto que recorre todo el camino por la pista. Buen trabajo hasta el momento. Ahora, los veré en la próxima sesión. 7. Coche tragamonedas: lapeado: Bienvenido de nuevo. Esta es una lección agradable, fácil, pequeña. Es principalmente una especie de asegurarnos de que podamos dar la vuelta al auto. Una vez que el auto llega al final, posible que te des cuenta de que solo se pega al final. Probablemente también deberíamos retroceder para la cámara. De hecho, podríamos si lo agregamos como una nueva ventana de ventana gráfica, nos permite ver todo el asunto Pero en realidad, cuando lo haces, queremos quizá retroceder un poco más. Entonces por el momento, vamos a venderlo a 9,000 z entonces podemos hacer click Vamos a venderlo a 9,000 Mz. Jugamos y conseguimos una pantalla completa ahora. Si quieres que el juego salga como una ventana como esta, haz clic en tres puntos aquí, usa PIE, nueva ventana del Editor. Entonces como digo, si jugamos al auto el juego ahora, conduce por ahí va a llegar al final. Consiga este genial auto manejando. Y ¿me puedo quedar atascado al final? Entonces, lo que realmente queremos hacer es que ya tenemos la longitud de la pista. Entonces al final, queremos hacer llegar distancia. La distancia I es mayor o igual que la longitud de la pista. Entonces, si la distancia a lo largo de la pista es mayor que la longitud real de la pista, queremos hacer una rama, y queremos establecer nuestra distancia de nuevo a cero, lo que la establecerá todo el camino de regreso al inicio. Entonces voy a establecer un comentario aquí cuando termine vuelta Cuando termine la vuelta, seguimos conduciendo. Ahora bien, si quisiéramos agregar algo de lógica de juego extra aquí, ahora sabemos cuándo el auto ha hecho una meta en una vuelta. Entonces tal vez podríamos tener algo en el modo de juego para saber eso. Nosotros compilamos, ahorramos. A ver si esto funciona. Entonces vamos a hacer clic en Reproducir, conducir el auto por ahí. Deberíamos hacer la prioridad de sombreado de tablero, también. Podemos hacer eso después de esto para deshacernos de ese mensaje de error. Y llegamos al final, y se sigue dando vueltas. Buen trabajo. Mientras estamos aquí, vamos a ordenar este mensaje sombreado hacia adelante así hacemos clic en las luces direccionales Adelante, sombra y vamos a decir que uno, agradable y fácil. Ese es el final de esta pequeña lección. próxima sesión, vamos a tratar de hacer que el auto se acelere, disminuya la velocidad , vaya con algo de ímpetu porque en el momento en que soltamos nuestro auto, simplemente paramos. 8. Coche tragamonedas: impulso: Así que acabamos de terminar conseguir que el auto siga dando vueltas después de que haya terminado su primera Ahora, volvamos al auto y tratemos de hacer que conduzca un poco mejor, tal vez darle un poco de jugabilidad real que no sea solo presionar un botón hacia abajo. Entonces por el momento, si hago clic en placa, el auto va y se detiene en cuanto lo suelte. Ahora bien, si bien eso puede ser algo que te puede gustar, me gusta bastante la idea de que si dejo ir el auto da la vuelta un poco, tal vez tenga que dejar ir a la vuelta de la esquina. Entonces, como que se arrastra un poco más despacio. Y para ello, necesitamos actuar ahora para conseguir que el auto se desacelere cuando cuando soltemos el botón Así que vamos a hacer esto un poco diferente solo porque con la nueva actualización a UE cinco y especialmente 5.2 y 5.3 y el nuevo sistema de entrada mejorado hemos estado usando, por ejemplo, las acciones de entrada y los IMC La forma en que esto solía funcionar cuando solíamos hacer este proyecto con nuestros alumnos en ONAL cuatro es que podíamos usar este tipo de para todo. Siempre que se usaba un mapeo de acceso, se ejecutaba constantemente cada tick. Ahora solo se está ejecutando cuando se está activando, lo que significa que tenemos que hacer un poco de diferencias aquí. Por ejemplo, vamos a tener que deshacernos de esta parte, y también voy a mover rápidamente esta parte y solo usar esta velocidad. La razón es porque realmente vamos a cambiar la velocidad en una función diferente, y no queremos usar esta velocidad establecida cuando volvamos a entrar en ella. Entonces, en realidad queremos tener una variable completamente nueva. Esta nueva variable se va a llamar acelerador, y vamos a establecer esto para que sea flotante. Lo que voy a hacer es que lo voy a hacer en cuanto nos movemos esto se active, vamos a establecer esto y vamos a entonces, mientras estemos aquí, solo cambiemos esto. Entonces, lo único que sucede es que se establece instantáneamente, y luego se ha usado aquí y aquí. Agradable y fácil. Ahora bien, la razón por la que estamos haciendo eso es en realidad porque queremos verificar si se está usando este acelerador. Y si esto es otra cosa que no sea cero, va más alto o más bajo. De hecho, podríamos deshacernos de esto ya que ya no necesitamos hacer este cheque aquí ya que haremos este check in 1 segundo. Simplemente lo borro, y no debería haberlo hecho. Sí, podemos mover esto de nuevo. Lo que voy a hacer es que voy a abrir mi control de BP sobre. Entonces vamos a agarrar a nuestro jugador un auto. Vamos a hacer set brottle y voy a arrastrar esto al valor completado y ponerle esto a cero, lo que significa que cada vez que lo soltemos, eso es lo que hace aquí la pestaña completada, pondrá a cero Así que como volviendo ahora, queremos comprobar si este valor aquí es alguna vez cero. Entonces lo que podemos hacer es que en realidad solo puedo hacer iguales, y vamos a hacer igual a cero. Y si lo es, quiero hacer quiero hacer algunas matemáticas. Entonces lo que voy a hacer es que voy a conseguir velocidad, y voy a multiplicarla. Por la tasa de desaceleración que queremos hacer. Ahora, esta tasa de desaceleración será exponencial. Entonces no va a ser un lineal. No va a estar bajándolo por menos uno. Como se puede ver, esto se acelera bastante linealmente. Agrega uno cada vez, donde realmente vamos a desacelerar exponencialmente, lo que significa que este valor va a disminuir más rápido en la estrella y luego se va a desacelerar cerca del Entonces voy a agarrar y hacer una nueva variable. Entonces voy a promover una variable. Voy a llamar a esto desaceleración, ¿verdad? No, eso es velocidad. ¿Cómo vamos a establecer esto para que sea D Llamemos a la tarifa D. D, ¿ya tenemos esto? Puede que ya tengamos esto. Ya tenemos uno. Es porque ya hice esto. Sólo voy a borrar esta. Entonces voy a llamar a esta tarifa D. Y si no has estado organizando tus categorías, voy a ponerlo yo haría una categoría llamada stats, pondría en eso, la pondría en satis instantánea Y luego vamos a establecer la velocidad. Entonces si, si esto es cierto, vamos a conseguir la velocidad, y luego vamos a volver instantáneamente a bajar hasta aquí. Así que solo paso por esto un poco aquí, voy a sacar eso. Lo que está pasando aquí es en un segundo, vamos a agregar un evento, pero si el acelerador es cero, por ejemplo, si hemos soltado el acelerador, se va a poner va a ralentizar la velocidad. Entonces será veces la tasa D, que será de 0.95 Vamos a establecer la tasa D en punto cero. Lo hemos establecido en 0.95 Entonces digamos que 15 veces 0.95 va a ser algunas matemáticas realmente rápidas, probablemente abajo alrededor Y entonces 13 veces 0.95 va a ser 11 y yada yada yada baja Las matemáticas no están completamente ahí, pero la idea tiene sentido. Y luego va a continuar con el restaurante. Va a seguir en movimiento. Va a seguir en movimiento. Y la forma en que queremos verificar esto es usando un nodo o realmente usando un evento llamado event tick. Normalmente, dentro de cuando teníamos cuatro años, nunca necesitábamos usar un eventk e intentaríamos evitar usar eventi cuando pudiéramos Pero este evento es en realidad un evento muy común que ve en mucha programación. Y este es un evento que se dispara cada fotograma por juego. Ahora bien, esto puede parecer, Oh, esta es una manera muy fácil de poner en marcha las cosas continuas, algo que comprueba todo el tiempo. No quieres poner muchas cosas en tus eventi. Solo quieres poner tus cosas más importantes y no mucho. No pongas nada que no necesite ser revisado en cada fotograma, porque si empiezas a agregar muchas comprobaciones y mucha lógica a cada fotograma, solo va a ralentizar tu juego. Entonces voy a hacer eventic. Voy a guardar compilar. Va a tener ese retoño. Voy a hacerlo ahora. Y luego si hacemos clic en placa verás que se mueve, y luego cuando la soltamos, va bajando lentamente. Si cambiamos esa tasa, entonces es 0.99 aquí, pero voy a poner 0.9 aquí Se va a desacelerar a un ritmo más rápido. Entonces, cuanto menor sea el número, más rápida será la tasa de desaceleración Entonces si conduzco, suéltalo, puedes ver que de acelera mucho más rápido. Eso es fantástico. Ahora, vamos a pasar la siguiente lección, vamos a hacer realmente agregar algo de juego a esto. Así que vamos a asegurarnos de que si vas a la vuelta de una esquina demasiado rápido, podría echarte o podría impedirte conducir porque en este momento, no hay ninguna razón no solo para mantener el acelerador abajo. Vas a la vuelta de una esquina a 100 millas por hora. Eso no es algo bueno. Entonces te veré en la siguiente lección. 9. Coche tragamonedas: ¡salta de las esquinas!: Entonces, bienvenido de nuevo para dar la bienvenida de nuevo a la lección de Minis. Ahora vamos a verificar o crear un cheque para asegurarnos de que si vas a Fast Man una esquina, te da como que castiga podrías detener el auto por un segundo y regañarte Así que la forma en que vamos a hacer esto es en realidad en el plano del auto Entonces, si abrimos el auto Blueprint, y de hecho vamos a crear algo nuevo aquí, vamos a crear algo llamado función Ahora bien, lo que una función es lo que es una función no son gráficas pertenecientes a un blueprint específico que se pueda llamar desde otra gráfica en el blueprint Ahora bien, ¿cuál es la diferencia entre una función y un evento? Una gran diferencia entre eventos y funciones, para lo que los usaré es con una función, normalmente devuelve algo. Entonces en un evento, hace algo, y esas cosas terminan. Con una función, podría hacer algo, podría ejecutar una subtarea, pero normalmente sale con una respuesta o un nodo de retorno. No hay que usarlo de esta manera, y muchas veces la gente usa funciones o eventos de manera bastante intercambiable Yo recomendaría tratar de separar eso. Como digo, me gusta usar las funciones como una forma de responder una pregunta o cambiar algunos datos, lo que podría hacerse una y otra vez, y sale con una respuesta. Entonces, por ejemplo, esta función, estamos como dije, somos función melena, vas a llamar a esta casilla de verificación de esquina Y lo que esto va a devolver es si viene una esquina y si vamos a la velocidad adecuada para ello. Detener. ¿Qué queremos hacer? Esto es realmente agradable y fácil. Voy a agarrar a nuestro actor de pista. Ya sabes, estamos en nuestra función. Las funciones se parecen exactamente a los eventos. La única diferencia es que no puedes hacer algunas cosas basadas en el tiempo en ellas, como líneas de tiempo, y voy a agarrar la columna vertebral, así que consigue rastrear Entonces conseguimos el spline, y lo que queremos hacer es querer llegar a donde está nuestra ubicación ahora u obtener nuestra rotación de nuestro auto ahora y obtener la rotación de lo que van a ser los autos en 100 unidades de tiempo o diez unidades de tiempo Entonces, lo que estamos haciendo es que estamos mirando hacia delante de un auto y viendo si hay una esquina o no. Y la forma en que podemos hacer esto es arrastrando esto hacia afuera y haciendo obtener la rotación a distancia a lo largo de spline Y vamos a hacer esto dos veces. Vamos a hacer esto para la distancia actual, que pueda arrastrar la distancia en potlsin Y vamos a hacer esto por distancia más, digamos, 100 unidades. Más 100. Queremos asegurarnos de que ambos estén puestos a soldar, porque el splin está en el mundo, no localmente para nosotros. Entonces ahora llegamos aquí. Aquí tenemos una rotación actual de un automóvil y cuál será la rotación en 100 unidades de tiempo. Si vamos por una recta, esto debería ser bastante similar. A lo mejor cinco o seis unidades de descuento. Ahora bien, lo que queremos hacer es como hacer algo llamado un igual igual a igual? Ahora bien, lo que 'hacer es doble igual. Y lo que cuando estamos trabajando con rotadores, los rotadores son muy Pueden cambiar de manera muy diferente, y lo más preocupante es que podrías tener el cis apagado y girando de manera similar exactamente de la misma manera, y podría haber un ligero error leve o una ligera diferencia con Ahora, con dobles iguales, tiene que ser perfecto. Pero así nos da algo llamado tolerancia al error. Ahora bien, lo que esto va a hacer es permitirnos agregar un poco de check in aquí. Entonces, por ejemplo, si sumamos diez, siempre y cuando estas dos rotaciones estén dentro de diez entre sí, uh va a estar bien Va a volver diciendo, ¿sabes qué? ¿Sabes qué? No vamos a atravesar una esquina lo suficientemente empinada como para volar fuera del borde. Y eso es importante. El problema que tenemos ahora mismo es que hemos llamado a este cheque de esquina. Ahora bien, lo que esto está haciendo es decirnos si estás en línea recta. Así que queremos revertir esto. Entonces voy a hacer algo que se llama NO. Y NO booling. Y lo que esto hace es simplemente obtener una especie de complemento lógico al booling Entonces, si es verdad, se va a poner falso. Si es falso, se va a hacer realidad. Y vamos a establecer esto como nuestra entrada de retorno, y podemos obtener nuestra entrada de retorno por dos formas diferentes. Podemos o hacer return, y trae a colación este nodo, y llegaste a entrada y salida o podemos hacerlo de manera muy agradable y sencilla, en realidad, es agarrar lo que queremos devolver, meterlo en la entrada, y automáticamente devuelve este valor. Entonces solo para repasar, lo que esto está haciendo aquí es esto es conseguir la rotación ahora mismo y la rotación en 100 unidades de tiempo. Es ver si son lo suficientemente similares como para pensar que está en línea recta. Y si está en línea recta, va a volver como cierto, y vamos a revertir esto porque estamos preguntando si es una esquina. Ahora volvamos a nuestro gráfico de ventilación y donde queremos ahora poner esto en alguna parte. Donde quiero establecer esto es antes de que fijemos la ubicación. Entonces lo que vamos a hacer aquí es que vamos a alargar de aquí y hacer poner check. Se va a llegar a esto. Se va a llegar a una bonita nota. Obtenemos este valor de retorno, y vamos a agregar una sucursal aquí. Voy a hacer otra declaración if. Ahora bien, si estamos en una esquina, queremos que nos gustaría hacer algo. Queremos hacer algunas chenks más. Si no estamos en una esquina, sigue adelante, amigo, sigue conduciendo. Pero si estamos en una esquina, probablemente deberíamos revisar algo. Deberíamos, antes que nada, verificar la velocidad. Entonces, vamos a agarrar nuestra velocidad. Y digamos que si nuestra velocidad es mayor d digamos ¿cuál es nuestra velocidad máxima establecida? Creo que nuestra velocidad máxima se estableció en 25. Sabes lo que en realidad lo que podemos hacer es tomar nuestra velocidad máxima y podemos dividirnos por no sé a qué hora. Nos gusta Tzing. Zing del tiempo es mucho más agradable que dividir Vamos a veces por, digamos 0.8. Ahora bien, esto significa que sea cual sea la velocidad máxima, la va a multiplicar por 0.8 y obtener el 80% de esa velocidad. Entonces si son diez, va a volver como ocho, si son 20, va a volver como 16. Si son 100, va a volver como 80. Y lo que vamos a hacer es que si la velocidad es mayor que el 80 por ciento de la velocidad, va a causar un problema Así que voy a meter esto aquí. Entonces, si esto es cierto, queremos sacar el auto de la pista. Entonces, la forma en que podemos hacer esto fácilmente es que vamos a hacer un nuevo boolin Esto es lo que vamos a hacer. Vamos a hacer una nueva variable a la que se le va a llamar está en camino. También podríamos usar esta capa abajo la línea está en la pista. Y vamos a poner esto a cero. El set es dos de descuento. Entonces vamos a poner nuestra velocidad a cero porque se ha caído de la pista, y luego vamos a esperar un par de veces. Entonces lo que vamos a hacer es que vamos a demorar mucho como lo hicimos en nuestro último prototipo. Vamos a retrasarlo 0.5. Y luego una vez que hayamos esperado 5.5 segundos, vamos a ponerlo de nuevo en una pista. Si es lo que estamos escuchando, si estamos haciendo la velocidad correcta, ya sabes qué, sigue conduciendo. Incluso podemos alargar esto un poco. No es lo que queríamos. Vamos a arrastrar esto por aquí. Vamos a hacer estallar esto aquí, y así se ve un poco más agradable. A mí me gusta quedarme con esto. Entonces esto es lo que va a pasar ahora. Incluso podríamos usar nodos de rearranque aquí para ponerlos correctamente Entonces se ve un poco más agradable. Pero así nos falta una cosa aquí, y por el momento, esto va por buen camino hace npc Y donde vamos a volver aquí es que vamos a agarrar nuestro In track. Vamos a hacer una rama, y vamos a firmarla hasta aquí, lo que significa que no podemos aplicar acelerador si no vamos por buen camino. Así que vamos a probar. Vamos a carnero directo a la primera esquina. Oh, me acabo de dar cuenta, asegúrate. Antes de hacer esto, asegúrese de que nuestro I on track esté configurado a través de anuncios predeterminados. Nos vamos a ir. Vamos a Vamos a ir directo. Y ve de paradas porque estoy empujando demasiado fuerte aquí. Ahora, si vuelvo, pongamos nuestra tasa D en 0.98 Y si dejo pasar por ahí, tengo que soltarlo antes de ir a la esquina. Quizá queramos jugar con la velocidad aquí. Juguemos, pongamos nuestra velocidad a 50. Vemos que nos estamos dando vueltas por ahora. Estamos pasando por caernos fuera de la pista. Oh, nos caímos derecho ahí. Ahora bien, la razón por la que estamos haciendo esto es porque si no lo hiciéramos, no habría razón para competir en este juego porque este juego solo sería quien pueda presionar para WK por primera vez Ahora hemos agregado un poco de habilidad a este juego. Depende completamente de ti establecer estos pequeños valores y perfeccionarlos a donde quisieras. Incluso podrías establecer esto a una tarifa diferente, para que puedas tener una cornisa Incluso puedes volver a aquí y tal vez establecer esto en 15 o digamos 20, lo que significa que solo las esquinas realmente duras, tienes un descanso para las esquinas realmente duras. Ahí vas. Y eso depende de ti ir y hacer. Entonces, en la siguiente lección, vamos a volver, y en realidad ahora vamos a agregar multijugador. Pero una gran parte de este juego, vamos a agregar el multijugador a esto, y va a ser muy, muy fácil. 10. Coche tragamonedas: agregar multijugador: Ahora, bienvenido de nuevo. Esta es una parte muy divertida de este proyecto. Ahora vamos a conseguir que funcionen dos autos. Esto es mucho más fácil de lo que crees que podría ser. Ya tenemos un auto funcionando. Ya tenemos el insumo para el segundo auto. Justo ahora necesitamos aplicar esa entrada y ver qué está pasando. Entonces, la forma en que podemos hacer esto fácilmente es abrir nuestro controlador. Ahora necesitamos jugar un auto. Probablemente necesitamos un coche jugador dos. Y podemos hacerlo fácilmente seleccionándolo Control C, Control V. Vamos a moverlo a eso. Y esto ha cambiado esto a jugador. Coche. Pero ahorra. Ahora, hemos mejorado el acelerador IA de entrada P uno. Ahora tenemos que hacer realzado Oh, no, sólo tenemos que hacer yo anoto P dos. Sólo vamos a mapear esto de la misma manera. Entonces agarramos nuestro auto jugador dos. Vamos a hacer el auto Moth. Vamos a adaptar el gatillo. Vamos a establecer valores de acción. Y entonces vamos a hacer lo mismo. Incluso puedo controlar C, controlar V. Porque estamos usando la misma clase, realmente no importa. Pase guardar brújula guardar. Y luego tomemos otro auto. Vamos a agarrar a un actor de autos. Vamos a arrastrar a otro actor de autos aquí. Tenemos otro personaje. Vamos a asegurarnos que el actor de autos sepa dónde está la pista. Entonces vamos a sectar a nuestro actor de pista. Y luego en nuestra sartén de control, vamos a seleccionar a nuestro actor de autos también vamos a seleccionar a nuestro actor de autos. Ahora estamos abajo. Entonces, sí, tenemos un auto ahí, y ves a este otro auto moviéndose tan despacio ¿Por qué crees que se mueve tan lentamente? Porque hemos puesto la velocidad súper lenta. Se puede ver si la velocidad establecida hoy. Pongamos esto a 40. Y ahora echemos un vistazo. Ahora tenemos un auto en movimiento, y tenemos el otro en movimiento. Tenemos dos autos ahora con dos llaves diferentes. Ya sabes, estamos jugando, compitiendo. Si estoy puedes ver dos autos saliendo. Ahora, así de rápido hemos agregado Muri play a este juego Debido a que hemos diseñado este juego y diseñado el marco de este juego para tener dos jugadores trabajando desde el principio, ahora hemos hecho Multi jugador en lo que es menos de un minuto o dos. 11. Coche tragamonedas: fabricación de materiales: Entonces, bienvenido de nuevo. Ahora tenemos multijugador. Ahora tenemos que empezar a diferenciar entre nuestros dos autos Como sabéis, hemos hecho solo para cubos. Si quieres salir y encontrar dos mallas de auto, puedes hacerlo, y eso depende de ti Pero lo que quiero hacer es conseguir estos autos y agregarles un poco de color. Y esta es la primera vez que vamos a volver a hacer materiales de nuevo. Entonces quiero hacer entrar en activos. Quiero que hagas click derecho y hagas un material completamente nuevo. Y este material, sólo se va a llamar, llamémoslo material. Y vamos a llamar a esto ¿cómo deberíamos llamar a esto? Llamemos a esto color base. El mapa de puntuación. Obviamente, los mapas son sinónimo de material. Vamos a abrir esto. Y te vamos a dar la bienvenida al editor de materiales. Editor de Materiales, si alguna vez has trabajado en modelaje antes, si alguna vez has usado Mayer antes, definitivamente podrías reconocer algunas de estas cosas. Pero lo que esto es que estos son todos los diferentes pines y elementos de un material al que puedes acceder y estos cambian sin importar lo que estés haciendo. Y puedes ingresar información a estos, ya sean números, si estás empatado eventos mundiales o si solo agregas algunos mapas a esto. Para nosotros, vamos a hacerlo realmente, muy simple. Los dos que quiero hacer son color base, y también quiero usar un color misivo Así que vamos primero al color base. Y quiero agregarle un color a esto. Entonces voy a tener la llave libre. Entonces voy a mantener pulsada la tecla libre y presionarla hacia abajo. Y va a llegar a tener un vector libre. También podemos hacer vector libre, vector constante. Pero me gusta usar el uno, dos y tres. Uno hace un vector uno, dos hace dos vectores tres, hace un vector tres vector 44. Ya sabes, cinco no hace nada. Así que vamos a agarrar esto y vamos a poner esto en color base, y puedes ver instantáneamente que va a cambiar a negro. Si tocamos dos veces esto y lo cambiaremos a azul claro, cambia a azul claro Voy a intentar dejarlo en blanco para empezar, solo porque el blanco es mucho más fácil de ver como color predeterminado. Voy a hacer click en uno o misiva. Ahora bien, lo que hace una misiva es controlar qué parte del material quieres brillar Entonces, por ejemplo, si tienes una parte del material que quieres cultivar, puedes usar cosas como mapas alfa para conseguir ese tipo. Pero de manera realista, todo lo que quiero ahora mismo es hacer brillar todo el asunto Entonces, y hacemos estallar esto aquí. Y si cambio eso a uno, van a ver que esto es mucho más brillante si lo cambio a cero. Va para Doliga. Ahora voy a mantenerlo bastante aburrido, aquí, porque vamos a agregar un poco de jugabilidad a esto para que este juego se vea un poco, un poco más divertido y para comunicarse cuando te hayas desviado de la pista. Y voy a asegurarme de que ambos se llamen parámetros. Entonces voy a hacer click derecho sobre éste, y voy a convertir a parámetro, y voy a llamar a esta base. Tire hacia arriba. Y luego voy a agarrar este, convertir a parámetro. Voy a llamar a esto emisivo. E doble. Valor por defecto y sus valores predeterminados a uno a uno y cero. Entonces sí, así que hemos hecho este color base, y tenemos el color admisivo y base para Guau, lo que vamos a hacer es que voy a hacer click derecho y voy a hacer una nueva instancia material. Y lo que esta instancia material es realmente interesante. Qué instancia material es básicamente una copia de esto donde se pueden cambiar los parámetros de ésta. Así que realmente grandes bonos de hacer esto. Y más específicamente, estos son mucho más ligeros para hacerlo. Entonces te ayuda. Así que imagina que las agujas son como clases infantiles a materiales. Y el gran beneficio de esto es que ahora podemos comenzar a ajustar estas instancias en tiempo de juego en tiempo de ejecución, al menos, dentro del juego. Entonces tengo esta instancia material, y de hecho voy a poner estos en ambos. Entonces voy a agarrar cada cubo. Voy a ponértelos sólo. Agarra CarmshPoplse en. Cuando abramos nuestro actor de autos, voy a dar click en el CarmSh También voy a mandar una instancia material Ahora, quiero hacer una variable completamente nueva, y este va a ser un tipo que nunca antes habías visto. Entonces quiero que hagas click en Plus, quiero que lo haga llamado Car Color. Voy a hacer click derecho sobre esto, y va a llamarse Color lineal. Vamos a establecer esto en un color lineal. Mientras estamos en ello, lo pondremos en requerido. Vamos a salvar un auto. Llamémoslo también el nombre del auto. Y pongamos esto para que sea un texto. Cachorros en. Entonces estos son algunos datos que estamos dando a cada auto ahora. Quiero que abras nuestro guión de construcción. Lo que funciona el guión de construcción como es esto se ejecuta antes de que se cree el juego, antes de que pase algo, esto se está ejecutando mientras se crea el actor. Entonces esto es lo primero que ese tipo de corre en esto, y aquí es donde quieres establecer, tus valores predeterminados dentro de tu juego Y lo que también es muy útil es que cualquier lógica aquí se ejecuta en el editor. Entonces, si pongo algo que establece el color aquí, va a cambiar el color en el Elea también, lo cual es muy, muy útil Ahora, quiero agarrar la malla de nuestro auto. Voy a hacer algo llamado set vector parameter of materials, set vector parameter value on materials. Voy a meterlo directo. Me va a pedir un nombre de parámetro. Y el nombre del parámetro que quiero usar es color base. Ese es el mismo parámetro que este de aquí, color base. N me va a pedir vectores gratis. Ahora, los colores son realistas libres, solo un vector libre Entonces voy a agarrar el color de nuestro auto. Quiero asegurarme de esta variable. Asegúrese de que esta variable sea editable por instancia. Pero todos estos son editables instantáneamente. Y voy a agarrar esto, y primero voy a salir, me voy a dividir llegar a estos tres colores, rojo, verde, azul y alfa. No necesitamos preocuparnos por Alpha en estos momentos. Voy a dividir ambos, y pueden ver estas bombas aquí. Entonces, sea cual sea el color este sea, va a hacer el auto. Entonces si compilo esto, por el momento el color es Negro se ve un poco. Pero si entro al auto y cambio este Alfa por ser uno, y vamos a cambiarlo para que sea rojo. Lo miramos hacia atrás. Ahora es rojo. Si voy a éste, me puse a ser Alfa para ser uno y configurarlo para que sea azul. Adivina de qué color va a ser. Va a ser azul. Entonces ahora podemos cambiar el color de los autos autos dentro del juego, y ves ambos autos en nuestros dos colores diferentes. Podemos cambiarlos dentro del tiempo de ejecución. Veamos corrió si nos encontramos , si queríamos ponerlos en si queríamos ponerlos un color diferente cuando corren fuera de la pista. Podemos hacer eso ahora usando set scalar y set vector value en materiales Realmente, muy agradable y fácil. Ahora, en la próxima sesión, vamos a hacer alguna interfaz de usuario, y vamos a usar algunas de estas otras cosas que realmente hemos usado para hacer esa interfaz de usuario. Entonces te veré en la siguiente. 12. Coche tragamonedas: adición de interfaz de usuario: Bienvenida de nuevo. Esta es nuestra segunda lección sobre UI. Entonces voy a meterme directo en esto porque casi terminamos con este espartyp Voy a hacer clic derecho en Nueva carpeta UI. Y en esta UI, voy a hacer dos quesos diferentes de UI Voy a hacer una UI, que se va a llamar, voy a hacer dos UI diferentes Voy a hacer mi primera interfaz de usuario, que se va a llamar UI underscore base Y mi segundo va a llamarse UI underscore player stats De verdad deberíamos llamarlos a estos. Realmente debería llamarlos porque eso es realmente una cosa de hacer un subrayado BP y luego subrayar la interfaz de usuario porque se refiere a esto como un plano y luego una UI a esto como un plano y luego una Pero en realidad no debería importar primero. Y me gustaría que abrieras la primera, que será cuál será la estadística del jugador. Voy a hacer algunas cosas realmente interesantes aquí. La última vez hice un panel de lona enseguida, y esta vez no voy a hacer Lo que en realidad voy a hacer en cambio es que voy a usar un par de paneles diferentes para esto. Mi primer panel que voy a usar es algo llamado uh, ¿cómo se llama? Una caja vertical. Voy a usar una caja Vertical. Ahora bien, esto me permite poner varios otros widgets en, y se alinea en vertical. Voy a llamar a esto le. Sólo se llama a esta caja B. Quiero tener algunas cosas aquí. Quiero tener el nombre del jugador, el color, cuántas vueltas así sucesivamente y la velocidad Entonces vamos a hacer velocidad. Hagamos color y nombre primero porque creo que eso es importante. Entonces pongamos una caja horizontal. Esta caja horizontal. Y agreguemos vamos por una imagen. Voy a arrastrar esto ahí, y voy a arrastrar, vamos a hacer lado en pantalla. Y voy a añadir algo de texto en esto, también. Entonces tenemos este bloque de texto, y vamos a llamar a este bloque de texto un llamemos a este nombre de jugador Subrayar texto. Asegurémonos de que el clic es variable también. Asegúrese de que se establece que es variable. Voy a establecer esto en color de capa. Y sólo vamos a hacer imagen. Ahora bien, esta es un poco fácil de hacer, y voy a explicar cómo podemos conseguir esta especie. Quiero asegurarme de que esto sea vamos a poner todo esto también. Vamos a asegurarnos de que esa sea la línea para esto. Después queremos agregar un par de textos más. Entonces voy a agregar, hagamos un par de cajas horizontales más. Entonces voy a agregar otra caja horizontal y luego otra caja horizontal. Entonces esto va a tener la información de los jugadores. Este va a tener los contadores de vuelta, así que voy a agregar dos textos a esto. Y voy a sumar la velocidad. Entonces, de qué tipo esto se va a llamar contador de vueltas, se llama texto. Voy a poner algo llamado P delante de esto, que va a ser el prefijo. No voy a poner esta la variable, y todo lo que voy a hacer es ir al texto aquí y decir vuelta y da voy a poner un espacio ahí también. Este va a hacer el mismo tema. Voy a llamarlo P velocidad se llama texto. La razón por la que estoy usando esa P es el prefijo. Esta es la frase va a estar antes de la información, y voy a poner velocidad. Ahora bien, estos dos son donde realmente vamos a poner aquí la información real. Entonces voy a poner contador de vueltas, guión bajo, texto y asegurarme de que esta es una variable Cualquier texto que queramos cambiar, vamos a asegurarnos de que sea una variable, y voy a hacer velocidad, guión bajo, texto Y establece, es una pila variable segura. No necesitamos hacer ningún anclaje aquí porque todo va a estar en esta cajita. Así que vamos a repasar estos uno por uno y cómo vamos a obtener esta información. Entonces en nuestra gráfica, vamos a entrar aquí y vamos a hacer algunas cosas. Lo primero que voy a hacer es que voy a hacer una camioneta nueva para clientes. Va a ser llamado en él. Ahora, antes en nuestro proyecto anterior, hicimos UI usando bindings No vamos a hacer eso en esta. En realidad vamos a establecer un valor y luego hacer algo de enlace más adelante. Así que vamos a hacer un poco de ambas cosas, pero en realidad vamos a pasar información y almacenarla dentro de los datos. Quiero hacer una entrada. Y este insumo va a ser BP underscore car, actor. Objeto. Voy a llamar a este auto dos parte cuatro. Info. Porque es el auto del que vamos a obtener la información. Vamos a hacer clic derecho en esto y promover la variable. Asombroso. Ahora, una vez que tengamos la información, queremos establecer el nombre del jugador y el color del jugador. Así que voy a agarrar estos dos. Lo primero que voy a hacer. Hagamos un color primero, lo primero ahora. Voy a hacer set Puller Apacity. Haga estallar esto aquí. Rompamos esto. Deberíamos simplemente poder arrastrarnos hacia afuera, y ahora solo podemos hacer color lineal. Eso es muy fácil. Lo que vamos a hacer ahora es alargar esto porque este es de tipo, tipo de actor de autos BP Va a tener todo lo que podamos obtener cualquier información siempre y cuando llamemos primero a este evento. Para que podamos obtener la información de color. Consigue el color del auto. Mete eso directo a eso, lo cual es realmente, realmente genial. Y luego quiero establecer el texto del reproductor. Entonces ahora vamos a obtener ese texto establecido. Queremos asegurarnos de que dice texto conjunto, texto entre corchetes. Y esta vez, usando nuestro auto para información. Voy a hacer Get player. Nombre del auto NG, ¿no? El nombre. Probablemente ahí dentro. Vamos a comentar esto un poco. Vamos a hacer llamado cuando se cree. Vamos a llamar a esto. Aquí vamos a hacer algunos entrenamientos de datos. Llamar cuando se crea. Uh y entonces esto va a poner la carta de dos puntos. Ahora, debido a que tenemos esta variable aquí, ninguna cinco hace algunas cosas realmente geniales podemos obtener cualquiera de esta información del auto para obtener información dentro de nuestras fijaciones Entonces ahora si voy a la vuelta, lo siento, contador de vueltas, podemos atar cualquier información aquí. Entonces, sí, muy interesante, podemos tomar algunas de estas variables directamente desde aquí. Ahora, necesitamos hacer un contador de vueltas y un contador de velocidad, así que probablemente deberíamos volver a nuestro carácter y poner vuelta Vamos a establecer esto como una variable. Vamos a entrar aquí. Uh, tenemos vuelta aquí, y probablemente también deberíamos entonces asegurarnos cada vez que completemos una vuelta, establecemos nuevas vueltas que hacemos plus plus Entonces ahora, cada vez que completamos una vuelta, este número sube, compila. No. Si vamos en el contador de vuelta hacia abajo, deberías ver vuelta agradable y fácil. Ahora cuando hagamos velocidad, deberíamos poder obtener la velocidad. Por alguna razón no nos deja aquí. No estoy del todo seguro de qué. Así que vamos a crear una encuadernación, y podemos obtener nuestra información de carft Y consigue velocidad. Velocidad. Sí, creo que lo conseguimos velocidad V. Eso sabe por qué llamarlo velocidad V. Debe haber estado haciendo algo cuando no estabas buscando. Así que sí. Para que podamos agarrar esto y conseguir velocidad. Mete esto directamente hacia aquí. Voy a hacer algo de texto para flotar cosas, pero deberías estar bien. En realidad podemos incluso usar este texto para flotar, configurarlo para que vayamos al punto cero. Sólo hagamos un dígito fraccional. No va a hacer mucha diferencia, pero hagamos una. Así que ahora, cada vez que estamos usando este bit aquí, va a esto se propaga todo Ahora, necesitamos agregar esto a nuestra interfaz de usuario base. Quizás te preguntes ¿por qué no acabamos hacer todo esto en nuestra interfaz de usuario base? Es porque vamos a hacer esto dos veces, y sería mucho más fácil solo hacer esto una vez y agregarlos dos veces. Porque en realidad podemos, si bajas a Usuario creado, agregarlos en más adelante abajo de la línea. BP juega eso. Fantástico. Es increíble. Entonces ahora hemos abierto nuestro panel base. Vamos ahora necesitamos un panel de lienzo, y ahora tenemos que empezar a agregar algo de esto lo que acabamos de hacer aquí. Así que vamos y creado por el usuario. Vamos a usar BP player Stats. Bueno, voy a adjuntar esto a la esquina superior, y voy a dimensionar al contenido. Significa que es de tamaño completo. Voy a agarrar otra. Vamos a hacer estallar esto en la esquina inferior. Anclémoslo a la esquina inferior y hagamos el tamaño al contenido. Asegurémonos de nombrarlos correctamente. Entonces el primero será las estadísticas de jugador uno, tendremos que hacer de esto una variable porque vamos a llamar algunas cosas de esto. Y vamos a llamar a este jugador Estadísticas UI. B. Un jugador, un jugador dos, y haremos de estos es una variable. Vamos a configurar esto en un poco más tarde. En realidad, ya vamos a configurar esto. Vamos a nuestra gráfica, y vamos a hacer otra en la gráfica de Shells. Sí. Entonces hagamos un evento personalizado Customevent en él. Lo cual es muy, muy útil aquí. Lo vamos a hacer en él. Lo que ahora puedo hacer es arrastrar este nuevo parámetro, igual que hicimos en el último. Vamos a hacer BP underscore controller port. Va a ser Controlador de capa. Y lo que vamos a hacer, clic derecho promueve variable. Buenas necesidades que vamos a usar establecen la línea. Voy a agarrar cada uno de estos. Entonces BP juega eso es UI uno y hazlo en él. Y luego para una primera, ahora voy a arrastrar a cabo Controller peón y conseguir auto one pop escuchar Entonces ya ven así es como pasamos esta información. Tan agradable y fácil para el segundo en él. Podríamos agregar algunas declaraciones if y hacer esto de una manera diferente, pero es agradable y fácil. Podemos simplemente Al pecado. Agradable y fácil. Ahora bien, si entonces hacemos esto dentro de nuestro peón controlador, podemos pasar esta información a través, y todo esto ya estamos listos para ir Entonces hagámoslo ahora mismo. Vamos a entrar en nuestro peón controlador BP. Dentro de nuestra obra de inicio, ¿ vamos a crear Widegit Esto va a tener UI base BP. Y entonces voy a alargar de esto. Lo voy a hacer en él. También voy a alargar una vez más de esto y hacer agregar a Vpot Y una última vez, voy a arrastrar, en realidad voy a hacer clic derecho al valor de retorno Mote U variable, y voy a llamar a esta interfaz Esta es una WUI de referencia si acaso la necesitemos más adelante en la línea, guiño guiño guiño codazo, y puedo hacerlo un poco más agradable y luego solo usar Ahí vas. Hace que un poco se vea un poco más agradable. Ahora va a pedir peón Controlador. Podemos usar este nodo realmente, muy práctico llamado self, que obtiene una referencia al actor en el que estás, que es la pata del Controlador. Ahora bien, si hacemos clic en Guardar, compilar, y vamos a asegurarnos de que ambas cosas estén nombradas, así que vamos a llamar a esta. Llamemos a este Ian en pos mí, y llamemos a éste. Tim después de otra persona, y vamos a hacer clic en Guardar y reproducir. Ahora tenemos a Tim contra Ian. Conseguimos sus velocidades. Se puede ver. Y digamos, si completo una vuelta, veamos qué tan rápido puedo completar una vuelta. No hay tiempo aquí, pero podríamos agregar un tiempo encendido si fuera necesario. Oh, no. Nelly. Una vez que termine una vuelta, tengo una maravilla de vuelta. Puedo ir una y otra vez. Así es como hemos aprendido no solo sobre cómo hacer UI, sino que ahora hemos aprendido una interfaz de usuario mucho más avanzada. Ahora hemos aprendido cómo hacer widgets para repasar widgets, y hemos aprendido sobre cómo pasar información a través interfaz de usuario sin tener que usar bindings todo el tiempo En la siguiente lección, vamos a terminar haciendo una condición de viento y el paso de esa condición de viento a través de la interfaz de usuario, también. Entonces te veré en la última. 13. Coche tragamonedas: condiciones de victoria: Entonces, bienvenido de nuevo. Acabemos con nosotros agregando algún tipo de condición de viento. Entonces queremos digamos, si completamos tres vueltas, ganamos el juego, y podemos solucionarlo todo Pero comencemos desde el final y vayamos hacia atrás. Hagamos la interfaz de usuario para que se vea todo llamativa en ese lado Entonces vamos a abrir nuestra interfaz de usuario base, y vamos a agregar sufing en medio de aquí, que va a decir ganador Vamos a ganar Texto. Es variable. Y vamos a poner esto a la derecha en molino. Y vamos a hacer este ancla esto a la mitad. Entonces voy a y luego con este texto, si bajas a la justificación, ponlo en el medio. Eso debería haberlo puesto directamente en molino. No quería hacer eso, al parecer. Sí, interesante. Esta es la manera. Oh, sí. Oh, tonta de mí. Siempre lo ancla a la esquina superior. Desea establecer esto en 0.50 0.5. Agradable y fácil. Dimensionar el contenido. Tonto, tonto de mí. Entonces tenemos texto de invierno. Voy a hacer esto un poco más grande, así que pongamos esto a no sé, 64, grande, grande. 128. Hagamos que esto vaya a lo grande o se vaya. Y en realidad vamos a hacer una animación aquí. Esto no es algo que hayamos hecho antes. No hemos trabajado en animaciones antes. Entonces lo que primero voy a hacer es que me voy a asegurar de que esto esté listo. Vamos a poner el Vamos a entrar Vamos a entrar debería ser una opacidad. Sí, genial. Entonces lo que vamos a hacer es desplazarnos hacia abajo aquí, habrá uno llamado opacidad render Voy a poner esto a cero. En primer lugar, ponga esto a cero. Voy a hacer una animación. Y esta animación va a ser la animación ganadora. Entonces vamos a hacer click en esto. Vamos a hacer clic en TAC. Y como ya has seleccionado el texto ganador, va a subir un top. Y ahora lo que quiero hacer es rastrear quiero rastrear algunas cosas, para que podamos rastrear algunas cosas. Podemos tener animaciones de un clic, rastrearlo a través de él de esa manera o ya podemos hacer clic en esto. Debido a que tenemos seleccionado al ganador de la animación, puedo entrar en Let's go into Render opacidad Haz clic en este pequeño botón aquí, y debería aparecer automáticamente. Entonces, cuando empiece esta animación, vamos a empezar en cero. Vamos a hacer clic. Vamos a poner esto a entonces uno, y va a ese lado. Ahora, vamos a jugar un poco. Vamos a hacer Vamos a hacer color de fuente y opacidad y podemos hacer clic en Agregar fotograma clave a Entonces, ¿no quiere agregar un fotograma clave a eso? No quería agregar un fotograma clave. Agreguemos esto entonces. Color y opacidad. Ahora, cuando esté aquí, quiero configurarlo para asegurarme de que todo era uno. Entonces voy a hacer clic en agregar estos marcos aquí. Pero cada medio segundo, pongamos uno de estos a cero. Y luego vamos a cada esa parte. Vamos a poner esto de nuevo a uno y esto a cero. Y solo vamos a copiar esto sigue copiando esto por, como, hagámoslo por 5 segundos. Ahí vas. Entonces ahora, cuando jugamos, tenemos esto genial. Tenemos este color interesante y genial. ¿Qué está pasando aquí? Tenemos Oh, está poniendo a cero, así que quieres tonta vamos a poner eso en uno. Ahí vas. Tenemos esta interesante vibración. Ahí vas. Entonces ahora tenemos una ligera animación a esto. Vamos a simplemente hacer clic fuera eso para quitársela y podemos pensar en esto más adelante. Hemos establecido esto en una variable. Asegúrate de formatear eso correctamente. Vamos a entrar en la gráfica, y vamos a crear un nuevo evento. Llamemos a esto ganador. Ganador UI. Hagamos UI ganador. Lo que esto Lo que quiero hacer primero es, vamos a agarrar nuestro texto ganador. Vamos a establecer este texto, establecer texto. Sally conoce el texto, bajo el texto de Scott Brackett. Y tiene este poquito aquí. Queremos hacer algo llamado append, y está debajo de la cadena append string append Lo que hace esta cadena append es que nos permite agregar más de una cadena. Luego podemos arrastrar esto al texto, y se convierte automáticamente a un formato de texto. Oh, pero eso es lo que vamos a hacer aquí. Entonces lo primero es lo primero, voy a arrastrar esto aquí que agrega este pin. Damos click en él ahora, vamos a llamar a esto. Vamos a renombrar a este ganador. Y luego el B uno, vamos a poner es el ganador. Guau. Entonces vamos a poner el texto a quien lo haya ganado. Vamos a pasar por el nombre lo que una persona que ha ganado. Y luego una vez que hayamos hecho eso, vamos a agarrar. Lo que vamos a hacer es jugar animación. Y lo va a pedir en animación. Aquí no va a reventar nada. Pero si arrastramos esto aquí y tecleamos ganador, ve a conseguir ganador. Y vamos a asegurarnos de que nuestras tiendas estén puestas en false. Entonces ahora cada vez que se llama a este evento, establece al ganador, así que vamos a establecer el nombre Ganador juega animación. Reproduce animación de interfaz de usuario. Agradable y fácil. Ahora, podemos llamar a esto dentro de nuestro peón jugador, Peón Controlador. Entonces lo vamos a hacer ahora. Vamos a abrir nuestro peón controlador. Y lo que ahora podemos hacer podemos hacer algunas cosas aquí. ¿Qué voy a hacer? En realidad, con nuestro peón controlador, no necesitamos hacer nada Por suerte dentro de Unreal. Hay algunas funciones que nos permiten llegar a quien ciertas cosas. Los hemos usado antes llamados Get Player Controller, pero también podemos usar get player pewn en cualquiera de nuestras clases para intentar obtener el peón jugador actual, que está siendo controlado Ahora, podemos obtener cualquier información de esto cuando queramos. Entonces en nuestro personaje, uh, en realidad, lo siento, dentro de nuestro controlador porno primero, probablemente necesitamos establecer cuántas vueltas queremos hacer Entonces en nuestra variable, hagamos unas nuevas vueltas requeridas vueltas Solo hagamos las vueltas requeridas. Entonces en nuestro porno controlador BP estamos haciendo una nueva variable llamada vueltas requeridas, que es un entero Vamos a asegurarnos de que esto está en requerido y también instancia editable expos y deportes va a Voy a por defecto esto a gratis porque las vueltas libres normalmente lo significan todo Uh, ahora, en nuestro actor de BP Car, necesitamos agregar un poco de lógica al final de esto. Entonces lo que voy a hacer bien arcilla puede hacer conseguir peón jugador Esto conseguirá el peón del jugador para un índice de jugador específico Ahora, debido a que estamos haciendo nuestro multijugador un poco diferente a lo que Unreal quiere, nuestro índice de jugadores siempre debe ser cero Ahora voy a arrastrar de ese nuevo elenco a Controller Pawn Ahora, voy a hacer click derecho sobre esto y llamar a esto un elenco puro. La razón por la que me voy a deshacer del cheque es porque si no tenemos el conjunto de peones del controlador BP de un peón predeterminado, realmente sabemos que esto nunca va a funcionar A menos que hagas otro peón controlador o nosotros controlemos este caracto de otra manera, la única forma en que esto puede moverse hasta ahora mismo es con el peón controlador BP Si alguna vez se te ocurren algunos errores diciendo, Esto no es válido, es porque es porque BP controla peón, no es el peón predeterminado Entonces, por eso. Así que voy a arrastrar esto y conseguir vuelta. Vamos a conseguir las vueltas requeridas. Y luego voy a hacer un chequeo. Ahora bien, si las vueltas son mayores que las vueltas requeridas, entonces vamos a ramificarnos Entonces, si el jugador ha dado más de tres vueltas, eso pondrá esta vuelta a cuatro porque hará la vuelta uno, la vuelta dos, la vuelta tres, y en cuatro Probablemente deberíamos establecer esto en uno, por cierto, establecer la vuelta uno. Y luego si se hace eso, queremos hacer obtener referencia de UI. A partir de esto, podemos obtener la referencia de UI ahora porque la hemos guardado aquí y ganamos una UI. Cierto. Se va a pedir el ganador. ¿Quién es el ganador? Bueno, sabemos el nombre del auto, que está justo aquí. Sin embargo, el nombre del auto, apareciendo ahora. Eso. Mi amigo. Ya habremos terminado el juego, y podremos probar el sonido. Vamos a entrar en nuestra olla de control. Pongamos nuestras vueltas requeridas para que sean una. Juguemos. Entonces hagamos una vuelta. No quiero que Tim sea ganador. Quiero ganar. ¿Vamos a ganar? Vamos a ganar. Ian es el ganador. Eso es fantástico. Ahora, con eso, voy a durar un poco. Ya has terminado este prototipo. Ahora vamos a pasar a uno de mis prototipos de traste para hacer en mis años de enseñar el prototipo de tijeras de papel de roca, y te veré en el siguiente 14. ¡Empaquetado de proyectos y compártelo a Skillshare para obtener comentarios!: Así que estamos listos para subir esto a Skillshare para obtener algunos comentarios y mostrar a sus compañeros Entonces, lo que quieres hacer antes de empaquetar este proyecto hasta Skillshare, solo entra en la configuración de tu proyecto para asegurarte el juego se cargue en el nivel de crack Así que quiero hacer clic en Editar en la parte superior y en la configuración del proyecto. Entonces vas a bajar a mapas y modos que está a la izquierda. Y luego asegúrate de que el mapa predeterminado del juego, este es el mapa que el juego carga en un proyecto de paquete está configurado en tu pista. Así que he configurado esto para rastrear uno. Increíble. Ahora solo puedo hacer clic en E aquí. Voy a bajar a plataformas para comenzar a empaquetar el proyecto. Voy a ir a las ventanas. Normalmente lo venderé a envío, y voy a hacer clic en Paquete Proyecto. Se abrirá este diálogo de archivo, donde voy a crear una nueva carpeta llamada ranura empaquetada. Bien. Y voy a dar clic en Seleccionar carpeta. Bueno lleva algún tiempo, y puedes mostrar el registro de salida, pero esto tardará algún tiempo en hacerlo. Una vez hecho esto, te recomiendo subir eso a Google Drive, One Drive o cualquier otro tipo de unidad que puedas hacer También recomiendo cerrar eso para ayudar a asegurarse de que el proyecto no vaya a ayudar a que el proyecto funcione correctamente Ahora, estoy muy emocionada de ver lo que haces. Y una vez que hayas hecho eso, sube eso a Skill Share y completa esta clase.