Simulation and Control of Skeletondriven Soft Body Characters Libin Liu* *Tsinghua University KangKang Yin† †National Bin Wang† University of Singapore Baining Guo‡ ‡Microsoft Research Asia Motivation Simulation and Control of Rigid Body Characters [Lee et al. 2010] [Liu et al. 2012] [Coros et al. 2010] [Al Borno et al. 2013] 3/66 ? Motivation Deformation as Secondary Animation Skinning [McAdams et al. 2011] [Kavan and Sorkine 2012] Skeleton-driven jiggling [Capell et al. 2002] [Kim and Pollard 2011] 4/66 Motivation Controllable Soft Bodies External force Internal force [Barbič and Popović 2008] Muscle fibers Rest shapes Skeleton-driven [Tan et al. 2012] [Coros et al. 2012] [Kim and Pollard 2011] 5/66 Outline Motivation System Overview Skeleton-driven Soft Body Dynamics Skeleton dynamics Soft body dynamics Motion Control Inverse dynamics Time scaling Conclusion 6/66 System Overview Skeleton Dynamics Rigid body Controller Skeleton 𝒒, 𝒒 Fixed nodes 𝒙𝒇 , 𝒙 𝒇 Dynamics Pose-based Constitutive Model fix 𝝉 Coarse mesh 𝒙, 𝒙, 𝑿 𝒇𝒆 , 𝒇𝒅 Soft body Dynamics embed 𝒇𝒄 Collision Detection Fine mesh 𝒙 7/66 𝒒′, 𝒒′ 𝒙′, 𝒙′ System Overview Skeleton & Soft Body Fine Surface Mesh Coarse Volumetric Mesh 8/66 Skeleton Fixed nodes System Overview Simulation Simulate skeleton 9/66 System Overview Simulation Simulate soft body 10/66 Models Model Statistics # vertices: ~1200 # elements: ~4000 11/66 System Overview Skeleton Dynamics Rigid body Controller Skeleton 𝒒, 𝒒 Fixed nodes 𝒙𝒇 , 𝒙𝒇 Dynamics Pose-based Constitutive Model fix Coarse mesh 𝒙, 𝒙, 𝑿 𝒇𝒄 Collision Detection 12/66 𝒒′, 𝒒′ 𝒇𝒆 , 𝒇𝒅 Soft body Dynamics embed Fine mesh 𝒙 𝝉 𝒙′, 𝒙′ Skeleton Dynamics PD-servos 𝑞 𝜏 = 𝑘 𝑝 𝑞 − 𝑞 − 𝑘𝑑 𝑞 𝑞 𝑞 Dynamics Solver 13/66 𝑞′ 𝑞′ Skeleton Dynamics Stable PD-servos [Baraff and Witkin 1998; Tan et al. 2011] 𝑞 𝜏 = 𝑘𝑝 𝑞 − 𝑞 − 𝑘𝑑 𝑞′ 𝑞 𝑞 Dynamics Solver 14/66 𝑞′ 𝑞′ Skeleton Dynamics Integration with Open Dynamic Engine 𝑞 𝜏 = 𝑘𝑝 𝑞 − 𝑞 𝑞 𝑞′ ODE 𝑞 −𝑘𝑑 𝑞′ 15/66 𝑞′ System Overview Skeleton Dynamics Rigid body Controller Skeleton 𝒒, 𝒒 Fixed nodes 𝒙𝒇 , 𝒙 𝒇 Dynamics Pose-based Constitutive Model fix 𝝉 Coarse mesh 𝒙, 𝒙, 𝑿 𝒇𝒆 , 𝒇𝒅 Soft body Dynamics embed 𝒇𝒄 Collision Detection Fine mesh 𝒙 16/66 𝒒′, 𝒒′ 𝒙′, 𝒙′ Soft Body Dynamics Elastic Force Rest Shape 𝑋 Deformed Shape 𝑥 17/66 Soft Body Dynamics Problem of Large Deformations Rest Shape 𝑋 Deformed Shape 𝑥 18/66 Soft Body Dynamics 19/66 Soft Body Dynamics Solution Musculoskeletal models Pose-based Plasticity [Lee et al. 2009] 20/66 Soft Body Dynamics Pose-based Plasticity Pose-based RestReference Shape 𝑋 Shape 𝑥 Deformed Shape 𝑥 21/66 Soft Body Dynamics Additive Plasticity = - 22/66 Soft Body Dynamics Generate Reference Shape Linear Blend Skinning Dual Quaternion Skinning [Kavan et al. 2007] Elasticity-inspired methods [Kavan and Sorkine 2012] Physically based methods [McAdams et al. 2011] ………… Rest Shape 𝑋 Pose-based Reference Shape 𝑥 23/66 Soft Body Dynamics 24/66 Soft Body Dynamics Pose-based Damping 𝑓𝑑 𝑥, 𝑥 25/66 Soft Body Dynamics Pose-based Damping Damping reference point 𝑓𝑑 𝑥, 𝑥 26/66 𝑥, 𝑥 Simulation Pipeline Update Kinematics Accumulating forces & torques 27/66 Integration Simulation Pipeline Update Kinematics Accumulating forces & torques 28/66 Integration Simulation Pipeline Update Kinematics Accumulating forces & torques Update fixed nodes 29/66 Integration Simulation Pipeline Update Kinematics Accumulating forces & torques Update fine surface mesh 30/66 Integration Simulation Pipeline Update Kinematics Accumulating forces & torques Update reference pose and velocity 31/66 Integration Simulation Pipeline Update Kinematics Accumulating forces & torques Soft body: contact force 32/66 Integration Simulation Pipeline Update Kinematics Accumulating forces & torques Soft body: elastic forces and damping forces 33/66 Integration Simulation Pipeline Update Kinematics Accumulating forces & torques Integration Skeleton: elastic forces & damping forces from soft body 34/66 Simulation Pipeline Update Kinematics Accumulating forces & torques Skeleton: actuation PD torques 35/66 Integration Simulation Pipeline Update Kinematics Accumulating forces & torques Integration 36/66 Integration Simulation Pipeline Update Kinematics Accumulating forces & torques Integration 37/66 Integration Angular Momentum Conservation The framework conserves angular momentum Symplectic Euler integrators Pose-based plasticity Pose-based damping 38/66 System Overview Motion Controller Controller Rigid body Dynamics Skeleton 𝒒, 𝒒 Skeleton fix Dynamics Fixed nodes 𝒙𝒇 , 𝒙𝒇 Pose-based Constitutive Model Control Coarse Construction mesh 𝒙, 𝒙, 𝑿 embed Fine mesh 𝒙 𝝉 𝒇𝒆 , 𝒇𝒅 Feedback Soft body Dynamics 𝒇𝒄 Collision Detection 39/66 𝒒′, 𝒒′ 𝒙′, 𝒙′ Motion Control Skeleton Dynamics System 𝑞 𝜏 = 𝑘𝑝 𝑞 − 𝑞 − 𝑘𝑑 𝑞′ 𝑞 𝑞′ ODE 𝑞 −𝑘𝑑 𝑞′ 40/66 𝑞′ Motion Control Control Construction Input Motion 𝑞𝑞 𝑞 41/66 Motion Control Control Construction Sampling-based method [Liu et al. 2010] 𝑞 𝑞 Input Motion 42/66 Motion Control 43/66 Motion Control 44/66 Motion Control Control Construction Augmented sampling-based method 𝑞 𝑞 Inverse Dynamics Sampling Time Scaling 45/66 Inverse Dynamics 𝜏 = 𝐼𝐷 𝑞, 𝑞, 𝑞, 𝑓𝑒𝑥𝑡 , 𝜏𝑒𝑥𝑡 46/66 Inverse Dynamics 𝜏 = 𝐼𝐷 𝑞, 𝑞, 𝑞, 𝑓𝑒𝑥𝑡 , 𝜏𝑒𝑥𝑡 Estimate 𝑞, 𝑞 forward finite differencing 𝑞 Input Motion 47/66 𝑡 Inverse Dynamics 𝜏 = 𝐼𝐷 𝑞, 𝑞, 𝑞, 𝑓𝑒𝑥𝑡 , 𝜏𝑒𝑥𝑡 Estimate 𝑓𝑒𝑥𝑡 , 𝜏𝑒𝑥𝑡 𝑓𝑒𝑥𝑡 , 𝜏𝑒𝑥𝑡 = Gravity + GRF (Ground Reaction Force) 𝒇𝑐 𝝉𝑐 𝑑𝑖 𝒅𝑖 𝒇𝑐𝒊 𝝉𝑐𝒊 48/66 ? Inverse Dynamics 𝜏 = 𝐼𝐷 𝑞, 𝑞, 𝑞, 𝑓𝑒𝑥𝑡 , 𝜏𝑒𝑥𝑡 Estimate Ground Reaction Force (GRF) GRF can only push the character 𝑓⊥ ≥ 0 Max possible friction 𝒇𝑐𝒊 𝑓⊥ 𝒇∥ ≤ 𝜇𝑓⊥ Max possible torque 𝒇∥ 𝝉 ≤ 𝑟𝑚𝑎𝑥 𝑓𝑚𝑎𝑥 𝑓𝑚𝑎𝑥 = 𝝉𝑐𝒊 1 + 𝜇2 𝑓⊥ 49/66 𝑟𝑚𝑎𝑥 Inverse Dynamics 𝜏 = 𝐼𝐷 𝑞, 𝑞, 𝑞, 𝑓𝑒𝑥𝑡 , 𝜏𝑒𝑥𝑡 Estimate Target Pose 𝜏 𝑞 50/66 Inverse Dynamics 51/66 Motion Control Control Construction Augmented sampling-based method 𝑞 𝑞 Inverse Dynamics Sampling Time Scaling 52/66 Time Scaling Sample Time Scaling Parameter 53/66 Time Scaling Sample Time Scaling Parameter 54/66 Time Scaling 55/66 Control Construction 56/66 Motion Control Closed-loop Feedback Policies Linear feedback policies [Liu et al. 2012] 57/66 Closed-loop Feedback Policies 58/66 Conclusion Two-way simulation framework for soft body characters Pose-based plasticity Angular momentum Conservation Interactive rates Augmented sampling-based control construction Inverse Dynamics Time Scaling 59/66 Limitations Stability Issues Explicit coupling and solver Quality Issues Low-res volumetric mesh Linear skinning method Capability Issues Success rate < 100% 60/66 Future Work More stable coupling with implicit integrators Remeshing and better skinning techniques Incorporating material properties and planning 61/66 Thanks
© Copyright 2025