exploiting subdivision in modeling and animation

51
Exploiting Subdivision in Exploiting Subdivision in Modeling and Animation Modeling and Animation David R. Forsey David R. Forsey The University of British Columbia The University of British Columbia & & Radical Entertainment Inc. Radical Entertainment Inc.

Upload: armina

Post on 06-Jan-2016

31 views

Category:

Documents


3 download

DESCRIPTION

Exploiting Subdivision in Modeling and Animation. David R. Forsey The University of British Columbia & Radical Entertainment Inc. Topics. Multiresolution Animation What it is. How to use it. Retrospective. “Hierarchical B-Spline Refinement”, SIGGRAPH’88 Forsey/Bartels. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Exploiting Subdivision in Modeling and Animation

Exploiting Subdivision in Modeling and Exploiting Subdivision in Modeling and AnimationAnimation

David R. ForseyDavid R. Forsey

The University of British ColumbiaThe University of British Columbia&&

Radical Entertainment Inc.Radical Entertainment Inc.

David R. ForseyDavid R. Forsey

The University of British ColumbiaThe University of British Columbia&&

Radical Entertainment Inc.Radical Entertainment Inc.

Page 2: Exploiting Subdivision in Modeling and Animation

Topics

Multiresolution AnimationMultiresolution Animation

• What it is.What it is.

• How to use it.How to use it.

Multiresolution AnimationMultiresolution Animation

• What it is.What it is.

• How to use it.How to use it.

Page 3: Exploiting Subdivision in Modeling and Animation

Retrospective

• ““Hierarchical B-Spline Refinement”, SIGGRAPH’88Hierarchical B-Spline Refinement”, SIGGRAPH’88 Forsey/BartelsForsey/Bartels. .

• ““Hierarchical B-Spline Refinement”, SIGGRAPH’88Hierarchical B-Spline Refinement”, SIGGRAPH’88 Forsey/BartelsForsey/Bartels. .

Page 4: Exploiting Subdivision in Modeling and Animation

Motivations for H-Splines

•H-Splines were developed specifically for animation.H-Splines were developed specifically for animation.

•Address problems with traditional B-splinesAddress problems with traditional B-splines

– non-local knot insertionnon-local knot insertion

– the “degree-of-freedom” problem.the “degree-of-freedom” problem.

•H-Splines were developed specifically for animation.H-Splines were developed specifically for animation.

•Address problems with traditional B-splinesAddress problems with traditional B-splines

– non-local knot insertionnon-local knot insertion

– the “degree-of-freedom” problem.the “degree-of-freedom” problem.

Page 5: Exploiting Subdivision in Modeling and Animation

Local Refinement

• Models rapidly become “heavy”Models rapidly become “heavy”

– patches in locations they are not neededpatches in locations they are not needed

– extra rendering overheadextra rendering overhead

– may affect previously defined animationmay affect previously defined animation

– even more points to animateeven more points to animate

• Local refinement adds patches to a restricted areaLocal refinement adds patches to a restricted area

• Models rapidly become “heavy”Models rapidly become “heavy”

– patches in locations they are not neededpatches in locations they are not needed

– extra rendering overheadextra rendering overhead

– may affect previously defined animationmay affect previously defined animation

– even more points to animateeven more points to animate

• Local refinement adds patches to a restricted areaLocal refinement adds patches to a restricted area

Page 6: Exploiting Subdivision in Modeling and Animation

Local Refinement

Page 7: Exploiting Subdivision in Modeling and Animation

Local Refinement

• Created using a multiresolution representationCreated using a multiresolution representation

• Can dramatically reduce the storage requirementsCan dramatically reduce the storage requirements

• Created using a multiresolution representationCreated using a multiresolution representation

• Can dramatically reduce the storage requirementsCan dramatically reduce the storage requirements

Page 8: Exploiting Subdivision in Modeling and Animation

Multiresolution Editing

