x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Skeletal mesh overlap broken when scaling

Hi,

We have an issue that can be easily reproduced in the VR test scenes (see demo video) :

https://www.youtube.com/watch?v=3CjIlY3vl34

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 ?


Reproduction steps

  • Clone the bug demo repository : https://github.com/MatteoFantasy/UE4_HandsBug

  • 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 !

Product Version: UE 4.18
Tags:
more ▼

asked Jan 08 '18 at 11:14 AM in Bug Reports

avatar image

TomDuchene
8 1 4

avatar image Alex O ♦♦ STAFF Jan 08 '18 at 11:14 PM

Hello Tom,

Feel free to post the project link.

avatar image TomDuchene Jan 09 '18 at 09:14 AM

Hi, I created a github repo (https://github.com/MatteoFantasy/UE4_HandsBug) and edited the original post accordingly.

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

Thank you, I've created a bug report for this behavior viewable at:

https://issues.unrealengine.com/issue/UE-53895

As a workaround - it may be possible to use collision components created inside of the blueprint instead of relying on physics asset based capsule collision.

more ▼

answered Jan 09 '18 at 09:25 PM

avatar image

Alex O ♦♦ STAFF
2.7k 5 10 11

avatar image TomDuchene Jan 15 '18 at 02:03 PM

Thanks, we implemented the following workaround : - In the BP, add a collider corresponding to each bone - Place each collider correctly thanks to the viewer - On BeginPlay, link every collider to the skeletal mesh thanks to the "attach to component" node with the corresponding socket name

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question