Pixar’s “A Bug’s Life” (with procedural models abounding)

Slides:



Advertisements
Similar presentations
4.9. P ARTICLE E FFECTS Use of particle effects within games.
Advertisements

UFCFX5-15-3Mobile Device Development Particle Systems.
Internet Vision - Lecture 3 Tamara Berg Sept 10. New Lecture Time Mondays 10:00am-12:30pm in 2311 Monday (9/15) we will have a general Computer Vision.
1Notes  Textbook: matchmove 6.7.2, B.9. 2 Match Move  For combining CG effects with real footage, need to match synthetic camera to real camera: “matchmove”
1Notes  Text:  Motion Blur A.3  Particle systems 4.5 (and 4.4.1, 6.6.2…)  Implicit Surfaces  Classic particle system papers  W. Reeves, “Particle.
CS10 The Beauty and Joy of Computing Lecture #2 HowItWorks : 3D Graphics A PCPro blogger, posted a challenge to see how fast someone could render.
1 Creating and Tweaking Data HRP223 – 2010 October 24, 2011 Copyright © Leland Stanford Junior University. All rights reserved. Warning: This.
1cs426-winter-2008 Notes  Course project: Will be due at the end of the term You can do it in pairs Create an animation that combines an algorithm for.
This material in not in your text (except as exercises) Sequence Comparisons –Problems in molecular biology involve finding the minimum number of edit.
DESC9180 Designing Virtual Worlds Week 9 Interactivity II – Agent Models for Dynamic Virtual Worlds 6pm – 9pm Tuesday, September 18 th, 2007 Kathryn Merrick.
1cs426-winter-2008 Notes  Assignment 1 is out, due immediately after reading week (Feb 25)  Please read: William T. Reeves, "Particle systems: a technique.
Introduction to Modeling. What is CG Modeling? Combination of Sculpting, Architecture, Drafting, and Painting. The core component of computer animation.
The Beauty and Joy of Computing Lecture #2 HowItWorks : 3D Graphics A jury recently found Samsung guilty of patent infringement, and ordered to pay over.
Dakota Humphries (Project Lead) Thomas Impellitteri (Tech Lead) Daryl McGhee II (Design Lead) Keith Rosier (Asset Lead)
CNM 190 Advanced Digital Animation Lec 08 : Procedural Modeling Basics Dan Garcia, EECS (co-instructor) Jeremy Huddleston, EECS (co-instructor) Jeff Ventrella,
Modelling and Simulation Dynamics. Dynamics Dynamics is a branch of physics that describes how objects move. Dynamic animation uses rules of physics to.
Noise and Procedural Techniques John Spitzer Simon Green NVIDIA Corporation.
Shading. What is Shading? Assigning of a color to a pixel in the final image. So, everything in shading is about how to select and combine colors to get.
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
CNM 190 Advanced Digital Animation Dan Garcia, EECS (co-instructor) Brian A. Barsky, EECS (co-instructor) Jeremy Huddleston, EECS (TA)
CSE 381 – Advanced Game Programming Code Setup.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
Multimedia System and Networking UTD Slide- 1 University of Texas at Dallas B. Prabhakaran Rigging.
‘Fire’: The Procedural Method Investigation of Procedural Trees and Fire:
CS10 The Beauty and Joy of Computing Lecture #2 HowItWorks : 3D Graphics AppleInsider reports that the next iPads (and iPhones) will have a.
Evolving Virtual Creatures Karl Sims – SIGGRAPH ‘94 Presented by Andy Snyder.
Dakota Humphries (Project Lead) Thomas Impellitteri (Tech Lead) Daryl McGhee II (Design Lead) Keith Rosier (Asset Lead)
Point Sprites Course Information CVG: Programming 4 My Name: Mark Walsh Website: Recommended.
Introduction to Genetic Algorithms. Genetic Algorithms We’ve covered enough material that we can write programs that use genetic algorithms! –More advanced.
Introduction to the Maya C++ API Brent Haley The Ohio State University
ATEC Procedural Animation
CNM 190 Advanced Digital Animation Lec 10 : Inverse Kinematics & Automating Animation Dan Garcia, EECS (co-instructor) Greg Niemeyer, Art (co-instructor)
Particle Systems Reference: Reeves W.: "Particle Systems -- A Technique for Modelling a Class of Fuzzy Objets", Computer Graphics, 17(3), pp ,
AD 206 Intermediate CG : School of Art and Design : University of Illinois at Chicago : Spring 2009 Intro to Action Script 11 "The games of a people reveal.
1© 2009 Autodesk Hardware Shade – Presenting Your Designs Hardware and Software Shading HW Shade Workflow Tessellation Quality Settings Lighting Settings.
How to use a Pixel Shader CMT3317. Pixel shaders There is NO requirement to use a pixel shader for the coursework though you can if you want to You should.
EXAMPLE- Another recent example of this comes from the film Frozen. Disney animators turned to simulation-based engineering, the same computer simulations.
Games Development Practices 3D Modelling
Week 2 - Monday CS361.
Learning to Program D is for Digital.
Photorealistic Rendering vs. Interactive 3D Graphics
Visualization Shading
WORKSHOP 3 GSE IMPORT.
Lecture 2 of Computer Science II
Instructor: Dr. Phillip Jones
CNM 190 Advanced Digital Animation
Data Mining (and machine learning)
Procedural Animation Introduction to Procedural Methods in 3D Computer Animation Dr. Midori Kitagawa.
Genetic Algorithms: A Tutorial
Procedural Animation Lecture 8: Particle systems
Games Development Practices 3D Model Import/Export
Programming: Simple Control Structures
(c) 2002 University of Wisconsin
Lab 2 HRP223 – 2010 October 18, 2010 Copyright © Leland Stanford Junior University. All rights reserved. Warning: This presentation is protected.
Tonga Institute of Higher Education IT 141: Information Systems
Advanced Compiler Design
Computer Graphics Lecture 15.
Tonga Institute of Higher Education IT 141: Information Systems
ATEC Procedural Animation
Particle Systems - A Technique for Modeling a Class of Fuzzy Objects
Genetic Algorithm Soft Computing: use of inexact t solution to compute hard task problems. Soft computing tolerant of imprecision, uncertainty, partial.
Use of particle effects within games
Lecture 3. Virtual Worlds : Representation,Creation and Simulation ( II ) 고려대학교 그래픽스 연구실.
Using billboards within games
Genetic Algorithms: A Tutorial
Games Development 2 Entity / Architecture Review
Coevolutionary Automated Software Correction
Directional Occlusion with Neural Network
Presentation transcript:

Pixar’s “A Bug’s Life” (with procedural models abounding) CNM 190 Advanced Digital Animation Lec 06 : Advanced Procedural Modeling Dan Garcia, EECS (co-instructor) Greg Niemeyer, Art (co-instructor) Jeremy Huddleston, EECS (TA) Sanjay Bakshi, Pixar (guest lecturer)

Procedural Modeling Basics Overview Dan on Advanced Procedural Modeling Randomness revisited Particle systems Genetic algorithms How do we do it? Set dressing Character generation Hair & Fur Conclusion Sanjay on what is done at Pixar Procedural Modeling Basics

Procedural Modeling Basics Randomness revisited osr2.berkeley.edu/Public/STUDENT.DATA/PUBLICATIONS/UG/ugsp06.html What if we want a characters distribution to resemble demographics of Cal ugrads? 54% 46% How can we use random()? Procedural Modeling Basics

Procedural Modeling Basics Simple, slice up [0,1)! Just use range = to that of distribution! >>> g = random() # [0, 1) gender >>> e = random() # [0, 1) ethnic And then use if … else from data! >>> if g < .46: # 46% male ... MakeCharacter(male) ... else: ... MakeCharacter(female) …and similarly for ethnicity, height, etc Procedural Modeling Basics

I must program to randomize? Maya has randomness at many levels Demo of Maya’s help, specifically Functions49.html http://localhost:4448/Maya6.5/en_US/index.html It has most of the functions built-in! seed() rand() gauss() noise() gauss(5) Procedural Modeling Basics

