Take Recorder does not apply scale seemingly random

I’m facing some issues with the Take Recorder and the Sequencer where the recorded values are not correctly applied when viewing the take in the Sequencer and I’m getting no way on how to actually have it trigger based on the value it actually has.

  • I have a SkeletalMeshActor in the scene driven by a blueprint that streams motion capture data.
  • During play in editor I then record the data with the Take Recorder.
  • I have the Actor set as source for the current take.
  • It’s set to Record to Possessable.

The SkeletalMesh is scaled up by default so it’s say 10x bigger in the scene, scale 10,10,10. It will record but then it will view wrong later. As I view the Take the actor turns out too small, as if without the 10x scale.

When going inside the Sequencer viewing the Take and going into the Actor with the motion capture data I can see clearly it recorded a “key” on the very first frame of the recording session for Location, Rotation and Scale. Every one of those values work except for scale. If I unlock the Take and change the Scale values nothing changes. When viewing the Take and selecting the Actor in the World Outliner also shows that it doesn’t get the scale value from the Take.

  • I can get it to work correctly ONLY if I clear all sources in the Take Recorder, then add them freshly and do a recording. Only the first time it works. Then it will not work for any consecutive recording after. Only when I again clear all sources and add it again, then it works. The recorded take data looks exactly the same, both showing a 100 scale. However, the failing one does nothing (no influence on the Actor scale in the scene at all!!) and the other that works does get influenced by the scale. For the working take I can also unlock the Take and edit the scale and see it update. It consistently works if I clear out the sources and re-add them, yet only once.
  • The above trick also works if I set a preset and ALWAYS “revert” it to the preset before each recording… but why?
  • The old Sequence Recorder always works. Not sure what the difference is.
  • For some reason the Sequencer scale recorded for the Actor Transform is 100.0, 100.0, 100.0 as opposed to 10. But when it shows 100 on the transform during sequence playback it perfectly aligns as needed - so I assume that’s still good.
  • If I solo the scale value in the Take on that transform then it does apply it to the Actor. Once I also solo the “RelativeScale3D” attribute on the SkeletalMeshComponent it suddenly does not apply the Transform scale anymore - somehow I feel this is a crucial pointer to what is happening but I have no idea to what. Again, bear in mind that freshly added to the take recorder on the first run it does work. In the “working case” where it does apply the Scale as I need then the RelativeScale3D value on the SkeletalMeshComponent seems completely ignored (changing it then does nothing whatsoever). – note that the RelativeScale3D is set to 10,10,10 like the actor as originally in the scene.

What could be the reason the Take Recorder is giving this inconsistent output on solely the Scale attribute of my actor. It records it correctly, but just won’t apply it inside the sequence. And above all, how can I get it to actually record and play back correctly what I need?

Any ideas on how to debug this further? Can I detect somehow why the recorded sequence is not applying the value that I can clearly see is in the data?


EDIT

Disabling the SkeletalMeshComponent0 to record RelativeScale3D somehow magically fixes it. As if it avoids the conflict on the scale attribute. Still I’m left clueless as to why it would work only the first time after I had added the Actor as a source to the Take Recorder, and always consistenly work that way.

I would love to know more as to why there’s this conflict on the scale attributes - and why it behaves this way.

Thanks a lot. I had the same problem and your fix did work for me too. BR