ydrive / EasySynth

Unreal Engine plugin for easy creation of synthetic image datasets
MIT License
181 stars 31 forks source link

Post Process material support? #62

Open noelhumane opened 1 year ago

noelhumane commented 1 year ago

Hi Nikola!

Do you have any update on implementing post process material?

I see that EasySynth is using the default render settings from UE (UMovieRenderPipelineProjectSettings): After a render with EasySynth, if I open the Movie Render Queue, I can see that in the "settings" tab that a temp file called "MoviePipelineMasterConfig_0" was created. This temporary setting file seems to be the default settings file used by EasySynth to render.

Would it be possible for EasySynth to use a custom setting file instead of the default one? A custom settings file in which we could turn on the Anti-aliasing and add any custom post process material? Or maybe overwrite the default one with custom settings...? That would be awesome! Thanks!

Noel. Screenshot 05-25-2023 19 29 17

NikolaJov96 commented 1 year ago

Hi @noelhumane,

To achieve all of its functionality, EasySynth dynamically plays with these config files (objects). It loads a base config file that is a part of plugin content (located in Plugins/EasySynth/Content). Then it modifies the needed properties in the PrepareJobQueue method inside the Source/EasySynth/Private/SequenceRenderer.cpp file. It also plays with different camera post-process materials throughout the rendering, such as in the PrepareSequence method inside the Source/EasySynth/Private/RendererTargets/SemanticImageTarget.cpp file.

Since this is all done dynamically, changing those properties manually may cause unexpected behavior. All of the general functionality is still there and can be utilized, but currently requires modifying the plugin to achieve the desired effect.

We currently don't have the resources to continue actively developing and testing features such as that, but I am available if any help is needed regarding the plugin code base.

Nikola

noelhumane commented 1 year ago

Hi Nikola, Thank you very much for explaining this process. I'm wondering if this base config file (located in Plugins/EasySynth/Content) could be modified "manually" (or via script) to reflect the settings/features I'd like to turn on?

edit: Thanks Nikola! I was able to modify the "EasySynthMoviePipelineConfig.uasset" (located in Plugins/EasySynth/Content). The only think I had to do was to close and reload my project so this config file could be loaded.