• Each resolution procedurally related to the next coarsest levelEach resolution procedurally related to the next coarsest level

– arbitrary procedure (offset operator) for each control point.arbitrary procedure (offset operator) for each control point.

– creates a “reactive surface”creates a “reactive surface”

• Each resolution procedurally related to the next coarsest levelEach resolution procedurally related to the next coarsest level

– arbitrary procedure (offset operator) for each control point.arbitrary procedure (offset operator) for each control point.

– creates a “reactive surface”creates a “reactive surface”

Page 9: Exploiting Subdivision in Modeling and Animation

H-Splines

Applicable to any surface formulation with:Applicable to any surface formulation with:

• Local supportLocal support

• Subdivision that does not alter the shape of the limit surfaceSubdivision that does not alter the shape of the limit surface

– polygonspolygons– other splines (including curves & deformation lattices)other splines (including curves & deformation lattices)– various subdivision surface formulationsvarious subdivision surface formulations– wavelets (depending upon basis used)wavelets (depending upon basis used)

Applicable to any surface formulation with:Applicable to any surface formulation with:

• Local supportLocal support

• Subdivision that does not alter the shape of the limit surfaceSubdivision that does not alter the shape of the limit surface

– polygonspolygons– other splines (including curves & deformation lattices)other splines (including curves & deformation lattices)– various subdivision surface formulationsvarious subdivision surface formulations– wavelets (depending upon basis used)wavelets (depending upon basis used)

Page 10: Exploiting Subdivision in Modeling and Animation

H-Splines

AdvantagesAdvantages

• Top-down modelling (more like sculpting)Top-down modelling (more like sculpting)

– details maintained during broad-scale editingdetails maintained during broad-scale editing

– faster/easier to animate complex surfacesfaster/easier to animate complex surfaces

• Efficient representation (compression)Efficient representation (compression)

• Refinement only where neededRefinement only where needed

AdvantagesAdvantages

• Top-down modelling (more like sculpting)Top-down modelling (more like sculpting)

– details maintained during broad-scale editingdetails maintained during broad-scale editing

– faster/easier to animate complex surfacesfaster/easier to animate complex surfaces

• Efficient representation (compression)Efficient representation (compression)

• Refinement only where neededRefinement only where needed

Page 11: Exploiting Subdivision in Modeling and Animation

Multiresolution Animation

Available in a limited form commercially:Available in a limited form commercially:

• MetaNURBs (Lightwave)MetaNURBs (Lightwave)

• Meshsmooth (3DMax)Meshsmooth (3DMax)

• Symbolics L-surf (now Nicheman)Symbolics L-surf (now Nicheman)

• various polygon smoothing packagesvarious polygon smoothing packages

Available in a limited form commercially:Available in a limited form commercially:

• MetaNURBs (Lightwave)MetaNURBs (Lightwave)

• Meshsmooth (3DMax)Meshsmooth (3DMax)

• Symbolics L-surf (now Nicheman)Symbolics L-surf (now Nicheman)

• various polygon smoothing packagesvarious polygon smoothing packages

Page 12: Exploiting Subdivision in Modeling and Animation

Animating with H-Splines

Offset Operators:Offset Operators:

• tangent plane offsettangent plane offset

• ““frame” offset (attaches a control vertex to a skeletal segment)frame” offset (attaches a control vertex to a skeletal segment)

• others described laterothers described later

Offset Operators:Offset Operators:

• tangent plane offsettangent plane offset

• ““frame” offset (attaches a control vertex to a skeletal segment)frame” offset (attaches a control vertex to a skeletal segment)

• others described laterothers described later

Page 13: Exploiting Subdivision in Modeling and Animation

Simple Head

Page 14: Exploiting Subdivision in Modeling and Animation

Low-Res Attachment

Page 15: Exploiting Subdivision in Modeling and Animation

Effect on finer resolution

Page 16: Exploiting Subdivision in Modeling and Animation
Page 17: Exploiting Subdivision in Modeling and Animation

