We have an issue that can be easily reproduced in the VR test scenes (see demo video) :We added capsule and convex colliders on the default VR mannequin hand to allow more precise collisions and overlaps. The collisions work fine on both the left and right hand, but overlaps are broken on the left hand.
Some investigation in the provided VR “BP_MotionController” showed that the left hand is created like the right hand but with a “-1” scale on one dimension. It is perfectly understandable that having a non-uniform scale could break the capsule collisions (making them skewed), but it shouldn’t happen with convex collisions and it should not be a problem with a simple symmetry ("-1" scale).
The test scene shows that on the left hand, the colliders seem to have the correct size and origin, but they rotate around their origin in a very weird (although not random) manner depending on the orientation of the hand.
In the meantime, is there a workaround to get correct overlaps from the scaled skeletal mesh ?
- Clone the bug demo repository : GitHub - MatteoFantasy/UE4_HandsBug: Simple UE4 demo to show the overlap bug happening when scaling a skeletal mesh
- Open and Preview the project with an Oculus+Touch connected (Vive should work too but hasn’t been tested)
- Place your right hand in the test cube in front of you, notice all the overlapping particles appear correctly
- Place your left hand in the cube, notice the overlaps are messed up
OR this should work but it’s harder to see what’s happening
- Add capsule colliders to each finger bone of the “MannequinHand_Right” and a convex hull to the palm
- In the “BP_MotionController”, enable overlap on the HandMesh
- (optional) In the “BP_MotionController”, enable collision for all 3 grip states (under event tick)
- Create a simple blueprint with a cube in it with overlap on the mesh, print a message on “ActorBeginOverlap” and “ActorEndOverlap”
- Put the cube in the scene and try overlapping it with each hand : if you point the left hand towards the sky, the palm collider will trigger overlaps even if the hand is above the cube
Thanks for your help !