Knowledge

Physics engine

Source đź“ť

410:, or the number of moments in time per second when physics is calculated. Each frame is treated as separate from all other frames, and the space between frames is not calculated. A low framerate and a small fast-moving object causes a situation where the object does not move smoothly through space but instead seems to teleport from one point in space to the next as each frame is calculated. Projectiles moving at sufficiently high speeds will miss targets, if the target is small enough to fit in the gap between the calculated frames of the fast moving projectile. Various techniques are used to overcome this flaw, such as 395:
looping handles. For purpose of speed, a second, simplified invisible mesh is used to represent the object to the physics engine so that the physics engine treats the example vase as a simple cylinder. It would thus be impossible to insert a rod or fire a projectile through the handle holes on the vase, because the physics engine model is based on the cylinder and is unaware of the handles. The simplified mesh used for physics processing is often referred to as the collision geometry. This may be a
567:
approximated results of reaction force is due to the slow convergence of typical Projected Gauss Seidel solver resulting in abnormal bouncing. Any type of free-moving compound physics object can demonstrate this problem, but it is especially prone to affecting chain links under high tension, and wheeled objects with actively physical bearing surfaces. Higher precision reduces the positional/force errors, but at the cost of needing greater CPU power for the calculations.
262: 25: 492:, if an object is resting on the floor and the object does not move beyond a minimal distance in about two seconds, then the physics calculations are disabled for the object and it becomes frozen in place. The object remains frozen until physics processing reactivates for the object after collision occurs with some other active physical object. 403:. Engines that use bounding boxes or bounding spheres as the final shape for collision detection are considered extremely simple. Generally a bounding box is used for broad phase collision detection to narrow down the number of possible collisions before costly mesh on mesh collision detection is done in the narrow phase of collision detection. 449:
to model the stress within the 3D object. The stress can be used to drive fracture, deformation and other physical effects with a high degree of realism and uniqueness. As the number of modeled elements is increased, the engine's ability to model physical behavior increases. The visual representation
454:
run on the CPU or GPU. Finite Element-based systems had been impractical for use in games due to the performance overhead and the lack of tools to create finite element representations out of 3D art objects. With higher performance processors and tools to rapidly create the volumetric tessellations,
566:
is the approximated result of the constraint resolutions and collision result due to the slow convergence of algorithms. Collision detection computed at a too low frequency can result in objects passing through each other and then being repelled with an abnormal correction force. On the other hand,
129: 394:
Objects in games interact with the player, the environment, and each other. Typically, most 3D objects in games are represented by two separate meshes or shapes. One of these meshes is the highly complex and detailed shape visible to the player in the game, such as a vase with elegant curved and
248:
physics and are usually used by scientists and computer-animated movies. Real-time physics engines—as used in video games and other forms of interactive computing—use simplified calculations and decreased accuracy to compute in time for the game to respond at an appropriate rate for game play. A
357:
are more important than accuracy of simulation. This leads to designs for physics engines that produce results in real-time but that replicate real world physics only for simple cases and typically with some approximation. More often than not, the simulation is geared towards providing a
613:'s marketing to describe their PhysX chip to consumers. Several other technologies in the CPU-GPU spectrum have some features in common with it, although Ageia's solution was the only complete one designed, marketed, supported, and placed within a system 300:
shells of various mass would land when fired at varying angles and gunpowder charges, also accounting for drift caused by wind. The results were calculated a single time only, and were tabulated into printed tables handed out to the artillery commanders.
444:
is created of the 3D object. The tessellation results in a number of finite elements which represent aspects of the object's physical properties such as toughness, plasticity, and volume preservation. Once constructed, the finite elements are used by a
133: 131: 419:
s representation of projectiles as arrows with invisible trailing tails longer than the gap in frames to collide with any object that might fit between the calculated frames. By contrast, continuous collision detection such as in
631:
Hardware acceleration for physics processing is now usually provided by graphics processing units that support more general computation, a concept known as general-purpose computing on graphics processing units (GPGPU).
132: 485:. Thus, games may put objects to "sleep" by disabling the computation of physics on objects that have not moved a particular distance within a certain amount of time. For example, in the 3D 362:, use physics in puzzles or in combat situations. This requires more accurate physics so that, for example, the momentum of an object can knock over an obstacle or lift a sinking object. 324:. As with many calculation-laden processes in computing, the accuracy of the simulation is related to the resolution of the simulation and the precision of the calculations; 130: 970: 626: 465:
for the deformation and destruction effects of wood, steel, flesh and plants using an algorithm developed by Dr. James O'Brien as a part of his PhD thesis.
451: 320:, wind tunnel data for designing air- and watercraft or motor vehicles including racecars, and thermal cooling of computer processors for improving 581:
A physics processing unit (PPU) is a dedicated microprocessor designed to handle the calculations of physics, especially in the physics engine of
335:
types will perform under wet and dry conditions, using new tire materials of varying flexibility and under different levels of weight loading.
296:, was used as a very simple type of physics engine. It was used to design ballistics tables to help the United States military estimate where 1062: 757: 139:
These are four examples of a physics engine simulating an object falling onto a slope. The examples differ in accuracy of the simulation:
605:, and fracturing of objects. The idea is that specialized processors offload time-consuming tasks from a computer's CPU, much like how a 1099: 481:
engine, such constant active precision is unnecessarily wasting the limited CPU power, which can cause problems such as decreased
380:
simulation is sometimes provided to simulate water and other liquids as well as the flow of fire and explosions through the air.
312:
that are combined to show circulation. Due to the requirements of speed and high precision, special computer processors known as
1217: 933: 89: 923: 61: 658: 974: 512:
component responsible for solving the forces affecting the simulated objects. Modern physics engines may also contain
68: 1315: 811: 108: 1320: 42: 75: 896: 457: 46: 1092: 513: 305: 57: 529: 949: 699: 241: 1310: 1134: 899:
Impulse/constraint physics engines require a solver for such problems to handle multi-point collisions.
675:
is an example of a physics engine that can use GPGPU based hardware acceleration when it is available.
365: 358:"perceptually correct" approximation rather than a real simulation. However some game engines, such as 316:
were developed to accelerate the calculations. The techniques can be used to model weather patterns in
225: 209: 1192: 273: 477:
jitter to all particles in our universe as the forces push back and forth against each other. For a
1253: 1085: 789: 540: 462: 244:
and high-precision. High-precision physics engines require more processing power to calculate very
1070: 902: 886: 805: 715: 602: 576: 372:
because they are faster and easier to calculate, but modern games and movies are starting to use
249:
physics engine is essentially a big calculator that does mathematics needed to simulate physics.
35: 376:. Soft body physics are also used for particle effects, liquids and cloth. Some form of limited 762: 245: 824: 815: 754:
Modeling and the simulation of mechanical systems with contact, impact and Coulomb's friction
563: 82: 1182: 1177: 1129: 871: 729: 724: 509: 359: 217: 8: 1258: 1248: 1172: 891: 876: 594: 586: 501: 389: 369: 317: 189: 185: 177: 152: 1268: 1222: 1047: 881: 590: 533: 505: 373: 193: 1273: 1162: 929: 830: 710: 640:
provide support for rigid body dynamics computations on their latest graphics cards.
547: 421: 304:
Physics engines have been commonly used on supercomputers since the 1980s to perform
201: 173: 1263: 1238: 794: 661:) technology that offers both a low and high-level API to the GPU. For their GPUs, 646: 425: 325: 313: 197: 554:
Finally, hybrid methods are possible that combine aspects of the above paradigms.
436:
An alternative to using bounding box-based rigid body physics systems is to use a
1187: 1139: 866: 474: 237: 221: 213: 181: 1010: 620: 1207: 745: 734: 666: 598: 517: 437: 377: 524:
tools. There are three major paradigms for the physical simulation of solids:
450:
of the 3D object is altered by the finite element system through the use of a
1304: 609:
performs graphics operations in the main CPU's place. The term was coined by
486: 328:
not modeled in the simulation can drastically change the predicted results.
1124: 861: 478: 455:
real-time finite element systems began to be used in games, beginning with
441: 396: 348: 309: 1077: 995:
Erleben, Kenny; Sporring, Jon; Henriksen, Knud; Dohlmann, Henrik (2005).
489: 412: 406:
Another aspect of precision in discrete collision detection involves the
400: 344: 1030: 261: 1289: 800: 582: 332: 205: 500:
Physics engines for video games typically have two core components, a
1167: 649:
supports a GPU-based Newtonian physics acceleration technology named
482: 407: 321: 297: 24: 971:"Doc:Manual/Game Engine/Logic/Object type/Rigid body - BlenderWiki" 702:- open source hardware accelerated multiphysics simulation software 354: 748:- An open source simulation engine for multi-physics applications. 1243: 1212: 820: 751: 521: 473:
In the real world, physics is always active. There is a constant
145: 994: 848: 643: 637: 446: 331:
Tire manufacturers use physics simulations to examine how new
1197: 1157: 740: 705: 672: 621:
General-purpose computing on graphics processing unit (GPGPU)
610: 528:
Penalty methods, where interactions are commonly modelled as
440:-based system. In such a system, a 3-dimensional, volumetric 293: 851:- Visual Simulation engine for linear and nonlinear dynamics 220:. The term is sometimes used more generally to describe any 1202: 776: 654: 532:
systems. This type of engine is popular for deformable, or
662: 633: 606: 585:. Examples of calculations involving a PPU might include 1011:"NVIDIA 8800 features page - Quantum Effects Technology" 16:
Software for approximate simulation of physical systems
950:"Graphical Modeling and Animation of Brittle Fracture" 737:- A uniform API that supports multiple physics engines 627:
General-purpose computing on graphics processing units
158:
Gravity, collision detection and rotation calculations
721:
Jolt Physics - Horizon Forbidden West physics engine
353:
In most computer games, speed of the processors and
212:). Their main uses are in video games (typically as 49:. Unsourced material may be challenged and removed. 842: 669:(CTM), which provides a thin hardware interface. 1302: 570: 973:. Wiki.blender.org. 2009-11-20. Archived from 1093: 1069:. Digital Rune. Mar 30, 2015 . Archived from 758:SOFA (Simulation Open Framework Architecture) 683: 292:One of the first general purpose computers, 779:(Dax Phyz) - 2.5D physics simulator/editor. 236:There are generally two classes of physics 224:for simulating physical phenomena, such as 1107: 1100: 1086: 921: 368:character animation in the past only used 127: 109:Learn how and when to remove this message 216:), in which case the simulations are in 784:Closed source/limited free distribution 543:are solved that estimate physical laws. 308:modeling, where particles are assigned 1303: 1218:Simulation Open Framework Architecture 383: 226:high-performance scientific simulation 1081: 653:. NVIDIA provides an SDK Toolkit for 431: 252: 688: 256: 47:adding citations to reliable sources 18: 659:Compute Unified Device Architecture 550:are applied to object interactions. 13: 1039: 562:A primary limit of physics engine 468: 14: 1332: 1055: 601:, hair and clothing simulation, 539:Constraint based methods, where 260: 23: 925:Game Physics Engine Development 735:PAL (Physics Abstraction Layer) 338: 34:needs additional citations for 1031:Jolt Physics GitHub Repository 1024: 1003: 988: 963: 942: 922:Millington, Ian (2007-03-07). 915: 897:Linear complementarity problem 843:High precision physics engines 557: 458:Star Wars: The Force Unleashed 428:does not suffer this problem. 231: 1: 908: 665:offers a similar SDK, called 571:Physics processing unit (PPU) 546:Impulse based methods, where 176:that provides an approximate 1112: 1051:. O'Reilly & Associates. 952:. Graphics.eecs.berkeley.edu 495: 306:computational fluid dynamics 7: 1048:Physics for Game Developers 855: 700:Advanced Simulation Library 200:, of use in the domains of 10: 1337: 1135:Physically based animation 678: 651:Quantum Effects Technology 624: 574: 387: 342: 1282: 1231: 1193:Physics Abstraction Layer 1148: 1120: 684:Real-time physics engines 126: 1316:Computer physics engines 1254:Digital Molecular Matter 790:Digital Molecular Matter 463:Digital Molecular Matter 155:, no rigid body dynamics 148:, no collision detection 1045:Bourg, David M. (2002) 997:Physics-Based Animation 903:Finite Element Analysis 887:Physics processing unit 716:Chipmunk physics engine 603:finite element analysis 577:Physics processing unit 1321:Video game development 1063:"Physics Engines List" 763:Tokamak physics engine 825:Algoryx Simulation AB 816:Algoryx Simulation AB 808:by CMLabs Simulations 1183:Open Dynamics Engine 1178:Newton Game Dynamics 1130:Procedural animation 872:Procedural animation 730:Open Dynamics Engine 725:Newton Game Dynamics 541:constraint equations 43:improve this article 892:Cell microprocessor 877:Rigid body dynamics 718:- 2D physics engine 595:collision detection 587:rigid body dynamics 510:dynamics simulation 502:collision detection 390:Collision detection 384:Collision detection 370:rigid body dynamics 318:weather forecasting 190:collision detection 186:rigid body dynamics 153:collision detection 123: 882:Soft body dynamics 591:soft body dynamics 506:collision response 452:deformation shader 432:Soft-body dynamics 326:small fluctuations 272:. You can help by 253:Scientific engines 194:soft body dynamics 121: 1311:Computer graphics 1298: 1297: 935:978-1-4822-6732-7 839: 838: 831:Valve Corporation 534:soft-body physics 522:asset integration 514:fluid simulations 374:soft body physics 314:vector processors 290: 289: 202:computer graphics 174:computer software 166: 165: 134: 119: 118: 111: 93: 1328: 1239:AGX Multiphysics 1102: 1095: 1088: 1079: 1078: 1074: 1033: 1028: 1022: 1021: 1019: 1018: 1007: 1001: 1000: 992: 986: 985: 983: 982: 967: 961: 960: 958: 957: 946: 940: 939: 919: 812:AGX Multiphysics 689: 647:GeForce 8 series 508:system, and the 418: 366:Physically-based 285: 282: 264: 257: 182:physical systems 136: 135: 124: 120: 114: 107: 103: 100: 94: 92: 58:"Physics engine" 51: 27: 19: 1336: 1335: 1331: 1330: 1329: 1327: 1326: 1325: 1301: 1300: 1299: 1294: 1278: 1227: 1150: 1144: 1140:Ragdoll physics 1116: 1109:Physics engines 1106: 1073:on Mar 9, 2016. 1061: 1058: 1042: 1040:Further reading 1037: 1036: 1029: 1025: 1016: 1014: 1009: 1008: 1004: 993: 989: 980: 978: 969: 968: 964: 955: 953: 948: 947: 943: 936: 920: 916: 911: 867:Ragdoll physics 858: 845: 840: 686: 681: 629: 623: 579: 573: 560: 518:control systems 498: 475:Brownian motion 471: 469:Brownian motion 434: 416: 392: 386: 351: 343:Main articles: 341: 286: 280: 277: 270:needs expansion 255: 234: 222:software system 162: 161: 128: 115: 104: 98: 95: 52: 50: 40: 28: 17: 12: 11: 5: 1334: 1324: 1323: 1318: 1313: 1296: 1295: 1293: 1292: 1286: 1284: 1283:Related topics 1280: 1279: 1277: 1276: 1271: 1266: 1261: 1256: 1251: 1246: 1241: 1235: 1233: 1229: 1228: 1226: 1225: 1220: 1215: 1210: 1208:Project Chrono 1205: 1200: 1195: 1190: 1185: 1180: 1175: 1170: 1165: 1160: 1154: 1152: 1146: 1145: 1143: 1142: 1137: 1132: 1127: 1121: 1118: 1117: 1105: 1104: 1097: 1090: 1082: 1076: 1075: 1057: 1056:External links 1054: 1053: 1052: 1041: 1038: 1035: 1034: 1023: 1002: 987: 962: 941: 934: 913: 912: 910: 907: 906: 905: 900: 894: 889: 884: 879: 874: 869: 864: 857: 854: 853: 852: 844: 841: 837: 836: 835: 834: 827: 818: 809: 803: 797: 792: 786: 785: 781: 780: 773: 772: 767: 766: 765: 760: 755: 749: 746:Project Chrono 743: 738: 732: 727: 722: 719: 713: 708: 703: 696: 695: 687: 685: 682: 680: 677: 667:Close to Metal 625:Main article: 622: 619: 599:fluid dynamics 575:Main article: 572: 569: 559: 556: 552: 551: 544: 537: 497: 494: 470: 467: 438:finite element 433: 430: 388:Main article: 385: 382: 378:fluid dynamics 340: 337: 288: 287: 267: 265: 254: 251: 233: 230: 198:fluid dynamics 170:physics engine 164: 163: 160: 159: 156: 149: 143: 138: 137: 122:Physics engine 117: 116: 31: 29: 22: 15: 9: 6: 4: 3: 2: 1333: 1322: 1319: 1317: 1314: 1312: 1309: 1308: 1306: 1291: 1288: 1287: 1285: 1281: 1275: 1272: 1270: 1267: 1265: 1262: 1260: 1257: 1255: 1252: 1250: 1247: 1245: 1242: 1240: 1237: 1236: 1234: 1230: 1224: 1221: 1219: 1216: 1214: 1211: 1209: 1206: 1204: 1201: 1199: 1196: 1194: 1191: 1189: 1186: 1184: 1181: 1179: 1176: 1174: 1171: 1169: 1166: 1164: 1161: 1159: 1156: 1155: 1153: 1147: 1141: 1138: 1136: 1133: 1131: 1128: 1126: 1123: 1122: 1119: 1114: 1110: 1103: 1098: 1096: 1091: 1089: 1084: 1083: 1080: 1072: 1068: 1064: 1060: 1059: 1050: 1049: 1044: 1043: 1032: 1027: 1012: 1006: 998: 991: 977:on 2011-10-01 976: 972: 966: 951: 945: 937: 931: 928:. CRC Press. 927: 926: 918: 914: 904: 901: 898: 895: 893: 890: 888: 885: 883: 880: 878: 875: 873: 870: 868: 865: 863: 860: 859: 850: 847: 846: 832: 828: 826: 822: 819: 817: 813: 810: 807: 804: 802: 798: 796: 793: 791: 788: 787: 783: 782: 778: 775: 774: 771:Public domain 770: 769: 768: 764: 761: 759: 756: 753: 750: 747: 744: 742: 739: 736: 733: 731: 728: 726: 723: 720: 717: 714: 712: 709: 707: 704: 701: 698: 697: 693: 692: 691: 690: 676: 674: 670: 668: 664: 660: 656: 652: 648: 645: 641: 639: 635: 628: 618: 616: 612: 608: 604: 600: 596: 592: 588: 584: 578: 568: 565: 555: 549: 545: 542: 538: 535: 531: 527: 526: 525: 523: 519: 515: 511: 507: 503: 493: 491: 488: 487:virtual world 484: 480: 476: 466: 464: 460: 459: 453: 448: 443: 439: 429: 427: 423: 415: 414: 409: 404: 402: 399:, sphere, or 398: 391: 381: 379: 375: 371: 367: 363: 361: 356: 350: 346: 336: 334: 329: 327: 323: 319: 315: 311: 310:force vectors 307: 302: 299: 295: 284: 275: 271: 268:This section 266: 263: 259: 258: 250: 247: 243: 239: 229: 227: 223: 219: 215: 211: 207: 203: 199: 195: 191: 187: 183: 179: 175: 171: 157: 154: 150: 147: 144: 141: 140: 125: 113: 110: 102: 91: 88: 84: 81: 77: 74: 70: 67: 63: 60: â€“  59: 55: 54:Find sources: 48: 44: 38: 37: 32:This article 30: 26: 21: 20: 1125:Game physics 1108: 1071:the original 1066: 1046: 1026: 1015:. Retrieved 1013:. Nvidia.com 1005: 996: 990: 979:. Retrieved 975:the original 965: 954:. Retrieved 944: 924: 917: 862:Game physics 671: 650: 642: 630: 614: 580: 561: 553: 516:, animation 499: 479:game physics 472: 456: 442:tessellation 435: 411: 405: 397:bounding box 393: 364: 352: 349:Game physics 339:Game engines 330: 303: 291: 278: 274:adding to it 269: 235: 169: 167: 151:Gravity and 105: 96: 86: 79: 72: 65: 53: 41:Please help 36:verification 33: 1232:Proprietary 1151:open source 829:Rubikon by 694:Open source 615:exclusively 583:video games 558:Limitations 530:mass-spring 490:Second Life 413:Second Life 401:convex hull 345:Game engine 281:August 2010 232:Description 206:video games 188:(including 180:of certain 99:August 2010 1305:Categories 1290:Tire model 1017:2010-08-16 981:2010-08-16 956:2012-09-01 909:References 801:Epic Games 617:as a PPU. 461:that used 333:tire tread 322:heat sinks 214:middleware 208:and film ( 184:, such as 178:simulation 142:No physics 69:newspapers 1168:Cannon.js 799:Chaos by 496:Paradigms 483:framerate 408:framerate 298:artillery 242:real-time 218:real-time 1259:Euphoria 1249:Chipmunk 1173:Chipmunk 1067:Database 856:See also 644:NVIDIA's 548:impulses 355:gameplay 1269:Reactor 1244:Algodoo 1223:Tokamak 1213:Siconos 821:Algodoo 752:Siconos 679:Engines 564:realism 246:precise 238:engines 146:Gravity 83:scholar 1274:Vortex 1163:Bullet 1149:Free / 932:  849:VisSim 806:Vortex 711:Bullet 638:NVIDIA 447:solver 422:Bullet 360:Source 196:, and 85:  78:  71:  64:  56:  1264:Havok 1198:PhysX 1158:Box2D 833: 795:Havok 741:PhysX 706:Box2D 673:PhysX 611:Ageia 426:Havok 417:' 294:ENIAC 90:JSTOR 76:books 1203:Phyz 1188:OPAL 1113:list 930:ISBN 777:Phyz 655:CUDA 636:and 520:and 347:and 62:news 823:by 814:by 663:AMD 634:AMD 607:GPU 424:or 276:. 210:CGI 192:), 172:is 45:by 1307:: 1065:. 597:, 593:, 589:, 240:: 228:. 204:, 168:A 1115:) 1111:( 1101:e 1094:t 1087:v 1020:. 999:. 984:. 959:. 938:. 657:( 536:. 504:/ 283:) 279:( 112:) 106:( 101:) 97:( 87:· 80:· 73:· 66:· 39:.

Index


verification
improve this article
adding citations to reliable sources
"Physics engine"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
Gravity
collision detection
computer software
simulation
physical systems
rigid body dynamics
collision detection
soft body dynamics
fluid dynamics
computer graphics
video games
CGI
middleware
real-time
software system
high-performance scientific simulation
engines
real-time
precise

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