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"

Offscreen animation capture for PoseableMeshComponent

Recently updated to 4.17 to take advantage of a unrelated feature and found that I was getting a crash when handling the deaths of units in our game. Whenever a pawn dies I was calling the skeletal mesh components RefreshBoneTransforms so that even if the pawn was offscreen the bones would get updated and then I could successfully call the PoseableMeshComponent->CopyPoseFromSkeletalComponent( USkeletalMeshComponent* mesh ); to create our cheaper to render corpses.

This now instead crashes inside of the USkeletalMeshComponent::PostAnimEvaluation when it detects that there is recursion with the bPostEvaluatingAnimation boolean. Not sure what I can do here now is there another way I can update the bones for a mesh which is offscreen so that all my corpses don't show up as T-Poses?

And no I do not want to make all my characters update their animations while not in the camera frustum please.

For now I am just going to do the same and where I call the refresh will wrap it in the inverse define (#if DO_CHECK which should be false in shipping) that this crash occurs within so that for now, my editor corpses will be t-pose but my shipping ones shouldn't be.

What my suggestion for this problem would be tho, would be that the UPoseableMeshComponent would make sure that a USkeletalMeshComponent was up to date before it copied the bones within the CopyPose function. Just my thoughts on what would be the cleanest solution for this problem although I could understand there might be a situation where the animation did NOT want to be up to date maybe after ragdoll or something? Don't know have not touched any ragdoll stuff in over 10 years.

Product Version: UE 4.17
Tags:
more ▼

asked Jul 05 '18 at 08:23 PM in C++ Programming

avatar image

Wolflight
46 4 7 8

(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