quarta-feira, 1 de dezembro de 2010

Software fantástico para criar Roupas complexas em 3D

Criar roupas em 3d é sempre um trabalho a parte, e digas-se de passagem que trabalho!
A Marvelous Design criou um software tão fantástico e tão simples de usar que só falta fazer as roupas 3D sozinho!

Mas chega de propaganda o negócio é ver pra crer!

Esse vídeo mostra do início ao fim como foi feito o vestido que pode ser visto abaixo, detalhe o vídeo tem duração de 7 min e não esta acelerado!


Precisa fazer um cobertor ou um lençol jogado e amarrotado sobre uma cama? Sem problemas jogue ele a vontade e da maneira que quiser, e em menos de 2 min!


terça-feira, 23 de novembro de 2010

Assombroso sistema de criação de personagens em 3d


O game online para multidões Eve Online, de ambientação espacial, está atualmente testando um novo gerador de personagens. O vídeo abaixo promete o mais impressionante sistema de adequação facial e corporal já criado nos games. Nele, a estrutura muscular e óssea pode ser ampliada ou diminuída com facilidade conforme o desejo do jogador. O resultado é assombroso - e os desenvolvedores garantem que ele será levado fielmente ao jogo em si.

Por enquanto, porém, os personagens permanecerão aparecendo apenas como troncos no jogo, dentro dos cockpits de suas naves. Mas, futuramente, haverá integração social em bases espaciais, onde os personagens poderão andar livremente.





Bem que poderia ter uma versão desse sistema para vernder separadamente do game, com capacidade de exportar os modelos criados para softwares de 3d, acho que isso faria mais sucesso que o próprio game!

quarta-feira, 17 de novembro de 2010

Zdepth em objetos com mapas de transparência (max, maya e xsi)

É muito comum usarmos fotos de arvores aplicadas em planes e recortadas por mapas de opacidade, para reduzir o tempo de render, só que nos deparamos com uma grande incomodação quando precisamos de um pass de zdepth, pois ele não  reconhece a transparência em objetos recortados com mapas de opacidade.
Recentemente conheci um pacote de shaders para o mental ray, o Shaders P (Puppet, sobrenome do criador, Ledin Pavel aka Puppet), esse pacote é simplesmente fantástico, com recursos incríveis para usuários um pouco mais avançados. Mas ele tem um shader de zdepth fantástico, que reconhece mapas de opacidade e é muito simples de se usar, inclusive por usuários de outros renderizadores.
Então fiz um pequeno tutorial para mostrar como usar.


Antes de começar vale salientar que esse pacote de shader esta disponível para 3Ds Max, Maya e Softimage XSI

Nessa primeira imagem pode-se ver os planes com mapas de opacidade aplicados para gerar o recorte do objeto.


Para usar o shader é muito simples (não vou falar sobre a instalação pois no pacote vem as instruções detalhadas).


Primeiro precisamos carregar o shader de base que é o "mental ray" (como mostra na imagem acima), para os que não usam o MR notem que esse shader é como uma carcaça vazia, onde vc pode ir adicionando os elementos necessários para criar o seu material. Nesse caso o nosso material vai ser um Zdepth, portanto vamos carregar o shader "p_z" no canal "Surface" do shader "mental ray".

Agora para configurar o "p_z" o processo é semelhante a configuração do Elements de Zdepth do Max. Precisamos saber a distância máxima do efeito a partir da câmera.


Uma maneira simples de se ver isso é movendo o "target distance" da câmera até a distância necessária para compreender toda a área que se deseja ter visível no mapa de zdepth, e então usar esse valor para configurar o shader.


O "Near clip" (em amarelo na imagem acima) seria o que esta perto ou seja começa com branco (255) e vai até o preto (0) que seria o "Far clip" (em verde na imagem acima). Se colocarmos valores maiores que zero no "Near Clip" teremos o que esta próximo a câmera muito mais claro.
Por algum motivo que eu não sei o Ledin Pavel, criador desse shader, fez por padrão o que esta perto ser preto e o que esta longe ser branco, mas ele colocou uma opção de "invert result" (em azul na imagem acima) para poder ficar no padrão correto, então basta marcar essa opção.
Com o shader configurado e aplicado em todos os objetos da cena, ao fazermos um primeiro teste de render já teremos o resultado que pode ser visto acima.

