threejs-lighting
Ajuda seu agente a adicionar luzes e sombras às cenas 3D. Ele pode configurar diferentes tipos de luzes para tornar a cena mais realista.
O que ela faz
Esta ferramenta ajuda a adicionar e ajustar luzes em cenas 3D criadas com Three.js. Você pode escolher diferentes tipos de luz, configurar sombras e melhorar a aparência geral da sua cena.
Quando usar
- ✓Quando você quer adicionar luzes a uma cena 3D.
- ✓Para configurar sombras realistas.
- ✓Para ajustar a iluminação e o clima de uma cena.
Exemplo do que pedir para a IA
“Como posso adicionar uma luz que simula o sol em uma cena Three.js?”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
Você escolhe um tipo de luz (como 'DirectionalLight' para simular o sol) e a adiciona à sua cena. Você pode ajustar a cor, intensidade e posição para obter o efeito desejado.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add sickn33/agentic-awesome-skills --skill threejs-lightingOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/threejs-lighting/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Iluminação no Three.js
Quando Usar
- Você precisa adicionar ou ajustar a iluminação em uma cena Three.js.
- A tarefa envolve tipos de luz, sombras, iluminação de ambiente ou compromissos de desempenho de iluminação.
- Você quer melhorar a legibilidade da cena, o realismo ou o clima através da configuração de iluminação do Three.js.
Início Rápido
import * as THREE from "three";
// Basic lighting setup
const ambientLight = new THREE.AmbientLight(0xffffff, 0.5);
scene.add(ambientLight);
const directionalLight = new THREE.DirectionalLight(0xffffff, 1);
directionalLight.position.set(5, 5, 5);
scene.add(directionalLight);
Visão Geral dos Tipos de Luz
| Luz | Descrição | Suporte a Sombras | Custo |
|---|---|---|---|
| AmbientLight | Uniforme em todos os lugares | Não | Muito Baixo |
| HemisphereLight | Gradiente céu/solo | Não | Muito Baixo |
| DirectionalLight | Raios paralelos (sol) | Sim | Baixo |
| PointLight | Omnidirecional (lâmpada) | Sim | Médio |
| SpotLight | Em forma de cone | Sim | Médio |
| RectAreaLight | Luz de área (janela) | Não* | Alto |
*Sombras de RectAreaLight exigem soluções personalizadas
AmbientLight
Ilumina todos os objetos igualmente. Sem direção, sem sombras.
// AmbientLight(color, intensity)
const ambient = new THREE.AmbientLight(0xffffff, 0.5);
scene.add(ambient);
// Modify at runtime
ambient.color.set(0xffffcc);
ambient.intensity = 0.3;
HemisphereLight
Gradiente de cor do céu para o solo. Bom para cenas externas.
// HemisphereLight(skyColor, groundColor, intensity)
const hemi = new THREE.HemisphereLight(0x87ceeb, 0x8b4513, 0.6);
hemi.position.set(0, 50, 0);
scene.add(hemi);
// Properties
hemi.color; // Sky color
hemi.groundColor; // Ground color
hemi.intensity;
DirectionalLight
Raios de luz paralelos. Simula uma fonte de luz distante (sol).
// DirectionalLight(color, intensity)
const dirLight = new THREE.DirectionalLight(0xffffff, 1);
dirLight.position.set(5, 10, 5);
// Light points at target (default: 0, 0, 0)
dirLight.target.position.set(0, 0, 0);
scene.add(dirLight.target);
scene.add(dirLight);
Sombras de DirectionalLight
dirLight.castShadow = true;
// Shadow map size (higher = sharper, more expensive)
dirLight.shadow.mapSize.width = 2048;
dirLight.shadow.mapSize.height = 2048;
// Shadow camera (orthographic)
dirLight.shadow.camera.near = 0.5;
dirLight.shadow.camera.far = 50;
dirLight.shadow.camera.left = -10;
dirLight.shadow.camera.right = 10;
dirLight.shadow.camera.top = 10;
dirLight.shadow.camera.bottom = -10;
// Shadow softness
dirLight.shadow.radius = 4; // Blur radius (PCFSoftShadowMap only)
// Shadow bias (fixes shadow acne)
dirLight.shadow.bias = -0.0001;
dirLight.shadow.normalBias = 0.02;
// Helper to visualize shadow camera
const helper = new THREE.CameraHelper(dirLight.shadow.camera);
scene.add(helper);
PointLight
Emite luz em todas as direções a partir de um ponto. Como uma lâmpada.
// PointLight(color, intensity, distance, decay)
const pointLight = new THREE.PointLight(0xffffff, 1, 100, 2);
pointLight.position.set(0, 5, 0);
scene.add(pointLight);
// Properties
pointLight.distance; // Maximum range (0 = infinite)
pointLight.decay; // Light falloff (physically correct = 2)
Sombras de PointLight
pointLight.castShadow = true;
pointLight.shadow.mapSize.width = 1024;
pointLight.shadow.mapSize.height = 1024;
// Shadow camera (perspective - 6 directions for cube map)
pointLight.shadow.camera.near = 0.5;
pointLight.shadow.camera.far = 50;
pointLight.shadow.bias = -0.005;
SpotLight
Luz em forma de cone. Como uma lanterna ou luz de palco.
// SpotLight(color, intensity, distance, angle, penumbra, decay)
const spotLight = new THREE.SpotLight(0xffffff, 1, 100, Math.PI / 6, 0.5, 2);
spotLight.position.set(0, 10, 0);
// Target (light points at this)
spotLight.target.position.set(0, 0, 0);
scene.add(spotLight.target);
scene.add(spotLight);
// Properties
spotLight.angle; // Cone angle (radians, max Math.PI/2)
spotLight.penumbra; // Soft edge (0-1)
spotLight.distance; // Range
spotLight.decay; // Falloff
Sombras de SpotLight
spotLight.castShadow = true;
spotLight.shadow.mapSize.width = 1024;
spotLight.shadow.mapSize.height = 1024;
// Câmera de sombra (perspectiva)
…
Perguntas frequentes
Quais são os tipos de luz disponíveis?
Existem vários tipos, como luz ambiente (ilumina tudo igualmente), luz direcional (como o sol), luz de ponto (como uma lâmpada) e luz de holofote (como uma lanterna).
Como faço para as sombras aparecerem?
Você precisa habilitar as sombras no seu 'renderer', na luz específica e nos objetos que devem projetar ou receber sombras.
O que é 'IBL'?
IBL significa 'Image-Based Lighting', que usa uma imagem para criar iluminação e reflexos realistas na sua cena. Essa ferramenta ajuda a configurar isso.
Detalhes
Descrição original do autor
Three.js lighting - light types, shadows, environment lighting. Use when adding lights, configuring shadows, setting up IBL, or optimizing lighting performance.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4374
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
blender-motion-state-inspection
Permite inspecionar detalhes de animações em 3D. É útil para verificar poses, movimentos e o alinhamento de personagens em animações.
affaan-m/ECC
manim-video
Faz seu agente criar vídeos explicativos animados. Ele usa o Manim para gerar gráficos e diagramas claros para conceitos técnicos.
affaan-m/ECC
remotion-video-creation
Orienta seu agente na criação de vídeos usando React com a biblioteca Remotion. Ele cobre boas práticas para animações, áudio, legendas e outros elementos visuais.
affaan-m/ECC