FreePencil2 cria line art a partir de um modelo 3D no Blender com um só botão: 1,28 milhões de polígonos em menos de 30 segundos
O produtor de anime e animador japonês Masamune Sakaki lançou uma atualização do FreePencil2 — um add-on que obtém um desenho de contorno a partir de um modelo 3D no Blender sem configuração manual. O processo resume-se a três ações: abrir o modelo, carregar num botão, obter as linhas. A densidade do traço regula-se com um cursor já depois do cálculo, e não é preciso montar nós nem acertar os parâmetros do contorno.
O valor para o artista está aqui na velocidade e no facto de o add-on eliminar a etapa mais trabalhosa do método de separação por cores. Segundo as medições do programador, um modelo de 1,28 milhões de polígonos é processado em menos de 30 segundos e um tanque de 420 mil polígonos em cerca de 19 segundos. No vídeo de demonstração da atualização, uma cena com 155 peças é calculada em 5,5 segundos.
A velocidade vem da simplicidade do princípio
O add-on não faz um cálculo pesado das linhas de contorno. O modelo é pintado automaticamente com cores de vértice e as fronteiras entre as cores são extraídas por deteção de arestas no compositor — esta técnica é conhecida como método de separação por cores. A deteção de arestas é barata em termos de cálculo, por isso o processamento é rápido.
A dificuldade do método esteve sempre na preparação — em como dividir exatamente o modelo em zonas de cor. Áreas vizinhas com cores semelhantes não criam fronteira e a linha não aparece; uma divisão demasiado fina gera ruído; em superfícies planas surgem linhas de separação pouco naturais; à parte ficam as juntas das peças e as articulações de personagens com rig.
É precisamente essa preparação que o add-on assume:
- determina o ângulo de separação pela distribuição dos ângulos diedros do modelo;
- colore o grafo de adjacência de modo que as áreas vizinhas fiquem sempre em classes de cor diferentes;
- funde automaticamente as áreas pequenas que de outro modo dariam lixo linear;
- separa por tom as peças que se tocam;
- deteta o rig e divide o modelo por ossos.
O último ponto resolve o caso das personagens: havendo uma armature, a pintura é feita por ossos, as faces que atravessam uma articulação não são reunidas numa só ilha e, ao dobrar, as linhas partem-se com menos frequência.
O que mudou na versão 2.7
A correção principal: o limiar pelo qual a linha é determinada foi baixado por predefinição. Antes, parte das fronteiras não o atingia e as linhas não apareciam nelas, embora a separação por cores funcionasse corretamente: a diferença de brilho em combinações próximas, como o azul-claro e o branco, era demasiado pequena. O autor dá um exemplo: as linhas do aparelho de um veleiro, que antes se partiam em tracejado, saem agora contínuas.
A alteração afeta também as cenas já configuradas. O resultado anterior regressa definindo a «sensibilidade das linhas» no passo STEP3 com o valor 1.0.
Nesta mesma versão foram corrigidos os crashes em cenas grandes, acelerado o processamento de modelos com muitas peças, eliminada a cor de máscara que não funcionava no Blender 5.x e o escurecimento dos ficheiros guardados na versão nova e abertos na antiga. Os nós gerados passam agora a ser alinhados automaticamente.
Compatibilidade, limitações e onde obter
É anunciado o funcionamento com o Blender de 4.2 a 5.2, mas os ramos não são equivalentes. Recomendam-se a 5.2 LTS e a 4.5 LTS; na 4.2 o suporte é limitado — o compositor do viewport não avalia AOV, pelo que não haverá linhas na pré-visualização em direto, embora o render final funcione da mesma forma que nas outras versões. O Blender 4.1 e anteriores não são suportados.
As limitações conhecidas estão listadas no repositório: os materiais transparentes com o modo de mistura BLEND passam a HASHED (o add-on não processa vidro verdadeiro com refração); em modelos com muitas peças, a diferença de brilho de parte das áreas vizinhas cai para metade e as linhas ficam pálidas — o programador considera este problema por resolver; um ficheiro guardado na 5.2, ao ser aberto na 4.5, estraga o funcionamento do compositor. O add-on não altera a forma, o número de vértices, os sharps nem as seams.
O código-fonte do FreePencil2 foi publicado no GitHub sob a licença GPL-3.0-or-later: compilar o add-on por conta própria e usá-lo é gratuito. À parte, o autor vende por 500 ienes uma variante com ZIP pronto, manual em japonês, acesso a versões anteriores e apoio nos comentários.
Porque é que estes add-ons crescem precisamente à volta do Blender
As vias nativas para obter um contorno no Blender são duas — o Freestyle e o modificador Line Art para o Grease Pencil. Ambas são calculadas no processador e, em cenas complexas, funcionam tanto mais devagar quanto mais geometria e interseções existirem, o que dificulta a pré-visualização das linhas em tempo real. Para a produção de anime, onde a linha é o principal meio expressivo, esta matemática esbarra no prazo.
Neste contexto, formou-se à volta do Blender um mercado próprio de contornos: renderizadores comerciais de linhas, builds do motor feitas por terceiros com o render NPR reescrito, add-ons de estilização desenhada como o Pencil Pro da CGMatter. O FreePencil2 ocupa nesta lista o seu nicho graças a outro compromisso — perde provavelmente em precisão para um cálculo honesto de visibilidade, mas dá um tempo de cálculo previsível e entrega o resultado como um passe de render normal, que segue depois para a composição.
Se a tendência se mantiver, a pressão sobre as ferramentas nativas vai aumentar: quantos mais estúdios e artistas individuais construírem um pipeline de anime no Blender, mais notória será a distância entre o que o editor faz de origem e o que os programadores externos já fazem. A licença aberta trabalha aqui a favor da comunidade — as ideias de marcação automática implementadas no add-on estão, em princípio, disponíveis para serem repetidas noutras ferramentas.
O que precisa mais no FreePencil2?
- Line art com um clique
- Pintura automática com cores de vértice