Blender 2.50: Script permite importar cenas do 3ds Max

A primeira coisa que a maioria dos usuários me pergunta quando faço a sugestão para que os mesmos migrem do 3ds Max para o Blender, é se será possível importar os seus antigos projetos para o Blender. Esse sempre foi um ponto relativamente crítico na migração, que até hoje só podia ser contornado com o uso de formatos de arquivo 3d reconhecidos universalmente. A importação direta de arquivos com o extensão max do 3ds Max é praticamente descartada para o Blender, pois o formato é fechado e apenas a Autodesk poderia oferecer as instruções necessárias para converter esse tipo de arquivo em formatos como o COLLADA. Mas, nem tudo está perdido! Um usuário do Blender e 3ds Max e que tem conhecimento sobre programação, desenvolveu um script que permite exportar cenas criadas no 3ds Max para o Blender, usando o formato OBJ.

O diferencial desse script é que o autor promete manter a maioria das configurações e ajustes para animação feitos no 3ds Max, inclusive propriedades como a hierarquia de objetos e até mesmo ajustes do mental ray. O script para exportar do 3ds Max para o Blender pode ser copiado nesse endereço.

O vídeo abaixo mostra um exemplo da aplicação da ferramenta no 3ds Max 2010:

No tutorial podemos perceber que é feito algum tratamento na parte do script executado no 3ds Max, que foi desenvolvido com MAXScript. Essa é a parte que prepara o arquivo para ser recebido no Blender. Assim que o processo termina teremos uma série de arquivos que podem ser importados depois no Blender ou qualquer outra ferramenta. A grande vantagem desse processo é que as relações de hierarquia e keyframes adicionados no 3ds Max foram corretamente transportados para o Blender 2.50. Isso facilita muito a conversão de antigos projetos de animação, em que é preciso continuar o procedimento no Blender.

A desvantagem é que o 3ds Max ainda é necessário para fazer a conversão do material, o que pode acabar limitando um pouco o uso da ferramenta. O ideal mesmo é que usuários do Blender pudessem importar material do 3ds Max sem a necessidade do software. Já imaginou poder usar a grande variedade de bibliotecas de arquivos e mobiliário existente no formato do 3ds Max? Isso para renderização com o YafaRay ou LuxRender. Seria fantástico.

Como criar scripts em Python compatíveis com o 3ds Max e não usar MAXScript

O uso de scripts e rotinas personalizadas é extremamente comum em ambientes de produção 3d, principalmente em estúdios que precisam organizar e criar conteúdo de maneira rápida. Tudo que pode ser automatizado usando scripts acaba sendo desenvolvido por equipes de programadores especializados naquela linguagem. O maior desafio para profissionais interessados nesse ramo é a grande diversidade de linguagens usadas para criar essas rotinas. Por exemplo, o 3ds Max usa o seu MAXScript para criar ferramentas e rotinas assim como o Maya usa MEL. Outras ferramentas 3d começam a adotar como padrão de desenvolvimento a linguagem Python, o que facilita muito a migração e criação de ferramentas que podem ser facilmente adaptadas para softwares distintos.

Entre as principais suítes 3d que suportam Python encontramos o Blender 3D, Softimage XSI e o Houdini 3D. Os artistas do estúdio Blur são usuários do Softimage XSI, mas por muito tempo adotaram o 3ds Max para criar suas animações e imagens. Isso resultou em diversas ferramentas personalizadas e rotinas prontas escritas em MAXScript, sem mencionar os projetos salvos nesse formato. O problema é que com o tempo o estúdio precisava de uma maneira de portar as ferramentas atualizadas e melhoradas com Python para projetos no 3ds Max, sendo que esse não consegue usar Python.

A solução foi criar um software interprete o Python para o 3ds Max como se fosse MAXScript. Assim nasceu o Py3dsMax que já comentei ontem mesmo no meu Twitter.

(1024) : random.

O melhor de tudo é que essas ferramentas desenvolvidas pelo estúdio Blur, sempre são disponibilizadas de maneira gratuita para qualquer pessoa usar nos seus projetos, assim como acontece com os diversos scripts desenvolvidos em MAXScript. Na página existe até um exemplo mostrando o resultado de um código escrito em Python e portado para MAXScript usando a ferramenta.

Esse tipo de ferramenta é extremamente importante para unificar e deixar a criação de rotinas personalizadas muito mais universal.

Se você tem habilidades com programação, ou interesse em desenvolver pesquisar relacionadas com aplicações para computação gráfica, essa é uma área carente de profissionais no mercado brasileiro. Todas as produções médias ou grandes, precisam de uma pequena equipe de desenvolvimento. Com esse incentivo do Py3dsMax, o Python se torna cada vez mais a melhor opção para criar rotinas para suítes 3D.

Modelando escadas no Blender 3D usando scripts

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.

Tutorial de Radiosidade com Blender 3D e YafaRay

