Allan Brito

Migrando dos tijolos para os pixels!

Archive for February, 2011


O quanto uma renderização pode ser acelerada se usarmos uma placa de vídeo dedicada para jogos em softwares como o iRay no 3ds max? O uso desse tipo de tecnologia está claramente dominando os softwares especializados em renderização, pois é possível se desprender das limitações impostas pela quantidade de núcleos da CPU e jogar o trabalho de render, que não é simples, para as dezenas e as vezes centenas de núcleos da GPU. Esse é o caso da placa GeForce GTX 570 da NVidia que apesar do foco em jogos, pode ajudar bastante quando o assunto é renderização. A placa possui nada mais que 480 núcleos CUDA que podem ser aproveitados para renderização.

O vídeo abaixo é uma demonstração simples do uso dessa tecnologia em softwares como o iRay rodando no 3ds max, que é uma versão do mental ray híbrida que pode aproveitar os núcleos de uma GPU para acelerar consideravelmente o render.

O modelo 3d usado para a demonstração é uma moto Ducati com boa quantidade de detalhes e também texturas e materiais com configurações avançadas, apresentando reflexões e efeitos óticos avançados.

Uma das coisas que podemos perceber com o vídeo é que o processo inicial pode demorar apenas alguns segundos para que uma imagem seja exibida, mas depois que ela aparece o refinamento progressivo consegue exibir a imagem do render em poucos minutos. O processo dá muita carga na placa de video, aumentando consideravelmente a temperatura do dispositivo, fato comum em placas dedicadas a jogos.

Será que vale a pena usar uma placa dedicada para jogos em aplicações profissionais? A única coisa que justifica o uso desse tipo de dispositivo em softwares profissionais é o custo, que é inegavelmente menor que uma placa profissional. Se você ainda não teve a oportunidade, recomendo que leia a entrevista sobre hardware para computação gráfica, em que um especialista em equipamentos para render e 3d, comenta sobre o uso de placas de vídeo para jogos em softwares 3d profissionais.

A tendência desse tipo de aplicação em softwares 3d irá fazer com que todos precisem de placas com múltiplos núcleos no futuro, fazendo com que até equipamentos mais simples demandem de centenas de núcleos para renderizar projetos. E você, já trocou a sua placa de vídeo?

Feb
21

Uma das funções do modificador Array no Blender é a criação de estruturas que apresentam padrões de repetição próprios, como é o caso de grades ou outros tipos de estruturas. A criação desse tipo de elemento com o Array é realmente simples e pode ajudar na ambientação de projetos de arquitetura ou cenários para jogos. Esse tipo de estrutura é muito usada em cenários com um contexto voltado para a ficção científica, pois as grades ajudam a passar a impressão de algo que tende para o design com metal. Sempre que tenho a oportunidade de mostrar o modificador Array para pessoas que não conhecem o Blender, acabo com as pessoas me questionando sobre como trabalhar com cópias em múltiplas linhas e colunas no Array.

O vídeo abaixo é um excelente exemplo de como podemos aproveitar a flexibilidade do modificador Array para gerar estruturas como uma grade formada por hexágonos. No vídeo o autor aproveita e mostra também o que é preciso para transformar essa grade em uma estrutura com formato retangular, pronta para receber mais Arrays.

Um dos primeiros pontos interessantes sobre o tutorial é que o Array só copia os elementos em uma linha, fazendo necessário adicionar outro Array. Sim, caso você nunca tenha usado modificadores, essa é uma das vantagens de ter ferramentas nesse formato. Com os modificadores é possível criar pilhas de modificadores que são adicionando alterações no mesmo objeto.

Repare que o primeiro e o segundo Array estão configurados usando eixos de deslocamento diferentes, para conseguir gerar cópias em linhas e colunas.

Depois que as cópias estão prontas, ainda é necessário fazer uma pequena alteração na disposição dos objetos, pois o Array não gera um quadrado perfeito. Nesse ponto é edição manual mesmo, em que o autor desloca e copia os objetos para conseguir fazer a composição dos hexágonos. Para os que pretendem seguir o procedimento do vídeo, recomendo sempre usar o Remove Doubles como o autor do vídeo faz, para evitar ter geometria sobreposta.

