snap together motion : assembling run-time animation
DESCRIPTION
Snap Together Motion : Assembling Run-Time Animation. Michael Gleicher Hyun Joon Shin Lucas Kovar Andrew Jepsen University of Wisconsin. Virtual Environment. demand on motion synthesis motion quality control little run time overload. Virtual Environment. demand on motion synthesis - PowerPoint PPT PresentationTRANSCRIPT
Snap Together Motion : Snap Together Motion : Assembling Run-Time AnimationAssembling Run-Time Animation
Michael GleicherMichael GleicherHyun Joon ShinHyun Joon Shin
Lucas KovarLucas KovarAndrew JepsenAndrew Jepsen
University of WisconsinUniversity of Wisconsin
Virtual EnvironmentVirtual Environment
demand on motion synthesisdemand on motion synthesis– motion qualitymotion quality– controlcontrol– little run time overloadlittle run time overload
Virtual EnvironmentVirtual Environment
demand on motion synthesisdemand on motion synthesis– motion qualitymotion quality– controlcontrol– little run time overloadlittle run time overload
snap together motionsnap together motion
Basic IdeaBasic Idea
processing a corpus of motion dataprocessing a corpus of motion data
constructing a highly connected motion graphconstructing a highly connected motion graph
making motion segments “snappable”making motion segments “snappable”
Basic IdeaBasic Idea
processing a corpus of motion dataprocessing a corpus of motion data qualityquality
constructing a highly connected motion graph constructing a highly connected motion graph controlcontrol
making motion segments “snappable”making motion segments “snappable” little runtime overheadlittle runtime overhead
Motion GraphMotion Graph
– Kovar Kovar et alet al., Lee ., Lee et alet al., and Arikan ., and Arikan et alet al..
constructing graph with edges of pieces of motionconstructing graph with edges of pieces of motion graph searching to synthesize motiongraph searching to synthesize motion smooth transitions in runtimesmooth transitions in runtime
Motion GraphMotion Graph
OverviewOverview structured motion graph with hub nodesstructured motion graph with hub nodes
– structured graphstructured graph– hub node: a node with a large number of edgeshub node: a node with a large number of edges
snappable motion segmentssnappable motion segments– displacement mapdisplacement map
Hub NodeHub Node
Snappable MotionSnappable MotionOriginal MotionOriginal Motion
OverviewOverview
at run-timeat run-time– a highly connected grapha highly connected graph– concatenating motion pieces at edgesconcatenating motion pieces at edges
…
…
AuthoringAuthoring
graph constructiongraph construction– choosing match frameschoosing match frames
snappable motionssnappable motions– average postureaverage posture– displacement mapdisplacement map– handling constraintshandling constraints
Choosing Match FramesChoosing Match Frames
graph construction by user control/heuristic graph construction by user control/heuristic finding a pose having largest match setfinding a pose having largest match set
– match set: poses with small errorsmatch set: poses with small errors– error metric: point cloud matching error metric: point cloud matching [Kovar [Kovar et alet al]]
error matrixhub match set
Averaging PosesAveraging Poses
coordinate frame alignmentcoordinate frame alignment– align every match set into a coordinate framealign every match set into a coordinate frame
2D rigid transformation that minimizes point cloud error2D rigid transformation that minimizes point cloud error
two sequences of poses point clouds transformed
i
izxiizx
w 2',,
,,||||min
0000
pTp
Averaging PosesAveraging Poses
averaging joint angleaveraging joint angle– use quaternion estimator [Park, Shin, Shin]use quaternion estimator [Park, Shin, Shin]
orientation with the minimum squared sum of errororientation with the minimum squared sum of error
i
ii
ierrorE 22* sin),( qq
Displacement MapsDisplacement Maps
displacement mapdisplacement map– fitting average velocities together with posefitting average velocities together with pose– two-level displacement maptwo-level displacement map
coarse knots for fitting the posecoarse knots for fitting the pose denser knots for fitting the velocitydenser knots for fitting the velocity
ConstraintsConstraints
enforcing consistency in constrained positionenforcing consistency in constrained position– problem:problem:
– solution:solution:collecting hub nodes with possible constraint conflictscollecting hub nodes with possible constraint conflictsdetermining the constraint position over the setdetermining the constraint position over the set
a hub node another hub nodea piece with inconsistent constraint
Runtime Motion SynthesisRuntime Motion Synthesis
a motion piecea motion piece– corresponding nodes + coordinate transformcorresponding nodes + coordinate transform
graph traversalgraph traversal– user-controlled traversaluser-controlled traversal– or search algorithmor search algorithm
motion synthesismotion synthesis– concatenating piecesconcatenating pieces– applying coordinate transformationapplying coordinate transformation
little overloadlittle overload
ResultsResults
VideoVideo
SummarySummary
a motion synthesis frame worka motion synthesis frame work– controllability with highly connected graphcontrollability with highly connected graph– preprocessing everything in authoring steppreprocessing everything in authoring step– assembling snappable clipsassembling snappable clips
authoring toolauthoring tool– user-controllable graph constructionuser-controllable graph construction– seamlessly snappable clipsseamlessly snappable clips– preserving original motion qualitypreserving original motion quality
Thanks toThanks to
ContentsContents
IntroductionIntroduction Motion GraphMotion Graph OverviewOverview Choosing Match FramesChoosing Match Frames TransitionTransition
– Matching Coordinate FramesMatching Coordinate Frames– Displacement mapsDisplacement maps– ConstraintsConstraints
at Run Timeat Run Time