Catálogo de código abierto y sin inicio de sesión de componentes interactivos de UI para Three.js/WebGL, con renderizadores en vivo y el código fuente completo de React.
achrefelouafi/LinearAbiltyCastingThreeJS
Sandbox de Three.js y GLSL para ajustar efectos visuales de habilidades tipo skillshot, con controles deslizantes en vivo que siguen funcionando al pausar la simulación.
- Estrellas
- 1,015
- Forks
- 202
- Issues abiertos
- 9
- Último commit
- hace 26 días
¿Qué es?
Elemental Sandbox es un sandbox de efectos visuales para navegador, creado con Three.js, Vite y GLSL escrito a mano. Demuestra seis habilidades al estilo de League of Legends: cuatro lanzamientos lineales que se apuntan con una flecha en el suelo y dos lanzamientos a distancia que se apuntan con un círculo de selección. Cada habilidad se construye con geometría procedural, shaders de distancia con signo y partículas en la GPU, sin texturas ni hojas de sprites, salvo el modelo del personaje y su mapa de color.
La idea central del proyecto es que cada parámetro se controla con un deslizador en vivo (938 en total) que sigue funcionando mientras la simulación está en pausa. Los shaders, los sistemas de partículas y las luces leen en cada fotograma un único objeto compartido con la configuración, de modo que se puede modificar una erupción o un impacto congelados sobre una imagen fija. El editor integrado (se activa con G) también permite guardar, exportar e importar presets.
El código está organizado en una clase base para las habilidades con pooling, un controlador de apuntado, un pipeline de renderizado con depth prepass, bloom, tone mapping ACES y gradación de color, además de un sistema de partículas en la GPU. En el repositorio se conserva como referencia una versión anterior archivada con hechizos de fuego, agua, tierra y aire.
Funciones clave
- 01Seis habilidades con modos de apuntado para lanzamientos lineales y a distancia.
- 02Geometría procedural y shaders de distancia con signo, sin texturas de sprites.
- 03938 deslizadores de parámetros en vivo que siguen actualizándose mientras la simulación está en pausa.
- 04Guardado de presets y exportación e importación de JSON desde un editor integrado.
- 05Sistema de partículas en la GPU con reutilización de posiciones mediante pooling y un búfer circular.
- 06Pipeline de renderizado con depth prepass, bloom, tone mapping ACES y gradación de color.
Casos de uso
- Crear prototipos de efectos para habilidades skillshot o AoE en un juego con Three.js.
- Estudiar técnicas de GLSL, como flechas SDF, cintas de rayos y haces volumétricos.
- Ajustar de forma interactiva el aspecto de las partículas y la iluminación antes de fijar los valores en el código.
- Aprender a estructurar un proyecto de efectos visuales en tiempo real en torno a un único objeto compartido con la configuración.
Inicio rápido
- 1
Instala las dependencias
npm install - 2
Inicia el servidor de desarrollo
npm run dev - 3
Abre la URL que muestra Vite (por defecto, http://127.0.0.1:5173)
Temas
Preguntas frecuentes
- ¿Qué es LinearAbiltyCastingThreeJS?
- Sandbox de Three.js y GLSL para ajustar efectos visuales de habilidades tipo skillshot, con controles deslizantes en vivo que siguen funcionando al pausar la simulación. Elemental Sandbox es un sandbox de efectos visuales para navegador, creado con Three.js, Vite y GLSL escrito a mano. Demuestra seis habilidades al estilo de League of Legends: cuatro lanzamientos lineales que se apuntan con una flecha en el suelo y dos lanzamientos a distancia que se apuntan con un círculo de selección. Cada habilidad se construye con geometría procedural, shaders de distancia con signo y partículas en la GPU, sin texturas ni hojas de sprites, salvo el modelo del personaje y su mapa de color.
- ¿LinearAbiltyCastingThreeJS es gratuito? ¿Qué licencia tiene?
- LinearAbiltyCastingThreeJS es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿LinearAbiltyCastingThreeJS sigue mantenido?
- Mantenimiento activo. El último commit de LinearAbiltyCastingThreeJS fue el 23 sept 2026.
- ¿Para qué puedo usar LinearAbiltyCastingThreeJS?
- Crear prototipos de efectos para habilidades skillshot o AoE en un juego con Three.js. Estudiar técnicas de GLSL, como flechas SDF, cintas de rayos y haces volumétricos. Ajustar de forma interactiva el aspecto de las partículas y la iluminación antes de fijar los valores en el código. Aprender a estructurar un proyecto de efectos visuales en tiempo real en torno a un único objeto compartido con la configuración.
- ¿Cómo se instala LinearAbiltyCastingThreeJS?
- Instala las dependencias: npm install Inicia el servidor de desarrollo: npm run dev Abre la URL que muestra Vite (por defecto, http://127.0.0.1:5173)
- ¿Dónde consigo LinearAbiltyCastingThreeJS?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/achrefelouafi/LinearAbiltyCastingThreeJS
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una Agent Skill que permite a Codex, Claude Code o Cursor generar una escena arquitectónica en Three.js que se puede recorrer en órbita y se construye ladrillo a ladrillo.
GPU.js transpila funciones sencillas de JavaScript a código de shaders para ejecutarlas en la GPU en navegadores y Node.js, con fallback a JavaScript normal.
Un paquete de nueve skills de agente para Codex y Claude Code, pensado para crear juegos de navegador pulidos y jugables con Three.js, con una skill directora que distribuye el trabajo.
Colección de componentes helper y hooks listos para usar en React para crear escenas 3D con react-three-fiber.
Un wrapper de React para la biblioteca postprocessing que permite aplicar efectos de posprocesamiento declarativamente como componentes JSX en escenas de react-three-fiber.