Advanced Character Physics

Slides:



Advertisements
Similar presentations
Numeric Integration Methods Jim Van Verth Red Storm Entertainment
Advertisements

Bending, Breaking and Squishing Stuff Marq Singer Red Storm Entertainment
Formal Computational Skills
Constrained Dynamics Marq Singer
Real-Time Game Physics
Jason Clark Inverse Kinematics Jason Clark
Chapter 4.2 Collision Detection and Resolution. 2 Collision Detection Complicated for two reasons 1. Geometry is typically very complex, potentially requiring.
3.2. I NTRODUCTION TO R EAL - TIME P HYSICS Overview of core principles behind real-time physics systems.
Integration Techniques
Blender Particle Fluids. Blender Particle Fluids integrate into the existent powerful Blender particle system a fluid simulation tool that allows a wide.
Color Problem Have a black-box function that returns a bright color in 24-bit RGB Want a paler version of the output What to do?
Dealing with Computational Load in Multi-user Scalable City with OpenCL Assets and Dynamics Computation for Virtual Worlds.
Chapter 4.2 Collision Detection and Resolution. 2 Collision Detection Complicated for two reasons 1. Geometry is typically very complex, potentially requiring.
Interactive Animation of Structured Deformable Objects Mathieu Desbrun Peter Schroder Alan Barr.
1 Geometry A line in 3D space is represented by  S is a point on the line, and V is the direction along which the line runs  Any point P on the line.
Mechanics Exercise Class Ⅲ
1cs533d-term Notes  list Even if you’re just auditing!
Advanced Character Physics – the fysix engine
Haptic Cloth Rendering 6th Dutch-Belgian Haptics Meeting TUDelft, 21 st June 2006 Lode Vanacken Expertise centre for Digital Media (EDM) Hasselt University.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Constraint-Based Motion Planning using Voronoi Diagrams Maxim Garber and Ming C. Lin Department of Computer.
1cs533d-term Notes  Typo in test.rib --- fixed on the web now (PointsPolygon --> PointsPolygons)
Molecular Dynamics Classical trajectories and exact solutions
Particle Systems Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts Director, Arts Technology Center University.
1cs533d-winter-2005 Notes  Assignment 2 instability - don’t worry about it right now  Please read D. Baraff, “Fast contact force computation for nonpenetrating.
Computer graphics & visualization Collision Detection – Narrow Phase.
Writing a Hair Dynamics Solver Tae-Yong Kim Rhythm & Hues Studios
Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
DYNAMICS Part I Physics Engine By Willis (The Magnificent) Louie Fei (The Coyote) Liao.
SOFA : Design for Parallel Computations Jérémie Allard.
UT DALLAS Erik Jonsson School of Engineering & Computer Science FEARLESS engineering Stable Real-Time Deformations Authors: Matthias Muller, Julie Dorsey,
Game Physics – Part I Dan Fleck Coming up: Rigid Body Dynamics.
Physically Based Modeling Let physics take over!.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Collisions & Contact.
Modeling and Solving Constraints Erin Catto Blizzard Entertainment.
3.4. C ONTACT G ENERATION Generating contacts between rigid bodies.
Evolving Virtual Creatures & Evolving 3D Morphology and Behavior by Competition Papers by Karl Sims Presented by Sarah Waziruddin.
A Traffic Simulation Model Allowing For Wide-ranged Vehicle Communication Timmy Galvin.
Developing An Educational Rigid Body Dynamics Physics Engine By Neal Milstein.
Advanced Computer Graphics Rigid Body Simulation Spring 2002 Professor Brogan.
CSCE 552 Fall 2012 Math, Physics and Collision Detection By Jijun Tang.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Physics for Games Spring 2012.
Modeling and Solving Constraints
Introduction to Particle Simulations Daniel Playne.
 When an extended object, like a wheel, rotates about its axis, the motion cannot be analyzed by treating the object as a particle because at any given.
