Introducción

1

Game Design del juego

2

La estructura y assets de un proyecto en Unity

3

Convirtiendo nuestros assets en Tiles

4

Tilemaps y creación del escenario

5

Bonus: FastForward de la creación del escenario, sorting layers y creación de colliders

6

Acá encontrarás los archivos de este curso

Personaje principal: Movimiento y Animaciones

7

El jugador y el movimiento

8

Creando nuestra primera animación

9

Creando el grafo de animaciones

10

Usando un árbol de animaciones

11

Mostrando la solución del desafío e implementando transición entre blended trees

12

Programando una cámara que siga al jugador

13

Corrección del bug gráfico

14

límites del escenario, rigid bodies

15

Ejercicio: diseño de interiores

Escenarios Avanzados

16

Transiciones entre escenas

17

Mantener Player y Camera entre escenas

18

Spawning Points: programando que el jugador y la cámara aparezcan en el lugar correcto al cambiar de escena

19

Agregando Identificadores a nuestros Spawning Points para controlar mejor el flujo de nuestro juego

Enemigos Avanzados

20

Creando nuestro enemigo

21

Programando las físicas y el patrullaje del enemigo

22

Generando movimiento completamente aleatorio

23

Programando el ataque del enemigo

24

Crear Manager de Health del Player

25

Crear armas

26

Programando el ataque del Player con arma

27

Mover la espada al caminar

28

Creando el ataque con espada

29

Ejecutando el ataque con un botón

30

Movimiento en diagonal

31

Optimizando nuestro player controller

32

Ataque mejorado

33

Uso de partículas

34

Añadir el daño del enemigo en batalla

35

Programando los contadores de vida del enemigo

36

Colocando más info de UI en pantalla

37

Script de la vida

Personaje principal avanzado

38

Añadir el daño del personaje (ejercicio)

39

Sistema de puntos de experiencia para nuestro personaje principal

40

Level Up!

41

Level Up! Defensa y Reto Final del Módulo: Stats de los enemigos

42

Creando un NPC

43

Limitar el movimiento de nuestro NPC

44

Creando una pantalla de diálogos para nuestro RPG

45

El diálogo del NPC

46

Múltiples líneas de diálogo

47

Parar el NPC durante el diálogo

48

Parar el personaje durante el diálogo

Quests

49

La estructura de una quest

50

Quest 1: Ir a un lugar

51

Quest 2: Encontrar un objeto

52

Quest 3: Matar enemigos

53

Revisión de bugs

54

Mantener la cámara dentro del escenario

55

El problema al cambiar de escena

Audio

56

Agregando SFX a nuestro videojuego

57

Agregando música a nuestro videojuego

58

Ajustar volúmen del audio de cada uno de los efectos de sonido

59

Creando un VolumeManager

60

Agregando economía a nuestro juego y cierre

Creando el grafo de animaciones

9/60
Recursos

Aportes 8

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Por si alguno se pregunta por que se esta usando GetAxisRaw en vez de GetAxis:

GetAxisRaw te devolvera el valor inmediatamente en 1 o -1.

En cambio GetAxis devolvera el valor dependiendo de la fuerza que se le aplique al Joystick, usando este podemos hacer el efecto que normalmente vemos en juegos de consola como Assasin’s Creed cuando queremos Caminar solo movemos la palanca un poquito en esa direccion.

En el caso de este juego no tiene mucho sentido que le apliquemos GetAxis porque no habran animaciones de Caminar o de Trotar, sin embargo si usamos GetAxis, la velocidad del jugador se graduara dependiendo de la sensibilidad del Joystick.

Para el movimiento del idle hice un ajuste pequeño pero para que no se vea tan tiezo

si les gusta les dejo un enlace

Resumen de la clase

El objetivo es combinar las animaciones del personaje.

OJO hay que crear una quinta animación, Player_idle con un Sprite del jugador de frente.

TRUCO: comprobar que las animaciones se reproducen

Abrimos WIndow > Animation > Animator. El consejo es colocar los estados según van, ejemplo Player_left a la izquierda…

Además pulsamos con el botón derecho sobre Player_Idle y ponemos Set as Default State. Con ello el jugador queda quieto al darle al Play.

Pulsamos el botón derecho y creamos transiciones entre Player_Idle y Player_Up. Nos creamos dos parámetros Horizontal y Vertical como floats

En la transición de Player_Idle a Player_Up ponemos la condición Vertical Greater 0.5 y de Player_Up a Player_Input ponemos Vertical Less 0.5. Entonces creamos todas las flechas y les añadimos las condiciones.

En el PlayerController tenemos la variable animator, iniciada en el Start con GetComponent.

Al final del Update usamos el animator SetFloat cambiando horizontal y vertical con los Inputs.

OJO porque las animaciones suelen tener un tiempo de salida que obliga a retardar las animaciones. Para quitarlo en cada una de las transiciones desmarcamos HasExitTime.

Most Valuable Gamer reportando.

Aquí con los cambios agregados

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour
{

    public float speed = 4.0f;

    private const string horizontal = "Horizontal";
    private const string vertical = "Vertical";

    private Animator animator;

    // Start is called before the first frame update
    void Start()
    {
        animator = GetComponent<Animator>();
    }

    // Update is called once per frame
    void Update()
    {
        // s = v*t;
        //Movimiento horizontal
        if(Mathf.Abs(Input.GetAxisRaw(horizontal))>0.5f){
            this.transform.Translate(new Vector3(Input.GetAxisRaw(horizontal)
            *speed*Time.deltaTime,0,0));
        }
        //Movimiento vertical
        if(Mathf.Abs(Input.GetAxisRaw(vertical))>0.5f){
            this.transform.Translate(new Vector3(0,Input.GetAxisRaw(vertical)
            *speed*Time.deltaTime,0));
        }

        animator.SetFloat(horizontal, Input.GetAxisRaw(horizontal));
        animator.SetFloat(vertical, Input.GetAxisRaw(vertical));
    }
}

Genial

No se guardo las animaciones en el personaje, sino en un controller, qué se puede hacer ?

Buenas, tengo el siguiente problema.

cuando inicio el juego, la animación de arranque es “Idle” como debe ser, pero se ejecuta una sola vez y luego se activa la animación "Left " , por que puede estar pasando esto si Idle esta seteada correctamente como el estado por Default.

Quizá es un error muy Obvio, pero ya lo revise varias veces y no logro encontrarlo.