Drawscript: Ferramenta gratuita ajuda no desenho de vetores com scripts

A criação de gráficos vetoriais é algo fundamental em diversos segmentos da computação gráfica, seja para uma simples ilustração que deve representar as formas e cores dos anúncios do mercado publicitário, ou então os elementos que formam a interface de um jogo. É muito mais fácil desejar os gráficos vetoriais usando ferramentas como o Adobe Illustrator ou o Corel Draw que são excelentes para artistas, mas algumas situações exigem o uso de scripts para criação desse tipo de gráfico. Por exemplo, uma interface dinâmica que use linguagens como o HTML5 com JavaScript ou ActionScript, permitem criar vetores usando coordenadas.

Uma das maiores dificuldades desse tipo de sistema de desenho é que precisamos projetar a ilustração com as coordenadas, para depois tentar fazer com que os números coincidam e as formas vetoriais perfeitas sejam criadas. Para os usuários do Adobe Illustrator a coisa pode ter ficado um pouco mais fácil!

Um programador da equipe de desenvolvimento da Adobe chamado Tom Krcha criou um script para o Adobe Illustrator chamado de Drawscript, que pode ser copiado de maneira gratuita nesse endereço. O script tem como função converter ilustrações criadas usando vetores normais no Illustrator em sistemas de coordenadas cartesianas, que facilitam muito o desenho das mesmas formas usando código.

Illustrator-Drawscript-download

O script funciona como uma extensão do Adobe Illustrator CS6 e como ainda não tenho essa versão do Illustrator (estou no CS5 ainda), infelizmente não tenho como testar a ferramenta, mas já posso dizer que o simples fato de não precisar mais ficar projetando no papel as possíveis coordenadas necessárias para desenhar usando código, já vale o esforço de fazer o download do arquivo e deixar ele separado, para o dia em que for necessário criar um jogo ou interface que demande vetores dinâmicos. Claro que, sem o Illustrator CS6 o script será inútil.

Nas minhas aulas sobre produção multimídia com Flash e ActionScript sempre tentava projetar as ilustrações dinâmicas no papel, ou usando algumas fórmulas para determinar a posição dos pontos dos objetos. Se o Illustrator CS6 estiver disponível, os meus alunos devem agradecer, mas o método antigo ainda será útil para as situações em que o script parar de funcionar, ou não tivermos a disposição o Illustrator.

Introdução ao MAXScript no 3dsmax

No aprendizado de qualquer software 3d é necessário passar pelas mais diversas áreas da produção em 3d que envolvem o uso de modelagem poligonal, animação, texturas, partículas e efeitos. Mas, existe uma dessas áreas relacionadas aos softwares 3d que todos os artistas evitam de maneira semelhante a como os vampiros fogem da cruz, se bem que os vampiros modernos não tem mais esse problema. Estou me referindo a parte relacionada a criação de scripts e rotinas nesses softwares 3d. Sempre que tenho a oportunidade de abordar esse tipo de ferramenta nas minhas aulas, encontro de imediato uma resistência ao uso das linguagens.

A resistência em si é perfeitamente compreensível nesse tipo de situação, pois o perfil das pessoas que procuram um software 3d para produzir imagens ou animações é mais voltado para as artes e não para programação.

O uso de linguagens de script para automatizar tarefas em softwares 3d é uma das qualidades mais desejadas em artistas 3d, pois o conhecimento desse tipo de linguagem e a sua aplicação em softwares 3d não é algo comum de se encontrar. As pessoas que conhecem esse tipo de ferramenta podem trabalhar em grandes projetos com a criação de rotinas ou ferramentas especializadas em adicionar características e determinados objetos. Por exemplo, ao selecionar um modelo 3d poligonal é possível criar um pequeno script que adiciona grama ou vegetação nessa superfície já considerando os ajustes necessários em partículas, materiais e outras propriedades dos objetos necessários para criar a grama.

Se você for usuário do 3dsmax, encontrei um tutorial que deve ser do seu interesse, principalmente se você quiser melhorar a sua gama de ferramentas com o uso de scripts. O tutorial a seguir é uma introdução básico ao MAXScript, que é a linguagem usada pelo 3dsmax para gerar esse tipo de rotina. É uma ótima oportunidade para aprender, principalmente se você nunca teve contato com esse tipo de rotina no 3dsmax.

Para as outras pessoas que não tem interesse no 3dsmax e no MAXScript, a minha recomendação é estudar a linguagem Python. Além de ser a linguagem usada pelo Blender, o Python é amplamente usado como ferramenta de script para softwares como o Softimage, Maya e até mesmo o 3dsmax pode usar Python com o uso de uma ferramenta que converte as declarações em Python para o ambiente do 3dsmax.

bhGhost: Script gratuito para o Maya ajuda em animações

A criação de animações em 3d é sempre um grande desafio para qualquer animador, mesmo os mais experientes precisam de muito tempo de edição e trabalho dedicado, para conseguir refinar os movimentos e ações necessárias para criar determinadas cenas. O trabalho de edição é muito focado na observação das ações geradas com os chamados blocos de movimento, e a posterior revisão dessas ações dentro do software. Uma das ferramentas que ajuda a refinar esse processo de animação é o chamado Onion Skin que é a exibição dos frames de uma animação de maneira simultânea para fins de avaliação do animador.

Os softwares especializados em animação geralmente possuem uma opção que seja para trabalhar com o Onion Skin, e existem casos como o do Flash em que o Onion Skin pode ser aplicado em múltiplos objetos ao mesmo tempo, facilitando muito a análise e amplitude dos movimentos em animação. Nos casos dos softwares 3d a coisa já é mais complicada, pois a complexidade dos objetos e a maneira com que os mesmos se deslocam no espaço dificulta a implementação desse tipo de ferramenta.

Para os usuários do Maya existe um script gratuito chamado bhGhost que ajuda muito nesse processo de refinamento das animações, pois consegue gerar Onion Skin de objetos poligonais. O vídeo abaixo mostra como funciona o script:

bhGhost Tutorial from Brian Horgan on Vimeo.

A visualização de uma animação com o Onion Skin permite que os animadores tenham a percepção ampla do posicionamento e amplitude do movimento dos seus personagens, permitindo assim a aplicação de correções nos movimentos que podem ser decisivos para finalizar qualquer animação.

Como ponto positivo para esse tipo de script é o fato de apenas os objetos poligonais serem usados na criação do Onion Skin. Por exemplo, em ferramentas que não permitem selecionar apenas partes do projeto que devem entrar no Onion Skin o resultado do uso dessa opção pode ser uma tela extremamente poluída com linhas e contornos de coisas que não são o foco do trabalho do animador.

Portanto, se você é usuário do Maya, recomendo muito o download e uso desse script para produção de animações em 3d.

 

Script ajuda na criação de lightmaps com o Blender

A criação de mapas UV é importante dentro do Blender em várias situações diferentes, sendo que o controle sobre o posicionamento das texturas é apenas uma dessas situações. Na maioria das situações é interessante usar mapas UV para conseguir pintar e montar as texturas da maneira como você achar melhor para o seu projeto. Mas, existem outras aplicações bem interessantes para os mapas UV dentro do Blender, sendo uma delas a capacidade de armazenar informações da cena 3d em mapas UV para exportar os arquivos em formatos como o COLLADA para uso em jogos.

A criação de simulações realistas em jogos com o Blender ou outras engines exige o uso de sombras realistas para passar a idéia de uma iluminação mais trabalhada, quando na verdade o efeito está gravado de maneira automática nas texturas dos objetos. Esse processo é conhecido dentro do Blender como Bake Shadows, e exige um pouco de configuração manual para que seja possível configurar o efeito de maneira correta. Se você trabalha com produção de jogos com o Blender, recomendo conferir um script (Add-on) que promete fazer todo o processo de configuração das texturas com sombras de maneira automatizada.

O script é chamado de TextureAtlas e pode ser copiado de maneira gratuita nesse endereço. Hoje a versão mais atualizada é a 0.14 que é a recomendada para download. Mas, como funciona o script? O vídeo abaixo mostra muito bem o funcionamento da ferramenta:

O procedimento para usar o script é realmente simples e exige apenas uma cena configurada e com pontos de luz posicionados de maneira a projetar as sombras. Depois de habilitar o script na janela de preferências do Blender, você encontra as opções da ferramenta no painel de renderização. Ao adicionar os objetos 3d dentro de um grupo que fará parte da criação das sombras, basta selecionar o modo de sombreamento desejado e a resolução da textura. Quando pressionamos o botão “Create Shadow Map” as texturas são criadas já com o efeito da iluminação pronto!

Esse tipo de ferramenta é fantástica para a criação de cenários em ambientes de jogos, inclusive os que são desenvolvidos dentro do próprio Blender.

O script já está na minha lista de assuntos para adicionar as texturas e materiais para jogos, quando gravar essa aula para o curso sobre produção de jogos com Blender.

Blender 2.50 e YafaRay – Script não oficial

O Blender 2.50 apresenta vários novos recursos que estão atraindo a atenção de diversos usuários e artistas, inclusive de outras ferramentas como o 3ds Max, para ao menos experimentar o Blender como opção para uma possível migração. Entre os usuários mais antigos do Blender a aceitação das mudanças é muito positiva, mas ainda existem pessoas que não aderiram completamente ao novo Blender, principalmente devido a ausência de scripts que facilitam o trabalho nas versões anteriores ao 2.4x. Como exemplo de script que faz grande falta na versão 2.50 podemos citar os especializados em integrar o Blender com renderizadores externos como o YafaRay e LuxRender. Até o presente momento a documentação da nova API do Blender não está pronta, o que dificulta um pouco o processo de atualização desses scripts.

Mas, um usuário do Blender resolveu fazer um experimento e conseguiu criar um script, mesmo que simplificado, para exportar cenas do Blender 2.50 para o YafaRay. Esse artista se chama Silvio Falcinelli e o mesmo publicou o script beta para o YafaRay nesse endereço. O texto está em Italiano, mas é bem fácil de localizar o link no texto. Antes de fazer o download do arquivo é importante ressaltar que o mesmo só funciona na versão Alpha 2 do Blender 2.50. É extremamente importante ter o Python 3.1 instalado e o próprio YafaRay.

Assim que você copiar o script, procure nas pastas do Blender 2.50 o seguinte caminho \.blender\scripts\io e copie o script lá. Com o script no local correto, ao abrir o Blender 2.50 teremos a seguinte opção na seleção do render:

blender-250-yafaray-render-script-01.png

Esse é o método para trocar o renderizador do Blender 2.50. Quando escolhemos o YafaRay, o painel de render muda para mostrar as opções do renderizador. Essas são as telas:

blender-250-yafaray-render-script-02.png

As opções existentes nesse script ainda não englobam a totalidade dos parâmetros do YafaRay, mas já é um bom exemplo de como será um provável script oficial oferecido pela comunidade de usuários do YafaRay. Antes de correr para fazer o download é bom avisar que o script é bem instável, e nos testes que realizei aqui o render foi iniciado, mas o resultado final foi bem estranho ou mesmo distorcido.

Se você usa o YafaRay profissionalmente, recomendo ficar o 2.49. Essa ferramenta é para os destemidos e corajosos que não se importam com uma ferramenta ainda em desenvolvimento.