E D R , A S I H C RSS

물리 엔진

last modified: 2015-03-06 23:46:09 by Contributors

Contents

1. 설명
2. 물리 엔진 목록(가나다순)

1. 설명

Lagoa Multiphysics 1.0 - Teaser from Thiago Costa on Vimeo.

이런 걸 표현할 수 있게 해주는 것.[1]
물론 위 영상의 효과를 게임용으로 사용하진 못하지만 프리렌더링으로 가능하단 소리는 렌더링의 성능만 실시간 렌더링 수준으로 빨라지는 날이 온다면[2]얼마든지 게임에서 구현이 가능한 기술이다.

물리 엔진이란, 게임 등에서 물체의 움직임을 관할하는 프로그램이다. 절대로 자동차 엔진처럼 생긴 게 컴퓨터에서 뭔 짓 거리 하는게 아니다. 종종 엔진이라는 용어 하나로 엉뚱한 데로 가는 사람이 있다.

가장 대표적인 엔진 두 가지를 뽑자면, 하프 라이프 2, 컴퍼니 오브 히어로즈 등에 채용된 인텔하복 엔진, 그리고 언리얼 엔진 3을 사용한 게임들로부터 자주 볼 수 있는 nVIDIA피직스 엔진이 있다. 이것 외에도 GTA 4가 사용한 유포리아 엔진처럼 특정 부분에 전문화된 엔진도 있으나, 대부분의 게임은 앞서 기술한 두 개의 범용 물리 엔진을 사용하고 있다.

게임에서만 쓰이는 건 아니고 영화 등의 3D 영상 분야에선 옛날부터 쓰였고, 겨울왕국에서 사용된 물리엔진 또한 자동차 설계에서의 가상 충돌실험도 물리 엔진을 사용한다고 볼 수 있다. 컴퓨터로 뉴턴 역학을 시뮬레이션하는 거야 아예 최초의 컴퓨터인 에니악이 탄도를 계산하기 위한 목적에서 만들어졌으니 그 역사는 매우 깊다고 할 수 있다. 게임에 있어서 (현대적인 의미의) 물리 엔진이 게이머들에게 널리 알려지게 된 계기는 하프 라이프 2의 테크 데모였다. 물론 원시적인 충돌· 탄도 계산 등은 그 이전 게임들에도 존재해왔고, 래그돌 등을 포함한 현대적인 물리 효과도 1998년 작인 트레스페서를 시작으로 여러 게임에서 먼저 선보이긴 했다. 하프 라이프 2가 물리 엔진에 끼친 가장 큰 업적은 게임 내 대부분의 오브젝트에 물리 엔진을 도입한[3] 것이 크다.

초기에는 이 물리 엔진만 가속시키는 프로세서(PPU)가 따로 있었지만[4], 그래픽카드와 유사성과 비싼 가격 때문에 사장되고 그래픽카드로 그 기능이 흡수되었다. 존 카맥은 이 물리 가속 카드에 대해서 매우 부정적인 전망을 내비친 적이 있다.

오픈소스계에도 물리엔진이 좀 있다. 대표적인 것으로는 영화 2012에서 쓰였던 이력과 Blender라는 3D 프로그램에 내장되는 등으로 사용되어 유명해진 불릿 엔진.


2. 물리 엔진 목록(가나다순)

----
  • [1] 정확히 말하면 위에것은 실시간 렌더링이 아니다. 저 정도의 영상을 뽑아내기 위해서는 짧아도 몇 시간, 길게는 며칠(...) 동안 렌더링을 돌려야 한다. 물론 해상도가 높거나 연산해야 할 객체가 많다면 시간은 기하급수적으로 늘어난다. 다시 말해 게임같은거엔 못쓴다는것. 다만 요즘에는 CPU에만 의지하는게 아니라 GPGPU 를 사용해 즉, CUDA, OpenCL 을 사용하여 저 정도 성능의 성능이 내는것이 가능하며, 실제로 OpenCL 데모란에 다수의 지오메트리를 GPU를 이용해 계산하는 데모가 있지만, 아직 상용화 되어있는 엔진은 없다.
  • [2] 무어의 법칙에 의해 그 시간은 18개월마다 2배씩 빨라진다.
  • [3] 당시로서는 혁신적이었다.
  • [4] 거의 흑역사로 묻혔다. 왜냐하면 해당 카드를 사용하면 확실히 빨라지기는 하나 cpu로도 충분히 연산 시킬 수 있었으며 ageia를 nVIDIA가 먹고 자사의 그래픽 카드로 ppu의 역할을 가능하도록 드라이버를 내놨는데 동시대의 저가형 그래픽 카드보다도 연산이 훨씬 느렸다.
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2015-03-06 23:46:09
Processing time 0.0569 sec