Agora precisamos configurar o material para os planes com transparência.


Para simplificar o processo, vamos fazer uma cópia desse primeiro material que criamos e vamos renomear. Feito isso basta aplicar a textura de opacidade no canal "opacity" do shader "p_z" e se certificar de que o valor seja 1.
Agora basta aplicar esse novo material nos planes e esta pronto para usar.

Esse shader porém é bem mais completo que isso, podendo por exemplo renderizar um mapa de zdepth com reflexão e refração:

Ou então a opção "Split Color", onde ele faz um mapa de Z colorido, o que possibilita isolar e recortar elementos do mapa usando os canais de cor (red, green e blue)


Red channel - main Z        /        Green channel - reflection Z

Blue channel - refraction Z

Ele também tem suporte para salvar imagens de 8bit, 16bit e 32bit (float).
Ao todo esse pacote possui 19 shaders com muitos recursos uteis e que quando misturados entre si podem gerar novas alternativas. Conforme eu for tendo tempo para estudá-lo, vou postar mais tutoriais com dicas de uso.

segunda-feira, 15 de novembro de 2010

Aprenda a usar Sub-Surface Scatter no Maya

Olá pessoal, bom infelizmente eu falo pouco sobre o Maya ou outros softwares por que eu trabalho com 3ds max, e minhas pesquisas acabam indo mais para esse lado.
Mas ocasionalmente eu encontro alguns materiais ótimos como esse, são 4 vídeos aulas de 1 hora de duração produzidas pela Gnomon.

Intro to Subsurface Scattering:
Translucency is a characteristic of many materials, both natural and man made. From leaves and murky water to wax, sandblasted glass or skin, many objects that may be opaque will still absorb light into the surface. Subsurface Scattering is a rendering technique that allows for the simulation of translucency in Mental Ray.

Skin Shading with Mental Ray
Chapter One: Working with the Fast-Skin Material:
Rendering skin with the natural appearance of translucency, specularity and reflection is achievable thanks to the Mental Ray Fast-Skin material. This tutorial demonstrates how to build the necessary shading network and manage the many attributes available.

Skin Shading with Mental Ray:
Chapter Two: Mapping Color, SSS Layers and Bump

Skin Shading with Mental Ray:
Chapter Three: Layering Specularity and Reflections

quinta-feira, 28 de outubro de 2010

Filmando o Impossível - Documentário

Bom pessoal, como já havia falado esse é o último documentário que eu tinha previsto para postar sobre a série de história dos efeitos especiais do cinema.






segunda-feira, 25 de outubro de 2010

3D LOD Subdivision - Tutorial


LOD para aqueles que não conhecem o termo significa level of details, traduzindo o que isso quer dizer em palavras simples, é que quanto mais distante da câmera mais simplificada a geometria ficará.
No nosso caso a proposta é ter um LOD Subdivision, então podemos concluir que quanto mais distante da câmera menor será a subdivisão aplicada à geometria. A vantagem de se usar isso é tornar a cena mais leve para o render otimizando o número de polígonos a se usar.
As aplicações podem variar, mas em geral creio que a melhor aplicação para essa técnica é para terrenos irregulares e detalhados, desertos com dunas e oceanos. Formas as quais podem ser compostas usando modificadores como o displace.
Eu desenvolvi essa técnica por pura necessidade para fazer um oceano. Eu tinha uma vasta extensão de água animada e que precisava de ondas, mas máquinas fracas para agüentarem o processamento de muitos polígonos.
Então, creio que assim como eu outros podem ter necessidades específicas e encontrarem novas aplicações para essa técnica, diferente das que eu citei acima.

Para explicar a aplicação e o funcionamento dessa técnica, vamos usar um "Plane" com 10x10 segmentos como base.

A etapa seguinte é criarmos um controlador. Ele terá 2 funções, a primeira vai ser indicar a área que vai ser selecionada, e a segunda é possibilitar fazer um link entre a subdivisão e a câmera.

