Todos os plugins registrados em DefaultPlugins (src/plugins/defaults.ts).
| Plugin | Pasta | Descrição |
|---|---|---|
transforms |
transforms/ |
Posição, rotação e escala 3D (componente WorldTransform) |
physics |
physics/ |
Física com Rapier (corpos, colliders, sensors) |
rendering |
rendering/ |
Three.js renderer, câmeras, materiais, texturas |
input |
input/ |
Teclado, mouse e gamepad |
startup |
startup/ |
Execução deferida pós-inicialização |
| Plugin | Pasta | Descrição |
|---|---|---|
orbit-camera |
orbit-camera/ |
Câmera orbital com zoom e rotação |
follow-camera |
follow-camera/ |
Câmera em terceira pessoa (segue jogador) |
| Plugin | Pasta | Descrição |
|---|---|---|
player |
player/ |
Movimento, pulo e controle de personagem |
gltf-anim |
gltf-anim/ |
Animação de modelos GLTF (clips de animação) |
| Plugin | Pasta | Descrição |
|---|---|---|
gltf-xml |
gltf-xml/ |
Carregamento declarativo de modelos GLB/GLTF via XML |
text-3d |
text-3d/ |
Integração de modelos GLB gerados pelo Text3D (Hunyuan) |
Diferente do plugin text (que usa troika-three-text para texto 2D em 3D), o text-3d carrega modelos 3D geométricos gerados pela pipeline Text3D (Hunyuan3D).
<Scene canvas="#canvas">
<TextMesh text3dModel="url: models/hello.glb" scale="2" tint="0xff0000" pos="0 1 0"></TextMesh>
</Scene>Componentes: Text3dModel (url, pending, scale, tint)
Systems: Text3dLoadSystem (carrega GLB), Text3dCleanupSystem (limpa entidades removidas)
Recipe: text3d (transform + text3dModel)
| Plugin | Pasta | Descrição |
|---|---|---|
sky |
sky/ |
Skybox com texturas equirectangulares (PMREM/IBL) |
fog |
fog/ |
Neblina volumétrica (exponential, linear, height-falloff) |
water |
water/ |
Água com física, nado e reflexos |
Carrega texturas equirectangulares (2:1 PNG/JPG/HDR) como background e/ou iluminação IBL (Image-Based Lighting) via PMREM.
<Scene canvas="#canvas">
<Skybox url="textures/sky.hdr" rotationDeg="90" setBackground="1"></Skybox>
</Scene>Componentes: Sky (urlIndex, rotationDeg, setBackground, loaded)
Systems: SkySystem (carrega textura, aplica PMREM, seta environment/background)
Para céu só por código (URL dinâmico), use applyEquirectSkyEnvironment (src/extras/sky-env.ts).
| Plugin | Pasta | Descrição |
|---|---|---|
postprocessing |
postprocessing/ |
Efeitos pós-processamento (bloom, SMAA, dithering, tonemapping) |
sprite |
sprite/ |
Sprites 2D |
line |
line/ |
Linhas 3D |
terrain |
terrain/ |
Terreno procedural com heightmaps |
Veja docs/EFFECT-REGISTRY.md para detalhes do sistema de efeitos.
| Plugin | Pasta | Descrição |
|---|---|---|
animation |
animation/ |
Sistema genérico de animação |
tweening |
tweening/ |
Interpolações suaves com easing |
spawner |
spawner/ |
Spawn de entidades |
respawn |
respawn/ |
Respawn de entidades |
lod |
lod/ |
Level of Detail (near/far) |
audio |
audio/ |
Áudio espacial (Howler) + AudioSource — ver AUDIO.md |
debug |
debug/ |
Debug overlays (wireframes, etc.) |
Áudio via Howler: AudioEmitter + AudioListener na câmara; recipe <AudioSource> com url, opcionalmente loop, playing, spatial, name, etc.
<Scene canvas="#canvas" resume-audio-on-user-gesture="true">
<AudioSource url="/assets/audio/bgm.wav" name="bgm" loop="true" playing="true"></AudioSource>
<AudioSource url="/assets/audio/jump.wav" name="sfx-jump"></AudioSource>
</Scene>Exports úteis: playAudioEmitter, resumeAudioContextIfSuspended, resumeAudioContextOnFirstUserGesture, AudioSystem.
Documentação completa: docs/AUDIO.md.
| Plugin | Pasta | Descrição |
|---|---|---|
raycast |
raycast/ |
Raycast Rapier (castRayAndGetNormal) + componentes raycast-source / raycast-result |
navmesh |
navmesh/ |
Navmesh com three-pathfinding (zona por omissão: plano) + NavMeshAgent |
ai-steering |
ai-steering/ |
Steering yuka (seek / wander / flee) + recipe NPC |
particles |
particles/ |
Partículas three.quarks (ParticleSystem, ParticleBurst) |
hud |
hud/ |
Painéis three-mesh-ui (HudPanel) em espaço mundo |
joints |
joints/ |
Joints Rapier (physicsJoint / recipe joint) |
| Plugin | Pasta | Descrição |
|---|---|---|
save-load |
save-load/ |
Snapshot msgpackr + componente serializable |
network |
network/ |
Cliente colyseus.js (mensagens transform) |
i18n |
i18n/ |
Chaves i18n (I18nText) + integração com HUD |
| Plugin | Pasta | Descrição |
|---|---|---|
scene-manifest |
scene-manifest/ |
Integração com o pipeline GameAssets (manifest JSON) |
Veja docs/ASSET-PIPELINE.md para detalhes.
O plugin rendering inclui o sistema TextureRecipe que integra texturas procedurais do Texture2D:
<GameObjecttransform renderer
textureRecipe="url: textures/wood.png; repeatMode: 1; repeatX: 4; repeatY: 4; channel: 0">
</GameObject>Canais: 0=map (diffuse), 1=normalMap, 2=roughnessMap, 3=metalnessMap
Veja a arquitetura de plugins para detalhes de como criar novos plugins.