Basic Game Physics. IntroducBon (1 of 2) IMGD What is game physics? CompuBng mo)on of objects in virtual scene
|
|
- Linette Bishop
- 5 years ago
- Views:
Transcription
1 Basic Game Physics IMGD 4000 With material from: Introduc)on to Game Development, Second EdiBon, Steve Rabin (ed), Cengage Learning, (Chapter 4.3) and Ar)ficial Intelligence for Games, Ian Millington, Morgan Kaufmann, 2006 (Chapter 3) IntroducBon (1 of 2) What is game physics? CompuBng mo)on of objects in virtual scene Including player avatars, NPC s, inanimate objects CompuBng mechanical interac)ons of objects InteracBon usually involves contact (collision) SimulaBon must be real- Bme (versus high- precision simulabon for CAD/CAM, etc.) SimulaBon may be very realisbc, approximate, or intenbonally distorted (for effect) 2 1
2 IntroducBon (2 of 2) And why is it important? Can improve immersion Can support new gameplay elements Becoming increasingly prominent (expected) part of high- end games Like AI and graphics, facilitated by hardware developments (mulb- core, GPU) MaturaBon of physics engine market 3 Physics Engines Similar buy vs. build analysis as game engines Buy: Complete solubon from day one Proven, robust code base (hopefully) Feature sets are pre- defined Costs range from free to expensive Build: Choose exactly features you want Opportunity for more game- specificabon opbmizabons Greater opportunity to innovate Cost guaranteed to be expensive (unless features extremely minimal) 4 2
3 Physics Engines Open source Box2D, Bullet, Chipmunk, JigLib, ODE, OPAL, OpenTissue, PAL, Tokamak, Farseer, Physics2d, Glaze Closed source (limited free distribubon) Newton Game Dynamics, Simple Physics Engine, True Axis, PhysX Commercial Havok, nv Physics, Vortex RelaBon to Game Engines NaBve, e.g,. C4 Integrated, e.g., UE4 + PhysX Pluggable, e.g., C4 + PhysX, jme + ODE (via jme Physics) Basic Game Physics Concepts Why are we studying this? To use an engine effecbvely, you need to understand something about what it s doing You may need to implement small features or extensions yourself Cf., owning a car without understanding anything about how it works Examples KinemaBcs and dynamics ProjecBle mobon Collision detecbon and response 6 3
4 Outline IntroducBon (done) KinemaBcs (next) The Firing SoluBon Collision DetecBon Ragdoll Physics PhysX 7 KinemaBcs (1 of 3) Study of mobon of objects without taking into account mass or force Basic quanbbes: posibon, Bme... and their derivabves: velocity, accelerabon Basic equabons: 1) d = vt 2) v = u + at 3) d = ut + ½at 2 4) v 2 = u 2 + 2ad Where: t - (elapsed) )me d - distance (change in posi)on) v - (final) velocity (change in distance per unit )me) a - accelera)on (change in velocity per unit )me) u - (ini)al) velocity Note, equabon #3 is the integral of equabon #2 with respect to Bme (see next slide). EquaBon #4 can be useful. 8 4
5 KinemaBcs (2 of 3) Non- accelerated mobon Accelerated mobon d = ut Example: u = 20 m/s, t = 300 s d = 20 x 3000 = 6000 m d = ut + ½at 2 Example: u=0 m/s, a=4m/s 2, t=3s d = 0x x4x9 = 18m KinemaBcs (3 of 3) Predic)on Example: If you throw a ball straight up into the air with an inibal velocity of 10 m/ sec, how high will it go? v 2 = u 2 + 2ad u = 10 m/sec (inibal speed upward) a = - 10 m/sec 2 (approx gravity) v = 0 m/sec (at top of flight) 0 = (- 10)d d = 5 meters (Note, answer independent of mass of ball!) d v = 0 a = - 10 u =
6 Doing It In 3D MathemaBcally, onsider all quanbbes involving posibon to be vectors: d = vt v = u + at d = ut + at 2 /2 ComputaBonally, using appropriate 3- element vector datatype 11 Dynamics NoBce that preceding kinemabc descripbons say nothing about why an object accelerates (or why its accelerabon might change) To get a full modern physical simulabon you need to add two more basic concepts: force mass Discovered by Sir Isaac Newton Around 1700 J 12 6
7 Newton s Laws 1. A body will remain at rest or conbnue to move in a straight line at a constant speed unless acted upon by a force. 2. The accelerabon of a body is propor)onal to the resultant force acbng on the body and is in the same direcbon as the resultant force. 3. For every acbon, there is an equal and opposite reacbon. 13 MoBon Without Newton s Laws Pac- Man or early Mario style Follow path with instantaneous changes in speed and direcbon (velocity) Not physically possible Note - fine for some casual games (especially with appropriate animabons) 14 7
8 Newton s Second Law F = ma At each moment in Bme: F = force vector, in Newton s m = mass (intrinsic scalar property of maper), in kg a = accelerabon vector, in m/sec 2 Player cares about state of world (posibon of objects). EquaBon is fundamental driver of all physics simulabons. Force causes accelerabon (a = F/m) AcceleraBon causes change in velocity Velocity causes change in posibon 15 KinemaBcs equabons How Are Forces Applied? May involve contact Collision (rebound) FricBon (rolling, sliding) Without contact Rockets/Muscles/Propellers Gravity Wind (if not modeling air parbcles) Magic Dynamic (force) modeling also used for autonomous steering behaviors 16 8
9 CompuBng KinemaBcs in Real Time start = gettime() // start time p = 0 // initial position u = 10 // initial velocity a = -10 function update () { now = gettime() t = now start simulate(t) } // in game loop function simulate (t) { d = ut + at 2 /2 d = (u + (0.5 * a * t)) * t move object to p + d // move to loc. computed since start } Note! Number of calls and Bme values to simulate() depend on (changing) game loop )me (frame rate) Is this a problem? It can be! For rigid body simulabon with colliding forces and fricbon (e.g., many interesbng cases) leading to jerky behavior 17 d a = - 10 u, p Frame Rate Independence Complex numerical simulabons used in physics engines are sensibve to Bme steps (due to truncabon error and other numerical effects) But results need to be repeatable regardless of CPU/GPU performance for debugging for game play So, if frame rate drops (game loop can t keep up), then physics will change SoluBon: Control physics simulabon interval independently of frame rate 18 9
10 Frame Rate Independence delta simula)on )cks lag frame updates previous now start =... delta = 0.02 lag = 0 previous = 0 // physics simula)on interval (sec) // )me since last simulated // )me of previous call to update function update() { // in game loop now = gettime() t = (previous - start) lag // previous simulate() lag = lag + (now - previous) // current lag while ( lag > delta ) // repeat un)l caught up t = t + delta simulate(t) lag = lag - delta previous = now // simula)on caught up to current )me } 19 Outline IntroducBon (done) KinemaBcs (done) The Firing SoluBon (next) Collision DetecBon Ragdoll Physics PhysX 20 10
11 The Firing SoluBon (1 of 3) How to hit target Beam weapon or high- velocity bullet over short ranges can be viewed as traveling in straight line But projecble travels in parabolic arc Grenade, spear, catapult, etc. d = ut + at 2 /2 u = velocity vector a = [0, 0, - 9.8] m/sec 2 (but can use higher value, e.g., - 18) d Most typical game situabons, magnitude of u fixed. We only need to know relabve components (orientabon) à Challenge: Given a, d, solve for u 21 Remember QuadraBc EquaBons? Make nice curves Like firing at target! SoluBons are where equals 0. E.g., when firing with gun on ground: At gun muzzle At target But unlike in algebra class, not just solving quadrabc but finding angle with y = gun, y = target Angle changes speed in x- direcbon, but also Bme spent in air Aver hairy math [Millington 3.5.3], three relevant cases: Target is out of range (no solubon) Target is at exact maximum range (single solubon) Target is closer than maximum range (two possible solubons) Solve with quadrabc formula 22 11
12 The Firing SoluBon (2 of 3) long Bme trajectory u = muzzle velocity vector short Bme trajectory Usually choose short Bme trajectory Gives target less Bme to escape Unless shoobng over wall, etc. d [Millington 3.5.3] u = (2Δ - at 2 ) / (2 (muzzle_v) t) where muzzle_v = max muzzle speed Δ is difference vector from d to u a is gravity 23 The Firing SoluBon (3 of 3) function firingsolution (start, target, muzzle_v, gravity) { // Calculate vector back from target to start delta = target - start // Real- valued coefficents of quadra)c equa)on a = gravity * gravity b = - 4 * (gravity * delta + muzzle_v * muzzle_v) c = 4 * delta * delta // Check for no real solu)ons if ( 4 * a * c > b * b ) return null // Find short and long )mes to target disc = sqrt (b * b - 4 * a *c) t1 = sqrt ( ( - b + disc ) / (2 * a )) t2 = sqrt ( ( - b - disc ) / (2 * a )) Note, a, b and c are scalars so a normal square root. } // Pick shortest valid )me to target (Qt) if ( t1 < 0 ) && ( t2 < 0) return null // No valid )mes if ( t1 < 0 ) ttt = t2 else if ( t2 < 0 ) ttt = t1 else ttt = min ( t1, t2 ) // Return firing vector return ( 2 * delta - gravity * ttt * ttt ) / ( 2 * muzzle_v * ttt ) Note scalar product of two vectors using *: [a,b,c] * [d,e,f] = a*d + b*e + c*f 24 [Millington 3.5.3] 12
13 Outline IntroducBon (done) KinemaBcs (done) The Firing SoluBon (done) Collision DetecBon (next) Ragdoll Physics PhysX 25 Collision DetecBon Determining when objects collide is not as easy as it seems Geometry can be complex Objects can be moving quickly There can be many objects naive algorithms are O(n 2 ) Two basic approaches: Overlap tesbng Detects whether collision has already occurred IntersecBon tesbng Predicts whether collision will occur in future 26 13
14 Overlap TesBng Basics discussed and implemented in IMGD 3000! Most common technique used in games Exhibits more error than intersecbon tesbng Basic idea: at every simulabon step, test every pair of objects to see if overlap Easy for simple volumes (e.g., spheres), harder for polygonal models Results of test: collision normal vector (useful for reacbon) Bme that collision took place 27 Overlap TesBng: Finding Collision Time Calculated by doing binary search in Bme, moving object back and forth by 1/2 steps (bisecbons) A t 0 A A A t A A 0.25 t t t t 0.5 t 1 B Initial Overlap Test B Iteration 1 Forward 1/2 Iteration 2 Backward 1/4 In pracbce, five iterabons usually enough B B Iteration 3 Forward 1/8 B Iteration 4 Forward 1/16 B Iteration 5 Backward 1/
15 LimitaBons of Overlap TesBng Fails with objects that move too fast (no overlap during simulabon Bme slice) window t -1 t 0 t 1 t 2 bullet SoluBon approach: constrain game design so that fastest object moves smaller distance in one physics Bck (delta) than thinnest object may require reducing simulabon step size (adds computabon overhead) 29 IntersecBon TesBng Predict future collisions Extrude geometry in direcbon of movement e.g., swept sphere turns into capsule shape t 0 t 1 Then, see if extruded shape overlaps objects When collision found (predicted) Move simulabon to Bme of collision (have collision point) Resolve collision Works for bullet/window example (bullet becomes line segment) 30 15
16 Speeding Up Collision DetecBon Bounding Volumes Oriented Hierarchical ParBBoning Plane Sweep 31 Bounding Volumes Commonly used volumes sphere - distance between centers less than sum of radii boxes axis aligned (loose fit, easier math) oriented (Bghter fit, more expensive) 32 Axis-Aligned Bounding Box If bounding volumes don t overlap, then no more tesbng is required If overlap, more refined tesbng required Bounding volume alone may be good enough for some games Oriented Bounding Box 16
17 Complex Bounding Volumes MulBple volumes per object e.g., separate volumes for head, torso and limbs of avatar object Hierarchical volumes e.g., boxes inside of boxes [GoQschalk, Lin, Minocha, SIGGRAPH 96] 33 ParBBoning for Collision TesBng To address the n 2 problem... ParBBon space so only test objects in same cell In best case (uniform distribubon) reduces n 2 to linear Can happen for uniform size, density objects (e.g., cloth/fluids) In worst case (all objects in same cell) no improvement 34 17
18 Plane Sweep for Collision TesBng Observa)on: many moveable objects stay in one place most of the Bme Sort bounds along axes (expensive to do, so do just once!) Only adjacent sorted objects which overlap on all axes need to be checked further Since many objects don t move, can keep sort up to date very cheaply with bubblesort (nearly linear) y B 1 A 1 R 1 B 0 A 0 A R B C 1 R 0 C C 0 A 0 A 1 R 0 B 0 R 1 C 0 B 1 C 1 35 x Outline IntroducBon (done) KinemaBcs (done) The Firing SoluBon (done) Collision DetecBon (done) Ragdoll Physics (next) PhysX 36 18
19 What is Ragdoll Physics? Procedural animabon oven used as replacement for tradibonal (stabc) death animabon Generated by code, not hand Using physics constraints on body limbs & joints in real- Bme SBll from early animabon using ragdoll physics hpps://en.wikipedia.org/wiki/ragdoll_physics hpp:// physics- 2 Diablo 3 Ragdolls How to Smack a Demon Erin Capo (Game Developer s Conference, San Francisco, California, USA, 2013) Physics Programmer for Diablo 3 (Blizzard, 2012) 19
20 A ragdoll is a collecbon of collision shapes connected to bones 20
21 21
22 Physics joints connect two bones Cone Joint (like shoulder) Revolute Joint (like elbow) Tech arbst connects bones with Physics joints Spherical Joint (for chandeliers) Weld Joint (locks two bodies, for advanced) 22
23 ParBal ragdolls add flavor to living characters Not just for death and destrucbon 23
24 More Physics We Are Not Covering Collision response ConservaBon of momentum ElasBc collisions Non- elasbc collisions coefficient of resbtubon Rigid body simulabon (vs. point masses) Joints as constraints to mobon Sov body simulabon [see excellent book by Millington, Game Physics Engine Development, MK, 2007] 47 Outline IntroducBon (done) KinemaBcs (done) The Firing SoluBon (done) Collision DetecBon (done) Ragdoll Physics (done) PhysX (next) 48 24
25 PhysX Overview Developed by NVIDIA for C++ applicabons Windows, Mac, Linux, PlaystaBon, Xbox, Android, Apple ios and Wii Simulate Fluids Sov bodies (cloth, hair) Rigid bodies (boxes, bones) Why Does NVIDIA Make Physics Sovware? NVIDIA is mainly known as a developer and manufacturer of graphics hardware (GPU s) So taking advantage of GPU for hardware accelerabon of their physics engine Algorithms can be tuned to their hardware Giving a compebbve advantage over other GPU manufacturers 50 25
26 Configure Video Card as Dedicated PhysX Processor Dedicated to PhysX What Algorithms Does PhysX Use? Hard to know exactly, because algorithm details are NVIDIA s intellectual property (IP) However from various forums and clues, it is clear PhysX uses: Both sweep and overlap collision detecbon AABB and OBBT and (both axis- aligned and oriented bounding bounding box trees) Constraints: hinges, springs, etc. and lots of other hairy stuff, see hpps://devtalk.nvidia.com/default/board/66/physx- and- physics- modeling/ 52 26
27 Rocket Sled CES 2010, Rocket Sled demonstrates both graphics and physics compubng capabilibes of new GF100 (Fermi) GPUs. Raging Rapids Ride Graphics ok, but with intensive and complex real- Ame fluid simulabon 27
28 Havok Cloth PhysX compebtor bought by Microsov Binary Free! Source code (e.g., to modify), costs How to Use PhsyX General documentabon NVIDIA PhysX SDK DocumentaBon hpp://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/index.html UE4 guide PhysX, IntegraBng PhysX Code into Your Project (by Rama) hpps://wiki.unrealengine.com/physx,_integrabng_physx_code_into_your_project 28
Technical Game Development II. [using materials provided by Mark Claypool] IMGD 4000 (D 08) 1. What is game physics and why is it important?
Basic Game Physics Technical Game Development II Professor Charles Rich Computer Science Department rich@wpi.edu [using materials provided by Mark Claypool] IMGD 4000 (D 08) 1 Introduction What is game
More informationTechnical Game Development II. [some material provided by Mark Claypool] IMGD 4000 (D 10) 1. computing motion of objects in virtual scene
Basic Game Physics Technical Game Development II Professor Charles Rich Computer Science Department rich@wpi.edu [some material provided by Mark Claypool] IMGD 4000 (D 10) 1 Introduction What is game physics?
More informationTechnical Game Development II. [some material provided by Mark Claypool] IMGD 4000 (D 11) 1. computing motion of objects in virtual scene
Basic Game Physics Technical Game Development II Professor Charles Rich Computer Science Department rich@wpi.edu [some material provided by Mark Claypool] IMGD 4000 (D 11) 1 Introduction What is game physics?
More informationIMGD 4000 Technical Game Development II Basic Physics
IMGD 4000 Technical Game Development II Basic Physics Robert W. Lindeman Associate Professor Human Interaction in Virtual Environments (HIVE) Lab Department of Computer Science Worcester Polytechnic Institute
More informationReal-Time Physics Simulation. Alan Hazelden.
Real-Time Physics Simulation Alan Hazelden alan@draknek.org http://www.draknek.org/ Who am I? Studied Computer Science 2005-2009 Warwick Game Design exec member 3rd and 4th year projects: physics engines
More informationA Different Approach for Continuous Physics. Vincent ROBERT Physics Programmer at Ubisoft
A Different Approach for Continuous Physics Vincent ROBERT vincent.robert@ubisoft.com Physics Programmer at Ubisoft A Different Approach for Continuous Physics Existing approaches Our method Limitations
More informationAnimation. CS 4620 Lecture 33. Cornell CS4620 Fall Kavita Bala
Animation CS 4620 Lecture 33 Cornell CS4620 Fall 2015 1 Announcements Grading A5 (and A6) on Monday after TG 4621: one-on-one sessions with TA this Friday w/ prior instructor Steve Marschner 2 Quaternions
More informationCharacter Animation 1
Character Animation 1 Overview Animation is a big topic We will concentrate on character animation as is used in many games today humans, animals, monsters, robots, etc. Character Representation A character
More informationPrinciples of Computer Game Design and Implementation. Lecture 11
Principles of Computer Game Design and Implementation Lecture 11 We already learned Vector operations Sum Subtraction Dot product Cross product A few others about jmonkey, eg. User input, camera, etc 2
More informationPractice problems from old exams for math 233
Practice problems from old exams for math 233 William H. Meeks III October 26, 2012 Disclaimer: Your instructor covers far more materials that we can possibly fit into a four/five questions exams. These
More informationCharacter Animation. Presented by: Pam Chow
Character Animation Presented by: Pam Chow Overview Animation is a big topic We will concentrate on character animation as is used in many games today humans, animals, monsters, robots, etc. PLAZMO AND
More informationMath for Gameplay / AI. John O Brien Senior Gameplay Programmer Insomniac Games, Inc
Math for Gameplay / AI John O Brien Senior Gameplay Programmer Insomniac Games, Inc jobrien@insomniacgames.com jobrien@nc.rr.com Overview Basic Object Intersection Tests Real gameplay example(s) AI-specific
More informationName Period. (b) Now measure the distances from each student to the starting point. Write those 3 distances here. (diagonal part) R measured =
Lesson 5: Vectors and Projectile Motion Name Period 5.1 Introduction: Vectors vs. Scalars (a) Read page 69 of the supplemental Conceptual Physics text. Name at least 3 vector quantities and at least 3
More informationLesson 1: Introduction to Pro/MECHANICA Motion
Lesson 1: Introduction to Pro/MECHANICA Motion 1.1 Overview of the Lesson The purpose of this lesson is to provide you with a brief overview of Pro/MECHANICA Motion, also called Motion in this book. Motion
More informationAnimation. CS 4620 Lecture 32. Cornell CS4620 Fall Kavita Bala
Animation CS 4620 Lecture 32 Cornell CS4620 Fall 2015 1 What is animation? Modeling = specifying shape using all the tools we ve seen: hierarchies, meshes, curved surfaces Animation = specifying shape
More informationPSE Game Physics. Session (3) Springs, Ropes, Linear Momentum and Rotations. Oliver Meister, Roland Wittmann
PSE Game Physics Session (3) Springs, Ropes, Linear Momentum and Rotations Oliver Meister, Roland Wittmann 08.05.2015 Session (3) Springs, Ropes, Linear Momentum and Rotations, 08.05.2015 1 Outline Springs
More informationLearning Objectives. Math Prerequisites. Technology Prerequisites. Materials. Math Objectives. Technology Objectives
Learning Objectives Parametric Functions Lesson 2: Dude, Where s My Football? Level: Algebra 2 Time required: 60 minutes Many students expect a falling object graph to look just like the path of the falling
More informationUsing Bounding Volume Hierarchies Efficient Collision Detection for Several Hundreds of Objects
Part 7: Collision Detection Virtuelle Realität Wintersemester 2007/08 Prof. Bernhard Jung Overview Bounding Volumes Separating Axis Theorem Using Bounding Volume Hierarchies Efficient Collision Detection
More informationChapter 19- Object Physics
Chapter 19- Object Physics Flowing water, fabric, things falling, and even a bouncing ball can be difficult to animate realistically using techniques we have already discussed. This is where Blender's
More informationGraphs, Search, Pathfinding (behavior involving where to go) Steering, Flocking, Formations (behavior involving how to go)
Graphs, Search, Pathfinding (behavior involving where to go) Steering, Flocking, Formations (behavior involving how to go) Class N-2 1. What are some benefits of path networks? 2. Cons of path networks?
More informationROSE-HULMAN INSTITUTE OF TECHNOLOGY
Introduction to Working Model Welcome to Working Model! What is Working Model? It's an advanced 2-dimensional motion simulation package with sophisticated editing capabilities. It allows you to build and
More informationLecture VI: Constraints and Controllers. Parts Based on Erin Catto s Box2D Tutorial
Lecture VI: Constraints and Controllers Parts Based on Erin Catto s Box2D Tutorial Motion Constraints In practice, no rigid body is free to move around on its own. Movement is constrained: wheels on a
More informationSimulation (last lecture and this one)
Simulation (last lecture and this one) How used in games? Dynamics Collisions simple ------------------------------- Collisions harder detection bounding boxes response Controllers Mocap + simulation User
More informationReplicating Chaos Vehicle Replication in Watch Dogs 2. Matt Delbosc Team Lead Programmer Ubisoft Toronto
Replicating Chaos Vehicle Replication in Watch Dogs 2 Matt Delbosc Team Lead Programmer Ubisoft Toronto Network architecture 4-player peer-to-peer No single server Lots of entities to replicate Distributed
More informationCS 378: Computer Game Technology
CS 378: Computer Game Technology Dynamic Path Planning, Flocking Spring 2012 University of Texas at Austin CS 378 Game Technology Don Fussell Dynamic Path Planning! What happens when the environment changes
More informationLast Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation
Last Time? Animation, Motion Capture, & Inverse Kinematics Navier-Stokes Equations Conservation of Momentum & Mass Incompressible Flow Today How do we animate? Keyframing Procedural Animation Physically-Based
More informationLast Time? Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation
Last Time? Inverse Kinematics Navier-Stokes Equations Conservation of Momentum & Mass Incompressible Flow Today How do we animate? Keyframing Procedural Animation Physically-Based Animation Forward and
More informationLecture 25 of 41. Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees
Spatial Sorting: Binary Space Partitioning Quadtrees & Octrees William H. Hsu Department of Computing and Information Sciences, KSU KSOL course pages: http://bit.ly/hgvxlh / http://bit.ly/evizre Public
More informationComputer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling
Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling Welcome to the lectures on computer graphics. We have
More informationOCR Maths M2. Topic Questions from Papers. Projectiles
OCR Maths M2 Topic Questions from Papers Projectiles PhysicsAndMathsTutor.com 21 Aparticleisprojectedhorizontallywithaspeedof6ms 1 from a point 10 m above horizontal ground. The particle moves freely under
More informationIntroduction to Computer Graphics. Animation (2) May 26, 2016 Kenshi Takayama
Introduction to Computer Graphics Animation (2) May 26, 2016 Kenshi Takayama Physically-based deformations 2 Simple example: single mass & spring in 1D Mass m, position x, spring coefficient k, rest length
More informationPlanning in Mobile Robotics
Planning in Mobile Robotics Part I. Miroslav Kulich Intelligent and Mobile Robotics Group Gerstner Laboratory for Intelligent Decision Making and Control Czech Technical University in Prague Tuesday 26/07/2011
More informationCloth Animation with Collision Detection
Cloth Animation with Collision Detection Mara Guimarães da Silva Figure 1: Cloth blowing in the wind. Abstract This document reports the techniques and steps used to implemented a physically based animation
More informationLesson 17: Graphing Quadratic Functions from the Standard Form,
: Graphing Quadratic Functions from the Standard Form, Student Outcomes Students graph a variety of quadratic functions using the form 2 (standard form). Students analyze and draw conclusions about contextual
More informationPROJECTILE MOTION PURPOSE
PURPOSE The purpose of this experiment is to study the motion of an object in two dimensions. The motion of the projectile is analyzed using Newton's laws of motion. During the motion of the projectile,
More informationCollision detection. Piotr Fulma«ski. 1 grudnia
Collision detection Piotr Fulma«ski piotr@fulmanski.pl 1 grudnia 2016 Table of contents Collision in games Algorithms to detect collision in games depend on the type of shapes that can collide (e.g. rectangle
More informationLast Time? Animation, Motion Capture, & Inverse Kinematics. Today. Keyframing. Physically-Based Animation. Procedural Animation
Last Time? Animation, Motion Capture, & Inverse Kinematics Navier-Stokes Equations Conservation of Momentum & Mass Incompressible Flow Today How do we animate? Keyframing Procedural Animation Physically-Based
More informationGraphical Analysis of Kinematics
Physics Topics Graphical Analysis of Kinematics If necessary, review the following topics and relevant textbook sections from Serway / Jewett Physics for Scientists and Engineers, 9th Ed. Velocity and
More information11/3/2011. What You ll See in This Chapter. Word Cloud. How Much Calculus is Needed? A Modest Proposal. Ian Parberry University of North Texas
What You ll See in This Chapter Chapter 11: Mechanics 1: Linear Kinematics & Calculus Fletcher Dunn Valve Software Ian Parberry University of North Texas This chapter gives a taste of linear kinematics
More informationCollision Detection II. These slides are mainly from Ming Lin s course notes at UNC Chapel Hill
Collision Detection II These slides are mainly from Ming Lin s course notes at UNC Chapel Hill http://www.cs.unc.edu/~lin/comp259-s06/ Some Possible Approaches Geometric methods Algebraic techniques Hierarchical
More informationCollision detection. Piotr Fulma«ski. 19 pa¹dziernika Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska
Collision detection Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 19 pa¹dziernika 2015 Table of contents Collision in games Algorithms to detect collision in games depend
More informationEEN118 LAB FOUR. h = v t ½ g t 2
EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical
More informationDYNAMICS FOR ANIMATION. Rémi Ronfard, Animation, M2R MOSIG
DYNAMICS FOR ANIMATION Rémi Ronfard, Animation, M2R MOSIG Summary of physics-based animation Motivation Newton s Laws Point-mass models Rigid and articulated bodies Ragdoll physics From kinematics to dynamics
More informationT6: Position-Based Simulation Methods in Computer Graphics. Jan Bender Miles Macklin Matthias Müller
T6: Position-Based Simulation Methods in Computer Graphics Jan Bender Miles Macklin Matthias Müller Jan Bender Organizer Professor at the Visual Computing Institute at Aachen University Research topics
More informationPong in Unity a basic Intro
This tutorial recreates the classic game Pong, for those unfamiliar with the game, shame on you what have you been doing, living under a rock?! Go google it. Go on. For those that now know the game, this
More informationCollision Detection with Bounding Volume Hierarchies
Simulation in Computer Graphics Collision Detection with Bounding Volume Hierarchies Matthias Teschner Computer Science Department University of Freiburg Outline introduction bounding volumes BV hierarchies
More informationCollision and Proximity Queries
Collision and Proximity Queries Dinesh Manocha (based on slides from Ming Lin) COMP790-058 Fall 2013 Geometric Proximity Queries l Given two object, how would you check: If they intersect with each other
More informationPhysically-Based Laser Simulation
Physically-Based Laser Simulation Greg Reshko Carnegie Mellon University reshko@cs.cmu.edu Dave Mowatt Carnegie Mellon University dmowatt@andrew.cmu.edu Abstract In this paper, we describe our work on
More informationGame Design Unity Workshop
Game Design Unity Workshop Activity 4 Goals: - Creation of small world - Creation of character - Scripting of player movement and camera following Load up unity Build Object: Collisions in Unity Aim: Build
More informationLECTURE 7. Announcements
LECTURE 7 Announcements Minecraft 4 Feedback Looks good! A game that minimally involves platforms Not based on any game in particular Super Mario 64? Team Fortress 2? Completely up to you to make unique
More informationAnnouncements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday
Announcements Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday 1 Spatial Data Structures Hierarchical Bounding Volumes Grids Octrees BSP Trees 11/7/02 Speeding Up Computations
More informationThe Normal Distribution & z-scores
& z-scores Distributions: Who needs them? Why are we interested in distributions? Important link between distributions and probabilities of events If we know the distribution of a set of events, then we
More informationIntegrating Physics into a Modern Game Engine. Object Collision. Various types of collision for an object:
Integrating Physics into a Modern Game Engine Object Collision Various types of collision for an object: Sphere Bounding box Convex hull based on rendered model List of convex hull(s) based on special
More informationLecture VI: Constraints and Controllers
Lecture VI: Constraints and Controllers Motion Constraints In practice, no rigid body is free to move around on its own. Movement is constrained: wheels on a chair human body parts trigger of a gun opening
More informationLECTURE 6. Announcements
LECTURE 6 Announcements Minecraft 3 Feedback Infinite worlds! Terrain looks good Gameplay not super varied Happy Birthday Hassan! The Voxel Engine You re done with your first collision engine! Environment
More informationCreating joints for the NovodeX MAX exporter
Creating joints for the NovodeX MAX exporter (a step-by-step tutorial by Pierre Terdiman) p.terdiman@wanadoo.fr Version 0.3 I) Creating a hinge Here we'll see how to create a hinge joint compatible with
More informationHomework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments?
Homework 1: Questions/Comments? Implicit Surfaces,, & Volumetric Data Structures Loop Subdivision Shirley, Fundamentals of Computer Graphics Loop Subdivision SIGGRAPH 2000 course notes Subdivision for
More informationFounda'ons of Game AI
Founda'ons of Game AI Level 3 Basic Movement Prof Alexiei Dingli 2D Movement 2D Movement 2D Movement 2D Movement 2D Movement Movement Character considered as a point 3 Axis (x,y,z) Y (Up) Z X Character
More information12 - More Steering. from Milligan, "Artificial Intelligence for Games", Morgan Kaufman, 2006
12 - More Steering from Milligan, "Artificial Intelligence for Games", Morgan Kaufman, 2006 Separation commonly used in crowds, when all characters moving in roughly the same direction (repulsion steering)
More informationHomework 2 Questions? Animation, Motion Capture, & Inverse Kinematics. Velocity Interpolation. Handing Free Surface with MAC
Homework 2 Questions? Animation, Motion Capture, & Inverse Kinematics Velocity Interpolation Original image from Foster & Metaxas, 1996 In 2D: For each axis, find the 4 closest face velocity samples: Self-intersecting
More informationAnimation. Keyframe animation. CS4620/5620: Lecture 30. Rigid motion: the simplest deformation. Controlling shape for animation
Keyframe animation CS4620/5620: Lecture 30 Animation Keyframing is the technique used for pose-to-pose animation User creates key poses just enough to indicate what the motion is supposed to be Interpolate
More informationGraphical Analysis of Kinematics
Physics Topics Graphical Analysis of Kinematics If necessary, review the following topics and relevant textbook sections from Serway / Jewett Physics for Scientists and Engineers, 9th Ed. Velocity and
More informationCS 480: GAME AI STEERING BEHAVIORS. 4/12/2012 Santiago Ontañón
CS 480: GAME AI STEERING BEHAVIORS 4/12/2012 Santiago Ontañón santi@cs.drexel.edu https://www.cs.drexel.edu/~santi/teaching/2012/cs480/intro.html Reminders Check BBVista site for the course regularly Also:
More informationAnatomy of a Physics Engine. Erwin Coumans
Anatomy of a Physics Engine Erwin Coumans erwin_coumans@playstation.sony.com How it fits together» Terminology» Rigid Body Dynamics» Collision Detection» Software Design Decisions» Trip through the Physics
More informationEEN118 LAB FOUR. h = v t ½ g t 2
EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical
More informationRECTILINEAR MOVEMENT
RECTILINEAR MOVEMENT This teaching unit continues the study of movement which we began in these two previous units: Moving bodies and Trajectory and Displacement In this one we look separately at Uniform
More informationCOSMOS. Connecting to Accurate, Efficient Assembly Analysis. SolidWorks Corporation. Introduction. Pin Connectors. Bolt Connectors.
WHITE PAPER Connecting to Accurate, Efficient Assembly Analysis CONTENTS Introduction Pin Connectors Bolt Connectors Spring Connectors Spot Weld Connectors 1 2 4 7 8 SolidWorks Corporation INTRODUCTION
More informationAnnouncements: Quiz. Animation, Motion Capture, & Inverse Kinematics. Last Time? Today: How do we Animate? Keyframing. Procedural Animation
Announcements: Quiz Animation, Motion Capture, & Inverse Kinematics On Friday (3/1), in class One 8.5x11 sheet of notes allowed Sample quiz (from a previous year) on website Focus on reading comprehension
More informationEEN118 LAB FOUR. h = v t ½ g t 2
EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical
More informationEEN118 LAB FOUR. h = v t - ½ g t 2
EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical
More informationTwo-Dimensional Projectile Motion
Two-Dimensional Projectile Motion I. Introduction. This experiment involves the study of motion using a CCD video camera in which a sequence of video frames (a movie ) is recorded onto computer disk and
More informationMotion Capture & Simulation
Motion Capture & Simulation Motion Capture Character Reconstructions Joint Angles Need 3 points to compute a rigid body coordinate frame 1 st point gives 3D translation, 2 nd point gives 2 angles, 3 rd
More informationCS770/870 Spring 2017 Animation Basics
Preview CS770/870 Spring 2017 Animation Basics Related material Angel 6e: 1.1.3, 8.6 Thalman, N and D. Thalman, Computer Animation, Encyclopedia of Computer Science, CRC Press. Lasseter, J. Principles
More informationCS770/870 Spring 2017 Animation Basics
CS770/870 Spring 2017 Animation Basics Related material Angel 6e: 1.1.3, 8.6 Thalman, N and D. Thalman, Computer Animation, Encyclopedia of Computer Science, CRC Press. Lasseter, J. Principles of traditional
More informationAnimation. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 4/23/07 1
Animation Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 4/23/07 1 Today s Topics Interpolation Forward and inverse kinematics Rigid body simulation Fluids Particle systems Behavioral
More informationShape of Things to Come: Next-Gen Physics Deep Dive
Shape of Things to Come: Next-Gen Physics Deep Dive Jean Pierre Bordes NVIDIA Corporation Free PhysX on CUDA PhysX by NVIDIA since March 2008 PhysX on CUDA available: August 2008 GPU PhysX in Games Physical
More informationCourse Review. Computer Animation and Visualisation. Taku Komura
Course Review Computer Animation and Visualisation Taku Komura Characters include Human models Virtual characters Animal models Representation of postures The body has a hierarchical structure Many types
More informationA simple example. Assume we want to find the change in the rotation angles to get the end effector to G. Effect of changing s
CENG 732 Computer Animation This week Inverse Kinematics (continued) Rigid Body Simulation Bodies in free fall Bodies in contact Spring 2006-2007 Week 5 Inverse Kinematics Physically Based Rigid Body Simulation
More informationBrief 3ds max Shaping Tutorial
Brief 3ds max Shaping Tutorial Part1: Power Key Axe Shaft Written by Maestro 1. Creation: Go to top view, create a 6 sided cylinder, 0.1 radius this is the perfect shaft thickness to fit in the hand, so
More informationCS 387/680: GAME AI MOVEMENT
CS 387/680: GAME AI MOVEMENT 4/7/2014 Instructor: Santiago Ontañón santi@cs.drexel.edu TA: Alberto Uriarte office hours: Tuesday 4-6pm, Cyber Learning Center Class website: https://www.cs.drexel.edu/~santi/teaching/2014/cs387-680/intro.html
More informationB ABC is mapped into A'B'C'
h. 00 Transformations Sec. 1 Mappings & ongruence Mappings Moving a figure around a plane is called mapping. In the figure below, was moved (mapped) to a new position in the plane and the new triangle
More informationSAMPLE STUDY MATERIAL. Mechanical Engineering. Postal Correspondence Course. Theory of Machines. GATE, IES & PSUs
TOM - ME GATE, IES, PSU 1 SAMPLE STUDY MATERIAL Mechanical Engineering ME Postal Correspondence Course Theory of Machines GATE, IES & PSUs TOM - ME GATE, IES, PSU 2 C O N T E N T TOPIC 1. MACHANISMS AND
More informationAnimation, Motion Capture, & Inverse Kinematics. Announcements: Quiz
Animation, Motion Capture, & Inverse Kinematics Announcements: Quiz On Tuesday (3/10), in class One 8.5x11 sheet of notes allowed Sample quiz (from a previous year) on website Focus on reading comprehension
More informationThe Normal Distribution & z-scores
& z-scores Distributions: Who needs them? Why are we interested in distributions? Important link between distributions and probabilities of events If we know the distribution of a set of events, then we
More informationWhat is a Rigid Body?
Physics on the GPU What is a Rigid Body? A rigid body is a non-deformable object that is a idealized solid Each rigid body is defined in space by its center of mass To make things simpler we assume the
More informationPost Mortem: GPU Accelerated Effects in Borderlands 2
Post Mortem: GPU Accelerated Effects in Borderlands 2 Introduction Speakers: Jim Sanders, FX Director, Gearbox Software Kevin Newkirk, Technical Artist, NVIDIA Welcome to the Borderlands! What is Borderlands2?
More informationDynamic Bounding Volume Hierarchies. Erin Catto, Blizzard Entertainment
Dynamic Bounding Volume Hierarchies Erin Catto, Blizzard Entertainment 1 This is one of my favorite Overwatch maps: BlizzardWorld. This is the spawn area inside the Hearthstone Tavern. 2 All the objects
More informationSimulation in Computer Graphics. Deformable Objects. Matthias Teschner. Computer Science Department University of Freiburg
Simulation in Computer Graphics Deformable Objects Matthias Teschner Computer Science Department University of Freiburg Outline introduction forces performance collision handling visualization University
More informationTo Measure a Constant Velocity. Enter.
To Measure a Constant Velocity Apparatus calculator, black lead, calculator based ranger (cbr, shown), Physics application this text, the use of the program becomes second nature. At the Vernier Software
More informationVector Decomposition
Projectile Motion AP Physics 1 Vector Decomposition 1 Coordinate Systems A coordinate system is an artificially imposed grid that you place on a problem. You are free to choose: Where to place the origin,
More informationVirtual Synchrony. Ki Suh Lee Some slides are borrowed from Ken, Jared (cs ) and JusBn (cs )
Virtual Synchrony Ki Suh Lee Some slides are borrowed from Ken, Jared (cs6410 2009) and JusBn (cs614 2005) The Process Group Approach to Reliable Distributed CompuBng Ken Birman Professor, Cornell University
More informationACTIVITY TWO CONSTANT VELOCITY IN TWO DIRECTIONS
1 ACTIVITY TWO CONSTANT VELOCITY IN TWO DIRECTIONS Purpose The overall goal of this activity is for students to analyze the motion of an object moving with constant velocity along a diagonal line. In this
More informationSpatial Data Structures
CSCI 420 Computer Graphics Lecture 17 Spatial Data Structures Jernej Barbic University of Southern California Hierarchical Bounding Volumes Regular Grids Octrees BSP Trees [Angel Ch. 8] 1 Ray Tracing Acceleration
More informationDiscrete Element Method
Discrete Element Method Midterm Project: Option 2 1 Motivation NASA, loyalkng.com, cowboymining.com Industries: Mining Food & Pharmaceutics Film & Game etc. Problem examples: Collapsing Silos Mars Rover
More informationAccurate 3D Face and Body Modeling from a Single Fixed Kinect
Accurate 3D Face and Body Modeling from a Single Fixed Kinect Ruizhe Wang*, Matthias Hernandez*, Jongmoo Choi, Gérard Medioni Computer Vision Lab, IRIS University of Southern California Abstract In this
More informationCUDA Particles. Simon Green
CUDA Particles Simon Green sdkfeedback@nvidia.com Document Change History Version Date Responsible Reason for Change 1.0 Sept 19 2007 Simon Green Initial draft Abstract Particle systems [1] are a commonly
More informationKINEMATICS FOR ANIMATION. Rémi Ronfard, Animation, M2R MOSIG
KINEMATICS FOR ANIMATION Rémi Ronfard, Animation, M2R MOSIG Direct and inverse kinematics in animation Fast numerical methods for inverse kinematics by Bill Baxter My Adventures with Inverse Kinematics
More informationParticle Systems. Lecture 8 Taku Komura
Particle Systems Computer Animation and Visualisation Lecture 8 Taku Komura Overview Particle System Modelling fuzzy objects (fire, smoke) Modelling liquid Modelling cloth Integration : implicit integration,
More informationThe University of Melbourne Department of Computer Science and Software Engineering Graphics and computation.
The University of Melbourne Department of Computer Science and Software Engineering 433-380 Graphics and computation Project 2, 2007 Set: 16th April Demonstration: week commencing 14th May Electronic submission:
More information3.3 Interpolation of rotations represented by quaternions
3 S 3.3 Interpolation of rotations represented by quaternions : set of unit quaternions ; S :set of unit 3D vectors Interpolation will be performed on 3 S (direct linear interpolation produces nonlinear
More information