ydrive / EasySynth

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

custom post-process material support? #74

Open noelhumane opened 4 months ago

noelhumane commented 4 months ago

Hi Nikola!

I'm still using your tool everyday and it's a huge help for me! Thank you so much! Would it be possible to get the option to select my own post process material in the EasySynth UI? something like that: EasySynth_customPP

So far, I've added my custom PP material to the EasySynthMoviePipelineConfig file. But it requires to restart Unreal to load the update, and only then EasySynth will render the new PP material but with each "targets" selected (i.e: if rendering Color images and Depth images, my custom PP material will be rendered 2 times, with the Color images and with the Depth images). It's not the most friendly workflow, but it works. So, I'm wondering if this feature could be added to the plugin if it's not too much work? Thank you! Noel.

NikolaJov96 commented 4 months ago

Hi @noelhumane,

Thank you very much, I'm happy to hear the plugin is being useful! That workflow sounds really bad! I think that should not be a problem, I'll try to find some time for that in the following days.

I understand you would like the PP material only applied to color images?

Nikola

noelhumane commented 4 months ago

Thanks Nikola! I appreciate it! Yes, in my case, I've created a PP material to mimic an IR render:

image

But it would be very useful to be able to render any custom PP material that way. Noel.

NikolaJov96 commented 3 months ago

Hi @noelhumane,

Are you building the plugin from the source or using a binary distribution? If you are building from a source, please check out the custom_post_process_material branch and give a try to the new custom PP material option.

If not, I'll add the functionality to the next release when I get to it.

Sorry it took some time, I hope it will still be useful.

Nikola

noelhumane commented 3 months ago

Hi Nikola!

That's awesome!! Thank you so much. 👍👍😀 I'll build it from your source and I'll test it. I will keep you posted. Wow! Thank you!! Yes, it will be very useful!!

Best, Noel.

On Mon, Mar 25, 2024 at 7:37 AM Nikola Jovanović @.***> wrote:

Hi @noelhumane https://github.com/noelhumane,

Are you building the plugin from the source or using a binary distribution? If you are building from a source, please check out the custom_post_process_material https://github.com/ydrive/EasySynth/tree/custom_post_process_material branch and give a try to the new custom PP material option.

If not, I'll add the functionality to the next release when I get to it.

Sorry it took some time, I hope it will still be useful.

Nikola

— Reply to this email directly, view it on GitHub https://github.com/ydrive/EasySynth/issues/74#issuecomment-2018151562, or unsubscribe https://github.com/notifications/unsubscribe-auth/A4DZSRYOOTQEF4ITLKMHFG3Y2AZBFAVCNFSM6AAAAABD6SYJT6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMJYGE2TCNJWGI . You are receiving this because you were mentioned.Message ID: @.***>

--

This email message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized use or disclosure is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message. 

noelhumane commented 2 months ago

Hi Nikola!

My apologies for this late reply. Finally, I was able to test your new version of EasySynth. Overall it's working, which is great. I can render any custom post process material!! I made a mistake in my explanation of what I was looking for: Actually when selecting a custom PP_material, the RGB target is overwritten by the custom PP material. What I wanted to achieve is to render a custom PP material and all the other render targets (RGB, Depth, Normal, Optical, Semantic) at the same time. I'm sorry for the confusion.

Thank you again Nikola! Noel.

NikolaJov96 commented 2 months ago

Oh, I see now, that's definitely a more universal solution. I'll implement it that way when I find some time.

Nikola

noelhumane commented 1 month ago

Hi Nikola!

Thank you again for implementing this custom PP material feature! It's really useful. I have a concern when rendering static sequence (no camera movement, no character animation): there is a subtle "shake" happening on the camera but only when rendering targets like Depth, Normal and Semantic , but not the Color (rgb) target (see video below).

Any ideas about what may cause this? I'm confused because if it was something in my scene, all the renders would be shaky... Thank you! Noel.

https://github.com/ydrive/EasySynth/assets/117938503/726d9860-67fa-47fe-99be-b9a43e4a02be

NikolaJov96 commented 2 weeks ago

Hi @noelhumane,

This behavior is very strange. I did not encounter it and I don't know what could be the cause. All rendering is handled by UE, it's just simple post-process materials that are swapped in. Hope you can find a solution.

I have found time to update the custom render target such that it is now separate from the color image target, please pull the changes on the same custom_post_process_material branch and try it out and leave a comment if it works well.

Nikola

noelhumane commented 5 days ago

Hi Nikola,

I'm back from break and I tested your latest version of EasySynth with the custom post material. It works perfectly!! Thank you so much for this update!! Really cool! I also found out that the "flickering" issue I had when rendering was due to the antialiasing: I was using the temporal antialiasing (TAA) which is causing the flickering. The TSR (temporal Super resolution) is also causing flickering. I switched back to the fast approximate antialiasing (FXAA) and it is gone. MSAA is working as well.

Thank you! Noel.

On Fri, Jun 28, 2024 at 1:12 PM Nikola Jovanović @.***> wrote:

Hi @noelhumane https://github.com/noelhumane,

This behavior is very strange. I did not encounter it and I don't know what could be the cause. All rendering is handled by UE, it's just simple post-process materials that are swapped in. Hope you can find a solution.

I have found time to update the custom render target such that it is now separate from the color image target, please pull the changes on the same custom_post_process_material https://github.com/ydrive/EasySynth/ branch and try it out and leave a comment if it works well.

Nikola

— Reply to this email directly, view it on GitHub https://github.com/ydrive/EasySynth/issues/74#issuecomment-2197567013, or unsubscribe https://github.com/notifications/unsubscribe-auth/A4DZSR344ZTPHWYYEZWHH63ZJW7RRAVCNFSM6AAAAABD6SYJT6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCOJXGU3DOMBRGM . You are receiving this because you were mentioned.Message ID: @.***>

--

This email message is for the sole use of the intended recipient(s) and may contain confidential and privileged information. Any unauthorized use or disclosure is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message.