O documento discute a geração procedural de conteúdo, incluindo geração de níveis, quebra-cabeças e música. Apresenta abordagens como algoritmos genéticos e dinâmica de fluidos. Também explora técnicas de processamento de malhas como simplificação, reconstrução a partir de imagens e conjuntos de pontos.
5. ● Dezenas de tradições acadêmicas e industriais interdisciplinarmente usam
geradores para síntese de artefatos:
○ “Generative music, parametric architecture, generative methods in programmed instruction, generative
programming, generative grammars for computational linguistics, and generative models for computer-aided
industrial design—not to mention the non-digital traditions of Dada, Pollack, cut-up, and other human-enacted
algorithms.”
No principio, havia geradores...
6. E continua havendo geradores...
- Kate Compton
.Não-trivial
.Espressivo
.Correto
7. 1. Procedural Content Generation
PCG - criação automática ou semi-automática de conteúdo
8. O que pode ser
gerado?
● Levels
● Dungeons
● Puzzles
● Músicas
● Experiencias
○ Especificações de design
○ Máquinas de estado
○ Umas regrinhas...
Como?
Use your
9. - Kate Compton
O que é PCG?
●Uma área de pesquisa com grande influência de áreas como criatividade
computacional
10. The Survey by Intel (2000)
Debutou o termo “Procedural 3D Content Generation” - PCG
L-systems
Perlin noise
Fractals
18. Abordagens
Teleológica: Cria um modelo
baseado na física do ambiente ou
processo e depois “simplesmente
roda” como uma simulação.
● Algoritmos genéticos
● Dinâmica dos fluídos
● Propagação de fogo
Ontogenética: Observa o
resultado final do processo e então
tenta reproduzi-los através de
algoritmos ad hoc
● Geração de cidades
● Mapas de altura
● L-System
● Labirintos
● Diagrama de Voronoi
http://pcg.wikidot.com/pcg-algorithm:teleological-vs-ontogenetic
19. A busca pelo equilíbrio entre o autoral e o gerado...
● Fazer um gerador super exato e complexo pode não ser necessário...
○ Por vezes força bruta ou um “jeitinho” resolvem
○ Ou pode ser que leve tanto tempo que é melhor e mais barato fazer na mão
● Perguntas a se fazer:
■ O problema pede infinitas possibilidades altamente inteligentes?
■ Ou melhor fazer alguns poucos, mas perfeitos?
25. ”Mathematics became an experimental
subject. ...The PC revolution has made
science more visual and more immediate
Words are no longer enough!”
- John D. Barrow, Cosmic Imagery: Key
Images in the History of Science (2008)
30. Desmos - https://www.desmos.com/
● Aplicação web
● Permite criar, editar e
visualizar funções
matemáticas
● Permite interagir com
os valores de
maneira animada
31. Desmos - https://www.desmos.com/
● Aplicação web
● Permite criar, editar e
visualizar funções
matemáticas
● Permite interagir com
os valores de
maneira animada
32. Desmos - https://www.desmos.com/
● Aplicação web
● Permite criar, editar e
visualizar funções
matemáticas
● Permite interagir com
os valores de
maneira animada
● Senóides
(seno, cosseno, …)
33. Desmos - https://www.desmos.com/
● Aplicação web
● Permite criar, editar e
visualizar funções
matemáticas
● Permite interagir com
os valores de
maneira animada
● Senóides
(seno, cosseno, …)
34. Desmos - https://www.desmos.com/
● Aplicação web
● Permite criar, editar e
visualizar funções
matemáticas
● Permite interagir com
os valores de
maneira animada
● Senóides
(seno, cosseno, …)
35. Desmos - https://www.desmos.com/
● Aplicação web
● Permite criar, editar e
visualizar funções
matemáticas
● Permite interagir com
os valores de
maneira animada
● Senóides
(seno, cosseno, …)
● Seja criativo!
36. Desmos - https://www.desmos.com/
● Aplicação web
● Permite criar, editar e
visualizar funções
matemáticas
● Permite interagir com
os valores de
maneira animada
● Senóides
(seno, cosseno, …)
● Seja criativo!
37. Desmos - https://www.desmos.com/
● Aplicação web
● Permite criar, editar e
visualizar funções
matemáticas
● Permite interagir com
os valores de
maneira animada
● Senóides
(seno, cosseno, …)
● Seja criativo!
https://fractad.wordpress.com/tag/desmos-com/
38. Desmos - https://www.desmos.com/
● Aplicação web
● Permite criar, editar e
visualizar funções
matemáticas
● Permite interagir com
os valores de
maneira animada
● Senóides
(seno, cosseno, …)
● Seja criativo!
https://fractad.wordpress.com/tag/desmos-com/
41. ”A shader is a piece of code, that is
executed on the GPU. The engine
feeds it with 3d model vertices,
textures and other information, and
gets back from it pixel colours.”
O que é Shader?
47. Material
● Permite a Geometria
ser Renderizada!
● Para obter um visual
diferente basta
mudar o material
48. Material
● Permite a Geometria
ser Renderizada!
● Para obter um visual
diferente basta
mudar o material
https://assetstore.unity.com/packages/vfx/shaders/free-
matcap-shaders-8221
50. • Define uma cor para cada
píxel visível da geometria do
modelo
• Frag retorna uma cor RGBA
• Float4(1.0, 0.0, 0.0, 1.0)
• Representa vermelho 100%
opaco
• Canais variam de 0 a 1.0
Fragment shaders
http://www.alanzucconi.com/2015/07/01/vertex-and-
fragment-shaders-in-unity3d/
https://github.com/adrianogil/meshgeneration
64. Alinhamento de recursos e objetivos
● Memória: armazenamento em disco x memória em execução
● Processamento: baking (pré processamento) x dinâmico
● A informação a ser passada: precisa ser fisicamente perfeita ou um "efeitinho"
similar resolve?
70. Simplificação de
Mesh
● Método de colapso
de arestas é um dos
mais utilizados
● Como escolher
arestas?
● Minimizar erro de
geometria!!!
M.Garland and P.S Heckbert. Surface
simplification using quadric error
metrics. Computer Graphics 31: 209– 216,
1997
Hoppe, Hugues. "Progressive
meshes." Proceedings of the 23rd annual
conference on Computer graphics and
interactive techniques. ACM, 1996.
72. CGAL
● Computational Geometry Algorithms Library (CGAL)
● Escrita em C++, mas com bindings para Python, Java
● Projeto fundado em 1996 como um consórcio de 8 instituições da Europa
e de Israel
● https://www.cgal.org/
75. CGAL
● Mesh Generation
● Reconstrução a partir
de Imagens 3D
https://doc.cgal.org/latest/Surface_mesher/index.html
76. CGAL
● Mesh Generation
● Reconstrução a partir
de Imagens 3D
● Reconstrução a partir
de conjuntos de
pontos
https://doc.cgal.org/latest/Poisson_surface_reconstruction_3/index.html
77. Geogram/Graphitte
• Geogram: Biblioteca de
Algoritmos Geométricos
• Graphitte: interface Visual
• Simplificação de Mesh
• Delaunay triangulation
• Diagrama de Voronoi,
• Busca e ordenação de
dados espaciais
79. Remoção de
Partes internas
● Modelos podem possuir
faces que não serão
visualizadas pelo usuário
● Sobrecarregam a
renderizacão
http://meshlabstuff.blogspot.com/2009/04/how-to-remove-
internal-faces-with.html
81. Parametrização
de Mesh
● Coordenadas de UV
possibilitam utilizar
imagens nos modelos
● Geração Automática das
coordenadas de UV
http://meshlabstuff.blogspot.com/2009/07/almost-isometric-
mesh-parameterization.html