No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Mejorando la animación de las piezas

21/34
Recursos

¿Cómo mejorar las animaciones de las piezas en un juego Max 3?

En la mecánica de los juegos Max 3, las animaciones juegan un papel fundamental para mejorar la experiencia del usuario. Más allá de simplemente mover y eliminar piezas, un buen diseño de animaciones puede hacer el juego más atractivo y fluido. En esta sección, aprenderemos cómo implementar animaciones para las piezas cuando aparecen y desaparecen en el juego, mejorando así su impacto visual.

¿Cómo animar la aparición de las piezas?

Para comenzar, nos enfocaremos en mejorar la animación al momento en que una pieza aparece en el juego. Siguiendo con el desarrollo en Unity, nos dirigiremos a la clase Piece. Será aquí donde aprovecharemos las herramientas de animación para manipular el tamaño de las piezas al ser creadas.

  1. Reducción inicial del tamaño: Al crear una pieza, comenzará siendo más pequeña de lo normal. Utilizamos la librería de animación DOTween para establecer el localScale del transform a un 35% de su tamaño normal (Vector3.one multiplicado por 0.35).

  2. Escalado a tamaño completo: Implementaremos una transición suave para que la pieza alcance su tamaño completo (Vector3.one) en un tiempo de 0.35 segundos.

transform.localScale = Vector3.one * 0.35f;
transform.DOScale(Vector3.one, 0.35f);

¿Cómo animar la desaparición de las piezas?

Al eliminar una pieza, la manera en que se anima su desaparición impacta significativamente en la percepción del juego. La animación de eliminación se divide en dos fases:

  1. Crecimiento temporal: Primero, la pieza crecerá un 20% más de su tamaño normal (usando un multiplicador de 1.2) en un breve lapso de 0.085 segundos. Esta pequeña expansión hace que la animación sea más llamativa.

  2. Disminución a cero: Luego, la pieza se reducirá a un tamaño de cero (Vector3.zero) en 0.1 segundos, haciendo que desaparezca visualmente antes de eliminar el objeto del juego.

  3. Rotación adicional: También añadiremos una rotación de -120° en el eje z durante 0.12 segundos para enriquecer la animación de eliminación.

transform.DOScale(Vector3.one * 1.2f, 0.085f).OnComplete(() => {
    transform.DOScale(Vector3.zero, 0.1f).OnComplete(() => {
        Destroy(gameObject);
    });
});
transform.DORotate(new Vector3(0, 0, -120), 0.12f);

¿Cómo mejorar la animación de entrada de las piezas?

Además de las animaciones de aparición y desaparición, podemos mejorar la entrada de las piezas ajustando el punto donde son creadas. En la función clearPieces, cuando se instancian las piezas, éstas se crean una unidad más arriba de su destino y luego se desplazan hacia el lugar correcto. Así, al aparecer, las piezas se deslizan con suavidad a su posición final, ofreciendo un efecto más dinámico y atractivo.

// Crear la pieza un poco más arriba
Vector3 spawnPosition = new Vector3(x, y + 1, 0);
piece.transform.position = spawnPosition;

// Mover la pieza a su destino
piece.transform.DOMove(new Vector3(x, y, 0), 0.35f);

Al implementar estos cambios, el juego no solo se verá más profesional, sino que también se sentirá más satisfactorio al interactuar con las compleciones de match y la dinámica visual añadida por la animación. ¡Prueba estos ajustes y observa cómo tu juego cobra vida!

Aportes 0

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?