Dynamics in Maya

25 downloads 8205 Views 35KB Size Report
SH1. SIGGRAPH '97 COURSE NOTES. PHYSICALLY BASED MODELING. Dynamics in Maya. Gary Monheit. Alias | Wavefront ...
Dynamics in Maya

Gary Monheit Alias | Wavefront

SIGGRAPH ’97 COURSE NOTES

SH1

PHYSICALLY BASED MODELING

Dynamics in Maya



Overall Requirements



Architecture and Features



Animations

SIGGRAPH ’97 COURSE NOTES

SH2

PHYSICALLY BASED MODELING

Overall Requirements •

Why Dynamics?



Problems with traditional animation techniques



Kinds of dynamics problems



Requirements for software architecture

SIGGRAPH ’97 COURSE NOTES

SH3

PHYSICALLY BASED MODELING

Why Dynamics?

SIGGRAPH ’97 COURSE NOTES

SH4

PHYSICALLY BASED MODELING

Problems with traditional animation •

Hard to keyframe



Rendered polygons don’t give desired effects



Amorphous effects hard to achieve



Lacks high−level control, simulation



Lacks procedural control

SIGGRAPH ’97 COURSE NOTES

SH5

PHYSICALLY BASED MODELING

Kinds of dynamics problems Particles • • • • •

Contain a set of points in global space with attributes Affected by dynamic solver Created at either object creation time or by emitters Handle birth and death Support a variety of rendering techniques

Soft Bodies • •

Geometry with points updated by a particle object Superset of all particle features

Rigid Bodies • •

Geometry with fixed topology and points Affected by collisions, constraints, and external forces

SIGGRAPH ’97 COURSE NOTES

SH6

PHYSICALLY BASED MODELING

Requirements for software architecture •

Integrated



Extensible



Reusable



Tweakable



Support Relationships

SIGGRAPH ’97 COURSE NOTES

SH7

PHYSICALLY BASED MODELING

Integrated Maya as scene object architecture • Nodes • Attributes • Connections Keyframing • Any scalar attributes • 3D motion of non−dynamic objects • Keyframe editors are familiar to animators Layered procedural animation • Output from dynamics can be input to other nodes • Outputs from other nodes can be input to dynamics Rendering • Rendered within Maya or exported to other renderer • Software rendering (volumetric) • Hardware rendering (openGL)

SIGGRAPH ’97 COURSE NOTES

SH8

PHYSICALLY BASED MODELING

Extensible •

Maya embedded language (Mel)



Parameter driven: attributes



ASCII scene file format

SIGGRAPH ’97 COURSE NOTES

SH9

PHYSICALLY BASED MODELING

Reusable •

Layered scenes with geometry and effects



Create your own clipFX with Mel

SIGGRAPH ’97 COURSE NOTES

SH10

PHYSICALLY BASED MODELING

Tweakable Attributes are modifiable • • • •

Keyframes Expressions Connect to other nodes Add user−defined attributes

SIGGRAPH ’97 COURSE NOTES

SH11

PHYSICALLY BASED MODELING

Relationships •

Object−to−object relationships



Attribute−to−attribute relationships

SIGGRAPH ’97 COURSE NOTES

SH12

PHYSICALLY BASED MODELING

Dynamics in Maya



Overall Requirements



Architecture and Features



Animations

SIGGRAPH ’97 COURSE NOTES

SH13

PHYSICALLY BASED MODELING

Architecture & Features •

Maya Architecture



Dynamic Architecture



Rendering



Expressions



Integrated Dynamics

SIGGRAPH ’97 COURSE NOTES

SH14

PHYSICALLY BASED MODELING

Maya Architecture (part 1) •

Nodes



Attributes



Connections

SIGGRAPH ’97 COURSE NOTES

SH15

PHYSICALLY BASED MODELING

Maya Architecture (part 2) • Transforms and Shapes •

DAG: Directed Acyclic Graph



The "object" is really the transform plus the shape(s)

SIGGRAPH ’97 COURSE NOTES

SH16

PHYSICALLY BASED MODELING

Dynamics Architecture •

Particles

• • • •

Fields Emitters Collision Models Particle Collision Events



Controllers



Connectables and Connections

• •

Soft Bodies Springs



Rigid Bodies

SIGGRAPH ’97 COURSE NOTES

SH17

PHYSICALLY BASED MODELING

Particles •

A particle object is a particle system



Per−particle (array) attributes vs. scalar attributes



User−defined attributes



Particles act independently



No particle−to−particle collisions



What affects particles? • Fields • Springs • Attribute values • Expressions (one−line or multi−line) • Dynamics controller attributes

SIGGRAPH ’97 COURSE NOTES

SH18

PHYSICALLY BASED MODELING

Fields •

Positional fields



Geometry fields. Example: sphere owns radial field



Types of fields • Air • Drag • Gravity • Newton • Radial • Turbulence • Uniform • Vortex

SIGGRAPH ’97 COURSE NOTES

SH19

PHYSICALLY BASED MODELING

Emitters Emitters • Creates new particles into a particle object • Hose vs. water. Emitter is the hose. Positional emitter • The transform defines the position, orientation • Parented, keyframed, in IK chain, ... Geometry emitter • Geometry owns the emitter • Point vs. surface • Particle, NURBS, polygon, lattice, curve ...

SIGGRAPH ’97 COURSE NOTES

SH20

PHYSICALLY BASED MODELING

Collision Models •

Elasticity



Friction



Collision trace depth

SIGGRAPH ’97 COURSE NOTES

SH21

PHYSICALLY BASED MODELING

Particle Collision Events •

In the event that a particle collides: • Emit • Split • Die



Optionally call a Mel proc each time the event occurs

SIGGRAPH ’97 COURSE NOTES

SH22