Example Animation

Page 18: Exploiting Subdivision in Modeling and Animation

“Locking down” geometry

Page 19: Exploiting Subdivision in Modeling and Animation

Locking Down Geometry, Part II

Full DetailFull Detail Lowest ResolutionLowest ResolutionFull DetailFull Detail Lowest ResolutionLowest Resolution

Page 20: Exploiting Subdivision in Modeling and Animation

Locking Down Geometry, Part II

Level 1Level 1 Level 2Level 2Level 1Level 1 Level 2Level 2

Page 21: Exploiting Subdivision in Modeling and Animation

Locking Down Geometry, Part II

Full Resolution BentFull Resolution Bent Full Resolution StraightFull Resolution StraightFull Resolution BentFull Resolution Bent Full Resolution StraightFull Resolution Straight

Page 22: Exploiting Subdivision in Modeling and Animation

Example Animation

Page 23: Exploiting Subdivision in Modeling and Animation

Multiresolution Animation

AdvantagesAdvantages

• allows top-down approach to surface animationallows top-down approach to surface animation

• easy to mix broad-scale and fine scale effectseasy to mix broad-scale and fine scale effects

• faster to animatefaster to animate

– low-res model always available (for interactive speed)low-res model always available (for interactive speed)

– less worry about high-res model behaviourless worry about high-res model behaviour

AdvantagesAdvantages

• allows top-down approach to surface animationallows top-down approach to surface animation

• easy to mix broad-scale and fine scale effectseasy to mix broad-scale and fine scale effects

• faster to animatefaster to animate

– low-res model always available (for interactive speed)low-res model always available (for interactive speed)

– less worry about high-res model behaviourless worry about high-res model behaviour

Page 24: Exploiting Subdivision in Modeling and Animation

Layered Animation

Low-res modificationLow-res modification High-res effect High-res effectLow-res modificationLow-res modification High-res effect High-res effect

Page 25: Exploiting Subdivision in Modeling and Animation

Layered Animation

Medium-res modification Medium-res modification High-res effect High-res effectMedium-res modification Medium-res modification High-res effect High-res effect

Page 26: Exploiting Subdivision in Modeling and Animation

Layered Animation

Both modificationsBoth modifications Both modifications, jaw open Both modifications, jaw open Both modificationsBoth modifications Both modifications, jaw open Both modifications, jaw open

Page 27: Exploiting Subdivision in Modeling and Animation

Example Animation

Page 28: Exploiting Subdivision in Modeling and Animation

Level of Detail

• Because the animation Because the animation occurs at multiple levels of occurs at multiple levels of detail, low-res models still detail, low-res models still animate when used as low animate when used as low resolution geometryresolution geometry

• Because the animation Because the animation occurs at multiple levels of occurs at multiple levels of detail, low-res models still detail, low-res models still animate when used as low animate when used as low resolution geometryresolution geometry

Page 29: Exploiting Subdivision in Modeling and Animation

Layered Animation

• Animation at each resolution layers deformations rather than Animation at each resolution layers deformations rather than blending them.blending them.

• Makes it easy to combine vertex animation with shape Makes it easy to combine vertex animation with shape interpolation.interpolation.

• Can combine relative (offset animation) with absolute (skeletal Can combine relative (offset animation) with absolute (skeletal attachments) effects easily.attachments) effects easily.

• Provides LOD for animation as well as geometryProvides LOD for animation as well as geometry

• Animation at each resolution layers deformations rather than Animation at each resolution layers deformations rather than blending them.blending them.

• Makes it easy to combine vertex animation with shape Makes it easy to combine vertex animation with shape interpolation.interpolation.

• Can combine relative (offset animation) with absolute (skeletal Can combine relative (offset animation) with absolute (skeletal attachments) effects easily.attachments) effects easily.

• Provides LOD for animation as well as geometryProvides LOD for animation as well as geometry

Page 30: Exploiting Subdivision in Modeling and Animation

Editing Operations

• Any spline-based tools can be used with H-SplinesAny spline-based tools can be used with H-Splines• Additional operations possible:Additional operations possible:

– copy level, region (rubber stamp details)copy level, region (rubber stamp details)– non-hierarchical editingnon-hierarchical editing– modify offset:modify offset:

» move cv normal/tangent/along parent surfacemove cv normal/tangent/along parent surface

» move cv along offsetmove cv along offset

» rotate offsetrotate offset

» move offset originmove offset origin

• Any spline-based tools can be used with H-SplinesAny spline-based tools can be used with H-Splines• Additional operations possible:Additional operations possible:

– copy level, region (rubber stamp details)copy level, region (rubber stamp details)– non-hierarchical editingnon-hierarchical editing– modify offset:modify offset:

» move cv normal/tangent/along parent surfacemove cv normal/tangent/along parent surface

» move cv along offsetmove cv along offset

» rotate offsetrotate offset

» move offset originmove offset origin

Page 31: Exploiting Subdivision in Modeling and Animation

Secondary Motion using Offsets

• Typical spring/mass simulations produce “jello” effectsTypical spring/mass simulations produce “jello” effects

• Can provide more structure by treating each offsets as a rod/mass Can provide more structure by treating each offsets as a rod/mass system.system.

– prevents motion into surfaceprevents motion into surface

– surface details preservedsurface details preserved

– fast, easy to calculatefast, easy to calculate

• Typical spring/mass simulations produce “jello” effectsTypical spring/mass simulations produce “jello” effects

• Can provide more structure by treating each offsets as a rod/mass Can provide more structure by treating each offsets as a rod/mass system.system.

– prevents motion into surfaceprevents motion into surface

– surface details preservedsurface details preserved

– fast, easy to calculatefast, easy to calculate

Page 32: Exploiting Subdivision in Modeling and Animation

Secondary Motion using Offsets

Page 33: Exploiting Subdivision in Modeling and Animation

Secondary Motion using Offsets

Sample animationSample animationSample animationSample animation

Page 34: Exploiting Subdivision in Modeling and Animation

Secondary Motion using Offsets

WrinklesWrinkles

• Uses a “behaviour map” indicating location of wrinkle and Uses a “behaviour map” indicating location of wrinkle and dynamic properties (if combined with rod/mass simulation).dynamic properties (if combined with rod/mass simulation).

– value from map used to determine how to alter the offset value from map used to determine how to alter the offset parameterized by change in distance to neighbourparameterized by change in distance to neighbour

– low-res modifications to surface increase/decrease size of low-res modifications to surface increase/decrease size of wrinklewrinkle

WrinklesWrinkles

• Uses a “behaviour map” indicating location of wrinkle and Uses a “behaviour map” indicating location of wrinkle and dynamic properties (if combined with rod/mass simulation).dynamic properties (if combined with rod/mass simulation).

– value from map used to determine how to alter the offset value from map used to determine how to alter the offset parameterized by change in distance to neighbourparameterized by change in distance to neighbour

– low-res modifications to surface increase/decrease size of low-res modifications to surface increase/decrease size of wrinklewrinkle

Page 35: Exploiting Subdivision in Modeling and Animation

Secondary Motion using Offsets

WrinklesWrinklesWrinklesWrinkles

Page 36: Exploiting Subdivision in Modeling and Animation

WrinklesWrinklesWrinklesWrinkles

Secondary Motion using Offsets

Page 37: Exploiting Subdivision in Modeling and Animation

More Examples

Page 38: Exploiting Subdivision in Modeling and Animation

Surface Approximation

ProblemProblem• Animators need to control placement of isoparmsAnimators need to control placement of isoparms• Draw lines directly onto sculptures for digitization as a spline Draw lines directly onto sculptures for digitization as a spline

control meshcontrol mesh• Non-locality of knots creates heavier mesh, crowded linesNon-locality of knots creates heavier mesh, crowded lines