Esse controlador deverá ser uma geometria, ele não pode ser um helper, pois helpers são objetos nulos. Para o nosso exemplo vou usar uma esfera, mas pode ser qualquer outro objeto.

Agora vem a primeira parte do segredo do funcionamento da técnica. Como a nossa subdivisão vai ser seletiva e móvel, pois caso a câmera seja animada, e desejemos ter subdivisão apenas onde a câmera está então essa subdivisão deve seguir a câmera onde ela for.
Usaremos o modificador "Vol. Select" para fazer a seleção da área, e essa seleção será feita com referência no nosso controlador.

Atentem para as configurações usadas no modificador. Em "Stack Selection Levels" usaremos a seleção de vértices, o método de seleção (selection Method) dever ser por adição (mais a frente explico o motivo) e finalmente em "Select By" usaremos a opção de "Mesh Objetct", e selecionamos agora o nosso controlador, então poderemos ver dentro do volume do controlador os vértices selecionados no caso da imagem de exemplo temos apenas 1 vértice.
A próxima etapa é ajustar a área total que será afetada pelo primeiro nível de subdivisão. Isso deve ser feito no menu "Soft Selection ainda no modificador "Vol. Select".

Os valores usados para configurar o "Falloff" e o "Pinch" podem variar de acordo com as dimensões da cena, a escala e a sua própria necessidade.
Feitas as configurações no "Vol. Select" vamos aplicar o modificador "MeshSmooth" em cima, assim ele vai atuar apenas na região que esta selecionada. É importante avisar que com o modificador "TurboSmooth" não funciona.

Outro detalhe importante é desmarcar a opção "Apply To Whole Mesh" para que a subdivisão seja aplicada apenas na nossa seleção.
Agora temos o primeiro nível da subdivisão pronto, mas precisamos de mais níveis para que o efeito funcione melhor, então vamos replicar o que já foi feito. Para sermos mais práticos vamos apenas selecionar os 2 modificadores copiar e colar.

Feito isso precisamos ajustar o "Soft Selection" do novo "Vol. Select" para expandir a sua área de seleção.
Novamente esses ajustes deverão ser feitos de acordo com as necessidades das suas cenas.

Agora fica claro o por que selecionamos o metodo de Adição (Add) no "Vol. Seletion", pois caso contrario a seleção do segundo não se somaria a do primeiro, assim o efeito não funcionaria.
Notem agora que temos 2 níveis de subdivisão diferentes. O primeiro nível, mais ao centro esta com 2 subdivisões, a do primeiro modificador "MeshSmooth" mais a do segundo.
Agora podemos repetir esse processo quantas vezes forem necessárias até atingir o nível de subdivisão que for preciso.

Agora experimentem selecionar o controlador (a esfera) e movê-lo sobre o "Plane" para ver como ficou a subdivisão.

Agora para completar a ferramenta, vamos fazer um link do nosso controlador à nossa câmera, mas antes deixe o controlador próximo à câmera o quanto for preciso para que a área mais subdividida seja o foco da atenção.

Ajustada a cena faremos o link (aqui estou usando a ferramenta "Select and Link") para que o controlador siga sempre a câmera.

Esse "link" pode ser feito de outras maneiras, via "Constraints" ou "Wire Parameters" para limitar os eixos que o controlador irá se mover ou poder animar o link do controlador de uma câmera para outra.
Outro detalhe importante e que não pode ser esquecido é entrar nas propriedades do nosso controlador e desabilitar a opção que o deixa renderizável ("Renderable"), assim ele não aparecerá no render e nem influenciara na nossa cena.

Agora para testarmos a aplicação dessa técnica adicione um modificador "Noise" no "Plane".

Notem que o "Noise" esta atuando somente na área que esta selecionada, dependendo da situação isso pode ou não ser desejável. Caso não seja desejável, caso precisemos que seja aplicado no todo do nosso "Plane" basta aplicar antes do "Noise" o modificador "Poly Select" sem alterar nenhum de seus parâmetros, isso irá limpar as nossas seleções para o que estiver acima dele fazendo assim o "Noise" afetar todo o nosso "Plane".

