Archive for the ‘Scripts Python’ CategoryTutorial Blender 3D e Python: Alinhando objetos com seus próprios scriptsPosted on: 26, OctO 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:
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. Tutorial Blender 3D: Alinhando objetos em 3dPosted on: 28, SepOs softwares gráficos 2d e as ferramentas especializadas em modelagem compartilham algumas opções, como o uso do grid para conseguir posicionar objetos com bom nível de precisão no papel ou no espaço 3d. Entre as opções comuns entre essas ferramentas, uma das mais usadas e necessárias para organizar cenas em 3d é a especializada no alinhamento dos modelos 3d. Por exemplo, imagine que você está trabalhando na criação de uma cena em 3d com o uso de vários móveis em 3d, que precisam estar perfeitamente alinhados um com o outro. Mas, ao importar os modelos 3d você acabou deslocando os modelos de maneira aleatória e sem usar qualquer opção de snap. No Blender 3D, esse tipo de situação pode ser remediada com o uso de um script extremamente útil chamado de Alignit. A ferramenta pode ser copiada nesse endereço, sendo de extrema importância para artistas especializados na produção de modelos 3d para arquitetura, pois permite organizar modelos 3d na 3d View usando apenas outros objetos como referência. O script pode ser acionado dentro de uma janela de texto do Blender 3D (Text Window), em que abrimos o texto e pressionamos a tecla ALT+P para executar o código.
A interface é bem simples e precisamos apenas entender a nomenclatura com que o script usa os objetos selecionados para aplicar nos projetos. Existem duas regras básicas que são:
O exemplo abaixo ilustra bem o funcionamento da ferramenta, que é usada para alinhar os modelos 3d de diversas cadeiras. Depois de selecionar todas as cadeiras e escolher uma delas que será usada para alinhar as outras, que deve ser selecionada por último.
Usamos a opção disponível no botão +Y to +Y para que os objetos sejam alinhados usando a maior coordenada em Y para a cadeira de referência. Isso faz com que a extremidade frontal da cadeira seja usada para o alinhamento, pois é a parte mais próxima na direção positiva do eixo Y.
Ao pressionar o botão, o resultado é o alinhamento das cadeiras com base no modelo de referência.
Se você é usuário do Blender 3D e já precisou realizar esse tipo de operação e sentiu falta de uma ferramenta como essa, esse script vai ajudar bastante. Como criar scripts em Python compatíveis com o 3ds Max e não usar MAXScriptPosted on: 28, AugO 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. 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. Demonstração das ferramentas no Blender 2.50 e tutoriaisPosted on: 20, FebA cada dia que passa podemos conferir mais novidades e versões estáveis do Blender 2.50, que está ganhando forma. O vídeo que indico nesse artigo é uma demonstração de como está o andamento do desenvolvimento do software, que para espanto de muitos está com uma interface relativamente semelhante ao conceito já consolidado pelo Blender. Portanto, os motivos para entrar em pânico para eventuais mudanças na interface são infundados. O que aconteceu realmente até agora foi a atualização nos ícones do Blender, para que os mesmos tenham uma aparência mais agradável e correspondente a função. Mas, não foram apenas os ícones que tiveram modificações e atualizações, algumas janelas novas permitem acessar novos parâmetros e opções dos objetos de maneira mais rápida. O vídeo abaixo foi produzido por um usuário do Blender chamado de Michael Fox, e mostra vários dos aspectos do Blender 2.50. No vídeo são abordados os seguintes aspectos do Blender 2.50:
Ainda é possível conferir um pouco do código fonte do Blender, para quem nunca teve oportunidade de visualizar esse aspecto do Blender. Essa versão do Blender ainda deve passar por muitos testes e deve ficar estável apenas no segundo semestre. Até lá, ainda deve ser lançada uma versão 2.49, com a imensa quantidade de recursos que ainda está em desenvolvimento. Portanto, não se preocupe com a versão 2.50 ainda! Agora vamos conferir algumas dicas interessantes para a versão atual do Blender 3D. A primeira dica na verdade é apenas a indicação de um vídeo que gravei na semana passada, sobre o tutorial que simula o uso do Script Solidify Selection. esse vídeo foi um teste para avaliar a criação de tutoriais em alta resolução para o Youtube e Vimeo. Depois de gravar o tutorial, converti o vídeo usando o codec h264 e o resultado pode ser conferido abaixo. Use a seta no player para escolher a opção de assistir em HD. Agora, outra dica interessante que foi indiretamente motivada por um artigo aqui do Blog. Um artigo que escrevi sobre as novidades do 3ds Max 2010, comentava a incorporação do plugin Polyboost na ferramenta. O leitor Paulo Gomes indicou o artigo no fórum Blenderartists.org, e perguntou se existia alguma ferramenta ou script no Blender que realizasse a mesma operação. Bem, naquele momento em especial não, mas logo um desenvolvedor criou um script em python para que a função que converte edge loops em curvas fosse realizada no Blender! O resultado do script, assim como um tutorial sobre o seu uso podem ser conferidos aqui. Esse é um vídeo de demonstração da ferramenta: Fiquei feliz em ver o resultado, pois mesmo sem ter contribuição direta, fico com a impressão que o artigo sobre o Polyboost teve influência indireta no desenvolvimento de mais uma ferramenta para o Blender! Agradeço ao Paulo pela referência. Tutorial Blender 3D: Como fazer Offset de faces na modelagem 3dPosted on: 3, FebNos 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:
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.
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:
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. |
VideologAtualizações por e-mailCategorias
Arquivos
PesquisaLinks
Meta |
Tags3ds max
Animação
Animação 3D
Arquitetura
AutoCAD
Autodesk
Autodesk 3ds Max
Autodesk Maya
Blender
Blender 2.5
Blender 2.50
Blender 3D
CAD
Computação Gráfica
Desenho Técnico
Desenvolvimento Jogos
Dicas Animação
Dicas Blender
Dicas Modelagem
Dicas Render
Dicas SketchUp
download gratuito
Maquete Eletrônica
Maquetes Eletrônicas
Maya
Mental Ray
Modelagem 3D
Modelagem Arquitetura
Modelagem Poligonal
Render
SketchUp
texturas
Tutoriais
Tutorial
Tutorial 3ds Max
Tutorial Animação
Tutorial Blender
Tutorial Blender 3D
Tutorial Maya
Tutorial Modelagem
tutorial render
Tutorial SketchUp
V-Ray
Visualização arquitetura
YafaRay
|