
shader_type canvas_item;
uniform vec4 shine_color : source_color = vec4(1.0);
uniform float shine_progress : hint_range(0.0, 1.0, 0.01) = 0.0;
uniform float shine_size : hint_range(0.01, 1.0, 0.01) = 0.1;
uniform float shine_angle : hint_range(0.0, 89.9, 0.1) = 45.0;
float scale(float value, float inMin, float inMax, float outMin, float outMax) {
return (value - inMin) * (outMax - outMin) / (inMax - inMin) + outMin;
}
void fragment() {
//COLOR = texture(TEXTURE, UV);
float slope = tan(radians(shine_angle));
float progress = scale(shine_progress, 0.0, 1.0, -1.0 - shine_size - shine_size * slope, 1.0 * slope);
float shine = step(slope * UV.x - UV.y, progress + shine_size + shine_size * slope) - step(slope * UV.x - UV.y, progress);
COLOR.rgb = mix(COLOR.rgb, shine_color.rgb, shine * shine_color.a);
}
shader_type canvas_item;
// Ranges from 0 to 1 over the course of the transition.
// We use this to actually animate the shader.
uniform float progress : hint_range(0, 1);
// Size of each diamond, in pixels.
uniform float diamondPixelSize = 10.0;
void fragment() {
float xFraction = fract(FRAGCOORD.x / diamondPixelSize);
float yFraction = fract(FRAGCOORD.y / diamondPixelSize);
float xDistance = abs(xFraction - 0.5);
float yDistance = abs(yFraction - 0.5);
if (xDistance + yDistance + UV.x + UV.y > progress * 4.0) {
discard;
}
}
¿Cuentas con una base sólida en Godot 4 y quieres dar el siguiente paso hacia el desarrollo de juegos más completos y profesionales?
Máster Godot 2D: Crea un juego estilo RPG con Godot está diseñado especialmente para quienes ya dominan los fundamentos de Godot y buscan llevar su experiencia al siguiente nivel creando sistemas más avanzados, organizados y reutilizables.
En este nuevo curso, aprenderás a construir desde cero un juego estilo RPG lleno de mecánicas divertidas. El género RPG es el más complicado de desarrollar en general, en este curso veremos cómo crear lo más difícil de la manera más fácil.
Durante el curso aprenderemos lo siguiente:
Reproducir animaciones en base a movimientos.
Crear un Sistema de Maquina de Estados (FSM).
Crear un sistema de Salud.
Crear escenarios usando TileMaps.
Automatizar TileMaps con Rules.
Crear Paneles Interactivos.
Dominar creación de Interfaces.
Crear un Sistema Completo de Inventario.
Agregar un Sistema de Equipamiento.
Construir Items personalizados.
Actualizar Stats del Player con Atributos.
Crear Zonas de Enemigos (Enemy Spawner)
Crerar IA de Enemigos con States.
Crear un sistema de Loot de Enemigos.
Crear Skills con Efectos Únicos.
Equipar Skills en un Hotbar.
Agregar NPCs al Mapa.
Agregar Movimiento a NPCs.
Crear un Sistema de Diálogo.
Crear un Sistema Completo de Tienda.
Crear un Sistema Completo de Crafting.
Crear un Sistema Completo de Quests.
Dominar Autoloads.
Crear un Sistema de Audio.
Código limpio y escalable que podrás aplicar a tus propios proyectos.
Dominarás el uso de nodos, signals, composición y herencia de escenas.
Aprenderás a crear una arquitectura sólida y flexible.
Cada sección está pensada para que refuerces tu lógica de programación y comprendas cómo estructurar proyectos de forma profesional en Godot.
Si ya conoces las bases de Godot y estás listo para crear un videojuego RPG completo y pulido, este curso te brindará las herramientas necesarias para hacerlo realidad.