Apostila gratuita sobre programação em Python com Blender 2.5

O conhecimento de linguagens de programação é de fundamental importância para qualquer pessoa envolvida com a manipulação de grandes quantidades de informação, pois com o uso inteligente desse tipo de ferramenta, podemos economizar horas de trabalho repetitivo. Isso se aplica até mesmo em profissionais que trabalham com a parte mais artística da modelagem 3d e animação. Se você já trabalhou em projetos envolvendo esses tipos de conhecimento, já deve ter percebido que existe uma grande quantidade de tarefas repetitivas. Agora, o mais interessante é que em algumas situações as tarefas mudam de acordo com o projeto. Portanto, fica difícil criar ferramentas que ao mesmo tempo sejam universais e ajudem os artistas a trabalhar com praticamente tudo.

Devido a isso, podemos dispor de linguagens de script em todos os grande softwares de animação e modelagem 3d. Por exemplo, no Maya usamos MEL e no 3dsmax MAXScript. Mas, entre essas linguagens a que se mostra mais universal é o Python. Já podemos aproveitar scripts em Python no Blender, Softimage, Houdini e até mesmo no 3dsmax com o uso do módulo criado pelo Blur Studio para adaptar ferramentas criadas em Python para MAXScript.

Caso você seja usuário do Blender e queira começar a aprender a programar em Python, consultando diversos exemplos já no Blender 2.54. Existe uma apostila gratuita sobre Python com Blender que pode ser copiada nesse endereço.

blender-python-free-ebook.jpg

São 74 páginas recheadas de exemplos e dicas abrangendo os seguintes temas:

  • Edição de objetos do tipo Mesh
  • Materiais e texturas
  • Criação de objetos
  • Organizando texturas UV
  • Hierarquias para animação
  • Manipulação de câmeras
  • Renderização
  • Ajustes para curvas

Esses são apenas alguns dos assuntos disponíveis nesse material. A apostila não vai ensinar a trabalhar com Python desde o início, mas apresenta a vantagem de já mostrar exemplos de como realizar algumas tarefas simples usando o Blender 2.54, como a criação de primitivas geométricas. A exemplificação dos procedimentos é de grande ajuda, pois pode levar a adaptação dos scripts para tarefas mais complexas.

O material é recomendado a todos que usam o Blender e querem expandir um pouco mais os seus projetos, criando ferramentas personalizadas. Conhecer esse tipo de linguagem é um grande diferencial para qualquer artista.

Tutorial Blender 3D e Python: Alinhando objetos com seus próprios scripts

O uso de scripts e rotinas personalizadas em ferramentas 3d é um dos requisitos para acelerar o seu trabalho em softwares 3d, seja com o uso de MAXScript no 3ds Max, Mel no Maya ou Python no Softimage XSI. No Blender 3D também podemos usar Python para adicionar novas ferramentas e até mesmo criar pequenas rotinas que ajudam no desenvolvimento de ferramentas para automatizar tarefas de modelagem. Como sempre falo sobre esse tipo de assunto, mas ainda não tinha publicado nenhum tutorial sobre como começar com Python no Blender, resolvi criar um tutorial em vídeo sobre uma tarefa comum em modelagem, que é o alinhamento de objetos.

Sempre que estamos criando cenários ou composições complexas usando diversos objetos, precisamos alinhar os mesmos em um eixo, ou simplesmente organizar modelos 3d como peças de mobiliário. Uma das maneiras mais rápidas e simples de fazer isso é usando Python.

Como é possível fazer isso em Python?

Para responder essa pergunta, editei um tutorial separado em duas partes que mostra os primeiros passos com Python no Blender 3D, e a criação de uma rotina que alinha objetos selecionados, com base na posição em Y de um elemento presente na 3D View.

O vídeo aborda os seguintes assuntos:

  • O que é necessário para importar os módulos do Blender para o script
  • Como capturar informações sobre objetos na 3D View
  • Como capturar informações apenas dos objetos selecionados
  • Como exibir as informações na janela auxiliar do Blender 3D
  • Como alterar propriedades de objetos usando Python
  • Como criar estruturas de repetição para automatizar as transformações

Claro que se você tiver algum tipo de experiência com desenvolvimento de scripts ou softwares, a explicação e objetos apresentados no tutorial ficam mais simples de seguir e entender.

A lógica apresentada nos tutoriais é a seguinte, com a opção Blender.Objects.GetSelected() é possível adicionar os objetos selecionados na 3D View em uma lista. Essa lista é composta pelos nomes dos objetos. No caso desse script que alinha os elementos em relação a outro, o acesso a cada um deles é feito por um for.

O que significa esse for?

Em linguagens de script um for é usado para fazer tarefas repetidas. No caso do nosso exemplo poderíamos ter escrito a declaração que altera as posições em Y dos objetos na 3D View de duas maneiras. Uma declaração para cada objeto selecionado como objeto(0).LocY = meuObjeto.LocY, objeto(1).LocY = meuObjeto.LocY, objeto(2).LocY = meuObjeto.LocY.

O funcionamento seria o mesmo. Com o for, podemos dizer que uma variável i deve ser comparada com o número de índices da lista objetos, que nesse caso tem o mesmo número de objetos selecionados na 3D View. A vantagem em usar o for é que não importa o número de objetos selecionados, o script sempre vai adicionar automaticamente o número necessário de declarações para mover os modelos 3d.

Agora você já pode fazer adaptações nesse script para criar as suas próprias rotinas. Em outros artigos, mostro como é possível criar uma interface e trabalhar com ferramentas personalizadas usando Python no Blender 3D.