Computer Game Design and Development
CSE 380 – Advanced Game Programming Sweep & Prune.
CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
ECE 576 – Power System Dynamics and Stability Prof. Tom Overbye Dept. of Electrical and Computer Engineering University of Illinois at Urbana-Champaign.
Game Technology Animation V Generate motion of objects using numerical simulation methods Physically Based Animation.
Particle-based Viscoelastic Fluid Simulation Simon Clavet Philippe Beaudoin Pierre Poulin LIGUM, Université de Montréal.
Advanced Games Development Game Physics CO2301 Games Development 1 Week 19.
Rick Parent - CIS682 Rigid Body Dynamics simulate basic physics of an object subject to forces Keyframing can be tedious - especially to get ‘realism’
160 as a product of its prime factors is 2 5 x 5 Use this information to show that 160 has 12 factors.
Game Programming 13 Physics in Games (cont.) 2010 년 2 학기 디지털콘텐츠전공.
Concepts for Programming a Rigid Body Physics Engine Part 2 Presented by Scott Hawkins.
Physics of Hair Maxim Bovykin.
14.0 Math Review 14.1 Using a Calculator Calculator
Research and Development of a Physics Engine by Timmy Loffredo.
Advanced Computer Graphics Rigid Body Simulation
Physically Based Simulations For Games
CS-378: Game Technology Lecture #15: Physically Based Simulation
Lecture Rigid Body Dynamics.
25 Math Review Part 1 Using a Calculator
Chapter 4.2 Collision Detection and Resolution
Chapter 1: False-Position Method of Solving a Nonlinear Equation
Manipulator Dynamics 2 Instructor: Jacob Rosen
Computer Animation Algorithms and Techniques
Advanced Games Development Game Physics
Constraint-based problem solving
Presentation transcript:

Advanced Character Physics Paper writtten by Thomas Jakobsen from IO Interactive Presentation by Semih Kekül

Glacier The methods and algorithms in this paper have all been integrated to this engine IO Interactive’s in-house game engine Used for Hitman: Codename 47 Goals: believability (stability) high speed of execution An iterative aproach: Adjustable error margin can be stopped at any time

the right combination of several techniques A so-called Verlet integration scheme. Handling collisions and penetrations by projection. A simple constraint solver using relaxation. A nice square root approximation that gives a solid speed-up. Modeling rigid bodies as particles with constraints. An optimized collision engine with the ability to calculate penetration depths.

Verlet integration(1) f=ma

Verlet integration(2) It is quite stable since the velocity is implicitly given and consequently it is harder for velocity and position to come out of sync. It works due to the fact that 2x – x* = x + (x- x*) x- x* is an approximation of the current velocity(the distance traveled last time step).

Collision and contact handling by projection Offending points are simply projected out of the obstacle.

Solving several concurrent constraints by relaxation Infinitely stiff springs! How do we do that? |x2 – x1| = 100

Solving several concurrent constraints by relaxation(2) delta = x2 – x1; deltalength = sqrt ( delta*delta); // dot product diff = (deltalength - restlenght) / deltalength ; x1 += delta * 0.5 * diff; X2 -= delta * 0.5 * diff; How do we combine this constraint with the previous cube constraint? Relaxation

Relaxation

Cloth Simulation delta = x2 – x1; deltalength = sqrt ( delta*delta); // dot product diff = (deltalength - restlenght) / deltalength ; x1 += delta * 0.5 * diff; X2 -= delta * 0.5 * diff; delta = x2-x1; deltalength = sqrt(delta*delta); diff = (deltalength-restlength)/deltalength; x1 += delta*0.5*diff; x2 -= delta*0.5*diff; Get rid of sqrt

Rigid bodies A tetrahedron: 4 particles at vertices, 6 edges which are stick constraints Put it in a cube, Verlet handles it.

Rigid bodies(2) What if the world is concave?

Rigid bodies(3) A simpler approach with sticks Assume we can detect collisions and we know the penetration depth and penetration points: A linear combination of x1 and x2 is p = c1 * x1 + c2 * x2 ; c1 + c2 = 1 We want p’ = q

Rigid bodies(4)

Rigid bodies(5) p’ ∆ = q ∆ (they are moving in the same direction)

Articulated Bodies (x2-x0) ○ (x1-x0) < α ; for reality of human body

Articulated Bodies(2) No rotation around lenght axis of limbs.