0% found this document useful (0 votes)
880 views

Dynamics in Maya

The document discusses the requirements and features of Maya's dynamics system. It describes Maya's node-based architecture which supports dynamics. Key features covered include particles, fields, emitters, collisions, soft bodies, and controllers. The dynamics system aims to provide an integrated solution for simulating physical phenomena within Maya's existing animation tools.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
880 views

Dynamics in Maya

The document discusses the requirements and features of Maya's dynamics system. It describes Maya's node-based architecture which supports dynamics. Key features covered include particles, fields, emitters, collisions, soft bodies, and controllers. The dynamics system aims to provide an integrated solution for simulating physical phenomena within Maya's existing animation tools.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 40

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 field particles −> gravity
gravity

Particles bounce on collision particles −> surface


surface

Particles owning radial field soft cube −> particles


field repel a soft cube
Point emitter emits emission soft mesh −> pt emitter
soft mesh

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 += <<0,0,rand(.1)>>;"
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

You might also like