H-Spline ApproachH-Spline Approach• Allows mesh to be drawn with areas of higher detailAllows mesh to be drawn with areas of higher detail

ProblemProblem• Animators need to control placement of isoparmsAnimators need to control placement of isoparms• Draw lines directly onto sculptures for digitization as a spline Draw lines directly onto sculptures for digitization as a spline

control meshcontrol mesh• Non-locality of knots creates heavier mesh, crowded linesNon-locality of knots creates heavier mesh, crowded lines

H-Spline ApproachH-Spline Approach• Allows mesh to be drawn with areas of higher detailAllows mesh to be drawn with areas of higher detail

Page 39: Exploiting Subdivision in Modeling and Animation

Variations

Surface PastingSurface Pasting

• Diagonal features are difficult to modelDiagonal features are difficult to model

• Such features are modeled separately and “pasted” onto the low-Such features are modeled separately and “pasted” onto the low-res surfaceres surface

• Generalizes H-Splines, but are more computationally expensive.Generalizes H-Splines, but are more computationally expensive.

(Note: commercially available in the Houdini animation system)(Note: commercially available in the Houdini animation system)

Surface PastingSurface Pasting

• Diagonal features are difficult to modelDiagonal features are difficult to model

• Such features are modeled separately and “pasted” onto the low-Such features are modeled separately and “pasted” onto the low-res surfaceres surface

• Generalizes H-Splines, but are more computationally expensive.Generalizes H-Splines, but are more computationally expensive.

(Note: commercially available in the Houdini animation system)(Note: commercially available in the Houdini animation system)

Link to paper

Page 40: Exploiting Subdivision in Modeling and Animation

Surface Pasting

Page 41: Exploiting Subdivision in Modeling and Animation

Surface Pasting

Overlapping featuresOverlapping features Underlying parameter spaceUnderlying parameter spaceOverlapping featuresOverlapping features Underlying parameter spaceUnderlying parameter space

Page 42: Exploiting Subdivision in Modeling and Animation

Grafting Surfaces

• Arbitrary topology surfaces difficult with tensor-product splinesArbitrary topology surfaces difficult with tensor-product splines

– use Catmull-Clark subdivision surfaces to join spline surfacesuse Catmull-Clark subdivision surfaces to join spline surfaces

– maintain compatibility with B-splinesmaintain compatibility with B-splines

– minimizes the number of extraordinary pointsminimizes the number of extraordinary points

– maintains a simple U/V mapping for textures and attribute mapsmaintains a simple U/V mapping for textures and attribute maps

• Arbitrary topology surfaces difficult with tensor-product splinesArbitrary topology surfaces difficult with tensor-product splines

– use Catmull-Clark subdivision surfaces to join spline surfacesuse Catmull-Clark subdivision surfaces to join spline surfaces

– maintain compatibility with B-splinesmaintain compatibility with B-splines

– minimizes the number of extraordinary pointsminimizes the number of extraordinary points

– maintains a simple U/V mapping for textures and attribute mapsmaintains a simple U/V mapping for textures and attribute maps

Page 43: Exploiting Subdivision in Modeling and Animation

Grafting

Two grafted cylindersTwo grafted cylinders Finger graftsFinger graftsTwo grafted cylindersTwo grafted cylinders Finger graftsFinger grafts

Page 44: Exploiting Subdivision in Modeling and Animation

Grafting

Low-res hand with graftsLow-res hand with grafts Rendered hand Rendered hand Low-res hand with graftsLow-res hand with grafts Rendered hand Rendered hand

Page 45: Exploiting Subdivision in Modeling and Animation

Multiresolution Simulation

ProblemProblem

• simulations based on simple finite elements (spring/mass meshes) simulations based on simple finite elements (spring/mass meshes) are difficult to controlare difficult to control

– unclear how to set the parameters for a particular behaviourunclear how to set the parameters for a particular behaviour