Sempre que você precisar criar elementos que possam ser reduzidos a partes como esse hexágono, que é copiado múltiplas vezes, o modificador Array pode ajudar bastante se usado de maneira correta.

Feb
21

O uso de vegetação em ambientes e projetos baseados em modelagem 3d pode demandar alguns truques para o artista responsável, pois a escolha incorreta da técnica geralmente acaba comprometendo a performance até mesmo do processo de edição da cena. Por exemplo, o uso de vegetação baseada em geometria adiciona uma quantidade grande de polígonos em qualquer cena, que faz até mesmo os melhores computadores perderem performance e apresentarem lentidão em tarefas simples como a alteração da câmera ou mudanças no enquadramento.

Uma solução inteligente para esse tipo de problema é o uso de texturas com fundo transparente em planos, que se espalhados pelo cenário acabam gerando um excelente resultado em termos de visualização de vegetação. O peso desse tipo de solução é insignificante quando comparamos com o uso de vegetação baseada em geometria real. Em casos como a representação de grandes superfícies de vegetação é imprescindível usar esse tipo de recurso, ou então aproveitar alguma tecnologia de instanciamento como o V-Ray Pattern.

Mas, e se formos apostar no uso de árvores com base em geometria? Nesse caso, você pode ficar interessado em visitar o Xfrog, que é um web site especializado no comércio de recursos como árvores e outros elementos para inserção em projetos de modelagem e animação. O Xfrog disponibilizou uma biblioteca com mais de 130 árvores para download gratuito, todas elas baseadas em geometria real.

free-trees-architecture.jpg

Um dos pontos positivos no uso dessa biblioteca é que os modelos das árvores estão todos em formato OBJ, o que significa que qualquer software que consiga importar esse tipo de arquivo 3d é capaz de aproveitar as árvores em 3d. Por exemplo, o Blender é uma dessas ferramentas que pode aproveitar as árvores gratuitas do Xfrog. Além do formato OBJ é possível copiar as árvores em formatos nativos para o 3ds max, maya e outros softwares.

Esse tipo de recurso ajuda muito em processos de composição de cenários, mas deve ser usado com cautela devido às situações que descrevi no início desse artigo. Se uma cena acaba recebendo muitas dessas árvores o resultado pode até ser bom visualmente, mas você corre o risco de ter um arquivo que fique pesado demais para editar.

Mesmo assim, já estou fazendo o download da coleção completa para usar em meus projetos e aulas.

Feb
19

Uma das vantagens em usar ferramentas de modelagem para desenvolver projetos em arquitetura e engenharia, é a possibilidade de gerar algumas das pranchas mais difíceis de criar apenas com desenho 2D. As chamadas vistas em corte são um dos tipos mais difíceis de vistas para pessoas que estão estudando desenho técnico, seja ele de peças mecânicas ou de grandes e complexas edificações para arquitetura. O simples fato de precisar representar objetos que estão apenas em vista na ilustração e destacar os pontos de corte, deixa alunos e até mesmo alguns profissionais que conheço bem confusos. As ferramentas do tipo BIM ajudam muito nesse processo, mas não é preciso partir para opções sofisticadas como o Revit, ArchiCAD ou VectorWorks para gerar esse tipo de vista para arquitetura.

Com o uso do SketchUp gratuito é possível gerar vistas em corte de maneira muito simples, precisando apenas de alguns pequenos ajustes na imagem usando o Photoshop ou GIMP depois que a imagem é gerada.

Se você nunca tentou realizar esse procedimento no SketchUp, encontrei um tutorial que pode ajudar muito a realizar o processo completo com o SketchUp gratuito.

