And I noticed in UE5, the EXE has been renamed to UnrealEditor.exe, but it seems not working after I changed the EXE name in the above command. The UE5 process can be invoked, but keeps running forever without any rendering outputs or logged errors.
The official UE5 documents have not mentioned anything related to commandline, so could anyone help me out here?
find one of the correct syntaxes in the engine file:MovieRenderPipelineCommandLine.cpp
i extracted the relevant content for you
* Command Line rendering supports two options for rendering things. We support a very simple 'provide the level sequence/settings to use'
* option which mimicks the old command line support. Option two is more advanced where you provide your own Executor. To allow for flexibility,
* the only thing required here is the executor path, a queue/level sequence are optional.
*
*
* Option 1: Simple Command Line Render.
* - Level Sequence (Required unless you pass an entire Queue asset, passed via -LevelSequence="/Game/...")
* - Preset or Queue to use (A preset is required if using a Level Sequence above, passed via -MoviePipelineConfig="/Game/...")
* - Will render on current map
* ie:
* "E:\SubwaySequencer\SubwaySequencer.uproject" subwaySequencer_P -game -LevelSequence="/Game/Sequencer/SubwaySequencerMASTER.SubwaySequencerMASTER" -MoviePipelineConfig="/Game/Cinematics/MoviePipeline/Presets/SmallTestPreset.SmallTestPreset" -windowed -resx=1280 -resy=720 -log -notexturestreaming
* or:
* ie: "E:\SubwaySequencer\SubwaySequencer.uproject" subwaySequencer_P -game -MoviePipelineConfig="/Game/Cinematics/MoviePipeline/Presets/BigTestQueue.BigTestQueue" -windowed -resx=1280 -resy=720 -log -notexturestreaming
*
* Option 2: Advanced Custom Executor.
* - Executor Class (Required, pass via -MoviePipelineLocalExecutorClass=/Script/MovieRenderPipelineCore.MoviePipelinePythonHostExecutor)
* - Level Sequence or Queue (Optional, if passed will be available to Executor)
* - Python Class Override (Optional, requires using MoviePipelinePythonHostExecutor above, pass via -ExecutorPythonClass=/Engine/PythonTypes.MoviePipelineExampleRuntimeExecutor
*/
Hey, I have located the cpp and the comments within there as you showed.
It did work, by using
-MoviePipelineConfig
and
-LevelSequence
However, the other rendering parameters seem to be ignored, even though the .cpp comments clearly give an example having -resx=1280 -resy=720.
So, in UE5, at least up to th present, these parameters including resolution, frames, have to be stored in MoviePipelineConfig, then to be passed through the command.
And it also looked like so from the .cpp, as well.
Anyway, thanks a lot for the help.
I will keep looking for possible solutions to explicitly pass rendering parameters as command options.
has anybody found a way to override the pass render parameters as coommand line options? The Frame Start and Frame End for example?
In UE5 it seems they are locked by the config file as mentioned above.
Hi, seemed to be a late reply.
But you could check this offical guidelines HERE to achieve that.
Basically, you need write your own Executor script, and pass the parameters into the script, which is then loaded when launching UE.exe.
I haven’t finished the script yet, but it is from OFFICIAL, and also confirmed by other clues I have learned so far.