Podría implementar la capacidad de tener objetos secundarios para un objeto (donde los objetos secundarios se verían afectados automáticamente por los cambios en la posición / rotación del elemento primario). Luego, en caso de colisión, cuando deberían engancharse, crea un objeto invisible y convierte ambos objetos adjuntos en sus hijos. Luego, en lugar de aplicar transformaciones (movimiento, rotación) en los objetos individuales, lo aplica en el grande, O aún podría aplicar fuerzas a los objetos secundarios individuales, lo que marcaría "¿Tengo un padre?", Y si Sí, la fuerza se enviaría al padre (que fusionaría las fuerzas de todos los objetos secundarios en un vector que se aplicaría a sí mismo).
Además, este enfoque debería manejar adecuadamente su rotación, si calcula el centro de masa para el padre invisible de acuerdo con los pesos de los objetos enganchados, que el método de John no parece lograr (el objeto unido gira alrededor de su nuevo centro de masa compartido, no alrededor del centro de masa de uno de los objetos), y fácilmente podría anidar este tipo de comportamiento sin ningún código adicional requerido. Parece ser el enfoque más robusto y flexible.
+ condición si la fuerza aplicada al niño es lo suficientemente fuerte como para romper la articulación, y puede manejar el "desenclavamiento" simplemente quitando la relación padre-> niño. Si solo queda un niño, también lo hace separado y elimina también el padre invisible.
Puedo proporcionar más detalles (con imágenes y al menos pseudocódigo y demás) si está interesado.