Hi guys, currently I am working on a film production project with unreal. In the end we need to render around 80 clips and for this we wrote a python script to batch render all of the sequences.
This works good so far, but now we also want to use the composure plugin.My main problem is… how?
There is no documentation at all for this task, so It’s quite hard to find a possible solution. So my first problem is, how to specify the MovieFormat? Usally you just type in jpg, png or renderpassname, but it does not work with ComposureExport.
So does anyone knows how to setup this batch file to render it with the composure plugin?
You will need to set the Image Capture Protocol variable to the ComposureExport class - it’s a blueprint class so the path to it will be a little weird (might need to add a _C) - you can find it in the content browser under the composure plugin and you can right click on it and copy a reference to get an idea of what the class path might be.
You will also need to add your composure actors to Sequencer using the Composure Track. I do not think this is exposed to Python. If you look at the Sequencer Scripting plugin, there are examples of how we expose tracks to Python (see UMovieScriptingFloatKey, etc.)
I believe the combination of the Composure Track + ComposureExport class is what is required to get that added to the UI. I believe ComposurExport can only do exr writing (?) - in the current system your outputs are linked to your inputs so you cannot freely mix and match.
Currently we are just generating a batch script with pyhton so we are not bound to pythen per se.
Actually we just need the command that the render dialog in the sequencer is sending. Kind of
We already looked into the protocol thing, but we couldn’t find it actually. The default snippet looks like that: -MovieSceneCaptureType="/Script/MovieSceneCapture.AutomatedLevelSequenceCapture"
Our thought was to force Unreal to use ComposureExport for rendering by leading him to the right protocol … but yeah. We were not able to find the right one.
One question about the _C - what is that? Stands _C for class?
The UI doesn’t send commands (unlike some other tools like Maya) so there isn’t necessarily a 1:1 parity. Have you looked at the example python script provided in /Engine/Plugins/MovieScene/SequencerScripting/Content/Python? That shows you how to create and run a batch render from Python and configure it for an output (png image sequences maybe?)
_C does stand for class, likely when calling SetImageCaptureProtocol you would have to transform that above reference to:
‘/Composure/Blueprints/ComposureExport.ComposureExport_C’
But you may need to play with both options to see which one it will take.
Do note though, as outlined earlier, the composure export is a two part protocol to my knowledge - both the ComposureExport class there, but I think all it does is search through the Sequence asset itself to look for Composure Tracks.