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

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

límites del escenario, rigid bodies

14/60
Recursos

Aportes 16

Preguntas 5

Ordenar por:

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

Este docente es una maravilla.

Para los que tengan problemas con su movimiento del personaje (se mueve raro, algo brusco o acelera de vez en cuando) el problema esta en el Input.GetAxisRaw(horizontal) * speed * Time.deltaTime;
El hecho es de que ese Time.deltaTime no deberia de estar ahi dado a que ya no es distancia = velocidad * tiempo, sino solo necesitamos de la velocidad del mismo, en este caso “speed”. Quedaria asi:
Input.GetAxisRaw(horizontal) * speed;
Asi mismo, debes de cambiarlo para la vertical:
Input.GetAxisRaw(vertical) * speed;

Hola Juan/Comunidad, vi varias veces el video y tengo todo igual pero el personaje quedo raro después de que le agregamos las físicas. Y en cuanto a raro me refiero a que si estas caminando verticalmente (W o flecha para arriba) y aprietas rápidamente y sin soltar la (D o flecha para la derecha) y luego sueltas la (W o flecha para arriba) sigue caminando en diagonal, cuando tendría que caminar solamente para la derecha. Reverse los cambios hasta antes de agregarle el rígidobodies y funciona como describo anteriormente, porfavor su ayuda en esto.

Les quisiera aportar a ustedes, queridos compañeros estudiantes, una buena practica en el uso del Update:
Usen el Update para recibir los inputs y todo lo que venga de parte del jugador. Usen el FixedUpdate para implementar todo lo relacionado al RB (rigidbody) y otras fisicas. Y finalmente, usen el LateUpdate para las animaciones. Estas buenas practicas ayudaran al motor de Unity.
les estaria quedando algo asi…
Update() { INPUTS }
FixedUpdate() { RB y FISICAS }
LateUpdate() { ANIMACIONES }

En lo personal, le di un margen al terreno con arboles que agregue a la capa foreground(En mi caso le di el nombre de collisions), ademas de tener un pequeño espacio para que simule una continuidad de bosque y no se vea un fondo oscuro o de un color que va fuera del contexto del juego.
Aunque realmente, no se si esto de problemas con la optimización

Por si alguien no hizo un mapa completamente cuadrado y necesita otra forma de colocar los colliders, pueden hacer dos capas mas en la grid, una que sea Sea Collider y otra que sea Sea solo, hacer una linea en los bordes con agua, y luego pintar agua debajo y mas alla de la linea del sea collider.

No es aconsejable colocarle Collider a todo lo que sea Sea porque son realmente un monton de colliders que deben renderizarse al mismo tiempo.

Una forma alternativa es usar un Edge Collider, cuya forma pueden ir moldeando y quedaran los limites trazados dependiendo de la precision de su tiempo libre. 😅


ahí esta mi progreso hasta ahora 😄

Hola me pasa algo muy raro y es que cuando mi personaje camina como que se acelera un poco o como si se teletransportara alguien sabe como corregir este bug?

Hola! de pronto alguien sabe por que me volvieron a aparecer lineas azules verticales cuando corro el juego? ya tiene aplicado el fix con el material en las capas de la grid, pero volvieron a salir 😦

Yo tuve que ponerle 1700 de speed y 0.5 en masa para que no se moviera lento.

Genial

yo solo hice una capa para colliders y ya me evite crear los gameobjets

No hay que incrementar la velocidad, sino que se aplico la misma lógica del Transform.Translate al rigid.velocity.

El primero traslada al objeto cada frame, y el segundo asigna una velocidad en m/s.

El Time.deltaTime es el valor de 1 dividido para los cuadros por segundo.

Este es un valor fraccionario que en el caso de que sean 60 es de 0.0166.

Esto es útil para la primera opción pero no para rigid.velocity. Yo opte por no multiplicar la velocidad por Time.deltaTime y no tuve que aumentarle la velocidad para tener el mismo efecto.

Que tal, alguien sabe porque tengo este error?
NullReferenceException: Object reference not set to an instance of an object Unity Editor.EyeDropper.End()(at C:/buildslave/unity/Editor/Mono/GUI/ColorPiker.cs1268)

Lo pude “Solucionar”, deseleccionando al “Player”, pero esa no es la solucion correcta y me gustaría saber porque ocurre

Lo hice de esta forma tomando en cuenta las clases que hemos visto en los cursos anteriores. En translate creo que es necesario usar deltaTime pero no con el rigibody, son formulas distintas al parecer y va mas rápido con la velocidad en 4 si no aplicamos el deta.Time.