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"

Office Holiday

Epic Games' offices will be on holiday from June 22nd to July 7th. During this period support will be limited. Our offices will reopen on Monday, July 8th. 

Two skeletal mesh multi-body overlap complete data?

Hey there,

I wanted to track interaction of two skeletal mesh components (both kinematic, but with a physics asset, collision channels set to overlap, multi-body overlap flag etc.). I'd like to get rather hit events, but it's obiously impossible in kinematic mode. So I wanted overlapping. And I got it. But the way it works makes me stuck with questions.

So each event we have OverlappedComponent, OverlappedActor (redundant since the former), OtherComponent and OtherBodyIndex. (And a HitResult which is empty by design, so no reason to mention it).

Why on earth, why only the Other Body Index?! I want to know first which of my bones/bodies gets affected by the nearby object, whatever the latter is. Instead I have to check and switch to the OtherComponent and make it feel hurt internally in its OtherBodyIndex location.

Okay, but I still need two meshes feel equally hurt in the respective bodies. People usually advice trace functions, but I lack even a direction to trace to. I'm using a stupid loop through Mesh1.Bodies looking for the closest to OtherMesh.Bodies[OtherBodyIndex].GetCOMPosition() but it makes me feel I'm missing something.

I tried to sniff overlap events sequence, but there is a mess, e.g. right after Mesh1 gets an ovelap begin form Mesh2(Body2), Mesh2 gets an overlap begin from Mesh1 with OtherBodyIndex == -1. Such incomplete events are usually bound to the same pawn, while the other receives full data, though these pawns are indentical clear objects of the same class. Seems like one body index always disappears in a weird Heisenbergish algorhithm, but I can't imagine how the engine could ignore one body when detecting overlap of the two.

All in all, are there sane workarounds extracting at least both body indices if a complete HitResult is impossible in this process?

Product Version: UE 4.21
Tags:
more ▼

asked Mar 06 '19 at 10:13 AM in C++ Programming

avatar image

Alakuloinen
6 1 2

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

0 answers: sort voted first
Be the first one to answer this question
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