O próprio SketchUp apresenta um tipo de ferramenta chamada Section que já ajuda bastante nesse processo, gerando uma vista em corte de qualquer modelo 3d. O autor do vídeo aproveita a possibilidade de gerar esse tipo de vista no SketchUp para exportar um corte realizado no software em formato de imagem. No vídeo ele usa JPG como base para exportar a imagem, eu particularmente usaria PNG pela melhor qualidade na imagem final, já que o formato é Lossless e o JPG é Lossy. Isso significa dizer que o JPG excluí dados da imagem para reduzir seu tamanho e o PNG não faz esse tipo de exclusão.

Assim que a imagem do corte estiver pronta, o tutorial passa para o Photoshop em que o autor começa um trabalho de edição detalhado em que as paredes que são cortadas na vista recebem pintura preta, e outros elementos da vista são evidenciados ou até mesmo removidos.

O interessante do processo é que o Photoshop pode facilmente ser substituído por outras ferramentas como o Pixelmator ou GIMP. Essa e uma maneira simples de gerar vistas em corte.

Feb
17

A área de desenvolvimento de jogos é uma ávida consumidora de recursos oriundos de softwares como o Blender, 3ds max e Maya. Como somos um pólo de desenvolvimento desse tipo de produto, muitos artistas que antes trabalhavam para a área de publicidade acabam migrando para o setor de jogos, pois ainda existem poucos profissionais que se especializam nesse tipo de produção. Devido ao fenômeno do Offshoring, em que empresas e estúdios com grandes orçamentos para jogos tercerizam a produção em países como o Brasil e Índia, temos grande potencial para crescer cada vez mais nesse mercado. Mas, nem só de grandes produtoras e projetos milionários vive esse mercado, e hoje já temos a possibilidade de desenvolver projetos de jogos com equipes pequenas usando ferramentas como o Unity 3D.

Esse é um dos softwares mais versáteis para desenvolvimento de jogos, pois permite trabalhar com o desenvolvimento de aplicativos interativos para diversas plataformas, inclusive com compiladores para sistemas como o iPhone, iPad e Android. Sem mencionar a parte dos consoles e outros dispositivos. Os compiladores não são gratuitos, mas a facilidade de criar o jogo usando uma interface gráfica é muito procurada por artistas.

Outro ponto positivo para o Unity é a integração com diversas ferramentas 3d como o próprio Blender, 3ds Max e Maya que permite importar os arquivos nativos dessas plataformas para dentro do editor do Unity.

Se você está interessado em aprender o funcionamento do Unity, encontrei na semana passada um recurso que pode literalmente levar você a utilizar a ferramenta em pouquíssimo tempo. O recurso é um conjunto com aproximadamente 200 tutoriais em vídeo sobre o Unity 3D. Sim, você não leu errado, são aproximadamente 200, abordando diversos aspectos da ferramenta em vídeos que variam entre 3 a até 15 minutos. Devo confessar que não assisti a todos os vídeos, mas a qualidade do material é excelente e muito bem explicado. Quer ter uma idéia dos tópicos abordados? A lista abaixo mostra o que você deve encontrar sobre o Unity:

Section 1 – Introduction

• 1 – Introduction

• 2 – Getting Unity

Section 2 – Terminology

• 1 – Introduction

• 2 – Projects

• 3 – Scenes

• 4 – Packages

• 5 – Prefabs

• 6 – GameObjects

• 7 – Components

• 8 – Assets

• 9 – Scripts

Section 3 – Our First Level

• 1 – Introduction

• 2 – Project Creation

• 3 – Initial Terrain Setup

• 4 – Saving Scene

• 5 – Terrain Toolkit

• 6 – Terrain Sculpting

• 7 – Play Testing

• 8 – Testing and Adjusting

• 9 – Adding Terrain Assets

• 10 – Procedural Texturing

• 11 – Texture Painting

• 12 – Adding Trees

• 13 – Adding Details

• 14 – Skyboxes

• 15 – Sun and Lens Flare

• 16 – External Assets

• 17 – Importing FBX Files

• 18 – Collision Objects

• 19 – Water

• 20 – Snow Effect

• 21 – Fog and Ambient Light

• 22 – Adding Steam Effect

