A study on game physics engine focused on real time physics

물리 엔진에 관한 고찰 : 실시간 물리 기술을 중심으로

  • Ha, You-Jong (Dept. of Image Eng., Graduate School of Advanced Imaging Science Multimedia & Film, Chung-Ang University) ;
  • Park, Kyoung-Ju (Dept. of Image Eng., Graduate School of Advanced Imaging Science Multimedia & Film, Chung-Ang University)
  • 하유종 (중앙대학교 첨단영상대학원 영상학과) ;
  • 박경주 (중앙대학교 첨단영상대학원 영상학과)
  • Published : 2009.10.20

Abstract

This paper analyzes the four game physics engines in terms of real time techniques. Real time physics is the technology that simplifies the physics-based simulation to apply for the real time applications such as game. Our study includes two commercial physics engines, Havok's Physics SDK and NVIDIA's PhysX SDK, and two open source projects, Open Dynamics Engine and Bullet physics engine. As a result, most of them covers rigid body dynamics and some include either deformable body simulation or fluids simulation, or both. For real time simulation, they adopt the simplified numerical methods, the effective in collision detection/response, and also use the parallel processing hardwares, i.e., multi core CPU, Physics processing unit(PPU), or graphics processing unit(GPU).

본 연구는 게임 물리 엔진을 실시간 물리 기술의 관점으로 고찰한다. 실시간 물리 기술이란 물리 시뮬레이션 기술을 게임에 적용하기 위해서 간략화 하는 기술을 말한다. 조사 대상으로 상용 물리 엔진인 Havok Physics SDK와 NVIDIA PhysX SDK를 선택하였고, 오픈 소스기반 물리 엔진인 ODE와 Bullet을 선택하였다. 그 결과 물리 엔진은 강체 역학, 변형체 시뮬레이션, 유체 시뮬레이션을 구현하고 있었고, 실시간 시뮬레이션을 위해서 수식의 간략화, 충돌 처리의 효율성 재고 등 소프트웨어 측면의 기술과 멀티 코어 CPU의 이용, PPU, GPU 활용 등 병렬처리 하드웨어 기술을 사용하고 있었다.

Keywords

References

  1. Ian Millington, "Game Physics Engine Development", Morgan Kaufmann, pp.3, 2007
  2. Akenine-Moller, T., Haines, E., "REAL-TIME RENDERING 2nd editiion", AK Press, 2002
  3. 신병석, 오경수 역, "REAL-TIME RENDERING 2판", 정보문화사, pp.20, 2003
  4. http//www.gpgstudy.com
  5. http://www.gamespot. co.kr
  6. Mason McCuskey, "Special Effects Game Programming With DirectX", Premire Publishing, 2001
  7. SPHERE 역, "Special Effects Game Programming With DirectX", 민커뮤니케이션, 2002
  8. http//www.pixelux.com
  9. http://www.ode.org
  10. A. Witkin and D.Baraff, "Physically Based Modelling", ACM SIGGRAPH 2001 Course Notes, 2001.
  11. D. Stwart and J.Tringkle, "An implicit time-stepping scheme for rigid body dynamics with coulomb friction", Proceedings of the 2000 IEEE International Conference on Robotics & Automation San Francisco, CA Aprill 2000
  12. Mihai Anitescu and Florian A. Potra, "A time- stepping method for stiff multibody dynamics with contact and friction", Int. J. Numer. Meth. Engng 2002; 55:753-784 https://doi.org/10.1002/nme.512
  13. Roman Durikovic and Katsuhiro Numata, "Human Hand Model based on Rigid Body Dynamics", Proceedings of the Information Visualisation, Eighth International Conference, pp. 853-857, 2004.
  14. Kosei Demura, "Robot Simulation-Robot programming with Open Dynamics Engine", Morikita Publishing Co. Ltd, Tokyo, 2007
  15. http://www.bulletphysics.org
  16. Gine van den Bergen, "Collision Detection in Interactive 3D Environments", Morgan Kaufmann, 2003
  17. Kenny Erleben, Jon Sporring, Knud Henriksen, Henrik Dohlmann, "Physics Based Animation", Charles River Media, 2005
  18. Christer Ericson, "Real-Time Collision Detection", Morgan Kaufmann, 2005
  19. http://www.havok.com
  20. http://developer.nvidia.com/object/physx.html
  21. Matthias Muller et al. "Particle-Based Fluid Simulation for Interactive Applications", Eurographics/SIGGRAPH Symposium on Computer Animation, 2003
  22. http://developer.nvidia.com/object/apex.html
  23. Adrian Boeing et al., "Evaluation of real-time physics simulation systems". December 2007 GRAPHITE '07: Proceedings of the 5th international conference on Computer graphics and interactive techniques in Australia and Southeast Asia, pp.208-288, 2007
  24. http://www.adrianboeing.com/pal/index.html