PHYSICALLY BASED MODELING

Connectables and Connections Dynamics object

Connectable object connect flags

Dynamics objects: • Particles • Soft bodies • Rigid bodies Connectable object owns one or more of any combination of: • Fields • Emitters • Collision models What kind of object can be a connectable: • Polygon, NURBS, lattice, curve, ...

SIGGRAPH ’97 COURSE NOTES

SH23

PHYSICALLY BASED MODELING

Examples of connections Description

Conn Type Connection

Sphere emits particles

emission

particles

−> sphere

Particles fall under gravity

field

particles

−> gravity

Particles bounce on surface

collision

particles

−> surface

Particles owning radial field repel a soft cube

field

soft cube

−> particles

Point emitter emits soft mesh

emission

soft mesh

−> pt emitter

SIGGRAPH ’97 COURSE NOTES

SH24

PHYSICALLY BASED MODELING

Controllers •

Manage dynamic objects that may interact



Interface to a differential equations solver



Necessary so that all dynamics objects get updated in sync



Hold global attributes for dynamics

SIGGRAPH ’97 COURSE NOTES

SH25

PHYSICALLY BASED MODELING

Goals •

Goals are geometry, particles, or soft bodies referenced in a particle object



Create a force for each particle to move toward a point on the goal



Particles or soft bodies can have multiple goals



Does not require the same number of points as target



Individual goal weight 0 to 1



Attribute goalPP 0 to 1 (per−particle)



Dynamics weight 0 to 1 for the forces generated by fields and collisions

SIGGRAPH ’97 COURSE NOTES

SH26

PHYSICALLY BASED MODELING

Springs •

Classical mechanics spring



Hook’s Law



Stiffness and damping



Start force weight, end force weight • • •

0 to 1 Amount of the force of the spring that gets applied to either start or end point (0, 1) or (1, 0) simulates nailing one end of the spring

SIGGRAPH ’97 COURSE NOTES

SH27

PHYSICALLY BASED MODELING

Soft bodies •

Soft is a command, not a node



For the user, soft bodies are geometry whose points are updated by a particle object



Internally, soft bodies are the particle object



Geometry converted or duplicated in a soft body



Springs generated by min−max distance or by walk length



Oversampling (small solver step size) stabilize springs

SIGGRAPH ’97 COURSE NOTES

SH28

PHYSICALLY BASED MODELING

Rigid Bodies •

Nodes •

Rigid body



Constraints • Nail • Pin • Hinge • Spring • Barrier



Transformations updated by a solver that applies forces



Internal constraints added implicitly (by contact) or explicitly (by constraint objects)

SIGGRAPH ’97 COURSE NOTES

SH29

PHYSICALLY BASED MODELING

Rigid Body Features •

Contact forces handled for resting and sliding objects



Static and dynamic friction



Active rigid body • collision detection • dynamic response



Passive rigid body • collision detection • independent control by keyframes, expressions, other nodes



Cache motion



Collision layers used to reduce complexity



Choice of 3 kinds of solvers

SIGGRAPH ’97 COURSE NOTES

SH30

PHYSICALLY BASED MODELING

Rendering •

Render Types



Hardware Rendering in OpenGL



Software Rendering

SIGGRAPH ’97 COURSE NOTES

SH31

PHYSICALLY BASED MODELING

Render Types • •

Point Multi−point

• •

Streak (lines) Multi−streak



Sprites (textures)

• •

Sphere Geometry



Numeric (for debugging)

• • •

Tube (Software) Cloud (Software) Blobby Surface (Software)

SIGGRAPH ’97 COURSE NOTES

SH32

PHYSICALLY BASED MODELING

Software rendering •

Volumetric rendering



Blobby surface render type uses any shader



Tube and Cloud render types use specific particle cloud shader



Future: hair shader

SIGGRAPH ’97 COURSE NOTES

SH33

PHYSICALLY BASED MODELING

Expressions •

Mel Language



Attribute Expressions



Particle Expressions

SIGGRAPH ’97 COURSE NOTES

SH34

PHYSICALLY BASED MODELING

Mel Language •

Maya Embedded Language



Unified language for file format, command engine, and expressions



Like C



Like shell

SIGGRAPH ’97 COURSE NOTES

SH35

PHYSICALLY BASED MODELING

Attribute Expressions •

Lazy evaluation − evaluate when needed



Multi−line expressions



Multiple input and output attributes

SIGGRAPH ’97 COURSE NOTES

SH36

PHYSICALLY BASED MODELING

Particle Expressions • • • • • • •

Particle expressions executed per−particle Multi−line expressions are like small programs Any attribute accessible for setting and getting values Run−time vs. creation rules Built−in functions for math, system, I/O, arrays Data types: int, float, string, vector int[], float[], string[], vector[] Maya commands can be called from expressions

Example: // Creation rule for setting color: dynExpression −c −at rgbPP −s "rgbPP = sphrand(1);" colorCloud; // Runtime rule for setting color: dynExpression −r −at rgbPP −s "if( age > .5 ) rgbPP += ;" colorCloud;

SIGGRAPH ’97 COURSE NOTES

SH37

PHYSICALLY BASED MODELING

Integrated Dynamics •

Dynamics and transforms



Rigid Bodies − active and passive



Soft Body, curves, and IK chain



Soft Body and deformers



Soft Body, Rigid Body, and goals



Particle collision events ...

SIGGRAPH ’97 COURSE NOTES

SH38

PHYSICALLY BASED MODELING

Dynamics in Maya



Overall Requirements



Architecture and Features



Animations

SIGGRAPH ’97 COURSE NOTES

SH39

PHYSICALLY BASED MODELING

Future Work •

Maya 2.0

SIGGRAPH ’97 COURSE NOTES

SH40

PHYSICALLY BASED MODELING