Pular para o conteúdo
Skillpedia
Motion e animação48 mil · #4374

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/threejs-lighting/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/threejs-lighting/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-lighting

Ou 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.md
Conteú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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#4374
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas