/ProceduralModelingLectures

Learning material for computer animation course

GNU General Public License v3.0GPL-3.0

Procedural Modeling Lectures

Lectures in procedural modeling for both tech and art students (AKA STEAM lectures).

Lecture notes are written using Obsidian v1.6.7.

Lectures aim:

  • Provide a map of the procedural modeling field
  • Theoretical and practical tools for procedural modeling
  • Conceptual understanding of procedural modeling techniques

Learning approach used in this lectures:

Lecture applications:

  • Game development
  • Animated film
  • VFX
  • Motion graphics
  • Generative/algorithmical Art
  • Botany and plants
  • Visualizations
  • AR/VR environments
  • Arhitecture
  • Algorithmic design

Lecture topics

Lecture 1: Intro

  • Interactive example: let's build something quickly!
  • Introduction, motivation: why procedural modeling?
  • Big picture: procedural modeling, generative art, generative design, algorithmic art, etc.
  • Procedural modeling in computer graphics and animation
  • Lectures overview

Part 1: Procedural Modeling

Lecture 2: Procedural Building

Lecture link: https://github.com/lorentzo/ProceduralModelingLectures/tree/main/lectures/ProceduralBuilding

Topics:

  • Procedural modeling of hard-surface (man made) shapes
  • Mesh-based (surface) geometry manipulation
  • Tools for geometry manipulation
  • Structure and scattering
  • Props placement
  • Interactive parameters

Covered concepts:

  • procedural hard surface modeling
  • Geometry: vertices, edges, faces and points
  • Procedural mesh manipulation
  • Parameterized geometry
  • Structured proceduralism
  • Parameterized control
  • Props blocking and instancing

My work:

R&D:

Practical:

Lecture 3: Procedural Terrain

Topics:

  • Introducing noise types (Perlin, Worley, flow and other derivations)
  • Noise layering (fractal sum, fbm) and warping
  • Noise for geometric displacement
  • Geometry attributes for instancing
  • Instancing

Introduced concepts:

  • Noise
  • Displacement
  • Geometry attributes/data and materials
  • Instancing and transformations (rotations, scaling, translation)
  • Instancing and masked surface sampling
  • Surface and volume generation
  • Heightfields
  • World building

My work:

R&D:

Practical:

Lecture 4: Abstract organic sculptures

Topics:

  • Animated noise
  • Animated geometry displacement
  • Feedback loop and simulation
  • Procedural animation

Introduced concepts:

  • Procedural abstract growth and organic modeling
  • Morphing: transformations and generation of geometry
  • Animating geometry attributes
  • Feedback loop animation
  • Iterative proportional mesh extrusions
  • Eden model

My work:

R&D:

Practical:

Lecture 5: procedural Plants and Trees

Topics:

  • Natural shapes
  • Brancing structures
  • Procedural animation

Introduced concepts:

  • SCA
  • L-Systems
  • DLA

My work:

R&D:

Practical:

Lecture 6: Foliage growth and spread

Topics:

  • surface spread
  • volume spread
  • Plants spread
  • particles

Introduced concepts:

  • Surface particles
  • Spread over surface
  • Animated geometry spread attributes

My work:

R&D:

Practical:

Lecture 7: Flight of Dandelion Seeds

Topics:

  • particles and vector fields
  • noise as vector field
  • flying leafs, snow

Introduced concepts:

  • Vector fields
  • Particle motion
  • Guiding particles via vector fields
  • instancing on particles

My work:

R&D: *

Practical:

Part 2: Proceduralism and Dynamics

Lecture 2.1: cracking and RBD

Topics:

  • Cracking of solid objects
  • Motion of solid objects before and after cracking
  • Cracking caused by fall or hit

Introduced concepts:

  • procedurally guided physically-based dynamics
  • Procedural cracking
  • RBD solvers

R&D:

Practical:

Lecture 2.2: Balloons

Topics:

  • Balloons simulation and interaction
  • Using Solid body for interacting with balloons
  • Proceduralism as driving force

Introduced concepts:

  • Soft bodies simulation
  • Proceduralism as driving force applied on soft bodies

My work:

  • NA

R&D:

Practicals:

Lecture 2.3: Turbulent Water

Topics:

  • Turbilend water simulation
  • Procedural solid body manipulation causing turbulence

Introduced concepts:

  • Physically-based liquid simulation
  • Proceduralism as driving force

My work:

  • NA

R&D:

Practicals:

Lecture 2.4: Fire and Smoke

Topics:

  • Fire simulation and spread
  • Smoke (gas and volume) simulation
  • Procedural driving forces

Introduced concepts:

  • Physically-based gas solvers
  • Proceduralism as force
  • Procedural constraints and forces and physically-based solvers

My work:

  • NA

R&D:

Practicals:

Part 3: Proceduralism and Character FX

Lecture 3.1 Hair and Fur

TODO

Lexture 3.2 Cloth

TODO

Crowds

TODO

Inspiration for potential lectures

Covered concepts

Types of modeled phenomena:

  • Abstract vs regular/structured
  • Nature vs human-made
  • Organic vs hard-surface

Procedural animation methods:

  • Physically-based approaches
    • classical mechanics, forces and constraints
      • fluids: gases and liquids
      • solids: rigid bodies and soft bodies
  • Biological simulation
    • Surface/Volume Growth
    • Surface/Volume Spread modeling
    • Branching (recursion)
      • Trees
      • Roots
    • Reaction, Reaction-diffusion
    • Digital Morphogenesis
    • Phenomenological simulation
  • Mathematics:
    • Iterative systems and chaos
    • Cells and automation
  • Empirical CG
    • Procedural noise, layering and warping
    • L-Systems
    • Boids
    • Geometric instancing (including arraying)
    • Particles and force fields

CG methods:

  • 3D scene: lights, cameras, materials and shapes (meshes, voxles, curves, etc.)
  • Rendering: GPU raster, CPU path-tracing
  • Post-processing

Literature: