물리 엔진

물리 엔진(Physics engine)은 물체의 움직임과 상호작용을 수학적 모델에 따라 계산하는 소프트웨어 구성 요소다. 게임 엔진에서는 충돌과 접촉, 중력에 따른 이동, 관절과 구속 조건 등을 처리하여 물체가 게임 세계 안에서 일정한 물리 법칙에 따라 반응하도록 만든다.

영문명Physics engine
분류소프트웨어, 게임 엔진 구성 요소
주요 기능충돌 판정, 강체 시뮬레이션, 제약 조건, 운동 계산
활용 분야비디오 게임, 로봇, 시뮬레이션, 애니메이션
관련 기술수치해석, 컴퓨터 그래픽스, 게임 개발

물리 엔진(Physics engine)은 물체의 움직임과 상호작용을 수학적 모델에 따라 계산하는 소프트웨어 구성 요소다. 게임 엔진에서는 충돌과 접촉, 중력에 따른 이동, 관절과 구속 조건 등을 처리하여 물체가 게임 세계 안에서 일정한 물리 법칙에 따라 반응하도록 만든다.

일반적인 물리 엔진은 충돌 가능성이 있는 물체 쌍을 빠르게 찾는 광역 충돌 감지, 정확한 접촉 정보를 계산하는 협역 충돌 감지, 속도와 위치를 갱신하는 적분 및 제약 해석 단계로 구성된다. 요구 사항에 따라 2차원·3차원 강체, 연체, 천, 유체 또는 차량 동역학 등의 시뮬레이션을 지원하기도 한다.

물리 엔진은 비디오 게임뿐 아니라 로봇 제어 연구, 설계 검증, 가상 훈련, 애니메이션과 시뮬레이션에도 활용된다. 엔진을 사용하는 게임·개발 도구와 물리 엔진 자체의 기술 계보, 통합 방식, 라이선스를 구분하여 연결할 수 있다.

역사

초기 충돌 처리

실시간 강체 시뮬레이션

범용 물리 미들웨어

기본 개념

물체와 충돌 형상

질량과 관성

힘과 운동

시간 간격과 수치 적분

충돌 감지

광역 충돌 감지

협역 충돌 감지

연속 충돌 감지

동역학

강체

관절과 제약 조건

마찰과 반발

캐릭터 컨트롤러

확장 시뮬레이션

연체

천과 머리카락

유체

차량

엔진 통합

게임 엔진과의 관계

결정성과 재현성

병렬 처리

대표 물리 엔진

물리 엔진을 사용하는 소프트웨어

활용 분야

관련 문서