O documento discute conceitos fundamentais de modelagem 3D, incluindo representação matemática de objetos em 3D, aplicações da modelagem 3D, história da computação gráfica, processos de modelagem 3D, renderização e o software Blender.
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.
3.
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.
4.
APLICAÇÕES DA MODELAGEM
3D
●
Engenhariae 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.
5.
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;
6.
HISTÓRIA DA COMPUTAÇÃO
GRÁFICA:ALGORITMOS
●
Ivan Sutherland (1963) – Sketchpad (primeiro
programa gráfico);
●
Arthur Appel (1969) – Algoritmo de renderização;
7.
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;
8.
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.
9.
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).
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;
13.
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.
PROJEÇÕES USADAS EM
MODELAGEM
●
ProjeçãoOrtográ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.
ELEMENTOS DE UMMODELO
3D: MALHA (MESH)
Superfície descrita por polígonos conectados
pelas arestas e vértices
19.
ELEMENTOS DE UMMODELO
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.
TIPOS DE MODELAGEM3D
●
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.
31.
TÉCNICAS DE MODELAGEM3D
●
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 MODELAGEM3D
●
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 MODELAGEM3D
●
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 MODELAGEM3D
●
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 MODELAGEM3D
●
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.
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.
43.
RENDERIZAÇÃO: EFEITOS DA
LUZ
●
Objetossã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;
44.
RENDERIZAÇÃO: EFEITOS DA
LUZ
●
Luzpode 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: 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: RAY TRACING
Até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.
50.
RENDERIZAÇÃO: RAY TRACING
Aoencontrar 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: DEPTH
BUFFER
●
O Problemada 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.
53.
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
for (each trianglein 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;
}
}
}
58.
RASTERIZAÇÃO X RAY
TRACING
●
Algoritmode 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: SHADOW
MAPS
1. Renderizaruma 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): TEORIA
●
Reflexãoe 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;
64.
PHYSICALLY-BASED
RENDERING (PBR): TEORIA
●
Conservaçãode 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.
BLENDER
Software para modelagem3D, animação e
criação de jogos, desenvolvido inicialmente por
Ton Roosendaal e distribuído na modalidade fonte
aberto a partir de 2002.
67.
BLENDER: VERSÕES E
RENDERIZADOR
●
Versãoatual: 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: MODOS DEEDIÇÃ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.
73.
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.
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
76.
CRIAÇÃO DE OBJETOS:
CURVASE 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
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
●
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;