Ви можете реалізувати можливість мати дочірні об’єкти для об'єкта (де дочірні об’єкти автоматично впливали б на зміни положення / обертання батьків). Тоді після зіткнення, коли вони повинні зафіксуватися разом, ви робите невидимий предмет і робите обидва доданих предмета його дітьми. Тоді, замість того, щоб застосовувати перетворення (рух, обертання) на окремих об'єктах, ви застосовуєте їх на великому, АБО ви все-таки можете застосувати сили до окремих дочірніх об'єктів, які б перевіряли "чи маю я батьків?", І якщо так, сила буде спрямована на батьківську (яка злила б сили з усіх дочірніх об'єктів в один вектор, який він застосував би до себе).
Крім того, цей підхід повинен належним чином керувати їх обертанням, якщо обчислити центр маси невидимого батька відповідно до ваг зв'язаних об'єктів, чого метод Джона, схоже, не виконується (об'єднаний об'єкт обертається навколо нового спільного центру маси, не навколо центру маси одного з об'єктів), і ви могли б легко вкладати подібну поведінку без додаткового коду. Здається, це більш надійний і гнучкий підхід.
+ умова, якщо сила, прикладена до дитини, є достатньо сильною, щоб розірвати суглоб, і ви можете впоратися з його розкручуванням, просто усунувши стосунки батьків -> дитини. Якщо залишилася лише одна дитина, ви також зробите її окремо і видалите також невидимого батька.
Я можу надати більше деталей (із зображеннями та принаймні псевдокодом та іншими), якщо вам цікаво.