Tutorial SketchUp: Script remove faces duplicadas de modelos 3D

A modelagem 3d de objetos com aspecto mais geométricos sempre resulta em pequenos problemas de topologia, principalmente quando o objetivo da modelagem é criar elementos complexos com várias faces. Mas, é quando o projeto envolve a manipulação e criação de superfícies com curvas e pequenos detalhes arredondados que a coisa começa realmente a complicar. Um dos problemas mais comuns nesse tipo de projeto é a existência de faces coplanares, que deixam o arquivo do projeto mais pesado e não agregam nada ao modelo 3d.

Na última atualização do 3ds Max, a Autodesk até adicionou uma ferramenta que faz a análise de modelos 3d, mostrando locais em que podemos encontrar faces e superfícies coplanares, para otimizar a topologia do modelo. Em outras ferramentas 3d isso também é possível, mas requer o uso de plugins ou scripts que fazem essa análise do modelo 3d. Caso você seja usuário do SketchUp e já passou por dificuldades com faces coplanares, existe um plugin que pode ajudar muito na análise e correção desse tipo de problema em modelos 3d.

O plugin para SketchUp se chama CleanUp e pode ser copiado de maneira gratuita nesse endereço. É necessário se registrar no fórum para ter acesso ao arquivo.

tutorial-sketchup-ferramenta-modelagem-faces-duplicadas

A imagem que ilustra esse artigo mostra bem o resultado da aplicação do script em objetos que geralmente apresentam grande quantidade de faces duplicadas, que são os móveis e objetos usados na ambientação do projeto.

Depois que o script é devidamente copiado na pastas de scripts do SketchUp, podemos acionar a ferramenta e ajustar os seus parâmetros. A quantidade de informações necessárias para remover as faces duplicadas é bem simples, precisando apenas que o artista determine se quer ou não remover as faces. Depois disso o próprio script faz o trabalho de aperfeiçoar o modelo 3d.

Essa é uma ferramenta indispensável para artistas 3d e profissionais que usam o SketchUp como plataforma de modelagem, principalmente se o objetivo da modelagem for exportar os objetos para outros softwares, coisa bem comum em termos de aproveitamento com o SketchUp. O modelo 3d base é construído de maneira rápida com o SketchUp e depois exportado para ferramentas como o Blender 3D, 3ds Max ou Cinema 4D para receber materiais e texturas realistas.

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.

3ds Max 2010: Nova ferramenta de análise para superfícies sobrepostas

O resultado dos pequenos erros e deslizes no processo de modelagem 3d acabam aparecendo inevitavelmente na renderização. A maioria dos softwares de modelagem 3d hoje, é bem flexível em relação ao que pode e não pode ser feito em termos de geometria, resultando em modelos 3 com faces sobrepostas e outros pequenos problemas. No momento em que precisamos renderizar a cena, aparecem pequenos erros e partes pretas na imagem. Em quase oitenta porcento dos casos isso é resultado de problemas na modelagem. Caso existisse uma maneira de fazer uma análise no modelo, usando um script ou ferramenta que possibilite ao artista 3d avaliar e identificar erros, antes de iniciar o processo de modelagem, muito tempo na correção de problemas seria economizado.

No 3ds Max 2010, uma ferramenta que faz exatamente isso será disponibilizada para que artistas possam ter uma visão interativa dos modelos 3d, para avaliar erros e problemas. Essa ferramenta se chama xView Mesh Analyser sendo mais uma opção de visualização do 3ds Max. Caso você queira conhecer o funcionamento da ferramenta, um vídeo de demonstração do xView Mesh Analyser no 3ds Max 2010, pode ser encontrado aqui. No vídeo podemos conferir o uso da ferramenta para identificar dois tipos de erros bem comuns:

  • Faces sobrepostas
  • Faces com normais invertidas impedindo que o objeto seja visualizado no render

3ds-max-2010-xview.jpg

