PÓS-GRADUAÇÃO EM GRÁFICA
DIGITAL
MODELAGEM 3D E BLENDER
Prof. Dr. Carlos A. P. Campani
MODELAGEM 3D
Modelagem 3D é o processo de desenvolver
uma representação matemática das superfícies
de um objeto em três dimensões por meio de um
software especializado. O resultado final deste
processo é chamada de modelo 3D.
MODELAGEM 3D
Modelagem 3D é usada em uma variedade de
aplicações para obter representações dos objetos
físicos (tanto animados quanto inanimados) em
um computador.
APLICAÇÕES DA MODELAGEM
3D
●
Engenharia e arquitetura: prototipação de
baixo custo; visualização de cenários; redução do
tempo de projeto; prevenção de erros de projeto;
●
Filmes, comerciais e animação: redução de
custos; realidade aumentada;
●
Jogos de computador: realismo e jogabilidade.
HISTÓRIA DA COMPUTAÇÃO
GRÁFICA: MATEMÁTICA
●
Euclides (300 d.C.) – Geometria;
●
René Descartes (1596-1650) – Geometria
analítica;
●
James Joseph Sylvester (1814-1897) – Notação
de matriz;
●
Pierre Bézier (1910-1999) – Curvas
paramétricas;
HISTÓRIA DA COMPUTAÇÃO
GRÁFICA: ALGORITMOS
●
Ivan Sutherland (1963) – Sketchpad (primeiro
programa gráfico);
●
Arthur Appel (1969) – Algoritmo de renderização;
HISTÓRIA DA COMPUTAÇÃO
GRÁFICA: ALGORITMOS
●
Gouraud (1971) e Phong (1975) – Shading;
●
Animação baseada em keyframe (anos 70);
●
Ed Catmull – Algoritmo z-buffer;
●
Turned Whitted – Algoritmo de ray tracing;
HISTÓRIA DA COMPUTAÇÃO
GRÁFICA
●
OpenGL (1992) – Interface de programação de
aplicativos (API) multiplataforma para renderizar
gráficos vetoriais em 2D e 3D.
HISTÓRIA DA COMPUTAÇÃO
GRÁFICA: PROGRAMAS
●
AutoCAD (1982);
●
Autodesk 3ds Max (1988, como 3D Studio);
●
Cinema 4D (1990);
●
Houdini (1996)
●
Autodesk Maya (1998);
●
Z-Brush (1999);
●
SketchUp (2000, como Google SketchUp);
●
Blender 3D (2002).
DREAMWORKS: SOFTWARE
PRÓPRIO
●
Apollo;
●
ToonShooter;
●
InkAndPaint.
Fonte: https://www.linuxjournal.com/article/4803
PIXAR: SOFTWARE PRÓPRIO
●
Presto;
●
Renderman.
Fontes: https://www.digitaltrends.com/computing/pixar-shows-software-at-gtc-2016/
https://renderman.pixar.com/
CONCEITOS DE MODELAGEM
3D
●
Renderização: processo computacional em que
a descrição matemática dos modelos 3D é usada
para produzir uma imagem ou cena;
●
Câmera: ponto de visão a partir do qual será
produzida a renderização da cena;
●
Lâmpadas: pontos de luz na cena;
CONCEITOS DE MODELAGEM
3D
●
Cena: imagem produzida a partir do modelo 3D
por meio de renderização;
●
Materiais: definem a aparência do objeto –
física (atrito, densidade, maciez); cor; textura;
transparência; refletividade; etc.;
●
3D rigging: processo de criar um esqueleto
para que um modelo 3D possa ser animado.
PROCESSO DE MODELAGEM
3D
PROJEÇÕES USADAS EM
MODELAGEM
●
Projeção Ortográfica: projeção paralela, em
que todas as linhas são paralelas; não apresenta
a cena como o olho humano perceberia;
●
Projeção em perspectiva: a projeção não é
paralela; feita a partir de um ou mais pontos;
fornece mais realismo à cena.
PROJEÇÕES USADAS EM
MODELAGEM
PROJEÇÃO EM PERSPECTIVA PROJEÇÃO ORTOGRÁFICA
ELEMENTOS DE UM MODELO
3D: PRIMITIVAS (PRIMS)
ELEMENTOS DE UM MODELO
3D: MALHA (MESH)
Superfície descrita por polígonos conectados
pelas arestas e vértices
ELEMENTOS DE UM MODELO
3D: MALHA (MESH)
●
Faces, arestas e vértices;
●
Faces: Triângulos; QUADS (quadriláteros);
outros polígonos – Triângulos são mais eficientes
para renderização; QUADS são mais eficientes
para serem animados;
●
Arestas e vértices das faces adjacentes são
compartilhados.
ELEMENTOS DE UM MODELO
3D: MALHA (MESH)
SISTEMA DE COORDENADAS
CARTESIANAS
COORDENADAS AFINS
MATRIZES DE
TRANSFORMAÇÃO
MATRIZES DE
TRANSFORMAÇÃO
TRANSLAÇÃO
ESCALA
ROTAÇÃO EIXO X
ROTAÇÃO EIXO Y
ROTAÇÃO EIXO Z
TIPOS DE MODELAGEM 3D
●
Modelagem de Props (Property) – elementos
que aparecem em cena: cadeiras; mesas;
poltronas; luminárias; carros; etc.;
●
Modelagem de Cenários – espaço onde serão
colocados os props (interior e exterior);
●
Modelagem de Personagens – projeto e
animação.
TÉCNICAS DE MODELAGEM 3D
●
Modelagem de Caixa (ou por subdivisão) –
iniciando com primitivas (caixa, cilíndro, esfera,
etc.) e refinando a forma até obter o resultado
desejado;
●
Modelagem de contorno – modelo é montado
pedaço por pedaço, adicionando faces poligonais
e preenchendo os espaços entre elas;
TÉCNICAS DE MODELAGEM 3D:
MODELAGEM DE CAIXA
TÉCNICAS DE MODELAGEM 3D
●
Modelagem NURBS – Non-Uniform Rational
Basis Spline (NURBS) usa curvas Bezier (splines)
para gerar superfícies; Curvas Bezier são
geradas por meio de pelo menos 3 pontos, os
extremos são chamados de âncoras e os
restantes, que determinam o formato da curva,
chamados de nodos; o modelo pode ser obtido
por revolução da curva bezier;
TÉCNICAS DE MODELAGEM 3D
Curvas Bezier
TÉCNICAS DE MODELAGEM 3D
●
Modelagem por escultura digital – o mesh é
obtido pelo uso de ferramenta de escultura que
adiciona ou remove camadas de um objeto,
resultando em altos níveis de detalhe e uma
aparência natural e orgânica;
TÉCNICAS DE MODELAGEM 3D
TÉCNICAS DE MODELAGEM 3D
●
Modelagem procedural – cenas e objetos são
gerados por meio de regras e parâmetros
definidos pelo usuário; comumente usada para
produzir estruturas orgânicas como árvores, pelo
uso, por exemplo, de algoritmos baseados em
fractais;
TÉCNICAS DE MODELAGEM 3D
TÉCNICAS DE MODELAGEM 3D
●
Modelagem baseada em imagem – os objetos
3D são derivados de uma imagem 2D estática;
●
Digitalização 3D – processo em que um objeto
ou uma cena 3d é convertida em uma
representação matemática por meio de um
dispositivo de escaneamento 3D.
TÉCNICAS DE MODELAGEM 3D:
BASEADA EM IMAGEM
RENDERIZAÇÃO
Processo em que uma representação em malha
de objetos 3D é convertida para uma imagem 2D.
RENDERIZAÇÃO: LITERATURA
FUNDAMENTAL
●
Arthur Appel. The notion of quantitative
invisibility and the machine rendering of solids.
ACM '67. 1967;
●
Arthur Appel. Some Techniques for Shading
Machine Renderings of Solids. 1969;
●
Matt Pharr & Wenzel Jakob & Greg Humphreys.
Physically Based Rendering: from theory to
implementation. 2004.
RENDERIZAÇÃO: EFEITOS DA
LUZ
●
Objetos são iluminados por fontes de luz;
●
A luz salta de um objeto ao outro antes de
encontrar o olho humano;
●
Luz pode ser bloqueada por alguns objetos
formando as sombras;
RENDERIZAÇÃO: EFEITOS DA
LUZ
●
Luz pode refletir-se de um objeto para outro, de
forma que vemos um objeto refletido na superfície
de outro;
●
Ao passar por objetos transparentes ou
semitransparentes, como vidro ou água, a luz
sofre refrações.
RENDERIZAÇÃO: EFEITOS DA
LUZ
RENDERIZAÇÃO: EFEITOS DA
LUZ
RENDERIZAÇÃO: REFLEXOS
I – intensidade da luz incidente sobre um plano
S – intensidade da fonte de luz
L – ângulo da normal do plano e da direção da fonte de luz
D – distância do ponto iluminado para a fonte de luz
RENDERIZAÇÃO: REFLEXÃO
ESPECULAR E DIFUSA
RENDERIZAÇÃO: RAY TRACING
A técnica de ray tracing captura os efeitos da luz
trabalhando de trás para a frente, seguindo a luz
do olho (ou câmera) ao objeto. Ele traça o
caminho de um raio de luz através de cada pixel
em uma superfície de visualização 2D a partir de
um modelo 3D da cena.
RENDERIZAÇÃO: RAY TRACING
Ao encontrar uma face da malha, é computada a
distância desde o olho. Após processar todos os
objetos, é produzido o pixel correspondente ao
objeto mais próximo do olho. O processo é
recursivo.
RENDERIZAÇÃO: RAY TRACING
RENDERIZAÇÃO: DEPTH
BUFFER
●
O Problema da Superfície Oculta;
●
Solução: Depth Buffer ou Z-Buffer;
●
Usa outra matriz com a mesma dimensão da
matriz de pixels, mas com valores em ponto
flutuante ao invés de cores;
●
A matriz armazena as distâncias da câmera até
o triângulo da malha.
RENDERIZAÇÃO: RAY TRACING
for (each pixel in image) {
Ray R = computeRayPassingThroughPixel(x,y);
float tclosest = INFINITY;
Triangle triangleClosest = NULL;
for (each triangle in scene) {
float thit;
if (intersect(R, object, thit)) {
if (thit < closest) {
triangleClosest = triangle;
}
}
}
if (triangleClosest) {
imageAtPixel(x,y) = triangleColorAtHitPoint(triangle, tclosest);
}
}
RENDERIZAÇÃO:
RASTERIZAÇÃO
Processo que usa as projeções dos vértices das
faces do objeto 3D em direção à imagem 2D.
RENDERIZAÇÃO:
RASTERIZAÇÃO
Rasterização é centrada no objeto, iniciando na
geometria e caminhando em direção à image, de
uma forma oposta ao ray tracing.
RENDERIZAÇÃO:
RASTERIZAÇÃO
RENDERIZAÇÃO:
RASTERIZAÇÃO
for (each triangle in scene) {
// STEP 1: project vertices of the triangle using perspective projection
Vec2f v0 = perspectiveProject(triangle[i].v0);
Vec2f v1 = perspectiveProject(triangle[i].v1);
Vec2f v2 = perspectiveProject(triangle[i].v2);
for (each pixel in image) {
// STEP 2: is this pixel contained in the projected image of the triangle?
if (pixelContainedIn2DTriangle(v0, v1, v2, x, y)) {
image(x,y) = triangle[i].color;
}
}
}
RASTERIZAÇÃO X RAY
TRACING
●
Algoritmo de rasterização é computacionalmente
menos exigente (mais eficiente) que o algoritmo
de ray tracing;
●
Ray tracing oferece uma maior qualidade de
sombras e reflexos;
●
NVIDIA RTX Ray Tracing (2018).
RENDERIZAÇÃO: EFEITOS DE
LUZ (SHADING)
●
Reflexos;
●
Sombras;
●
Transparências.
RENDERIZAÇÃO: EFEITOS DE
LUZ (SHADING)
Shading usando ray tracing
RENDERIZAÇÃO: SHADOW
MAPS
1. Renderizar uma imagem do ponto de vista da luz (a
posição da luz sendo a câmera);
2. Contruir um mapa de profundidade (depth) para cada
pixel da imagem;
3. Durante a renderização, calcule a posição e
profundidade no Shadow Map para cada pixel na
imagem final;
4. Se pixel depth > shadow map depth o pixel não
recebe luz da fonte.
PHYSICALLY-BASED
RENDERING (PBR)
●
Usa algoritmos de renderização que simulam o
comportamento físico da luz;
●
Renderização em tempo real;
●
Fotorrealismo
●
Computacionalmente exaustivo.
PHYSICALLY-BASED
RENDERING (PBR): TEORIA
●
Reflexão e difusão são conceitos opostos, pois
para haver difusão deve haver absorção de luz;
●
Materiais translúcidos ou transparentes
requerem que a luz penetre completamente o
material;
PHYSICALLY-BASED
RENDERING (PBR): TEORIA
●
Conservação de energia – a soma dos efeitos
de reflexão, difusão, absorção e transmissão é
uma constante (algoritmo de shading);
●
Equações de fresnel – define a reflexividade que
ocorre em diferentes ângulos.
EQUAÇÕES DE FRESNEL
BLENDER
Software para modelagem 3D, animação e
criação de jogos, desenvolvido inicialmente por
Ton Roosendaal e distribuído na modalidade fonte
aberto a partir de 2002.
BLENDER: VERSÕES E
RENDERIZADOR
●
Versão atual: 2.79 (renderizador Cycles);
●
A partir da versão 2.80 estará disponível o
renderizador EEVEE - renderizador de tempo real
com fotorrealismo (physically based-rendering).
BLENDER: CARACTERÍSTICAS
●
Modelagem 3D;
●
Unwrap UV e texturização;
●
Simulação de partículas;
●
Escultura;
●
Animação;
●
Renderização;
●
Mecanismo de jogo integrado.
SISTEMA DE COORDENADAS
SISTEMA DE COORDENADAS
GLOBAL E LOCAL
BLENDER: ESPAÇO DE
TRABALHO
BLENDER: MODOS DE EDIÇÃO
●
Object Mode – modo em que o objeto é editado
por inteiro, sem acesso às suas partes;
●
Edit Mode – permite a edição da malha;
●
Sculpt Mode – modo de edição de escultura.
BLENDER: MODOS DE
VISUALIZAÇÃO
●
Solid – objeto é visualizado como sólido, com
as faces, arestas e vértices visíveis;
●
Wireframe – visualiza o objeto apenas com
suas arestas, como um objeto formado por fios;
●
Texture – apresenta o objeto com as texturas;
●
Materials – mostra o objeto com materiais;
●
Rendered – objeto é mostrado renderizado,
usando o renderizador selecionado.
BLENDER: MODOS DE
VISUALIZAÇÃO
Solid
Rendered
Wireframe
CRIAÇÃO DE OBJETOS: MESH
Plano – formado por uma única face
que pode ser posteriormente
subdividida
Cubo
Círculo
Esfera UV – usa anéis e segmentos
e nos polos converge para 1 ponto
Esfera Ico – poliedro formado por
faces triangulares
Cilíndro
Cone
Torus
Grid – plano criado com subdivisões
Monkey – Suzanne, usado para testes
CRIAÇÃO DE OBJETOS:
CURVAS E CAMINHOS
Curvas Bezier
Círculo Bezier
Curva Nurbs – curvas editáveis por
nodos
Círculo Nurbs – círculo editável por nodos
Caminho – caminho editável por nodos
CRIAÇÃO DE OBJETOS:
OUTROS
Texto
Osso – para produzir um esqueleto (rig)
Estrutura em grelha
Eixos
Speaker – Executa arquivos de áudio
Câmera
CRIAÇÃO DE FONTES DE LUZ
PRINCIPAIS OPERAÇÕES
●
Mover – move objetos, faces, arestas e vértices;
●
Escalar – aumenta ou diminui o tamanho;
●
Rotar – gira em relação ao sistema de
coordenadas locais;
PRINCIPAIS OPERAÇÕES
Ferramenta para mover
Ferramenta para rotar
Ferramenta para escalar
PRINCIPAIS OPERAÇÕES
●
Extrusão (Extrude) – estende faces, arestas ou
vértices;
●
Inserir faces (Inset Faces) – insere faces;
PRINCIPAIS OPERAÇÕES
Extrusão de face
PRINCIPAIS OPERAÇÕES
Extrusão de vértice
PRINCIPAIS OPERAÇÕES
Extrusão de aresta
PRINCIPAIS OPERAÇÕES
●
Loop subdivide – divide ou fatia um objeto;
●
Edição proporcional – faz com que operações
de mover ou escalar sejam feitas de forma
proporcional no objeto;
PRINCIPAIS OPERAÇÕES
Loop subdivide
Edição proporcional
PRINCIPAIS OPERAÇÕES
●
Curvas Bezier – permite criar modelos por
revolução ou extrusão usando curvas Bezier;
PRINCIPAIS OPERAÇÕES
PRINCIPAIS OPERAÇÕES
●
Marcar costuras – marca costuras para
desempacotar o objeto;
●
Unwrap UV – desempacota o objeto para
aplicar texturas;
PRINCIPAIS OPERAÇÕES
Unwrap UV
PRINCIPAIS OPERAÇÕES

Modelagem 3D e Blender