Documentação do Needle Engine
Downloads
  • What is Needle Engine?
  • Depoimentos
  • Get an overview

    • Samples and Showcase
    • A Nossa Visão 🔮
    • Visão Geral de Recursos
    • Visão Geral Técnica
  • Resources

    • Pricing and Plans
    • Changelog
    • API Documentation
    • Support & Community
  • Integrations

    • Needle Engine para Unity
    • Needle Engine para Blender
    • Needle Engine como Web Component
    • Needle Engine no seu Website
    • Needle Cloud
  • Core Concepts

    • Estrutura de um Projeto Needle Engine
    • Everywhere Actions
    • Exportar Recursos para glTF
    • Frameworks, Bundlers, HTML
    • Testar em dispositivos locais
    • Implementação e Otimização
  • Advanced

    • VR & AR (WebXR)
    • Image Tracking (WebXR)
    • Rede
    • MaterialX
    • Sincronização do Editor
  • Troubleshooting

    • Como Depurar
    • Perguntas e Respostas (FAQ) 💡
    • Support and Community
  • Videos

    • Tutorials on Youtube
    • Interviews on Youtube
  • Scripting Overview

    • Scripting no Needle Engine
    • Introdução à Scripting para Developers Unity
    • Componentes Principais do Needle
    • Everywhere Actions
  • Components and Lifecycle

    • Criar e usar Componentes
    • @serializable e outros decorators
    • Geração Automática de Componentes
    • Exemplos de Scripting
    • Community Contributions
    • Módulos Adicionais
  • Settings and APIs

    • <needle-engine> Configuração
    • needle.config.json
    • Needle Engine API
    • three.js API
Help
Samples
Pricing
  • Needle Website
  • Needle Cloud
  • Support Community
  • Discord Server
  • X/Twitter
  • YouTube
  • Newsletter
  • Email
  • Feedback
  • Github
  • English
  • 简体中文
  • Español
  • Português
  • Français
  • हिन्दी
  • 日本語
  • Deutsch
  • Tiếng Việt
Downloads
  • What is Needle Engine?
  • Depoimentos
  • Get an overview

    • Samples and Showcase
    • A Nossa Visão 🔮
    • Visão Geral de Recursos
    • Visão Geral Técnica
  • Resources

    • Pricing and Plans
    • Changelog
    • API Documentation
    • Support & Community
  • Integrations

    • Needle Engine para Unity
    • Needle Engine para Blender
    • Needle Engine como Web Component
    • Needle Engine no seu Website
    • Needle Cloud
  • Core Concepts

    • Estrutura de um Projeto Needle Engine
    • Everywhere Actions
    • Exportar Recursos para glTF
    • Frameworks, Bundlers, HTML
    • Testar em dispositivos locais
    • Implementação e Otimização
  • Advanced

    • VR & AR (WebXR)
    • Image Tracking (WebXR)
    • Rede
    • MaterialX
    • Sincronização do Editor
  • Troubleshooting

    • Como Depurar
    • Perguntas e Respostas (FAQ) 💡
    • Support and Community
  • Videos

    • Tutorials on Youtube
    • Interviews on Youtube
  • Scripting Overview

    • Scripting no Needle Engine
    • Introdução à Scripting para Developers Unity
    • Componentes Principais do Needle
    • Everywhere Actions
  • Components and Lifecycle

    • Criar e usar Componentes
    • @serializable e outros decorators
    • Geração Automática de Componentes
    • Exemplos de Scripting
    • Community Contributions
    • Módulos Adicionais
  • Settings and APIs

    • <needle-engine> Configuração
    • needle.config.json
    • Needle Engine API
    • three.js API
Help
Samples
Pricing
  • Needle Website
  • Needle Cloud
  • Support Community
  • Discord Server
  • X/Twitter
  • YouTube
  • Newsletter
  • Email
  • Feedback
  • Github
  • English
  • 简体中文
  • Español
  • Português
  • Français
  • हिन्दी
  • 日本語
  • Deutsch
  • Tiếng Việt
  • Getting Started

    • Downloads
    • Needle Engine for Unity
    • Needle Engine for Blender
    • Needle Engine as Web Component
    • Needle Engine on your Website
    • Needle Cloud
    • Custom integrations
    • Support and Community
  • Core Concepts

    • Estrutura de um Projeto Needle Engine
    • Everywhere Actions
    • Exportar Recursos para glTF
    • Frameworks, Bundlers, HTML
    • Testar em dispositivos locais
    • Implementação e Otimização
  • Scripting

    • Scripting no Needle Engine
    • Introdução à Scripting para Developers Unity
    • Criar e usar Componentes
    • Geração Automática de Componentes
    • Exemplos de Scripting
    • Community Contributions
  • Advanced

    • VR & AR (WebXR)
    • Image Tracking (WebXR)
    • Rede
    • MaterialX
    • Sincronização do Editor
  • Troubleshooting

    • Como Depurar
    • Perguntas e Respostas (FAQ) 💡
    • Support and Community
  • Reference

    • Visão Geral de Recursos
    • Visão Geral Técnica
    • Componentes Principais do Needle
    • needle.config.json
    • <needle-engine> Configuração
    • @serializable e outros decorators

Atributos do Componente Web Needle Engine

O Needle Engine está disponível como um componente web: <needle-engine>. Este componente pode ser usado para carregar e exibir cenas 3D, modelos e muito mais num navegador web. Ele vem com um conjunto de atributos que permitem configurar o seu comportamento, aparência e funcionamento. Todas essas configurações podem ser sobrescritas por código, mas os atributos são uma forma conveniente de configurá-las em HTML.

O componente web está em index.html

Quer esteja a criar um projeto via Unity ou Blender, ou diretamente em código, pode usar e ajustar o componente web <needle-engine>. Geralmente, irá encontrá-lo no ficheiro index.html do seu projeto web.

A tabela abaixo mostra uma lista dos atributos disponíveis e as suas descrições.

AtributoDescrição
Carregamento
srcCaminho para um ou vários ficheiros glTF ou glb.
Os tipos suportados são string, string[] ou um array em formato string (separados por ,)
dracoDecoderPathURL para o descodificador draco, por exemplo, ./include/draco/ para usar o descodificador Draco local
dracoDecoderTypeTipo de descodificador draco. As opções são wasm ou js. Consulte a documentação three.js
ktx2DecoderPathURL para o descodificador KTX2, por exemplo, ./include/ktx2/ para usar o descodificador KTX2 local
Renderização
background-coloropcional, cor hexadecimal a ser usada como cor de fundo. Exemplos: rgb(255, 200, 100), #dddd00
background-imageopcional, URL para uma imagem skybox (imagem de fundo) ou uma string predefinida: studio, blurred-skybox, quicklook, quicklook-ar
background-blurrinessopcional, valor de desfocagem entre 0 (sem desfocagem) e 1 (desfocagem máxima) para a background-image. Exemplo: background-blurriness="0.5"
environment-imageopcional, URL para uma imagem de ambiente (luz de ambiente) ou uma string predefinida: studio, blurred-skybox, quicklook, quicklook-ar
contactshadowsopcional, renderizar sombras de contacto
tone-mappingopcional, os valores suportados são none, linear, neutral, agx
tone-mapping-exposurenúmero opcional, por exemplo, aumentar a exposição com tone-mapping-exposure="1.5", requer que tone-mapping esteja definido
Interação
autoplayadicionar ou definir como true para reproduzir automaticamente animações, por exemplo, <needle-engine autoplay
camera-controlsadicionar ou definir como true para adicionar automaticamente OrbitControls se não forem encontrados controlos de câmara na cena
auto-rotateadicionar para ativar a rotação automática (apenas usado com camera-controls)
Eventos
loadstartNome da função a chamar quando o carregamento começa. Note que os argumentos são (ctx:Context, evt:Event). Pode chamar evt.preventDefault() para ocultar a sobreposição de carregamento padrão
progressNome da função a chamar quando o carregamento atualiza. onProgress(ctx:Context, evt: {detail: {context:Context, name:string, index:number, count:number, totalProgress01:number}) { ... }
loadfinishedNome da função a chamar quando o carregamento termina
Visualização de CarregamentoOpções disponíveis para alterar a aparência da visualização de carregamento do Needle Engine. Use ?debugloadingrendering para facilitar a edição
loading-backgroundPRO — Predefinição: transparent. Altere a cor de fundo de carregamento (por exemplo, #dd5500)
loading-logo-srcPRO — Altere a imagem do logótipo de carregamento (por exemplo, https://yourdomain.com/logo.png ou /logo.png)
hide-loading-overlayPRO — Não mostrar a sobreposição de carregamento
Interno
hashUsado internamente, é anexado aos ficheiros que estão a ser carregados para forçar uma atualização (por exemplo, quando o navegador cacheou um ficheiro glb). Não deve ser editado manualmente.

Aviso de atualização:

  • Atributos removidos no Needle Engine 4.5.0 loading-style, loading-background-color, loading-text-color, primary-color, secondary-color

Exemplos

<!-- Definindo o caminho para um glb personalizado a ser carregado -->
<needle-engine src="path/to/your.glb"></needle-engine>
<!-- Sobrescrevendo a localização do descodificador draco -->
<needle-engine src="path/to/your.glb" dracoDecoderPath="./include/draco/"></needle-engine>

Definir imagens de ambiente, reproduzir animação e controlos de câmara automáticos. Veja ao vivo no stackblitz

<needle-engine
      camera-controls
      auto-rotate
      autoplay
      skybox-image="https://dl.polyhaven.org/file/ph-assets/HDRIs/hdr/1k/industrial_sunset_puresky_1k.hdr"
      environment-image="https://dl.polyhaven.org/file/ph-assets/HDRIs/hdr/1k/industrial_sunset_puresky_1k.hdr"
      src="https://raw.githubusercontent.com/KhronosGroup/glTF-Sample-Models/master/2.0/DamagedHelmet/glTF-Embedded/DamagedHelmet.gltf"
      >
      </needle-engine>

Receber um evento quando o contexto needle-engine terminar de carregar:

<needle-engine loadfinished="onLoadFinished"> </needle-engine>
<script>
    function onLoadFinished() {
        console.log("Needle Engine terminou de carregar");
    }
</script>

Estilo de Carregamento Personalizado (PRO)

Pode facilmente modificar a aparência do Needle Engine definindo os atributos apropriados no componente web <needle-engine>. Consulte a tabela acima para detalhes.

carregamento personalizado
Veja o código no github

Página traduzida automaticamente por IA

Suggest changes
Last Updated: 15/08/2025, 08:05
Prev
needle.config.json
Next
@serializable e outros decorators