Allan Brito

Migrando dos tijolos para os pixels!

Archive for the ‘Blender Scripts’ Category


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.

Oct
26

A cada nova versão do Blender 3D são adicionados novos recursos e ferramentas que facilitam muito o nosso trabalho de modelagem e animação. Mas, alguns desses recursos não ganham tanto destaque no lançamento pelo simples fato de serem scripts desenvolvidos em Python. Como esses recursos não estão totalmente integrados ao sistema do Blender, mas são executados como ferramentas auxiliares acabam ficando de fora da lista de recursos. Desde que o Blender 2.49a foi lançado, tenho pesquisado os diversos scripts que foram adicionados ou atualizados para aprender o que cada um deles pode fazer.

Um desses scripts ajuda na modelagem para topografia e criação de paisagens ou cenários virtuais. O script se chama Landscape generator e pode ser copiado nesse endereço, caso você não tenha o mesmo instalado na sua versão do Blender. Na atualização de software do Blender, alguns scripts podem não ser atualizados e também nas versões copiadas no formato zip.

O tipo de modelagem realizada pelo script é um combinação de modelagem 3d poligonal e escultura, para adicionar detalhes as superfícies. Para demonstrar o funcionamento do script, gravei um pequeno tutorial em vídeo mostrando o que é necessário para começar a elaborar as suas paisagens virtuais com o Blender 3D.

O segredo para usar esse script é conseguir realizar uma boa quantidade de testes, para identificar o conjunto de configurações ideal para o terreno que você precisa criar para seu projeto. Como é possível perceber pelo vídeo, a quantidade de informações e personalização que podemos realizar na ferramenta é muito grande.

Para criar terrenos com mais detalhes e suavização, aumente a resolução do grid inicial que precisamos adicionar a cena, com o cuidado de não usar valores altos demais para não travar o computador. Os terrenos são gerados com uma combinação entre a aba Noise e a Effects, que determinam a maneira como o terreno será exibido.

A melhor parte desse tipo de ferramenta é que os modelos 3d gerados são totalmente compatíveis com renderizadores externos que funcionam com o Blender 3D. Portanto, os terrenos gerados com ele podem ser renderizados com o LuxRender e YafaRay sem maiores problemas. Se você precisa criar cenários e paisagens virtuais com o Blender, esse script vai ajudar muito nos seus projetos.

Jul
13

Na modelagem 3d direcionada para visualização de projetos arquitetônicos, uma das partes mais complicadas é a modelagem de telhados em projetos de residências. No que se refere a parte interna dos modelos 3d, as escadas representam uma das partes mais trabalhosas de criar em 3d, pois podem apresentar inúmeros pequenos detalhes que estão repetidos e representados em planos inclinados, que sempre dificultam um pouco mais o trabalho do artista 3d. Em vários softwares 3d podemos encontrar scripts e ferramentas que auxiliam na modelagem e criação de escadas dos mais variados tipos, e no Blender 3D isso não é diferente.

Essa semana foi publicado nos fóruns de usuários do Blender 3D, um conjunto de scripts bem interessante que ajuda na modelagem de escadas em 3D. O Script para modelar escadas em 3d pode ser copiado nesse link.

Caso você queira usar o script para auxiliar nos seus projetos de modelagem, resolvi fazer um pequeno guia de como utilizar a ferramenta. No total o script é um compilação de cinco diferentes ferramentas que consequentemente cinco tipos diferentes de escadas. Depois de fazer o download do arquivo com o Script, abra o mesmo em uma janela de texto do Blender e pressione ALT+P para executar o script.

blender3d-modelagem-3d-escadas-01.jpg

O menu de seleção dos tipos de escada vai aparecer:

blender3d-modelagem-3d-escadas-02.jpg

Na parte da esquerda do menu é possível encontrar três opções diferentes para criar modelos de escadas regulares, e na direita dois tipos de escadas helicoidais. Entre todas as opções, apenas duas delas apresentam painéis e menus de configuração para personalizar a criação das escadas. Nos outros casos apenas o modelo pronto da escada é criado.

No primeiro tipo de escada acionado com o botão Script_dail, encontramos o seguinte menu de opções para elaboração da escada:

blender3d-modelagem-3d-escadas-03.jpg

O painel de opções é bem simples e permite selecionar apenas o número de degraus (steps), piso (Height), espelho da escada (Depth) e espessura (Width). Quando tudo estiver configurado, essa é a escada resultante.

blender3d-modelagem-3d-escadas-04.jpg

O modelo 3d gerado é bem simples, mas pode ajudar muito na criação de objetos mais complexos e que apresentem mais detalhes, como corrimão e outros elementos. Esse tipo de escada tem um problema de topologia um pouco grave, que é a união dos pontos gerados no modelo 3d conectados em apenas um vértice. Mas, nada que impeça o seu uso em projetos mais simples.

Os outros tipos de escadas são mais simples e não apresentam configurações extras. As imagens abaixo mostram esses outros tipos de escadas.

blender3d-modelagem-3d-escadas-05.jpg

blender3d-modelagem-3d-escadas-06.jpg

Para os outros tipos de escadas temos uma com várias opções de configuração, o que corresponde a complexidade na organização e morfologia das escadas helicoidais. Essas são as opções para o primeiro tipo de escada helicoidal, acionada pelo botão Script_abidos:

blender3d-modelagem-3d-escadas-07.jpg

O resultado dessa escada é o seguinte:

blender3d-modelagem-3d-escadas-08.jpg

Para finalizar, temos mais um tipo de escada helicoidal abaixo que não permite alterar nenhum tipo de configuração, a não ser que você se aventure a editar o script.

blender3d-modelagem-3d-escadas-09.jpg

Com essas ferramentas fica muito mais fácil criar escadas no Blender 3D, mesmo que sirvam apenas como guias para que a modelagem seja feita com mais detalhes, usando as ferramentas de snap.

Jun
16

Para quem está acompanhando o lançamento do 3ds Max 2010, deve conhecer um dos maiores chamarizes dessa atualização do software que é a chamada graphite modeling tools. Esse conjunto de ferramentas é uma derivação do PolyBoost, um dos melhores plugins de modelagem 3d para o 3ds Max que foi comprado pela Autodesk. Mas, e o Blender 3D? Apresenta algum tipo de script ou plugin que ajuda na modelagem? Claro que sim! Existem vários scripts em Python que ajudam nas tarefas de modelagem 3d como o já antigo Geom Tool e o que vou mostrar hoje que se chama Loop Tools.

O objetivo desse plugin é controlar e gerenciar o uso de um dos tipos de elementos mais complicados de gerenciar, que são os edge loops circulares. Um edge loop é uma seqüência de arestas que perfazem a superfície de um objeto em 3d. Com o Loop Tools é possível suavizar e consertar loops desalinhados ou problemáticos, resultantes dos chamados acidentes de modelagem. Para saber mais sobre o funcionamento do Script, assista ao vídeo abaixo que mostra muito bem a sua aplicação.

Blender 3D: Script para controlar Edge Loops from Allan Brito on Vimeo.

Como você deve ter percebido pelo vídeo, o script pode fazer diversas operações e alterações em edge loops de modelos 3d. A instalação do plugin é simples, bastando copiar o arquivo com extensão py para a pasta de scripts do Blender 3d e acionar pela janela de scripts, ou então no modo de edição dos objetos do tipo Mesh.

Uma das opções mais interessantes é o ajuste de objetos organizados em arcos ou cilindros, em que precisamos fazer pequenos ajustes, como curvar uma seqüência de arestas. No Script é possível encontrar opções para ajustar os edge loops de quatro maneiras:

  • Circle: Organiza os edge loops selecionado em forma de círculo
  • Curve: Faz com que os edge loops selecionados sejam deslocados para uma forma mais arredondada
  • Relax: Suaviza a organização dos edge loops
  • Space: Distribui os vértices e arestas de maneira igual no decorrer do edge loop

Se você trabalha com modelagem de personagens, talvez o script não tenha tanta utilidade, quando a aplicação na modelagem mecânica e de projetos arquitetônicos. A criação de objetos com perfil cilíndrico é extremamente comum na modelagem mecânica e também aparece com freqüência em projetos arquitetônicos, com edificações usando plantas em arco ou circulares.