Caso o nível de subdivisão no primeiro ou nos demais níveis não tenha ficado suficiente, podemos voltar aos modificadores "MeshSmoth" e aumentar o valor do "Iterations", mas atenção! Isso deve ser feito com cautela, sempre salve a cena antes de fazer isso, e tenha cópias de segurança, pois subdivisões muito altas podem vir a travar a máquina, principalmente máquinas com pouca memória RAM (o mínimo recomendado pela Autodesk para o 3Ds Max é de 4gb de RAM).
Uma outra alternativa bem viável é adicionar acima do "Poly Select" um "TurboSmooth" ou mesmo um "MeshSmoth" e usar o "Render Iterations" (Render Iters.), pode-se jogar com os valores do” Iterations" x "Render Iterations", tudo pode variar de acordo com a necessidade da cena.

Notem que o nível de subdivisão do centro é bem maior que nas extremidades.
Aqui um exemplo sem o "Poly Select":

 Assim como expliquei, o "Noise" vai atuar apenas na área da seleção dos nossos "Vol. Selection". Já o "TurboSmooth" como expliquei antes não funciona com seleção. Mas se ao invés do "TurboSmooth" você tiver usado um "MeshSmoth" então diferente de antes precisaremos deixar a opção "Apply To Whole Mesh" ligada para que ele não atue apenas na seleção.
E agora a nossa ferramenta está completa, experimentem mover a câmera e ver como vai ficar o resultado.

Só o que fizemos até aqui já é o suficiente para otimizar em muito a nossa cena, mas ainda podemos fazer mais. Temos toda uma geometria que não aparece em cena e que fica na parte de traz da câmera, em casos mais específicos podemos precisar dessa parte (para reflexos ou outras necessidades específicas) então basta ignorar essa última etapa, essa geometria oculta pode ser removida da cena para deixar nosso projeto mais leve ainda, então vamos ver como fazer isso.
Adicione o modificador “Slice” abaixo do modificador "Poly Select" e marque a opção “Remove Top”.

Em seguida clique no símbolo de “+” ao lado do “Slice” para acessarmos as sub-propriedades do modificador e selecione a opção “Slice Plane”. Feito isso vamos usar a ferramenta “Align” Para alinharmos o “Slice” com a nossa câmera, então após ativar o “Align” clique sobre a câmera e faça o alinhamento da posição e da orientação usando o “Pivot Point” como base.

Agora já estamos removendo a parte da geometria que fica atrás da nossa câmera, porém ainda precisamos fazer com que o “Slice” acompanhe a câmera quando ela se mover ou rotacionar, para isso vamos usar o “Wire Parameter”.
Para acessar o “Wire Parameter” clique com o segundo botão do mouse sobre o objeto para abrir o menu flutuante, em seguida clique sobre a opção “Wire Parameter”. No novo menu que irá abrir siga as etapas como mostra na imagem abaixo.

Após selecionar o “X Position” você deve clicar sobre a sua câmera para fazermos a ligação das informações do “Slice” às da câmera.

Feito isso a janela de configurações do “Wire Parameter” vai abrir. Aqui vamos indicar quem vai controlar quem usando as setas de direção que ficam no meio da janela.
Vamos fazer esse controle para os eixos X e Y, pois não temos interesse que o “Slice” se mova no eixo Z.
Selecione o “X Position” da câmera e o “X Position” do “Slice”, ligue a seta de posição de modo que a câmera seja o “Master”, e no campo “Expression” vamos fazer uma expressão matemática simples para mover o “Slice” um pouco mais para trás da câmera, digite apenas “-25” logo depois de “X Position” (ou o valor que se adaptar melhor a sua cena, pois como já falei os valores podem variar de acordo com a escala e as proporções da cena) e clique em “Connect”. Faça o mesmo para o eixo Y, lembre-se devemos ligar cada eixo com seu par, portanto Y com Y.

Agora o “Slice” já esta se movendo com a câmera, mas precisamos também que ele gire com ela, para isso vamos conectar o “Rotation” dos 3 eixos, mas dessa vez não precisamos usar expressão.

