Athomas reached out to me with a crash he was having when trying his 'Automatic Sync Marker AnimModifier' on a Skeleton that had Virtual Bones.
It was verified that this only happens when Virtual Bones are present.
He did package his plug-in for testing: [Link Removed]
To repro, add this AnimModifier on an animation. Run it, it works.
Add a virtual bone, add the modifier to another animation, run it, it crashes.
The fix for the crash is in CL #3478424 and I think we should integrate it in the next patch for the current release.
The problem is the Anim Modifier creates a smaller BoneContainer, with just the bones it needs. When this does not include the virtual bone, then the BoneContainer.VBCompactPoseData will contain INDEX_NONE bone indices. And in the AnimSequence::GetBonePose, it won't check for that and crash.
Although the more appropriate fix seemed to just not populate the VBCompactPoseData with invalid entries, rather than adding more checks to GetBonePose.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-45813 in the post.
0 |
Component | OLD - Anim |
---|---|
Affects Versions | 4.16 |
Target Fix | 4.16.2 |
Fix Commit | 3479616 |
---|
Created | Jun 7, 2017 |
---|---|
Resolved | Jun 8, 2017 |
Updated | May 18, 2020 |