![Page 1: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/1.jpg)
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
![Page 2: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/2.jpg)
Virtual EnvironmentVirtual Environment
demand on motion synthesisdemand on motion synthesis– motion qualitymotion quality– controlcontrol– little run time overloadlittle run time overload
![Page 3: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/3.jpg)
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
![Page 4: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/4.jpg)
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”
![Page 5: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/5.jpg)
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
![Page 6: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/6.jpg)
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
![Page 7: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/7.jpg)
Motion GraphMotion Graph
![Page 8: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/8.jpg)
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
![Page 9: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/9.jpg)
OverviewOverview
at run-timeat run-time– a highly connected grapha highly connected graph– concatenating motion pieces at edgesconcatenating motion pieces at edges
…
…
![Page 10: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/10.jpg)
AuthoringAuthoring
graph constructiongraph construction– choosing match frameschoosing match frames
snappable motionssnappable motions– average postureaverage posture– displacement mapdisplacement map– handling constraintshandling constraints
![Page 11: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/11.jpg)
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
![Page 12: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/12.jpg)
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
![Page 13: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/13.jpg)
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
![Page 14: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/14.jpg)
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
![Page 15: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/15.jpg)
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
![Page 16: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/16.jpg)
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
![Page 17: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/17.jpg)
ResultsResults
VideoVideo
![Page 18: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/18.jpg)
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
![Page 19: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/19.jpg)
Thanks toThanks to
![Page 20: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/20.jpg)
![Page 21: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/21.jpg)
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
![Page 22: Snap Together Motion : Assembling Run-Time Animation](https://reader036.vdocuments.mx/reader036/viewer/2022062723/56813e11550346895da7f176/html5/thumbnails/22.jpg)