Mejorando la animación de las piezas
Clase 21 de 34 • Curso de Desarrollo de Videojuegos Móviles con Unity
Contenido del curso
- 8

Creando la cuadrícula
08:00 - 9

Ajustando la cámara
13:06 - 10

Sistema de coordenadas para instanciar las piezas
05:16 - 11

Instanciando las piezas en la cuadrícula
13:39 - 12

Moviendo las piezas
07:53 - 13

Intercambiando las piezas de lugar
14:45 - 14

Permitiendo solo ciertos tipos de movimientos
05:38 - 15

Creando las funciones del match 3
16:13 - 16

Usando el match 3 en nuestro juego
10:21 - 17

Eliminando los matches por defecto
12:31 - 18

Colapsando las piezas
17:31 - 19

Match 3 combo
07:47 - 20

Rellenando las piezas
07:36 - 21

Mejorando la animación de las piezas
07:37
- 24

Hablemos de diseño
01:34 - 25

Agregando un sistema de puntos
16:45 - 26

Sistema de tiempo
07:05 - 27

Interfaz para el sistema de tiempo
09:26 - 28

Creando sistema de UI
06:26 - 29

Pantalla de game over
14:37 - 30

Agregando funcionalidad a la pantalla de game over
09:16 - 31

Reiniciando el juego
08:40 - 32

Agregando audio
10:05 - 33

Terminando el juego
07:39
¿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.
-
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
localScaledel transform a un 35% de su tamaño normal (Vector3.one multiplicado por 0.35). -
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:
-
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.
-
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.
-
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!