• 23 – Camp Fire Effect

• 24 – Camp Fire Sound

• 25 – Wind Sound

• 26 – WindZone

• 27 – Lightmapping

• 28 – Build and Wrap-up

Section 4 – Primary Interface

• 1 – Interface at a Glance

• 2 – Scene View vs. Game View

• 3 – Maya-style Viewport Navigation

• 4 – FPS-style Viewport Navigation

• 5 – Scene Gizmo

• 6 – Draw Modes

• 7 – Render Modes

• 8 – Viewport Functions

• 9 – Game Aspect

• 10 – Game View Toolbar

• 11 – Main Menubar – File

• 12 – Main Menubar – Edit

• 13 – Main Menubar – Assets

• 14 – Main Menubar – GameObjects

• 15 – Main Menubar – Components

• 16 – Main Menubar – Terrain

• 17 – Main Menubar – Window

• 18 – Main Menubar – Help

• 19 – Toobar – Transform Tools

• 20 – Toolbar – Pivot & Local/Global

• 21 – Toolbar – Play Controls

• 22 – Layer Dropdown

• 23 – Toolbar – Layout Dropdown

• 24 – Project View – Overview

• 25 – Project View – OS Folder Structure

• 26 – Project View – Linking

• 27 – Project View – Creating

• 28 – Project View – Search

• 29 – Hierarchy – Overview

• 30 – Hierarchy – Linking

• 31 – Hierarchy – Creating

• 32 – Heirarchy – Search

• 33 – Inspector – Overview

• 34 – Inspector – Properties – Play Mode

Section 5 – Secondary Interface

• 1 – Animation View – Overview

• 2 – Animation View – Animating Transforms

• 3 – Animation View – Other Properties

• 4 – Animation View – Working with Curves

• 5 – Animation View – Reusing Curves

• 6 – Profiler

• 7 – Console

• 8 – Render Settings

• 9 – Project Settings – Input

• 10 – Project Settings – Tags

• 11 – Project Settings – Audio

• 12 – Project Settings – Time

• 13 – Project Settings – Player

• 14 – Project Settings – Physics

• 15 – Project Settings – Quality

• 16 – Project Settings – Network

• 17 – Project Settings – Editor

• 18 – Preferences – General

• 19 – Preferences – Colors

• 20 – Preferences – Keys

Section 6 – Customizing the User Interface

• 1 – Docking and Undocking

• 2 – Adding and Removing

• 3 – Saving and Loading Layouts

Section 7 – Working with Game Objects

• 1 – Intro

• 2 – Creating

• 3 – Moving

• 4 – Rotate

• 5 – Scale

• 6 – Duplication

• 7 – Parenting

• 8 – Adding, Resetting, & Removing Components

Section 8 – Working with Prefabs

• 1 – Intro

• 2 – Creating Prefabs

• 3 – Prefab Instancing

Section 9 – Working with Packages

• 1 – Intro

• 2 – Exporting and Importing Packages

Section 10 – Snapping

• 1 – Intro

• 2 – Placement Snapping

• 3 – Rotation Snapping

• 4 – Scale Snapping

• 5 – Vertex Snapping

Section 11 – Tags and Layers

• 1 – Introduction

• 2 – Creating and Assigning Tags

• 3 – Creating and Assigning Layers

Section 12 – Cameras

• 1 – Intro

• 2 – Clear Flags and Background

• 3 – Culling Mask

• 4 – Projection

• 5 – FOV and Clip Planes

• 6 – Viewport Rect and Depth

• 7 – Rendering Paths

• 8 – Target Texture

• 9 – Skybox

• 10 – Multi-Camera Setup

Section 13 – Character Controllers

• 1 – First Person Controller

• 2 – Third Person Controller

Section 14 – Lights

• 1 – Introduction

• 2 – Light Types

• 3 – Light Color and Intensity

• 4 – Light Cookies

• 5 – Shadows: Intro

• 6 – Shadows: Types and Strength

• 7 – Shadows: Resolution

• 8 – Shadows: Bias

