‫Hola y bienvenido.
‫En esta lección, veremos cómo podemos configurar nuestra plataforma móvil utilizando un vector de velocidad en sus
‫variables miembro.
‫Y vamos a ver cómo podemos hacer que su velocidad de fotogramas de movimiento sea independiente usando algo llamado
‫tiempo Delta.
‫Bien, vamos a sumergirnos.
‫Entonces, hasta este punto, solo hemos estado actualizando un solo componente de nuestro vector a la vez.
‫Ahora, ¿y si te dijera que no tenemos que hacerlo de esta manera?
‫¿Qué pasa si podemos actualizar todo el vector en una cierta cantidad de una sola vez?
‫Bueno, podemos.
‫Se pueden sumar vectores a otros factores si lo hemos visto en el apartado anterior.
‫Entonces, lo que podríamos hacer es pasar a nuestra plataforma móvil a H y crear algo que sea
‫nuestra plataforma móvil, el vector de velocidad que nos dice tanto la dirección como la velocidad a la que queremos ir.
‫Entonces, la forma en que hacemos esto es crear una U de propiedad bastante familiar ahora y vamos a hacer
‫que se edite en cualquier lugar para que sea visible en el inspector y luego será
‫un vector tipo F como lo hemos hecho antes, y lo llamaremos la velocidad de la plataforma y podemos darle algo por ahora.
‫Así que vamos a hacer un constructor de vectores F y luego le daremos, digamos, cientos en el componente X y cero y
‫cero en los demás y luego punto y coma para terminarlo.
‫Y quiero mostrarles un truco más aquí, junto con editar, en cualquier lugar podemos poner otros argumentos
‫separados por comas a esta U.
‫Propiedad, que se parece un poco a una función.
‫En realidad, puedes poner uno que se llama categoría con C mayúscula y luego pones el signo de igual.
‫Y no suelo dejar un espacio entre estos son los signos de igual categoría igual.
‫Y luego puede dar una categoría que desea mostrar.
‫Aquí abajo puede ver que hay categorías para la replicación de procesamiento de transformación.
‫Estos son los tipos de categorías que queremos decir que voy a llamar plataforma móvil mía para que tengamos
‫un tipo de categoría de plataforma móvil para colocar estas variables.
‫Y tenga en cuenta que uso comillas dobles alrededor de esa categoría.
‫Esa es la sintaxis correcta.
‫Tienes que incluirlos.
‫Y luego, lo que podemos hacer es usar esta nueva variable miembro en C++.
‫Entonces, en lugar de configurar el componente X de la ubicación actual, permítanme eliminar por completo
‫esa línea y reescribirla como la ubicación actual es igual a la ubicación actual más la velocidad de la plataforma, como poner un punto y coma al final de la
‫línea y vamos a Ir a Unreal y presione compilar y vea cómo va esto.
‫Entonces eso está compilado con éxito.
‫Y puede ver que ahora tengo esta sección de plataforma móvil en mi plataforma móvil con una velocidad de plataforma
‫y su componente x está establecido en 100.
‫¿Qué pasa si voy y le doy al play?
‫Bueno, la plataforma acelera rápidamente en la distancia porque estoy agregando cien unidades en cada
‫fotograma.
‫Eso es mucho.
‫Pero sí quiero que se mueva a una velocidad de unos 100 centímetros por segundo.
‫Eso es sólo un metro por segundo.
‫No es muy rápido.
‫Entonces, ¿por qué va tan rápido?
‫Bueno, debido a mi velocidad de fotogramas.
‫Bueno, si estuviera en un sistema más lento, se movería más lento.
‫Y si estuviera en un sistema más rápido, se movería más rápido.
‫Eso no parece tener sentido.
‫Entonces, hablemos sobre el uso del tiempo Delta.
‫¿Qué es la hora Delta?
‫Bueno, usar el tiempo Delta en Unreal puede decirnos cuánto tiempo tardó en ejecutarse cada cuadro en tiempo Delta.
‫Bueno, si vas al código de Visual Studio, puedes ver que el tiempo Delta es una variable mencionada aquí en la parte superior
‫de la toma.
‫Esto es en realidad un parámetro de entrada.
‫Es la entrada a nuestra función.
‫Así que podemos usarlo aquí.
‫Esencialmente, al igual que usamos una variable local, podemos usarla dentro del cuerpo de la función tick.
‫Entonces nos dice cuánto tiempo tardó en ejecutarse un marco.
‫Pero, ¿por qué es eso importante?
‫Porque cuando multiplicamos algo por tiempo delta, esencialmente hace que la velocidad de fotogramas de nuestro juego sea independiente, lo que básicamente significa
‫que el juego se comporta de la misma manera en una computadora rápida o lenta.
‫Entonces, echemos un vistazo a un ejemplo ilustrativo si quiero mover algo cada segundo una unidad hacia
‫la izquierda.
‫Así es como se vería en diferentes máquinas.
‫Tengo cómputo lento.
‫Solo puedo hacer diez cuadros por segundo en una computadora rápida, que puede hacer 100 cuadros por segundo.
‫Ahora la duración de esos cuadros es diferente.
‫Entonces, en la computadora lenta, la duración del cuadro es 0. 1 de segundo.
‫Si solo pudiera encajar diez de ellos en un segundo y en una computadora rápida sería. 01 de segundo, mucho menos porque puede
‫ejecutar las cosas más rápido.
‫No toma tanto tiempo calcular el marco.
‫Entonces, si multiplico por la duración del cuadro, multiplico mi unidad por la duración del cuadro.
‫Entonces vas a ver eso en 1/2.
‫Entonces, donde se han ejecutado diez fotogramas, obtengo una unidad de movimiento.
‫Y lo mismo es cierto.
‫Si he hecho 100 cuadros de ejecución, todavía obtengo una unidad de movimiento.
‫Así que me gustaría desafiarte a que multipliques por el tiempo delta.
‫Así que lo que vamos a hacer es recordar que podemos multiplicar vectores por un valor de coma
‫flotante para escalar esa magnitud.
‫Y la forma en que podemos hacer esto en C++ es usando el operador estrella.
‫Así es como hacemos la multiplicación.
‫No hay operador de signo de multiplicación.
‫Se confundiría con una X, por lo que usamos el operador estrella para denotar la multiplicación.
‫Y me gustaría que recopile y pruebe sus resultados.
‫Así que multiplique por el tiempo delta, multiplique la velocidad por el tiempo delta y vea qué sucede.
‫Pausa, video y prueba.
‫Bueno.
‫Bienvenido de nuevo.
‫Así que es la velocidad de la plataforma lo que queremos que se multiplique aquí.
‫Ahora, podríamos llevar esto a una variable separada, pero en realidad podemos poner un multiplicador por tiempo
‫delta al final de esa línea, obviamente antes del punto y coma, porque está antes del final de la
‫declaración.
‫Y lo que es interesante aquí es que hay un poco de precedencia de operadores aquí
‫en el sentido de que la multiplicación entre la velocidad de la plataforma y el tiempo delta ocurrirá antes de la
‫adición a la ubicación actual.
‫Ahora, esto sigue las reglas matemáticas normales para obtener una lista completa de esas reglas.
‫No voy a entrar en detalles aquí, pero puedes echar un vistazo a la página sobre el orden
‫de las operaciones en Wikipedia.
‫Hay muchas reglas diferentes en diferentes idiomas, ya sea masa corporal, masa de cama, masa de mascotas, masa
‫de cama.
‫Hay muchos acrónimos diferentes.
‫Así que cualquiera que hayas usado cuando creciste, ese es el que te recomendaría que uses.
‫Para mí, era la masa corporal, pero ya sabes, en otros lugares es diferente.
‫Así que vale la pena señalar que podemos escribirlo así.
‫Pero si quisiéramos asegurarnos de que algo suceda en un orden diferente a ese, entonces puede
‫usar paréntesis para indicarlo.
‫Así que podría, solo para aclarar las cosas, voy a poner paréntesis alrededor de esta multiplicación solo para mostrarles que
‫eso es lo que sucede.
‫Primero la multiplicación y luego la suma hasta la ubicación actual.
‫Así que vayamos a Unreal y probemos esto.
‫Vamos a golpear, compilar, y cuando termine, vamos a presionar reproducir.
‫Y ahora vemos que las plataformas se mueven a una velocidad mucho más normal porque en realidad se mueven a
‫un metro por segundo, lo cual está bien para una plataforma en movimiento.
‫Así que pueden ver que esto nos ha ayudado a ambos a reducir la velocidad, pero también ahora es una velocidad de fotogramas, una velocidad
‫independiente.
‫Si mi computadora funcionaba porque algo más estaba sucediendo en segundo plano, esto aún se vería
‫igual y se reproduciría de la misma manera en el juego.
‫Buena cosa.
‫Te veré en la próxima conferencia.