‫Hola y bienvenido.
‫En esta lección vamos a hacer plataformas giratorias y móviles.
‫Vamos a hacer esto aprendiendo sobre el tipo de rotador F en C++ para que podamos agregar
‫un poco más de otro elemento a nuestro rompecabezas.
‫Vamos a sumergirnos y descubrir cómo funciona esto.
‫Así que hablemos de cómo completar nuestra función de rotación de plataforma.
‫Entonces, para hacer la rotación, es muy similar a la forma en que hacemos la ubicación y tenemos funciones muy
‫similares.
‫Podemos llamar en lugar de llamar, obtener la ubicación del actor, podemos llamar, obtener la rotación del actor en su lugar.
‫Y si voy y pongo paréntesis al final de esta línea y solo paso el cursor sobre
‫la función, entonces Visual Studio IntelliSense nos mostrará que el valor de retorno de esto es un rotador F.
‫Hemos usado el vector F cuando trabajamos con ubicaciones y hemos hablado de los rotadores en las secciones
‫anteriores.
‫Así que echemos un vistazo a poner este rotador F en una variable local.
‫Así que el tipo va a ser F rotator y vamos a llamar a esto la rotación actual igual a la rotación del actor get, pon
‫un punto y coma al final de la línea.
‫También voy a eliminar la declaración de registro porque ya no la necesitamos.
‫Y luego, lo que queremos hacer es esencialmente exactamente lo mismo que hemos hecho con la velocidad
‫de la plataforma, que es una especie de velocidad de rotación multiplicada por el tiempo delta sumado a la rotación actual.
‫Entonces, ¿cuál debería ser esa velocidad de rotación?
‫Bueno, ahí es donde queremos pasar al archivo de encabezado y agregar una nueva propiedad U.
‫Así que voy a agregarlo debajo de la distancia de movimiento y voy a tener una propiedad U editada en cualquier lugar y luego
‫le daré una categoría igual a esta vez. Lo llamaré rotación y voy a cambiar el nombre
‫de categoría de plataforma móvil a móvil en ambos casos.
‫Así que vamos a tener una categoría para mover, una categoría para rotar.
‫Luego, debajo de la propiedad, vamos a colocar un rotador F llamado velocidad de rotación y no le daremos un valor
‫predeterminado porque, de manera predeterminada, no quiero que ninguna de nuestras plataformas gire.
‫Entonces, el valor predeterminado será 000, y eso es justo lo que necesitamos.
‫Así que voy a poner un punto y coma al final de la línea aquí y ahora podemos
‫volver al archivo C++ y usar esa variable miembro en nuestra función de plataforma de rotación.
‫Entonces, lo que queremos hacer es la rotación actual igual a la rotación actual más la velocidad de rotación multiplicada por el tiempo Delta y poner
‫un punto y coma al final de la línea.
‫Y ahora la pieza final del rompecabezas es colocar a nuestro actor en esa nueva rotación.
‫Entonces, exactamente como lo esperarías, tal vez un pequeño mini desafío para ti, de hecho, ¿cómo seguirías adelante
‫y lo harías tú mismo?
‫Bueno, lo que usaríamos es la función de rotación de actor establecida y pasaríamos un argumento de rotación actual así y
‫pondremos un punto y coma al final de la línea.
‫Ahora, desafortunadamente, no funciona tan simple como esto.
‫Me ha llamado la atención, algunos estudiantes han señalado en el asistente de enseñanza.
‫Dan, muchas gracias, ha señalado que simplemente sumar rotaciones de esta manera no siempre funcionará debido a algunas
‫de las complicaciones relacionadas con las rotaciones que se enrollan alrededor de sí mismas.
‫Si llega hasta -90 grados de rotación, en algún momento tendrá que cambiar a más 90 grados
‫de rotación y así sucesivamente.
‫Entonces, una mejor manera de evitar esto, en lugar de establecer la rotación activa, es llamar a la rotación local de
‫agregar actor.
‫Y puede notar aquí que hay algunas formas de transformación local de actor adicional y compensación local que es para
‫la ubicación.
‫Así que también puedes usar eso en lugar de agregar una ubicación.
‫Sin embargo, no hay el mismo tipo de problemas que vamos a encontrar en los casos extremos relacionados con
‫la rotación.
‫Entonces, lo que recomendaría que hicieras es agregar la rotación local del actor aquí y luego solo
‫ingresas la velocidad de rotación multiplicada por el tiempo Delta y hace el resto de este código automáticamente por ti.
‫Así que podemos seguir adelante y deshacernos de esas líneas.
‫Y tiene una adición directa a la rotación local aquí, y también puede deshacerse de
‫esto obteniendo la rotación actual porque ya no la necesitamos.
‫Así que vayamos al editor y presionemos el botón de compilación.
‫Y cuando haya terminado, cierre el registro.
‫Seleccionemos una de las plataformas en el nivel que cualquiera de ellas servirá y echemos un vistazo a las categorías.
‫Así que tenemos movimiento y tenemos rotación y tenemos la velocidad de rotación entonces.
‫Así que quiero rotar esta plataforma alrededor de su eje Z probablemente, digamos unos 90 grados por segundo.
‫Así que toma 4 segundos hacer una rotación completa.
‫Sigamos adelante y dale al play.
‫Y ahí tienes
‫Tenemos una plataforma giratoria y móvil.
‫Entonces, a diferencia del mecanismo de la plataforma móvil, no tenemos que preocuparnos de que nuestra plataforma giratoria realmente vaya hacia
‫atrás y hacia adelante.
‫Si quieres que haga eso, esa es una posible extensión que podrías pensar.
‫Pero para mí eso es suficiente porque solo queremos que estas cosas sigan dando vueltas y vueltas en
‫la misma dirección.
‫Así que permítanme ir y eliminar la rotación de esta plataforma en particular porque no queremos que esta
‫plataforma gire.
‫Así que me gustaría desafiarte a que hagas una plataforma giratoria de pitidos, básicamente otra variante más para que
‫usemos y encontremos una malla adecuada.
‫Iría con algo que sea vagamente circular para que tenga sentido como una plataforma giratoria y le
‫daría una velocidad de rotación predeterminada y lo colocaría en el nivel para crear un poco de un rompecabezas de plataforma
‫giratoria para que puedas cruzar.
‫Pausa el video y pruébalo.
‫Bueno.
‫Bienvenido de nuevo.
‫Así que vamos a seguir adelante en nuestro cajón de contenido y vamos a buscar las clases de C++, Obstacle Assault y hacer clic con
‫el botón derecho en la plataforma móvil para crear un dispositivo de clase blueprint derivado de esto.
‫Lo llamaremos la plataforma rotativa de subrayado de BP y lo pondremos en la ruta del contenido y
‫crearemos una clase de modelo.
‫Una vez que aparezca el editor, vamos a acoplarlo a nuestra ventana principal.
‫Voy a cerrar mi navegador de contenido que parece querer aparecer cada vez, y voy a ir a nuestro
‫nivel principal e ir a la isla con todos nuestros activos de prueba al hacer clic con el botón derecho.
‫Vaya aquí y veamos si hay algo que se vea bien.
‫Me gusta el aspecto de estas plataformas aquí.
‫Si hago clic con el botón derecho en él o si solo hago clic en él, entonces la malla que se usa aquí
‫en la malla estática es la plataforma SM A. Así que busquemos esa.
‫Vayamos a nuestros planos, abramos el contenido, dibujemos, vayamos a todos y luego busquemos plataforma
‫subrayado M, subrayado A y luego tenemos la malla, que es esta aquí.
‫El segundo para mí.
‫Voy a arrastrarlo a nuestra ventana gráfica para tener nuestra plataforma.
‫Ahora veamos dónde se centra esto.
‫¿Está centrado en el medio?
‫Sí, lo es, lo cual es bueno e importante porque necesitamos que gire alrededor del medio.
‫De lo contrario, esta plataforma circular se verá un poco extraña.
‫También podemos escalarlo un poco hacia arriba en las dimensiones x e y para hacer que esta plataforma sea un poco más grande y podemos ir
‫a los valores predeterminados de la clase para eliminar cualquier velocidad de la plataforma porque no queremos que se mueva y establecer
‫la distancia de movimiento hacia abajo. a cero potencialmente y luego mire la sección de rotación y ajústela
‫bien, probamos 90 grados por segundo y eso parecía bastante razonable.
‫Así que sigamos adelante y salvemos esta plataforma giratoria.
‫Vamos a nuestro nivel principal y luego hacemos clic derecho en la pequeña isla flotante donde tenemos nuestro nivel, configuramos nuestro
‫rompecabezas, hacemos clic, vamos aquí.
‫Luego, en la parte superior de esta isla, quiero colocar nuestro nuevo plano.
‫Así que cancelemos la búsqueda, vayamos a la raíz del contenido y busquemos nuestra plataforma giratoria y colóquela en el
‫nivel.
‫Y al instante veo que en realidad quiero que sea un poco más grande.
‫Así que sigamos adelante y amplíelo.
‫Unas pocas unidades más, tal vez tres veces debería ser bueno.
‫Vamos a echar un vistazo.
‫Ahora, creo que podría ser aún más grande, así que voy a escalar un poco más para que esencialmente en X
‫e Y sea cinco veces más grande de lo que era originalmente.
‫De acuerdo, ese es un buen disco giratorio ancho y puede ser un gran desafío para nosotros cruzarlo.
‫Así que voy a duplicarlos usando Alt y arrastrar para hacer algunos de ellos a través de
‫la plataforma e intentar colocarlos apropiadamente y luego Alt arrastrar algunos más.
‫Así que aquí tenemos un buen conjunto de acertijos para tratar de resolver.
‫Así que solo los moví un poco hasta que pude ponerlos casi de borde a borde.
‫Y aquí es donde poder tener un modo de juego realmente ayuda porque podemos hacer clic derecho cerca de las
‫plataformas y hacer clic en reproducir desde aquí, y aquí están todas nuestras plataformas giratorias para que podamos pisarlas.
‫Y ahora es un pequeño desafío para nosotros encontrar nuestro camino a través de estas plataformas móviles de manera agradable y fácil.
‫Ahora, existe esta zona muerta en el medio que podríamos tratar de borrar, pero
‫en realidad es bastante difícil llegar y permanecer en la zona muerta, así que no voy a tratar de poner nada allí
‫específicamente para tratar de detener eso.
‫Pero puedes ver ahí vas.
‫Es un desafío factible que podemos superar, pero es un poco complicado y eso es divertido.
‫Buena cosa.
‫Entonces, en esta lección, hemos visto cómo hacer plataformas giratorias aprendiendo sobre un nuevo tipo, el
‫rotador F y cómo podemos usarlo para establecer la rotación de nuestros actores.
‫Te veré en la próxima conferencia.