Contenido del curso
Empezando Nuestro Proyecto
Teoría de Gameplay
Mecánica Principal
- 8

Crea la cuadrícula del juego en Unity
07:59 min - 9

Cámara ortográfica automática en Unity
13:06 min - 10

Sistema de coordenadas para piezas en Unity
05:16 min - 11

Piezas aleatorias en la cuadrícula Unity
13:39 min - 12

Mover piezas en Unity con DOTween
07:52 min - 13

Intercambio de piezas con arrays 2D en Unity
14:45 min - 14

Permitiendo solo ciertos tipos de movimientos
05:38 min - 15

Lógica de Match 3 en cuatro direcciones
16:11 min - 16

Detectar Match 3 con corrutinas en Unity
10:21 min - 17

Evitar matches por defecto en Match 3
12:29 min - 18

Colapso de columnas en un Match 3
17:31 min - 19

Combos automáticos en Match 3 con corrutinas
07:46 min - 20

Corrutinas para animar piezas en Match 3
07:35 min - 21

Mejorando la animación de las piezas
Viendo ahora
Publicacion
Diseño del juego
- 24

Hablemos de diseño
01:34 min - 25

Agregando un sistema de puntos
16:45 min - 26

Sistema de tiempo
07:05 min - 27

Interfaz para el sistema de tiempo
09:26 min - 28

Creando sistema de UI
06:26 min - 29

Sistema de UI reactivo al estado del juego
14:36 min - 30

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

Cómo reiniciar board y puntos en Unity
08:39 min - 32

Agregando audio
10:05 min - 33

Terminando el juego
07:38 min
Conclusiones
Mejorando la animación de las piezas
Resumen
¿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!