Repolode
achrefelouafi

achrefelouafi/LinearAbiltyCastingThreeJS

Sandbox em Three.js e GLSL para ajustar efeitos visuais de habilidades no estilo de jogos, com controles deslizantes que continuam editáveis durante a pausa da simulação.

Estrelas
1,015
Forks
202
Issues abertas
9
Último commit
há 26 dias

O que é?

Elemental Sandbox é uma sandbox de VFX para navegador, feita com Three.js, Vite e GLSL escrito à mão. Ela demonstra seis habilidades no estilo de League of Legends: quatro disparos lineares mirados com uma seta no chão e dois disparos de longo alcance mirados com um círculo de alvo. Cada habilidade é construída com geometria procedural, shaders de distância assinada e partículas na GPU, sem texturas ou sprite sheets além do modelo do personagem e de seu mapa de cores.

A ideia central do projeto é que cada parâmetro seja controlado por um slider em tempo real (938 ao todo), que continua funcionando enquanto a simulação está pausada. As configurações ficam em um único objeto compartilhado, consultado a cada frame por shaders, sistemas de partículas e luzes, permitindo remodelar uma erupção ou um golpe congelado usando uma imagem estática como referência. Um editor integrado (ativado com G) também permite salvar, exportar e importar presets.

O código é organizado em uma classe base para habilidades com pooling, um controlador de mira, um pipeline de renderização com depth prepass, bloom, tone mapping ACES e gradação de cores, além de um sistema de partículas na GPU. Uma versão anterior arquivada, com feitiços de fogo, água, terra e ar, foi mantida no repositório como referência.

Recursos principais

  • 01Seis habilidades com modos de mira para disparos lineares e de longo alcance.
  • 02Geometria procedural e shaders de distância assinada, sem texturas de sprites.
  • 03938 sliders de parâmetros em tempo real que continuam atualizando enquanto a simulação está pausada.
  • 04Salvamento de presets e exportação e importação de JSON por meio de um editor integrado.
  • 05Sistema de partículas na GPU com reutilização de slots em buffer circular por meio de pooling.
  • 06Pipeline de renderização com depth prepass, bloom, tone mapping ACES e gradação de cores.

Casos de uso

  • Prototipar efeitos de habilidades skillshot ou AoE para jogos em Three.js.
  • Estudar técnicas de GLSL, como setas SDF, ribbons de relâmpago e feixes volumétricos.
  • Ajustar interativamente a aparência de partículas e luzes antes de definir os valores no código.
  • Aprender a estruturar um projeto de VFX em tempo real usando um único objeto compartilhado de configurações.

Início rápido

  1. 1

    Instale as dependências

    npm install
  2. 2

    Inicie o servidor de desenvolvimento

    npm run dev
  3. 3

    Abra a URL exibida pelo Vite (por padrão, http://127.0.0.1:5173)

Tópicos

Perguntas frequentes

O que é LinearAbiltyCastingThreeJS?
Sandbox em Three.js e GLSL para ajustar efeitos visuais de habilidades no estilo de jogos, com controles deslizantes que continuam editáveis durante a pausa da simulação. Elemental Sandbox é uma sandbox de VFX para navegador, feita com Three.js, Vite e GLSL escrito à mão. Ela demonstra seis habilidades no estilo de League of Legends: quatro disparos lineares mirados com uma seta no chão e dois disparos de longo alcance mirados com um círculo de alvo. Cada habilidade é construída com geometria procedural, shaders de distância assinada e partículas na GPU, sem texturas ou sprite sheets além do modelo do personagem e de seu mapa de cores.
LinearAbiltyCastingThreeJS é gratuito? Qual é a licença?
LinearAbiltyCastingThreeJS é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
LinearAbiltyCastingThreeJS ainda é mantido?
Manutenção ativa. O último commit de LinearAbiltyCastingThreeJS foi em 23 de set. de 2026.
Para que posso usar LinearAbiltyCastingThreeJS?
Prototipar efeitos de habilidades skillshot ou AoE para jogos em Three.js. Estudar técnicas de GLSL, como setas SDF, ribbons de relâmpago e feixes volumétricos. Ajustar interativamente a aparência de partículas e luzes antes de definir os valores no código. Aprender a estruturar um projeto de VFX em tempo real usando um único objeto compartilhado de configurações.
Como instalar LinearAbiltyCastingThreeJS?
Instale as dependências: npm install Inicie o servidor de desenvolvimento: npm run dev Abra a URL exibida pelo Vite (por padrão, http://127.0.0.1:5173)
Onde consigo LinearAbiltyCastingThreeJS?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/achrefelouafi/LinearAbiltyCastingThreeJS

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados