Physic issue with modular multi-part Skeletal Mesh

Hi there,

I’m actually working on a modular multi-part item system using some skeletal meshes to be combined together in order to generate some weapons based on that combination.

But I’m facing an issue when I attempt to activate the Physics Simulation on my final item built from multiple Skeletal Meshes attached together.

  1. If I enable the “Simulate Physics” on every part of the item with having all of them using the same Collision Profile: then each skeletal meshes are detached from the root parent mesh and they do the physics each separated.

  2. If I enable the “Simulate Physics” only on the root mesh, the one on which all the other parts are attached to, without setting any Collision Profile on the children: then only this one collide with other things in the world, and all its children juste go throw things.

  3. If I enable the “Simulate Physics” only on the root mesh with having all the children using the same Collision Profile: then the children follow the root mesh but the mesh start to fly in random direction before taking off on random direction at very high speed.

I know that Borderlands game did a system similar to what I’m looking for but it was on the UE3.
I tryied to solve the matter during few weeks and found nothing.

  1. Using the same skeleton on multiple SkeletalMeshComponents and then setting the root one to be the MasterPoseComponent, which produce some similar issues when the Physics is enabled.

  2. Spawning an actor for each part, which contain the SkeletalMeshComponent of that part, to attach it to the root mesh, but that doesn’t work during the “ConstructionScript” it refuses to spawn actor during that.

  3. Adding SkeletalMeshComponent during the ConstructionScript and attaching them to the root mesh, which is my actual situation.

From what I understood of the issue, when I enable the collision on each children and then simulate physics on the root mesh, the children and the parents collides together instead of combining into one object.
I looked for a way to make the root mesh and the children ignoring each other but still colliding with everthing else, without success, when I disable a collision channel then it will not act within the item itself but for everything, making items not colliding with other items.

Any help is welcome.
Cordially, Zyth.

Hi Zyth23, I also looked for a solution for this and found this great Epic Game Tutorial for Modular Character: Working with Modular Characters | Unreal Engine Documentation

As described in the tutorial, the “Mesh Merge” solution should be also capable of using physics after merge. Your solution using MasterPoseComponent is also part of the tutorial, but this solution is described as not working fine with physics.

But when I use the “mesh merge” solution with the c++ code, I even can’t activate physics on the merged mesh. Any idea why? Did you give it a try and bring it to work fine?