2009-04-30 6 views
15

나는 지난 몇 주 동안 the Open Dynamics Engine (ODE)을 사용하여 큰 성공을 거뒀습니다. 그것은 매우 간단 API와 그 시뮬레이션 적어도 보세요. (때로는 내 충돌 공동 매개 변수에 대해 궁금해합니다.)오픈 소스 피직스 엔진

나의 유일한 불만은 때때로 개라는 것입니다. 내가 순전히 상호 작용하는 신체의 1000s를 시뮬레이트한다면, 나의 성능은 다이빙하기 시작합니다.

충돌 시스템의 부하를 줄이기 위해 공간 격자를 사용하여 시간을 보낼 수는 있지만, ODE로 작업하기 위해 코드를 조정하기 전에 어떤 다른 오픈 소스/서버가 있는지 궁금합니다. 가치가있는 무료 물리 엔진은입니다. 이것은 상용 응용 프로그램을위한 것이므로 일부 대학생의 주말 프로젝트보다 더 견고하고 더 많은 전투 테스트를 찾고 있습니다.

답변

21

은 매우 까다 롭습니다, 그리고 하복 (Havok) 같은 사람은 당연히 기술의 보호입니다. 제가 알고, 상기 자유 체제는 다음과 같습니다 뉴턴 게임 역학

  • -이 사람은 성능의 비용으로, 매우 정확하고 안정적인 해결사를 필요에 명성을했다. 지난 몇 년 동안 다른 두 가지를 희생하지 않고 성능을 얻으려고 노력했습니다. 그것은 잘 설계된 엔진이며 잘 동작하지만, 여전히 느린 엔진 중 하나입니다. 오픈 소스가 아닙니다.
  • 토카막 - 정확히 반대입니다. 이것은 끔찍한 일이다. 그들의 데모조차도 안정적으로 작동하지 않습니다. 상자를 쌓아 올리면 방대한 지터를 볼 수 있습니다. 나는 결코 감명을받지 못했다. 그것은 오픈 소스이며 격렬히 빠릅니다.
  • 글 머리표 - 이전 Havok 직원이 이끄는이 사람은 현재 소니에 고용되어 있습니다 (SOE 또는 SCEA인지는 기억이 나지 않지만). 이것은 장면의 초보자이며 실제로는 오픈 소스입니다. 그것은 무거운 소니의 후원을 가지고 있으며, 그것은 훌륭하게 크로스 플랫폼이며, 그들이하는 일을 알고있는 사람들이 개발했습니다.
  • TrueAxis - 최근 등장한 장면. 저는 그것에 대해 많이 알지 못하며, 실질적인 커뮤니티를 얻지 못했습니다. 나는 약간 회의적 인 경향이있다. 그것은 잘 쓰여질 수 있지만, 작은 지역 사회의 도움으로 어려움을 겪을 수 있으며, 다른 사람들과 비교했을 때 잘 테스트되고 안정적인 엔진이 아닐 수도 있습니다.

나는 Bullet 자신의 팬이다.하지만 그것에 대한 기타 불만을 들었다. 그들 대부분은 가난한 문서화, 또는 Mac과 같은 일부 보조 플랫폼의 가끔 문제를 중심으로하는 것 같습니다. "Big 2", Havok 및 PhysX 이후 여전히 내 선택입니다.

+0

나는이 질문에 기뻐합니다. 글 머리 기호는 실제로 내가 찾고있는 것과 똑같이 들립니다. –

+0

글 머리 기호 또한 게임 엔진의 형태로 블렌더에 통합되어 있습니다. – new123456

+0

Newton is open source : https://github.com/MADEAPPS/newton-dynamics/ – Dmitriy

5

Bullet은 멋지며 상업적으로 사용되었습니다 (예 : Bolt 및 여러 PS3/Wii 게임 제작시). 많은 platforma 및 nVidia의 CUDA까지 지원합니다.

4

는 상업적 용도로 무료이며 소스를 사용할 수 있습니다.

설명서가 훨씬 더 좋을 수도 있지만 시작시 도움이 될 수있는 포럼 및 예제가 있습니다.

2

Farseer 매우 좋습니다. 빠르고, 정확하고 안정적인 해결사를 구축

http://www.codeplex.com/FarseerPhysics

+2

이것이 C#의 2D 엔진이므로 ODE보다 성능이 낮고 속도가 느리고 OP가 원하는 것이 아닐 수도 있습니다. 나쁘게 생각하지 마라. Farseer는 XNA 프로젝트에 대해 훌륭하다. 나는 그것이 여기에 도움이된다고 생각하지 않는다. – Promit

+0

동의하지만, 볼만한 가치가 있습니다. – Chuck

3

오늘날의 하드웨어에서는 x86 CPU에서 1000 개의 상호 작용 강체를 순진하게 시뮬레이션하면 성능이 예외없이 시작됩니다. 더 많은 성능을 원한다면 GPU로 작업 부하를 이동시키는 물리 엔진을 찾는 것이 좋습니다.

CPU는 뛰어난 정수 연산 및 논리 처리 기능을 갖추고 있지만 GPU는 원시 부동 소수점 계산 기능이 훨씬 뛰어납니다.

CPU를 사용하여 더 많은 성능을 원하는 경우 요구 사항을 변경해야합니다.

1

Nvidias PhysX하지 오픈 소스하지만, 윈도우, 리눅스, PS3에 대한 자유롭게 사용할 수 있습니다. http://en.wikipedia.org/wiki/PhysX에서

인용구 : 엔비디아는 윈도우와 리눅스 사용자와 개발자에게 무료로 엔진 및 SDK를 모두 제공

[6]. PlayStation 3 SDK는 Sony의 담요 구매 계약으로 인해 무료로 제공됩니다.

+0

링크를 제공해 주셔서 감사합니다. 필자의 경우 컴파일을 제어 할 수 있어야합니다. 그러면 컴파일이 제대로 작동하지 않습니다. 그래도 알아두면 좋구나! –