I am trying to set up a more advanced rendering pipeline at my studio for automotive stuff. We have been manually handling switching variants and/or sublevels to control what is visible in renders. I recently had the idea to use level blueprint custom events that handle the loading/unloading of sublevels (all set to blueprint streaming method). The scenario would be something like:
Movie Render Queue Job List:
Render Trim A in Level Sequence A (Custom event for loading trim A triggers via console command in MRQ - ce Load_Trim_A)
Render Trim B in Level Sequence B (Custom event for loading trim B triggers via console command in MRQ - ce Load_Trim_B)
This works, but the issue I’m running into is that when MRQ initializes the render, the animation tracks on various actors and components in those level sequences / sublevels are not being set to their keyframed positions during rendering. Trying to track down info on this in the forums and docs has led me to a dead end.
The correct level is being rendered, with the correct sequence, and the correct sublevels, but some of the tracks within the sequence seem to be being ignored. This happens mostly on animated geometry components of a blueprint actor.
Affected track types:
Blueprint Actor Static Mesh Component Location, Rotation tracks, as well as “hidden in game” tracks.
This is a long shot, but does anyone have any experience with dealing with this type of issue? Thanks a million if so and you have any pointers!
So a couple of developments. Using custom events seems to trigger after the sequence is already loaded, in which case the levels being streamed in are not going to be present in the animation tracks, or in other words, will have broken references.
Loading streaming levels via the Event Begin Play DOES work however. The only problem now being controlling which levels get loaded. I’ll need to figure out a way to choose this before event begin play gets triggered.
Turns out this was user error the whole time. Unfortunately for me, at some point I had saved my MRQ Queue preset with the first job in the list pointing to the wrong level sequence asset. It was pointing to an earlier version before the vehicle animation had been blocked in, so there were no animation tracks to evaluate!
The level sequence Actor I have been opening in the outliner to work on changes was of course pointing to the correct, newer level sequence asset. After hours of troubleshooting and trying different things, I finally noticed this error.
After a few more days of working on this, it’s actually a combination of things causing problems here. In order to utilize this method to load sublevels via custom events in a level blueprint, you must be launching your Movie Render Queue jobs from the main level that they reference. You cannot launch the jobs from a blank or startup level, and just have MRQ point to the actual render level that you intend to render out. Doing this causes the animation tracks on actors within sublevels to not be evaluated. This does seem like a bug in Unreal after all.