Hola, para rotar la hélice es conveniente cambiar el Pivot dentro de la configuración del Sprite Editor directamente en el Asset:
Introducción
Todo lo que aprenderás para programar videojuegos 2D con Unity
Consejos de design: preparación de Assets y versionamiento de Unity
Timeline
Mejorando el flujo de Visual Studio
Tips en Visual Studio Debug.Log vs. breakpoint
Atributos en Unity
Atributos en Unity (herramientas)
Ternary Operations
Programación
Arrays, listas
Diccionarios
New Input System
Matemáticas para juegos: vectores
Matemáticas para juegos: personaje
Pathfinding - IA
Animation Events
Tween
Tweening
Movimientos básicos y cambio de variables en el tiempo
Transiciones
Callbacks
Web requests y eventos
Conexiones con API
JSON
JSON: cambio de clima
Delegates
Eventos
Introducción a los patrones de diseño
¿Qué son los patrones de diseño y para qué sirven?
Singleton
Object Pool I
Object Pool II
Observer
FÃsicas 2D
Effectors
Buoyancy
Extra
No parar de aprender: Jams
Crea una cuenta o inicia sesión
¡Continúa aprendiendo sin ningún costo! Únete y comienza a potenciar tu carrera
Daniel Sánchez Alvarez
Aportes 11
Preguntas 2
Hola, para rotar la hélice es conveniente cambiar el Pivot dentro de la configuración del Sprite Editor directamente en el Asset:
Lo que hice fue crear una animación para la hélice, con tal que rotara en 180°, quedando asÃ:
Quise intentar usar un script para esta solucion y me funciona muy bien
Primero cambie el pivot del sprite al centro de la helice para poder rotarlo
Luego cree el siguiente script (bastante simple) y se lo asigne a la helice
public class Helice : MonoBehaviour
{
[SerializeField] int speed = 5;
// Update is called once per frame
void Update()
{
transform.Rotate(0, 0, speed * Time.deltaTime);
}
}
Y simplemente desde el editor de unity fui probando diferentes valores de speed hasta que me parecio que quedaba bien
para resolver el reto, tienes que:
editar el sprite editor de la hélice y cambiar el pivot a custom y en el editor centrar el pivot al centro de la hélice
en al escena la hélice se habrá movido un poco, vuelve a centrarla con el nuevo pivot
selecciona el timeLineDirector, selecciona el avión y empieza a grabar, juega con la propiedad de rotación en el eje z(inspector), por cada 30 segundo cambia la rotación en el eje z en 200 o 300
ajusta el valor hasta que obtengas una velocidad aceptable de rotación en el eje z
Cree un script que se lo puse a la hélice, el cual en update rota el sprite de la hélice en el eje z y puse una variable serializada para podeer editarla luego en unity según necesidad
Mi solución para el tema del pivot de la hélice fue cortar el sprite de la hélice (Sprite Mode: Multiple), porque el sprite es muy grande. Con el corte automático es suficiente, ya me colocaba el sprite sin todo el espacio transparente sobrante y el pivote en el centro.
Para realizar este reto, necesitas crear una animacion de la hélice para que se haga un bucle, ya que no existe forma de hacer de que siga el bucle despues de que termine el timeline
Yo mejor le hice una animacion a la pura elice.
Para que siga rotando el tiempo que sea necesario mientras se mantenga la pantalla de Inicio.
Para resolver el reto opté por crear un Animator para la Hélice, igual que también crear una animación de rotación para la misma, en la cual utiliza el transform del game object de la Hélice y realiza una rotación en el eje Z de 360 grados, esta misma animación haciendo click sobre el archivo aparecerá en el inspector una opción para volverla loop.
El problema es que esta se parará por un momento cuando termina la animación y luego continuará, para resolver esto habrÃa que hacer click en Curves dentro de la ventana de Animación, teniendo seleccionado en la herarquÃa a la Hélice, y luego hacer click derecho sobre la linea que hace la curva y seleccionar Auto, para que la transicción del loop sea de manera lineal. Y listo!
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?