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

Estrutura de um Projeto Needle Engine

O Needle Engine integra-se profundamente com softwares 3D como o Unity e o Blender, e ao mesmo tempo possui a total flexibilidade do desenvolvimento web moderno. Por esta razão, um projeto feito com Needle geralmente consiste em duas partes: um Projeto de Editor e um Projeto Web. Frequentemente referir-nos-emos ao Projeto de Editor como "Projeto Unity" ou "Projeto Blender", dependendo do editor que usa.

Projeto de editor e projeto web

O Projeto de Editor é onde cria as suas cenas 3D, adiciona componentes a objetos, adiciona materiais e luzes, configura o ambiente, anima e assim por diante. Pode usar todas as ferramentas poderosas do seu software 3D para criar o conteúdo que será exportado para a web. Se estiver a trabalhar com Unity ou Blender, irá querer instalar o pacote Needle Engine for Unity ou o add-on Needle Engine for Blender.

O Projeto Web é onde a sua aplicação web se forma. Contém os assets 3D exportados, os scripts que controlam o comportamento da sua aplicação, e o HTML e CSS que definem a aparência. O projeto web é alimentado pelo Needle Engine, que é responsável por carregar e exibir o seu conteúdo 3D, gerir os componentes de script e o seu ciclo de vida, e utilizar as capacidades da plataforma web como WebXR, áudio, rede, e mais.

Criação de um projeto web

Por predefinição, o projeto web é criado e gerido pelo Needle, o que significa que não precisa de se preocupar com a configuração do pacote, adição de dependências ou compilação – pode focar-se na criação do seu conteúdo. As integrações para Unity e Blender facilitam a criação de um projeto web diretamente a partir do seu editor.

Unity

Encontre o componente Needle Engine na sua cena ou adicione-o, depois clique em Gerar Projeto. Isto irá criar um novo projeto web na pasta que especificar.

Criar um projeto web a partir do Unity

Blender

Encontre o painel de Cena e a secção Needle Engine, depois clique em Gerar Projeto Web. Isto irá criar um novo projeto web na pasta que especificar.

Criar um projeto web a partir do Blender

A partir da linha de comandos

Abra um terminal e execute o comando npx create needle para criar um novo projeto web Needle Engine. O comando irá pedir-lhe o nome do projeto, o framework e outras definições. Também pode especificar a pasta onde o projeto deve ser criado.

Instale o Node.js primeiro

Certifique-se de que tem o Node.js instalado no seu sistema. Pode verificar se tem executando node -v no seu terminal. Se não o tiver instalado, descarregue-o e instale-o a partir do site do Node.js.

% npm create needle

> create-needle

create-needle version 0.1.1-alpha

┌  Bem-vindo ao Needle Engine! 🌵
│
◇  Onde devemos criar o seu projeto?
│  my-project
│
◇  Que framework deseja usar?
│  HTML, CSS, JavaScript com Vite
│
└  O seu projeto está pronto!

Próximos passos:
  1: cd my-project
  2: npm install (ou npm i)
  3: npm start (ou npm run dev)
  4: Conectar uma integração (Unity, Blender, ...)

Traga o seu próprio projeto

O Needle Engine é muito flexível. Pode modificar o projeto web existente ou usar o seu próprio. Isso permite-lhe integrar em projetos existentes, usar um sistema de compilação diferente ou usar um framework diferente como React, Vue ou Angular.

Abrir o projeto web num editor de código

Recomendamos o Visual Studio Code como editor de código, porque tem um excelente suporte para o desenvolvimento web em geral, e para o TypeScript em particular. Quando gera um projeto web, criamos automaticamente um ficheiro .code-workspace que pode abrir no Visual Studio Code. Este ficheiro contém a configuração para o espaço de trabalho, incluindo as pastas a incluir e as definições para o editor.

Unity

Clique em Abrir Editor de Código no componente Needle Engine. Isto irá abrir o projeto web no Visual Studio Code, com todas as pastas e ficheiros incluídos.

Abrir o Editor de Código a partir do Unity

Blender

Clique em Abrir Editor de Código no painel Cena > Needle Engine. Isto irá abrir o projeto web no Visual Studio Code, com todas as pastas e ficheiros incluídos.

Abrir o Editor de Código a partir do Blender

Encontre no Explorador ou Finder

Faça duplo clique no ficheiro .code-workspace. Isto irá abrir o projeto web no Visual Studio Code, com todas as pastas e ficheiros incluídos. Pode, claro, também abrir a pasta do projeto web noutros editores de código, se preferir.

