Este docente es una maravilla.
Introducción
Game Design del juego
La estructura y assets de un proyecto en Unity
Convirtiendo nuestros assets en Tiles
Tilemaps y creación del escenario
Bonus: FastForward de la creación del escenario, sorting layers y creación de colliders
Acá encontrarás los archivos de este curso
Personaje principal: Movimiento y Animaciones
El jugador y el movimiento
Creando nuestra primera animación
Creando el grafo de animaciones
Usando un árbol de animaciones
Mostrando la solución del desafío e implementando transición entre blended trees
Programando una cámara que siga al jugador
Corrección del bug gráfico
límites del escenario, rigid bodies
Ejercicio: diseño de interiores
Escenarios Avanzados
Transiciones entre escenas
Mantener Player y Camera entre escenas
Spawning Points: programando que el jugador y la cámara aparezcan en el lugar correcto al cambiar de escena
Agregando Identificadores a nuestros Spawning Points para controlar mejor el flujo de nuestro juego
Enemigos Avanzados
Creando nuestro enemigo
Programando las físicas y el patrullaje del enemigo
Generando movimiento completamente aleatorio
Programando el ataque del enemigo
Crear Manager de Health del Player
Crear armas
Programando el ataque del Player con arma
Mover la espada al caminar
Creando el ataque con espada
Ejecutando el ataque con un botón
Movimiento en diagonal
Optimizando nuestro player controller
Ataque mejorado
Uso de partículas
Añadir el daño del enemigo en batalla
Programando los contadores de vida del enemigo
Colocando más info de UI en pantalla
Script de la vida
Personaje principal avanzado
Añadir el daño del personaje (ejercicio)
Sistema de puntos de experiencia para nuestro personaje principal
Level Up!
Level Up! Defensa y Reto Final del Módulo: Stats de los enemigos
Creando un NPC
Limitar el movimiento de nuestro NPC
Creando una pantalla de diálogos para nuestro RPG
El diálogo del NPC
Múltiples líneas de diálogo
Parar el NPC durante el diálogo
Parar el personaje durante el diálogo
Quests
La estructura de una quest
Quest 1: Ir a un lugar
Quest 2: Encontrar un objeto
Quest 3: Matar enemigos
Revisión de bugs
Mantener la cámara dentro del escenario
El problema al cambiar de escena
Audio
Agregando SFX a nuestro videojuego
Agregando música a nuestro videojuego
Ajustar volúmen del audio de cada uno de los efectos de sonido
Creando un VolumeManager
Agregando economía a nuestro juego y cierre
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Juan Gabriel Gomila
Aportes 16
Preguntas 5
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 }
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. 😅
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
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 😦
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.
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
Anexo foto de error: https://drive.google.com/file/d/1OCTV__KNUdZ1Pfzo3E6B0bBBi68PQjku/view?usp=sharing
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.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?