Імітація предмета, що плаває на воді


9

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

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

Чи підходив би двигун фарсера? чи інший двигун був би більш підходящим?

Відповіді:


5

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

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

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

Коротка демонстрація човна, що пропливає хвилями, тут на YouTube .


0

Фізика Farseer підтримує всі види застосування сили та інтерти, так що це не буде проблемою, я не впевнений на 100%, хоча якщо Farseer вже підтримує тіло з рідиною (для води), але якщо це підтримується, тоді це повинно бути нормально. (Також зауважте, що Farseer є двовимірним фізичним двигуном)


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