A radiosidade é uma das diversas técnicas usadas para melhorar a iluminação em ambientes 3d, inclusive é um método de representar a luz que não é muito usado hoje nos diversos renderizadores comerciais V-Ray, Mental Ray e outros. No Blender 3D a radiosidade é mais utilizada para adicionar cores em vértices para projetos que usam render em tempo real na Game Engine. A configuração de uma cena com radiosidade no Blender 3D apresenta algumas particularidades, como a necessidade de um objeto do tipo Mesh que emita energia luminosa na cena. Sim, a maneira com que a radiosidade funciona exige que criemos um objeto que emita luz.

Caso você queira aprender a técnica necessária para reproduzir a iluminação com radiosidade com o Blender 3D, usando o YafaRay para renderizar a cena, o tutorial abaixo mostra a técnica necessária para criar uma simulação dessa maneira. No YafaRay existe uma opção chamada Meshlight que permite aos objetos emitir energia luminosa na cena.

O tutorial está disponível em 720p e também pode ser uma excelente introdução a renderização com o YafaRay com o Blender 3D.

O objetivo do vídeo é criar uma cena em que o cubo com várias faces fragmentadas, apresenta cores e níveis de iluminação diferentes. Para isso será necessário transformar as faces dos objetos em entidades independentes, assim será possível editar e ajustar de maneira mais fácil os materiais. Na modelagem da cena o procedimento é exatamente o mesmo que usamos normalmente no Blender 3d.

No momento da renderização é que usamos as opções de iluminação global do YafaRay, para determinar que os objetos devem emitir luz. Você deve escolher o script que faz a integração entre o Blender 3D e YafaRay. Assim que o YafaRay for acionado, você deve acessar a opção Object/Light/Camera e pressionar o botão “Enable Mesh Light”. Apenas se esse botão estiver pressionado é que os objetos podem ser habilitados para emitir energia luminosa. Podemos escolher opções como a cor da luz e também a intensidade.

Esse procedimento é realizado para cada um dos objetos que emite luz na cena. Depois que está tudo configurado na parte de materiais e objetos que emitem luz, o próximo passo é determinar o método de renderização usado na cena. No YafaRay existem vários métodos, sendo que nesse em particular o autor usou Pathtracing.

Pronto! Agora é só acionar o render e a cena será gerada com os objetos coloridos na cena emitindo energia luminosa. O efeito é exatamente o mesmo que a radiosidade cria em renderizações.

Tutorial Blender 3D: Como fazer Offset de faces na modelagem 3d

Nos softwares de CAD existe um comando extremamente útil na modelagem 3D e desenho 2D, chamado Offset que consegue criar cópias paralelas de objetos e linhas. Como maneira de desenhar, esse comando é fundamental na criação, sendo até indispensável em softwares 3D também. O Blender 3D não tem uma opção nativa chamada Offset, como acontece com outros softwares 3D, mas um Script em Python pode desempenhar uma função semelhante. Esse Script se chama Solidify Selection e pode ser findamental, principalmente para os artistas interessados na modelagem geométrica, como a criação de maquetes eletrônicas.

Como funciona esse script? Qual a vantagem em usar a ferramenta?

A função desse script é simples, que é a de criar novas faces a partir de faces selecionadas em um objeto 3d. Mesmo que sua função original não seja a de funcionar como um meio de de fazer Offset, o resultado final da sua aplicação é uma versão aproximada do Offset. Para responder melhor essas duas perguntas, vamos tentar realizar uma operação simples, com um plano levemente modificado que se mescla com um arco.

Se o objetivo fosse realizar uma operação semelhante ao Offset, o fato do plano incorporar um arco dificulta o uso de um simples extrude. Veja o resultado do extrude:

blender3d-solidify-selection1

Com o extrude, mesmo na opção individual faces, o resultado da cópia dessas novas faces é desastroso em termos de posicionamento dos novos objetos. O uso de uma transformação como a escala está descartada, pois iria resultar em faces com tamanhos levemente diferentes.

Agora, podemos fazer um teste com Solidify Selection. Depois de selecionar as faces desejadas para a transformação no modo edição, selecione o Script que está na pasta de scripts do Blender 3D no grupo Mesh.

blender3d-solidify-selection2

No Script podemos selecionar a distância do Offset no parâmetro Thick. Depois de configurar essa altura, mantenha a opção Skin Sides acionada para que as novas faces sejam conectadas à nova geometria. Quando o Ok é pressionado o resultado é esse:

blender3d-solidify-selection3

Repare que o resultado é muito próximo do Offset, com as faces sendo criadas em paralelo as faces originais. Esse script é extremamente útil na modelagem de projetos arquitetônicos e modelagem mecânica. Você só precisa tomar o cuidado de orientar as normais das faces sempre na mesma direção, pois é com as normais que o Script determina a direção em que as faces são copiadas.