Open source physics engines [closed]

zamknięte. to pytanie jest off-topic . Obecnie nie przyjmuje odpowiedzi.

chcesz poprawić to pytanie? Update the question so it ' s on-topic dla przepełnienia stosu.

Zamknięte 7 lat temu .

Popraw to pytanie Od kilku tygodni z wielkim sukcesem używam silnika Open Dynamics Engine (ODE) . Posiada bardzo proste API i jego symulacje co najmniej wyglądają realistycznie. (Czasem się zastanawiam o moich parametrach kolizji, ale nieważne.) Moja jedyna skarga jest taka, że czasami jest to pies. Jeśli naiwnie symuluję 1000 oddziałujących ze sobą ciał, wtedy mój występ zaczyna nurkować.

Wiem, że mogę spędzać czas z ich siatkami przestrzennymi, aby zmniejszyć obciążenie systemu kolizji, ale zanim przejdę przez wysiłek dostrojenia mojego kodu do pracy z ODE, zastanawiam się, czy są jakieś inne otwarte/wolne silniki fizyki warte obejrzenia. To będzie dla aplikacja komercyjna, więc szukam czegoś bardziej solidnego i sprawdzonego w boju niż jakiś studencki projekt weekendowy.

Author: Frank Krueger, 2009-04-30

6 answers

Zbudowanie szybkiego, dokładnego i stabilnego solvera jest niezwykle trudne, a ludzie tacy jak Havok doskonale chronią tę technologię. To powiedziawszy, wolne systemy, których jestem świadomy, to:

  • Newton Game Dynamics - ten zyskał reputację dzięki bardzo dokładnemu i stabilnemu rozwiązywaniu, kosztem wydajności. Przez ostatnie kilka lat starała się uzyskać wydajność bez poświęcania dwóch pozostałych. Jest to dobrze zaprojektowany silnik i działa dobrze, ale to wciąż jeden z wolniejszych. Nie open source.
  • Tokamak -- dokładnie odwrotnie. Ten jest okropny; nawet ich dema nie działają stabilnie. Po prostu wyciągnij ich układanie pudełek i zobaczysz ogromny jitter. Nigdy nie byłem pod wrażeniem. Jest jednak open source i szalenie szybki.
  • Bullet -- ten prowadzi były pracownik Havok, który jest obecnie zatrudniony przez Sony (choć nie pamiętam, czy to SOE czy SCEA). To jest nowicjusz sceny, i to jest w rzeczywistości open source. Ma ciężkie wsparcie Sony, jest ładnie cross platform, i jest rozwijany przez ludzi, którzy wiedzą, co robią.
  • / TrueAxis (Stacja kolejowa) Nie znam się na tym zbyt wiele i nie zyskało znaczącej społeczności. Wydaje mi się, że Jestem tu trochę sceptyczny; może być dobrze napisany, ale z niewielką pomocą społeczności może być trudno uzyskać, a to prawdopodobnie nie jest dobrze przetestowany i stabilny silnik, w porównaniu do i inni

Sam jestem wielkim fanem Bullet, ale słyszałem różne skargi na jego temat. Większość z nich wydaje się skupiać wokół słabej dokumentacji lub sporadycznych problemów na niektórych drugorzędnych platformach, takich jak Mac. To nadal będzie mój wybór Po "Big 2", Havok i PhysX.

 21
Author: Promit,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-30 15:30:54

Bullet jest niesamowity, i był używany komercyjnie (np: w produkcji Bolt i kilka gier PS3 / WII) ma wsparcie dla wielu platform, a nawet CUDA nVidia.

 5
Author: cyborg_ar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-30 15:21:15

Bullet {[2] } jest darmowy do użytku komercyjnego i dostępne są źródła.

Dokumentacja mogłaby być znacznie lepsza, ale istnieje forum i kilka przykładów, które mogą pomóc w rozpoczęciu pracy.

 4
Author: diciu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-30 15:23:31

W dzisiejszym sprzęcie, jeśli naiwnie symulujesz 1000 oddziałujących sztywnych korpusów na procesorze x86, wydajność zaczyna nurkować bez wyjątku. Jeśli chcesz teraz uzyskać większą wydajność, lepiej poszukaj silników fizycznych, które przenoszą obciążenie na GPU.

Procesory mają duże możliwości przetwarzania liczb całkowitych i logicznych, ale GPU mają znacznie większe możliwości przetwarzania zmiennoprzecinkowego.

Jeśli nadal chcesz uzyskać większą wydajność, używając tylko procesorów, będziesz musisz zmienić swoje wymagania.

 3
Author: Cheery,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-06-17 09:18:13

Farseer jest bardzo miły.

Http://www.codeplex.com/FarseerPhysics

 2
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-30 15:24:45

Nvidias PhysX jest nie open source , ale swobodnie dostępne dla Systemów Windows, Linux i PS3 .

Cytat z http://en.wikipedia.org/wiki/PhysX :

Nvidia udostępnia zarówno silnik, jak i SDK za darmo użytkownikom i programistom Systemów Windows i Linux[6]. Pakiet SDK PlayStation 3 jest również dostępny za darmo dzięki umowie kupna przez Sony.

 1
Author: lothar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-30 16:28:22