– stiff systems suffer from numerical instability or small step stiff systems suffer from numerical instability or small step sizessizes

– very few formulations that deal with micro/macro effects in the very few formulations that deal with micro/macro effects in the same modelsame model

ProblemProblem

• simulations based on simple finite elements (spring/mass meshes) simulations based on simple finite elements (spring/mass meshes) are difficult to controlare difficult to control

– unclear how to set the parameters for a particular behaviourunclear how to set the parameters for a particular behaviour

– stiff systems suffer from numerical instability or small step stiff systems suffer from numerical instability or small step sizessizes

– very few formulations that deal with micro/macro effects in the very few formulations that deal with micro/macro effects in the same modelsame model

Page 46: Exploiting Subdivision in Modeling and Animation

Multiresolution Simulation

Animator’s Solution:Animator’s Solution:

• use a multiresolution representation of surfaceuse a multiresolution representation of surface

• propagate a proportion of forces to each successive resolutionpropagate a proportion of forces to each successive resolution

– similar to multigrid methods, but different equation solved at similar to multigrid methods, but different equation solved at each resolutioneach resolution

– can retain surface details using an offset representationcan retain surface details using an offset representation

Animator’s Solution:Animator’s Solution:

• use a multiresolution representation of surfaceuse a multiresolution representation of surface

• propagate a proportion of forces to each successive resolutionpropagate a proportion of forces to each successive resolution

– similar to multigrid methods, but different equation solved at similar to multigrid methods, but different equation solved at each resolutioneach resolution

– can retain surface details using an offset representationcan retain surface details using an offset representation

link to paper

Page 47: Exploiting Subdivision in Modeling and Animation

Multiresolution Simulation

100 % of forces applied at highest resolution

100 % of forces applied at lowest resolution

Forces applied at multiple resolutions

Page 48: Exploiting Subdivision in Modeling and Animation

Multiresolution Deformations

• Uses similar approach, but uses kinematics rather than dynamicsUses similar approach, but uses kinematics rather than dynamics• Uses similar approach, but uses kinematics rather than dynamicsUses similar approach, but uses kinematics rather than dynamics

link to paper

Page 49: Exploiting Subdivision in Modeling and Animation

Multiresolution Deformations

• Different behaviours are created by varying the amount each Different behaviours are created by varying the amount each resolution accomodates the deformationresolution accomodates the deformation

• Different behaviours are created by varying the amount each Different behaviours are created by varying the amount each resolution accomodates the deformationresolution accomodates the deformation

Page 50: Exploiting Subdivision in Modeling and Animation

Multiresolution deformations

Time varying Time varying effects are added effects are added by delaying the by delaying the change to the change to the position and position and orientation of the orientation of the offsetsoffsets

Time varying Time varying effects are added effects are added by delaying the by delaying the change to the change to the position and position and orientation of the orientation of the offsetsoffsets

Behaviour during insertion of sphere

Behaviour during withdrawal of sphere

Page 51: Exploiting Subdivision in Modeling and Animation

Summary

Multiresolution Modeling and AnimationMultiresolution Modeling and Animation

• provides a number of additional tools based on offset operatorsprovides a number of additional tools based on offset operators

• fast, easy to use on complex modelsfast, easy to use on complex models

• provides good control over complex modelsprovides good control over complex models

• compatible with tools or simulations that operate on spline compatible with tools or simulations that operate on spline surfacessurfaces

• computations simple enough for real-timecomputations simple enough for real-time

Multiresolution Modeling and AnimationMultiresolution Modeling and Animation

• provides a number of additional tools based on offset operatorsprovides a number of additional tools based on offset operators

• fast, easy to use on complex modelsfast, easy to use on complex models

• provides good control over complex modelsprovides good control over complex models

• compatible with tools or simulations that operate on spline compatible with tools or simulations that operate on spline surfacessurfaces

• computations simple enough for real-timecomputations simple enough for real-time