Я прочитав деякі відомості про фізичні симуляції і знайшов можливе рішення. Він працює, розділяючи кожен крок фізики на три фази:
1. Попередній крок:
Кожен крок фізики, вікно створює чотири перетворення, по дві для кожної сторони з'єднання:
- вхідне перетворення, яке перетворює положення об'єкта, швидкість (і, можливо, розмір і вагу) в систему координат призначення та
- вихідне перетворення, яке перетворює сили назад у вихідну систему об'єкта.
(Статичні вікна повинні зробити це лише один раз.)
Крім того, об'єкти в кожній системі координат поділяються на три групи:
Фізичне групування http://content.wuala.com/contents/Tamschi/Stack%20Exchange/WindowGrouping.png
Об'єкти перед вікном (зелений).
Об'єкт також зараховується до цієї групи, якщо він перетинає площину вікна або, ймовірно, перетне його з-за вікна (не показано).
Об'єкти, що перетинають вікно, або, ймовірно, перетинають його на цьому кроці фізики (помаранчевий).
Об'єкти за вікном (синій). Якщо об’єкти пролітають до задньої сторони вікна, він все одно позначається як член третьої групи.
Групування можна спростити, якщо вікно знаходиться на межі моделювання.
2. Основний крок:
Фізика обчислюється в основному як зазвичай, за кількома винятками:
Об'єкти з другої групи ніколи не стикаються з об’єктами третьої і навпаки.
Перетворення вхідного вікна використовується для об'єктів з другої групи, а результати оцінюються по відношенню до переднього та пересічного об'єктів із системи призначення. Отримана сила перетворюється за допомогою вихідного перетворення і застосовується до вихідного об'єкта.
(Якщо об’єкт потрапив під час обчислення, його потрібно перегрупувати!)
3. Покроковий крок:
Якщо об’єкт з другої групи перетнув вікно, він переміщується в систему призначення за допомогою вхідного перетворення.
Додаткові думки:
Якщо перетворення збереглися після обчислення фізики, їх можна використовувати для прискорення візуалізації та для більш легкого обчислення ШІ. Групування може бути використане для видалення площин кліпу з процесу візуалізації.
Мінус цього рішення полягає в тому, що вікна потрібно додавати безпосередньо до фізичного двигуна.