Abrir o Editor de Código a partir do Finder

Compreender os ficheiros e pastas no projeto web

O projeto web predefinido baseia-se numa estrutura padrão que segue as práticas modernas de desenvolvimento web. Utiliza o excelente Vite como ambiente de desenvolvimento, bundler e ferramenta de compilação. As secções seguintes descrevem a estrutura de um projeto web Needle Engine típico.

Os locais com os quais mais irá interagir são src/scripts/ e build/.

Adicione os seus próprios componentes a src/scripts/. Escreva-os em TypeScript.

Ao compilar o seu projeto web, seja clicando em "Build" no editor ou executando npm run build, os ficheiros finais são colocados na pasta dist/. Esta é a pasta que pode carregar para um servidor web para alojar a sua aplicação web.

File Tree: Ficheiro do Projeto Web

Ficheiro do Projeto WebDescription
index.html

A página inicial do seu projeto web. Pode adicionar HTML, folhas de estilo ou importações de scripts adicionais aqui. Os componentes Needle personalizados devem ser colocados na pasta src/scripts/.

Também encontra aqui o componente web <needle-engine>, que exibe o seu conteúdo 3D. Pode modificar os seus atributos para alterar o ambiente, estilo de carregamento, sombras de contacto e muito mais. Consulte a Referência de Atributos do Componente Web para uma lista de atributos disponíveis.

assets/

A pasta de assets contém ficheiros 3D e outros exportados pela integração. Isto inclui ficheiros .glb, ficheiros de áudio ou vídeo. A pasta é gerida pela integração, por isso, se quiser adicionar assets adicionais, coloque-os em include/ em vez disso.

assets/MyScene.glb

A cena 3D exportada do Unity ou Blender é automaticamente colocada aqui. O nome do ficheiro depende de como a sua cena Unity ou Blender é nomeada. Pode haver mais ficheiros nesta pasta, dependendo de como o seu projeto está configurado. Por exemplo, se tiver várias cenas, ou usar ficheiros de áudio ou vídeo, eles também estarão aqui.

src/

O código fonte do seu projeto web. É aqui que escreve os seus scripts, estilos e outro código que compõe a sua aplicação web. O Needle coloca alguns ficheiros gerados aqui, e também pode adicionar o seu próprio código.

src/main.ts

Este script é incluído a partir de index.html e executa ao iniciar. Ele importa @needle-tools/engine e carrega o código principal do motor. Pode adicionar plugins para o Needle Engine aqui.

src/scripts/

Adicione os seus scripts personalizados nesta pasta. O nosso compilador de componentes irá gerar automaticamente componentes stub para Unity e Blender a partir deles.

src/scripts/MyComponent.ts

Um exemplo de um script personalizado que será compilado num componente Unity C# ou painel Blender. Pode adicionar os seus próprios scripts aqui, e eles serão automaticamente detetados pelo compilador de componentes.

src/styles/

A pasta de estilos contém as folhas de estilo para o seu projeto web. Pode adicionar folhas de estilo adicionais aqui e importá-las em index.html.

src/styles/main.css

A folha de estilo predefinida para o seu projeto web. Adicione os seus próprios estilos aqui, ou crie folhas de estilo adicionais na pasta src/styles/. Pode importá-las em index.html.

src/generated/

Os ficheiros nesta pasta são gerados e geridos pela integração Needle. Não os edite manualmente – serão substituídos na exportação.

src/generated/gen.js

Este ficheiro é gerado. Ele indica ao componente web <needle-engine> qual ficheiro carregar inicialmente.

src/generated/meta.json

Este ficheiro é gerado. Contém metadados sobre o projeto, como o nome da cena principal, a versão do Needle Engine usada e outras informações.

src/generated/register_types.ts

Este ficheiro é gerado. Ele importa automaticamente componentes personalizados que o seu projeto usa, tanto do seu código como de pacotes de dependência.

include/

Se tiver assets personalizados que deseja carregar em tempo de execução, adicione-os à pasta include. Ao compilar, esta pasta será copiada para a pasta de saída.

dist/

A pasta de saída onde o projeto web compilado é colocado. É aqui que a aplicação web final é gerada. Contém os ficheiros empacotados e minificados que estão prontos para serem publicados num servidor.

needle.config.json

A configuração Needle. As integrações Needle e as ferramentas de compilação usam este ficheiro. Ele contém informações sobre para onde exportar assets e onde está a pasta de compilação.

vite.config.js