Pela descrição disponível no mesmo link, essa ferramenta também poderá ser personalizada, para que os artistas 3d possam atribuir suas próprias condições de análise e encontrar erros não previstos pela ferramenta padrão, que acompanha o software.

Essa é uma excelente idéia do ponto de vista das ferramentas e melhorias no trabalho e desenvolvimento de novas opções para o software. Na maioria dos casos, as ferramentas que eram adicionadas em novas versões dos softwares tinham como objetivo único melhorar o desempenho ou velocidade da modelagem, mas em momento algum ajudavam a melhorar trabalhos já existentes. Para os artistas 3d que começam hoje já com hábitos de modelagem desleixados, o xView deve ser uma ótima adição.

Quem aprendeu a modelar há algum tempo, deve ter mantido hábitos mais organizados de modelagem. Com o uso das n-gons parece que todos querem construir a topologia dos modelos de qualquer maneira! Na época do saudoso Autodesk LightScape, que no final dos anos 90 chocava qualquer artista 3d com a qualidade do render baseado em radiosidade, que precisava de modelos 3d apenas com faces quadradas praticamente, os artistas 3d tinham que planejar muito a modelagem.

FreeScale: Script para facilitar a modelagem 3D no SketchUp

As transformações são o pilar de qualquer software de modelagem 3D, em que o uso de modificações como escala e rotação podem ajudar na criação dos mais variados modelos 3D, com técnicas como a subdivisão. Mas, maioria dos artistas 3D gostaria de fazer pequenos ajustes na maneira como essas transformações funcionam, principalmente na escala. Um dos maiores problemas desse tipo de transformação está relacionada com a orientação dos ícones e atalhos oferecidos pelos softwares 3d, os chamados Widgets. Esses ícones estão sempre orientados pelos eixos cartesianos (X, Y e Z), ou então permitem apenas alguns ajustes simples, como a escolha de coordenadas globais ou locais para os objetos. Portanto, sempre que é necessário fazer alterações no objeto o artista 3d encontra um pouco de dificuldade no uso da escala.

No SketchUp isso não é diferente, os artistas 3D encontram muitas dificuldades com algumas operações de redimensionamento, em paredes e planos não ortogonais. Mas, isso pode ser melhorado com algumas ótimas ferramentas que adicionam novas funcionalidades ao SketchUp. Um plugin promete melhorar muito as operações de escala no SketchUp, ele se chama FreeScale e adiciona algumas fantásticas ferramentas ao sistema de transformações do SketchUp. Esse plugin pode ser copiado de maneira gratuito nesse endereço, mas você deve ter um pouco de cuidado ao usar a ferramenta, pois ele ainda está em fase Beta.

No mesmo endereço indicado para o download, é possível encontrar as instruções para instalar o plugin. Infelizmente os usuários do Mac OS ainda encontram alguns problemas com a ferramenta, segundo comentários do próprio autor do plugin. Mas, de maneira geral os artistas que usam o SketchUp no Windows não tem nenhum tipo de dificuldade.

O vídeo abaixo mostra bem o funcionamento do plugin, com alguns exemplos do seu uso:

Essa é a lista com alguns dos recursos adicionados pelo plugin:

  • Escala alinhada com a orientação da face selecionada;
  • Escala alinhada com a orientação de outros objetos. O artista pode selecionar outras faces e arestas para alinhar o widget da escala;
  • Widget adaptado para aplicar transformações do tipo Taper, em que o objeto é deformado em apenas partes isoladas.

A gama de possibilidade do plugin é bem maior, mas esses são os pontos principais do FreeScale, que é indispensável para todos os artistas 3d que usam o SketchUp para modelagem 3d. O próprio Google deveria considerar a possibilidade de flexibilizar a ferramenta de escala do SketchUp, seguindo o exemplo do que o FreeScale faz.

Esse plugin é uma ótima adição ao SketchUp e pode ajudar muito em projetos de modelagem que envolvam planos e faces não ortogonais, o que é comum em projetos de edificações com telhados, sacadas, varandas e outros.