Agora o “Slice” já esta seguindo a mesma orientação da câmera, experimente girar a câmera para verificar o resultado.

Com essa última etapa nossa ferramenta fica realmente completa e pronta para usar. Espero que tenham gostado e que essa técnica venha a ser útil. Em breve pretendo tentar transformar isso em um script para facilitar a aplicação.

Clique aqui para baixar o arquivo da cena de estudo (3Ds Max 2010)

quinta-feira, 21 de outubro de 2010

A magia do cinema!

Já que no post anterior eu falei em magia do cinema, acho que seria bacana aprofundarmos um pouco mais o assunto e abrir o leque.
Vou publicar aqui 10 vídeos mostrando as técnicas usadas para fazer os efeitos especiais nos filmes, técnicas as quais muitas ainda são usadas até hoje.



O vídeo 2 esta com o serviço de incorporação desativado, logo eu "resolvo" isso, então segue o link dele para ser visto direto pelo youtube http://www.youtube.com/watch?v=GsSz5MZRNt0










Bom pessoal, espero que estejam curtindo esse momento cultura, essa é a penúltima postagem que tenho prevista para essa seção nostálgica sobre efeitos especiais do cinema.

terça-feira, 19 de outubro de 2010

Documentário - A ILM antes da era digital

Esses 4 vídeos mostram um pouco das técnicas usadas antes da nossa era digital, antes de nossos pacotes de softwares e plugins. Onde a mágica realmente acontecia.
Eu adoro estudar e ver materiais sobre os pioneiros dos efeitos especiais, e quanto mais eu vejo, mas eu afirmo que não criamos nada de novo, apenas vamos adaptando para o meio digital tudo que já foi criado no passado, por exemplo, substituimos pinturas em chapas de vidro pelo photoshop, bonecos de stop motion e maquetes por softwares 3D...
É claro que hoje temos uma qualidade de produção e realismo nunca atingidas antes, mas é tudo graças aos artistas do passado, que na verdade eram verdadeiros "prof. Pardal" do cinema, pois tinham que criar e inventar sistemas para fazer os efeitos, coisas que hoje quando vejo eu me surpreendo, como no filme o Mágico de Oz em que na cena onde se vê um furacão, ele foi feito com uma meia calça feminina e uma batedeira de bolos! Essa era verdadeira magia.

Nas fotos Phil Tippett




domingo, 17 de outubro de 2010

Vídeo aulas de Unity3D

E ai pessoal, bom posso dizer que isso foi um verdadeiro achado. O pessoal da TornadoTwins produziu uma série enorme de vídeo aulas sobre a Unity3D, indo da apresentação do software, introdução, conceitos básicos até ações mais complexas. Para quem deseja estudar uma engine de game, essa é uma ótima oportunidade, os vídeos são em inglês, mas estão muito bem ilustrados e fáceis de entender.
Ao todo são 29 vídeos em seqüência, mais alguns vídeos extras que tem no canal deles no youtube, a maioria dos vídeos tem material complementar disponível para download (scripts, cenas, modelos...).
Mas no site do grupo vocês podem encontrar muito mais material de estudo, como desenvolvimento de games para iphone e ipad.

Link direto para a página de tutoriais   e Link para a home do site



sábado, 16 de outubro de 2010

AutoCAD para Mac OS

A autodesk anunciou hoje o lançamento do AutoCAD para Mac OS. Depois de muitos anos sem uma versão para Mac a Autodesk resolveu voltar a pensar nesses usuários. Será que isso é uma tendência? 
A pouco tempo a autodesk fez uma pesquisa sobre os desejos e necessidades dos usuários do 3Ds Max em ter uma versão para Mac, talvez não estejamos tão longe disso!
Já está disponível para download uma versão demonstrativa de 30 dias. 
A licença do programa custa 4 mil dolares.



Outra novidade da autodesk foi aproveitar o embalo e lançar um visualizador de arquivos DWG para iphone e ipad, na verdade o aplicativo permite não só visualizar mas é possível fazer edições simples no arquivo (mais detalhes no link abaixo). O aplicativo é gratuito.




Para poder mandar os arquivos para aparelhos móveis é necessário um plugin o Autocad WS: