Sobre o projeto
# Editor de Nós em ImGui
Este projeto fornece uma implementação de editor de nós com uma API semelhante à do ImGui, concebida como base para soluções complexas como editores de blueprints. A filosofia central é "desenhe o seu conteúdo, nós tratamos do resto": o editor trata das interações (colocação de nós, arrasto, zoom/scroll, seleção e vários eventos consultáveis como criação/eliminação/alterações de seleção), enquanto os utilizadores tratam da renderização do conteúdo.
## Funcionalidades Principais
- **Gestão Interna de Nós**: O movimento e a seleção dos nós são tratados internamente.
- **Conteúdo Totalmente Personalizável**: Os conteúdos dos nós e dos pinos são completamente definidos pelo utilizador.
- **Estilo**: Totalmente estilizado com um tema predefinido inspirado nos blueprints do UE4; suficientemente flexível para criar aparências de nós diversificadas.
- **Ligações Personalizáveis**: Ligações baseadas em curvas de Bézier.
- **Realces Automáticos**: Realces para nós, pinos e ligações.
- **Navegação Fluida**: Navegação e seleção fluidas.
- **Persistência de Estado**: O estado dos nós pode ser guardado no contexto do utilizador, preservando o layout.
- **Seleção e Agrupamento**: Retângulos de seleção e arrasto de grupos.
- **Menu de Contexto e Atalhos**: Suporte de menu de contexto e atalhos básicos (cortar/copiar/colar/eliminar).
- **API de Estilo ImGui**: Consistente com as convenções do ImGui.
## Dependências
- ImGui vanilla 1.72+
- C++14
As extensões opcionais para exemplos e atalhos adicionais estão listadas no README.
## Compilação / Instalação
Os ficheiros fonte estão no diretório raiz; copie-os e cole-os no seu projeto como faria com o ImGui. Os exemplos podem ser compilados com CMake no Windows, macOS e Linux.
## Início Rápido
Um exemplo mínimo cria um contexto de editor, inicia um nó com pinos de entrada/saída e renderiza-o. O cabeçalho principal é `imgui_node_editor.h`. Há mais exemplos na pasta `examples`, incluindo uma amostra de blueprints.
## Contexto de Utilização
O editor foi usado para implementar um editor de blueprints no motor Spark CE, comprovando a sua capacidade. O projeto está em transição de protótipo para estado estável.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.