• 9 – Shadows: Quality Settings

• 10 – Lens Flares

• 11 – Render Mode

• 12 – Culling Mode

Section 15 – Lightmapping

• 1 – Overview

• 2 – Object Panel

• 3 – Bake Panel

• 4 – Maps Panel

Section 16 – Terrain

• 1 – Introduction

• 2 – Terrain Resolution

• 3 – Terrain Sculpting Tools

• 4 – Painting Terrain Texture

• 5 – Painting Trees

• 6 – Painting Details

• 7 – Base Terrain Settings

• 8 – Tree and Detail Object Settings

• 9 – Wind Settings

• 10 – Terrain Collider

Section 17 – Terrain Toolkit

• 1 – Overview

• 2 – Voronoi

• 3 – Fractal

• 4 – Perlin

• 5 – Smooth

• 6 – Normalise

• 7 – Thermal Erosion

• 8 – Hydraulic Ersosion

• 9 – Tidal Erosion

• 10 – Wind Erosion

• 11 – Painting Erosion

• 12 – Texture Overview

• 13 – Texture Slope

• 14 – Texture Height

Section 18 – Particles

• 1 – Introduction

• 2 – Emission, Energy, & Size

• 3 – Linear Properties

• 4 – Tangent and Angular Velocity

• 5 – Remaining Ellipsoid Properties

• 6 – Mesh Emitter Unique Properties

• 7 – Particle Animator – Color

• 8 – Particle Animator – Local Rotation Axes

• 9 – Particle Animator – Size Grow

• 10 – Particle Animator – Forces

• 11 – Particle Animator – Damping

• 12 – Particle Animator – Autodestruct

• 13 – Particle Renderer – Materials

• 14 – Particle Renderer – Particle Orientation

• 15 – Particle Renderer – UV Animation

• 16 – World Particle Collider

• 17 – Arc Welding System – 1

• 18 – Arc Welding System – 2

• 19 – Arc Welding System – 3

Section 19 – Trails

• 1 – Overview

• 2 – Setup and Shape

• 3 – Trail Color

• 4 – Min Vertex Distance and Autodestruct

Section 20 – Physics

• 1 – Intro

• 2 – Rigid Bodies

• 3 – Constant Forces

• 4 – Primitive Colliders

• 5 – Mesh Collider

• 6 – Creating Complex Colliders

• 7 – Wheel Collider

• 8 – Character Controller

• 9 – Fixed Joint

• 10 – Hinge Joint

• 11 – Spring Joint

• 12 – Character Joint

• 13 – Configurable Joint

• 14 – Cloth Setup

• 15 – Cloth Flag

• 16 – Cloth Beachball

• 17 – Cloth Tearable Sheet

Section 21 – Audio

• 1 – Audio

• 2 – Audio Files

• 3 – Audio Lister and Audio Source

• 4 – Audio Reverb Zones

• 5 – Audio Low Pass Filter

• 6 – Audio High Pass Filter

• 7 – Audio Echo Filter

• 8 – Audio Distortion Filter

• 9 – Audio Reverb Filter

• 10 – Audio Chorus Filter

Como você pode perceber pela lista, você pode aprender diversos aspectos do Unity que vão da interface até o uso de física nos jogos.

Feb
17

Livros recomendados

Blender 3D - Guia do Usuário Blender 3D - Jogos e Animações Interativas Modelando personagens com o Blender 3D Google Sketchup Pro 8 - Passo a Passo Google SketchUp Pro: Aplicado ao Projeto Arquitetônico ESTUDO DIRIGIDO DE AUTOCAD 2011 Autocad 2011 - Utilizando Totalmente Desenvolvendo Personagens em 3D com 3Ds Max ZBrush para iniciantes Estudo Dirigido de 3ds Max 2011

Atualizações por e-mail


Categorias


Arquivos


Pesquisa

    Google

Links

  • Blender 3D
  • Blender 3D Architect
  • BlenderNation.com
  • CCGD – Centro de Computação Gráfica e Design
  • Colaborativo.org

Meta

Tags