A configuração do vite. As definições para construir a distribuição e alojar o servidor de desenvolvimento são feitas aqui. Geralmente, não precisa de alterar este ficheiro, mas pode adicionar plugins adicionais ou modificar o processo de compilação, se necessário.

package.json

Configuração do projeto contendo nome, versão, dependências e scripts de desenvolvimento. Pode adicionar pacotes npm adicionais como dependências aqui.

tsconfig.json

Esta é a configuração do compilador Typescript. Ela indica ao TypeScript que estamos a usar funcionalidades de scripting modernas.

.gitignore

Este ficheiro especifica quais ficheiros e pastas devem ser ignorados pelo sistema de controlo de versão git. O projeto web predefinido exclui as pastas /dist, node_modules e .vite. Se estiver a usar outro sistema de controlo de versão que não o git, deve excluir estas pastas.

O nosso exportador pode ser usado com outras estruturas de projeto. Escolhemos o Vite como bundler devido à sua velocidade e flexibilidade. Sinta-se à vontade para configurar a sua própria estrutura de projeto ou usar um bundler diferente, como o Webpack. O Needle Engine foi concebido para ser flexível e geralmente pode ser adaptado às suas necessidades. Saiba mais sobre bundling e outros frameworks.

Estender o projeto web

O projeto web utiliza uma estrutura padrão da indústria:

  • Node.js e npm para gestão de pacotes e scripts de compilação
  • TypeScript para scripting
  • Vite para executar o servidor de desenvolvimento e construir a versão de produção
  • HTML e CSS para a estrutura e estilo da aplicação web

Pode estender o projeto web adicionando os seus próprios scripts, estilos e assets. Pode adicionar pacotes npm adicionais ao projeto conforme necessário e pode personalizar o processo de compilação modificando o ficheiro vite.config.js. Para algumas personalizações, como adicionar suporte PWA à sua aplicação, o Needle já fornece ajudas para as tornar mais fáceis. Geralmente, pode modificar livremente o projeto web como achar melhor, o que distingue o Needle Engine de outros motores que exigem que utilize a sua estrutura de projeto específica.

Copiar ficheiros adicionais para a pasta de saída

Pode adicionar ficheiros adicionais ao seu projeto que deseja que sejam copiados para a pasta de saída ao compilar. Ou os coloca na pasta include/, ou configura a cópia deles no ficheiro needle.config.json.

Adicionar interfaces HTML ao seu projeto web

O seu projeto Needle Engine não se limita a conteúdo 3D. Pode criar interfaces de utilizador 2D usando HTML e CSS, e ligá-las às suas cenas 3D. Isto permite-lhe criar aplicações web ricas e interativas que combinam elementos 3D e 2D.

Se o seu HTML e CSS se tornarem mais complexos, poderá querer usar um framework de frontend como Svelte, React ou Vue. O Needle Engine foi concebido para funcionar bem com estes frameworks, e fornecemos exemplos e documentação sobre como os integrar. Consulte os nossos Exemplos de Frameworks de Frontend para mais informações.

Aqui estão alguns recursos para começar com UIs 2D no Needle Engine:

  • Usar HTML e CSS no Needle Engine
  • Exemplo SvelteKit
  • Exemplo React
  • Exemplo Vue

O Needle Engine fornece um ficheiro de configuração (needle.config.json) que lhe permite personalizar o processo de compilação, adicionar assets adicionais e configurar como o projeto web é construído.

Usar um Editor sem integração

As integrações Unity e Blender não são obrigatórias para usar o Needle Engine. Por outras palavras, o projeto web não depende do projeto de editor – ele apenas usa os assets 3D exportados. Se preferir usar um editor diferente ou criar os seus assets 3D manualmente, pode fazê-lo. Exporte os seus assets 3D em formato glTF ou GLB e adicione-os ao seu projeto web.

Usar a integração com um projeto web existente

Se já tiver um projeto web que deseja integrar com o Needle Engine, pode fazê-lo seguindo estes passos:

  1. Instale o pacote Needle Engine para Unity ou Blender.
  2. Configure a sua cena
  3. Indique à integração onde o seu projeto web está localizado.
  4. Configure onde os ficheiros exportados devem ser colocados no seu projeto web. Isto é feito no ficheiro needle.config.json.
  5. Carregue os assets exportados no seu projeto web usando a API do Needle Engine.

Continuar a Ler

  • Guia de Typescript para Desenvolvedores Unity
  • Essenciais do Typescript
  • Escrever scripts personalizados
  • Ações Everywhere

Página traduzida automaticamente usando IA

Suggest changes
Last Updated: 15/08/2025, 08:05
Next
Everywhere Actions