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.