Фізичний двигун, який може працювати з кількома атракторами?


9

Я складаю гру, яка буде грати здебільшого з тривимірною гравітацією.

Під цим я маю на увазі кілька планет / зірок / місяця, що поводяться реалістично, а також намічають графік шляху та прогнозують шлях у гравітаційному полі.

Я переглянув різні фізичні двигуни, такі як Куля , Токамак або Ньютон , але жоден з них, здається, не підходить, оскільки я, по суті, повинен був би переписати гравітаційний двигун у їх рамках.

Чи знаєте ви про фізичний двигун, який здатний мати справу з кількома тілами, усіма притягуються одне до одного?

Мені не потрібне управління сценами або візуалізація, лише основна фізика. (виявлення зіткнення було б бонусом, як і жорстка динаміка кузова).


Моє передумови з фізики, тож я міг би написати двигун, який використовує інтеграцію Верлета або RK4 (або навіть інтеграцію Ейлера, якщо мені доведеться), але я швидше скоріше адаптую рішення, що не знаходиться на полиці.

[ред.]: Є кілька великих ресурсів для фізичного моделювання проблем з n-тілом в Інтернеті та в stackoverflow


7
Ви не можете просто використати кулю і якось відмовитися від її стандартної сили тяжіння? . основний двигун фізики.
Неверен

Можна використати якусь обернену пружину
Рой Т.

1
@RoyT. Пружина сама по собі має силу, пропорційну d, тоді як сила тяжіння d ^ (- 2) (навіть не d ^ (- 1)). Ви можете отримати орбіти з обох, але з дуже різними характеристиками. Якщо ви просто маєте на увазі «використовувати обмеження, засноване на відстані, яке надає двигун», то так - якщо воно має зворотний квадрат.
Кевін Рейд

@KevinReid ти, мабуть, правий, але я не впевнений, що отримаю твоє пояснення. Ви маєте на увазі, що сили пружини залежать від відстані, а гравітація залежить від прямокутної?
Рой Т.

1
Осмос - це чудова маленька гра. краще , що я зміг знайти це інтерв'ю
Brice

Відповіді:


2

Я не думаю, що ви не зможете використовувати звичайний фізичний двигун часових зрізів, оскільки проблема з трьома кузовами не дозволить забезпечити стабільні орбіти.

Можливо, ви зможете витягнути двигун фізики зі Stellarium або якогось іншого пакета з астрономії.

Однак я вважаю, що найкращий спосіб дії - це просто запікати на шляху вашої планети і витягнути їх зі столу. Якщо ваш гравець дійсно не може впливати на траєкторію планети своїми діями, немає сенсу робити повне моделювання.


Власне, з проблемою N-тіла, ви можете отримати стабільні орбіти. Це залежить від вашого методу інтеграції. Я керував стабільними орбітами як з верлетом, так і з RK4.
брич

Це справедлива пропозиція попередньо обчислити шляхи, але я хотів би динамічно генерувати системи на ходу, а також планети насправді не те, про що я хвилююся. Я дійсно хочу, щоб на кораблі вплинула гравітація, і оскільки вони будуть під контролем гравця, я не можу попередньо обчислити шляхи.
брич

Для отримання стабільних орбіт для запису - виготовлення симетричних систем. Крім того, часові шкали нестабільності набагато довші, ніж тривалість середньої гри. (нестабільна понад 100с до 1000с планетарних орбіт, тоді як гра триватиме не довше 4/5)
брис

Для прикладів стабільних орбіт подивіться на це (використовує Верлет)
брись

1

Чи є обмеження на платформу? Тому що PhysX від nVidia має саме те, що ви шукаєте, та інше .


Будьте здорові @YuriAlbuquerque - це дуже цікаве керівництво. Я планую зробити фізику на стороні сервера та клієнта візуалізації, тому мені доведеться перевірити, чи підходить це, але це добре звучить.
брич
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.