Para fazer o download do script, assim como conhecer mais vídeos de demonstração em língua inglesa, visite esse endereço que leva até a página do Loop Tools nos fóruns Blenderartists.org.

Aviso: O script não funciona com o Python 2.6. (obrigado ao leitor Rodrigo pelo aviso)

May
8

Na animação de personagens e objetos em 3d, algumas ferramentas podem facilitar em muito o trabalho dos artistas. Uma dessas ferramentas é o chamado controle de animação, que é conhecido em alguns softwares como slider ou controle mesmo. Você já deve ter visto esse tipo de ferramenta sendo usada em tutoriais ou vídeos de demonstração, em que animadores controlam a forma de objetos ou personagens, arrastando formas no espaço 3d. Por exemplo, podemos criar um controle específico para controlar a abertura dos olhos em um personagem. Assim o animador pode animar apenas a posição do controlador, ao invés de se preocupar com a posição dos vértices de múltiplas partes do modelo 3d.

Nesse tutorial, vou mostrar como é possível usar esse tipo de controlador no Blender 3D, usando um script que já acompanha o Blender 2.48a chamado Shape Widget Wizard. O script usa as informações de um Shape Key do Blender e transforma isso em controles manipuláveis na própria 3D View do Blender. Para exemplificar bem o uso da ferramenta, vamos usar uma forma extremamente simples, representando a cabeça de um personagem.

blender3d-shape-widget-wizard01

Sim, como você pode perceber é apenas um cubo subdividido, simulando a forma básica de uma cabeça com dois orifícios para os olhos. Assim, mesmo sem experiência na modelagem 3d você pode reproduzir os passos apresentados nesse tutorial.

O primeiro passo é criar os Shape Keys no Blender, que em outros softwares também é chamado de Morph ou Morph Target, para as posições dos olhos abertos e fechados. Entre no modo de edição, e no menu dos Shapes adicione um novo Shape Key.

blender3d-shape-widget-wizard02

Depois, adicione um novo Shape Key e altere a posição dos vértices ou arestas do objeto, para que os olhos pareçam estar fechados. Caso você queira, altere o nome do Shape Key para “fechados”.

blender3d-shape-widget-wizard03

Quando isso estiver concluído, poderemos controlar a posição dos olhos, alterando a influência do Shape Key “fechados”. Mas, isso ainda não é o que queremos com a ferramenta.

O próximo passo é acionar na janela de Scripts do Blender 3D o script Shape Widget Wizard. Ele está na pasta Animation.

blender3d-shape-widget-wizard04

O painel de configuração dos controles permite escolher vários tipos diferentes de opções para os controles da animação. No nosso caso, precisamos apenas de uma forma simples que permita alterar os valores do Shape Key antre 0 e 1. Por isso, escolhi a segunda opção que é 1 Shape: 1,0.

blender3d-shape-widget-wizard05

Pressione o botão next, e logo estaremos na próxima dela de configuração. Agora, você deve especificar um nome para o controlador e também determinar o nome do Shape Key, que será controlado pelo Widget.

blender3d-shape-widget-wizard06

Quando tudo estiver pronto, basta pressionar o botão finished e o Widget será criado.

Agora, basta selecionar o objeto central do controlador para ajustar a posição dos olhos:

blender3d-shape-widget-wizard07

Esse é o controlador mais simples da lista, existem outros que podem controlar ao mesmo tempo a influência de vários Shape Keys. Com essa pequena introdução, você poderá começar a fazer testes e usar os controladores para facilitar o processo de animação. Assim, os keyframes podem ser adicionados nos controladores e não mais nos objetos 3d.

Feb
12

Livros recomendados

Blender 3D - Guia do Usuário Modelando personagens com o Blender 3D AutoCAD 2009 : um Novo Conceito de Modelagem 3D e Renderização Desenho Técnico sem Prancheta com AutoCAD 2008 Desenvolvendo Personagens em 3D com 3Ds Max SketchUp 7 - Passo a Passo 3ds Max 2009 : Modelagem, Render, Efeitos e Animação Aprendendo Autodesk® Maya 2008: Modelagem e Animação

Atualizações por e-mail


Categorias


Arquivos


Pesquisa

    Google

Links


Meta

Tags