Skip to content

Latest commit

 

History

History
150 lines (108 loc) · 5.69 KB

File metadata and controls

150 lines (108 loc) · 5.69 KB

🔌 Lista de Plugins

Todos os plugins registrados em DefaultPlugins (src/plugins/defaults.ts).

Core

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

Câmera

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)

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)

Modelo 3D

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)

text-3d

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)

Ambiente

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

sky

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).

Visual

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.

Lógica

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.)

audio

Á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.

Engine features (gameplay)

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)

Opcionais (registar com withPlugin)

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

Pipeline

Plugin Pasta Descrição
scene-manifest scene-manifest/ Integração com o pipeline GameAssets (manifest JSON)

Veja docs/ASSET-PIPELINE.md para detalhes.

Texture Recipe

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.