exploiting subdivision in modeling and animation

Post on 06-Jan-2016

32 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

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

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.

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.

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. .

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.

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

Local Refinement

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

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”

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)

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

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

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

Simple Head

Low-Res Attachment

Effect on finer resolution

Example Animation

“Locking down” geometry

Locking Down Geometry, Part II

Full DetailFull Detail Lowest ResolutionLowest ResolutionFull DetailFull Detail Lowest ResolutionLowest Resolution

Locking Down Geometry, Part II

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

Locking Down Geometry, Part II

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

Example 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

Layered Animation

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

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

Layered Animation

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

Example 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

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

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

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

Secondary Motion using Offsets

Secondary Motion using Offsets

Sample animationSample animationSample animationSample 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

Secondary Motion using Offsets

WrinklesWrinklesWrinklesWrinkles

WrinklesWrinklesWrinklesWrinkles

Secondary Motion using Offsets

More Examples

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

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

Surface Pasting

Surface Pasting

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

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

Grafting

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

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

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

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

Multiresolution Simulation

100 % of forces applied at highest resolution

100 % of forces applied at lowest resolution

Forces applied at multiple resolutions

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

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

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

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

top related