Introdução geral
O MagicArticulate é uma estrutura de IA desenvolvida pela ByteDance em colaboração com a Nanyang Technological University (NTU) que se concentra na transformação rápida de modelos 3D estáticos em ativos digitais habilitados para animação. Ele simplifica muito o complexo processo de produção de animação 3D tradicional, gerando automaticamente estruturas esqueléticas e pesos de skinning para modelos por meio de modelos avançados de transformação autorregressiva e difusão funcional. Seja você um desenvolvedor de jogos, um designer de VR/AR ou um animador de filmes, essa ferramenta ajuda os usuários a economizar tempo e aumentar a eficiência. O site apresenta suas principais realizações técnicas, incluindo o conjunto de dados em grande escala Articulation-XL e o código-fonte aberto, adequado para entusiastas técnicos e profissionais explorarem e usarem.
Lista de funções
- Suporte a conjuntos de dados em grande escalaArticulation-XL: fornece o conjunto de dados Articulation-XL, que contém mais de 33.000 modelos 3D com anotações de articulações.
- Geração automática de ossosGeração de estruturas esqueléticas flexíveis para modelos estáticos usando técnicas de transformador autorregressivo.
- Projeções de peso da peleGeração automática de pesos de pele para deformações naturais com base em um modelo de difusão funcional.
- Processamento de modelos de várias categoriasSuporte para a geração de ativos animados para uma ampla variedade de objetos 3D, como humanóides, animais, máquinas e muito mais.
- Código-fonte aberto e modelagemLinks do GitHub são fornecidos para que os usuários façam o download do código e dos modelos de pré-treinamento.
Usando a Ajuda
O MagicArticulate é uma ferramenta tecnológica projetada para tornar a animação de modelos 3D fácil e eficiente. A seguir, apresentamos um guia do usuário detalhado para ajudá-lo a ter uma noção completa de seus recursos, desde a visita ao site até o trabalho com ele.
Processo de acesso e instalação
O site do MagicArticulate pode ser visualizado sem instalação, mas para executar a estrutura e experimentar a funcionalidade, você precisa configurar seu ambiente localmente. As etapas são as seguintes:
- Acesso ao site
Digite em seu navegadorhttps://chaoyuesong.github.io/MagicArticulate/
Esta página contém uma breve descrição do projeto, destaques tecnológicos e links para downloads. A página contém uma visão geral do projeto, destaques técnicos e links para download. - Download do código-fonte
- Encontre o link do GitHub na parte inferior do site ou na barra lateral (geralmente o
https://github.com/ChaoyueSong/MagicArticulate
). - Clique no botão "Code" (Código) e selecione "Download ZIP" (Baixar ZIP) para baixar o arquivo zip ou use o comando Git:
git clone https://github.com/ChaoyueSong/MagicArticulate.git
- Extraia os arquivos para um diretório local, por exemplo
MagicArticulate/
.
- Encontre o link do GitHub na parte inferior do site ou na barra lateral (geralmente o
- Configuração do ambiente de tempo de execução
- Verificação da versão do PythonVerifique se o Python 3.8+ está instalado, comando:
python --versão
. - Criação de um ambiente virtual(Recomendado):
python -m venv magic_env source magic_env/bin/activate # Linux/Mac magic_env\Scripts\activate # Windows
- Instalação de dependências: Vá para o diretório do projeto e execute:
pip install -r requirements.txt
Disponível se for compatível com o Conda:
conda env create -f environment.yml conda activate magicarticulate
- dependênciaDependendo do LEIAME, pode ser necessário instalar o PyTorch ou outras bibliotecas para garantir o suporte à GPU e melhorar o desempenho.
- Verificação da versão do PythonVerifique se o Python 3.8+ está instalado, comando:
- Estrutura de lançamento
Quando a configuração estiver concluída, execute o script de amostra (consulte a documentação do GitHub para obter comandos específicos), por exemplo:
python main.py --input [caminho do modelo 3D] --output [caminho de saída]
Funções principais
Abaixo estão as principais funções do MagicArticulate e instruções detalhadas:
1. uso do conjunto de dados Articulation-XL
- Descrição funcional: Mais de 33.000 modelos 3D com anotações de articulações estão disponíveis para treinamento ou teste.
- procedimento::
- Encontre o link para download do conjunto de dados no site ou no GitHub (talvez seja necessário solicitar permissão).
- Faça o download e descompacte localmente, por exemplo.
data/articulation_xl/
. - Modifique o arquivo de configuração ou a linha de comando para especificar o caminho:
python process.py --dataset_path data/articulation_xl/
- Após a execução, carregue o conjunto de dados e visualize os resultados da anotação, que podem ser usados para validação ou entrada de modelo.
2. geração automática de estruturas esqueléticas
- Descrição funcionalGeração automática de ossos para modelos 3D estáticos para atender a diversos requisitos de articulação.
- procedimento::
- Prepare um modelo 3D estático (os formatos OBJ, FBX, etc. são compatíveis) e coloque-o no diretório de entrada (por exemplo
entrada/
). - Execute o comando de geração de ossos:
python generate_skeleton.py --input input/model.obj --output output/
- Verifique o diretório de saída (
saída/
) para gerar arquivos de modelo contendo ossos. - Abra-o no Blender ou no Maya e teste os ossos para ver se eles atendem aos requisitos de animação.
3. previsão dos pesos da pele
- Descrição funcionalGeração de pesos de pele naturalmente deformados para modelos que contêm ossos.
- procedimento::
- Use o arquivo de modelo gerado na etapa anterior.
- Execute o script de previsão de peso:
python predict_weights.py --input output/model_with_skeleton.obj --output output/
- Emite arquivos de modelo que contêm pesos que podem ser usados diretamente para vinculação de animação.
- Carregue no software 3D e teste os efeitos de animação (por exemplo, andar, girar).
Cenários de aplicativos e exemplos de operação
Prototipagem rápida
- tomarDesigners de jogos precisam validar rapidamente as animações de personagens.
- equipamentoEm seguida, você pode fazer o upload do modelo do personagem (formato OBJ), executar a geração de ossos e a previsão de peso, gerar um protótipo de animação de caminhada em 5 minutos e importar para o Unity para teste.
Geração de animação VR/AR
- tomarGeração de ações de interação para robôs virtuais.
- equipamentoModelo de robô de entrada, geração de ossos e pesos, exportação para ferramentas de desenvolvimento de RV (por exemplo, Unreal Engine), vinculação de comandos de interação com o usuário.
Auxiliares de animação de filmes e vídeos
- tomarGeração de animações iniciais para criaturas de fantasia.
- equipamentoAnimação de pré-visualização: Carregue o modelo da criatura, execute a estrutura para gerar ossos e pesos, importe para o Maya para fazer o ajuste fino do quadro-chave e gere uma animação de pré-visualização.
Dicas e truques
- Preparação do modeloModelo de entrada: Certifique-se de que o modelo de entrada seja um único objeto para evitar que vários componentes complexos afetem os resultados.
- otimização do desempenhoExecução: A execução em GPUs pode ser substancialmente mais rápida, enquanto as CPUs podem ser mais lentas.
- Ajuste de resultadosSe os ossos ou pesos não forem ideais, os parâmetros (por exemplo, número de articulações) poderão ser modificados, conforme descrito na documentação.
- Feedback da perguntaEnvie um problema no GitHub Issues ou entre em contato com o desenvolvedor Chaoyue Song para obter suporte.
Com essas etapas, o MagicArticulate pode ajudá-lo a converter rapidamente modelos 3D estáticos em ativos animados para todos os tipos de usuários, desde iniciantes até designers profissionais.