Procedural Modeling Basics Particle systems en.wikipedia.org/wiki/Particle_systems Typically used to simulate fuzzy phonomena Smoke, Explosions, Water, Sparks, Dust, Stars Emitter controls particle generation, simulation What is involved with the geometry? Typically output as textured billboard quad Or, single pixel Or, metaball (for gooey materials) pixar cosmic voyage Procedural Modeling Basics

Procedural Modeling Basics Genetic Algorithms web.genarts.com/karl/ Karl Sims blew away his colleagues with his 1994 seminal work on evolved creatures evolved virtual creatures Procedural Modeling Basics

Procedural Modeling Basics Genetic Algorithms web.genarts.com/karl/papers/siggraph91.html Genotype is the genetic information that codes the creation of an individual Phenotype is the individual Selection is the process by which fitness of phenotypes is determined Reproduction is the process by which new genotypes are generated from existing ones There must be probabilistic mutations with some frequency panspermia Procedural Modeling Basics

How do we do it in Renderman? renderman.pixar.com/products/whatsrenderman/ www.cs.berkeley.edu/~ddgarcia/renderman/ Easy! Renderman supports a library that you can compile with your C program that will help you output RIB RIB is the intermediate file that Renderman reads The result of a render is a tiff file (or multiple tiffs) Demo of simple.c and hard.c Procedural Modeling Basics

Procedural Modeling Basics How do we do it in Maya? Easy! Every action you perform in Maya is available in the Script Editor You can generate this text explicitly through a program using the techniques we just discussed. E.g., Name it Foo.mel Or you can use MEL as a programming language (it looks like C) and do all your scripting there! Open this in Maya (double-click, or use the Script Editor) Demos of makeAntenna.mel and makeMenger.mel Procedural Modeling Basics

Procedural Modeling Basics Set Dressing en.wikipedia.org/wiki/Set_dressing “The process of selecting, designing, adapting to, or modifying the performance space for a given purpose. This includes the use of stagecraft elements as well as the structure of the stage and its components.” Procedural Modeling Basics

Set Dressing : Hand vs Procedural en.wikipedia.org/wiki/Set_dressing Which elements of the scene below were placed by hand and which were placed procedurally? In general, when would you author code to place set elements? How much randomness would you allow? Procedural Modeling Basics

Procedural Tree Set Dressing I Consider the problem of placing trees in a forest in a natural way How would you place them so that they don’t overlap? What are some ideas? Procedural Modeling Basics

Procedural Tree Set Dressing II Random Trees Pick random points and remove if new tree is too close to existing tree Start with trees regularly spaced and then perturb (wiggle) Add “relax” step which treats each point as having “negative gravity” to push away nearby points Find out what “right” answer is (check forestry research) or by looking at real forests and simulate Voronoi diagram of random points Procedural Modeling Basics

Procedural Character Generation Create a procedural character model that has enough parameters to capture what you want Find out what distribution you would like (see first slides) of the parameters Populate your world (for each character, assign the properties, including location) Procedural Modeling Basics

Procedural Modeling Basics Hair and Fur Used to be a hard problem Algorithms now exist to allow animators to either let dynamics control it completely OR to animate “control hairs” (which control a patch) It’s even built into Maya! See the work in Monsters, Inc and Narnia monster’s DVD Procedural Modeling Basics

Procedural Modeling Basics Conclusion Set dressing grounds scene in believable surroundings Crowds need lots randomness with character selection Next week: Skeletons & Rigging Procedural Modeling Basics