Нещодавно я перейшов мій ігровий двигун з рульового поведінки на імпульсний рух з належним часовим вирішенням зіткнення. Це вирішило стільки проблем (більше не тунелювання, так) і зробило симуляцію значно стабільнішою. Однак зі стабільністю виникла нова проблема.
Три кулі розпочали свою подорож біля нижньої частини зображення, їх ціль була там, де зупинилася рожева кулька. По дорозі червоні та зелені кульки застрягли в точці задимлення стіни.
Раніше я міг розраховувати на помилки з плаваючою комою та загальну нестабільність поведінки в рульовому керуванні, щоб змусити зелені та червоні кулі між собою, поки вони не змогли пройти через точку задушення. Тепер при правильному дозволі зіткнення сили, що діють на кулі, скасовують одна одну, в результаті чого кулі залишаються ідеально нерухомими.
Які методи зазвичай використовуються для вирішення таких ситуацій? Можливо, якась система черги черговості працювала б, хоча я можу бачити, що вона стає складною, коли мені потрібно визначити пріоритет між більш ніж двома об’єктами.