Ghosting

Hi all.

Can someone help me with this?

http://i703.photobucket.com/albums/ww40/otuama/slate.2766.jpg

Is there a way to remove the ghosting I’m getting in my animation?

I’ve tried setting the AA from TemporalAA to other options. They work somewhat but obviously affect the image quality. It makes it look much worse.

Does anyone have any idea how I can reduce this? Motion blur is turned off.

Thanks

Can anyone help with this?

Hmm when you set Project Settings > Rendering > Anti Aliasing method to FXAA or MSAA this should be resolved. Otherwise may be your model poly count is too high?

Hi.

Thanks for the reply. I was going to start a new post but then noticed you’d replied. Below is what I was about to post.


I’d be very grateful if someone can give me some help with this.

To cut a long story short, since our office has switched to Unreal (from Max & Vray) for our animations, we’ve been getting ‘ghosting’ in our work.

This seems to be mainly due to TemporalAA being turned on and areas where textures are used. I’ve been reading up about it and there may be other causes… Some people say screen space ambient occlusion etc. TemporalAA seems to be the main cause.

Obviously, setting this to FXAA seems to fix the issue but I’m then left with quite a horrible result. A result I wouldn’t give a client. With TemporalAA on, it looks better but again, I can’t give it to a client with the ghosting artifacts I’m getting.

I migrated my level into a fresh scene (so unused assets aren’t brought into the content browser). The light settings etc were the same too… I then started bringing in my assets by copying/pasting between the scenes.

This meant that the objects came into the scene with their correct materials, not the materials that they (FBXs) were imported with.

Anyway, I quickly noticed that I was getting the ghosting. So, poly count in the scene doesn’t seem to be the cause (although it may account for some of it when more stuff is in the scene).

I’ve read a lot about it but can’t find a fix.

I come from a rendering background where you render out each frame… can take hours, weeks, months… That’s where Unreal certainly comes in handy. However, you only get this issue if you want it in post

I’ve been looking at other projects from Epic and haven’t noticed this issue. They all seem to use TemporalAA. But we get it all the time.

Can anyone help with this?

Please let me know if you need any more info.

I’ve noticed it seems to happen most prominently against flat coloured surfaces and that tone of grey you’re using on the floor. If you can change the floor material to something else that might help. Also if you’re rendering this scene out to a video then you could turn anti aliasing off entirely, render it out to a high resolution, then downsample it to the desired size and that should do the edge smoothing for you without the artefacts.

A few of the answerhub posts on this issue seem to relate it to screen space reflections. If this is the root cause, adding some more reflection capture actors in the problem area and adjusting the mix between SSR and static reflections in the post process volume might be the cleanest way to fix the issue.

Thanks, I’ll give that a try.

What I don’t understand is… I’ve been looking at the Infiltrator demo and it works flawlessly and looks amazing, even thought it has a very high poly count, reflections, effects everywhere etc.

How can that run so smoothly.

My office has barely scratched the surface with Unreal but our scene is can get really slow and a pain to work with. Our scene isn’t nearly as complex as Infiltrator.

Last night I looked into level streaming… Maybe someone can help me understand this.

Infiltrator has the main (persistent) level. It also has levels for effects etc. There are about 12 levels.

I had thought this was the cause of my ghosting issue (Infiltrator has TemporalAA turned on).

In other software like Max you have xrefs… essentially, a file (object/scene) is stored somewhere and you can load these into your scene. This keeps the file size down and speed of your scene working well.

I thought that maybe levels in Unreal were the same kind of thing (although better because you have a lot more control and can move things around etc), and that this would speed up my main scene (and get rid of the ghosting) because the main scene was only accessing the other levels, they weren’t actually loaded in the scene… Looks like I was wrong

Poor frame rates make TemporalAA much worse, it’s bearable at 60 FPS in most scenes, but there are cases where it still has bad artifacts. High resolutions can also help.

You can tweak Temporal AA to contain less ghosting. Optimal settings differ a bit from project to project.
Here is what I use. Put these in Engine/Config/ConsoleVariables.ini to have them load every time.

r.TemporalAACurrentFrameWeight = .1
r.TemporalAASamples = 4
r.Tonemapper.Sharpen = .2

PS: r.TemporalAACurrentFrameWeight is the one that causes these artifacts. So adjusting that should give different results.

1 Like

Just an update.

I set Unreal to FXAA and when doing a video I exported at double 1080 (3840*2160). I set the screen percentage to 150.

This seems to have fixed any issues and looks good.

You also have to consider the graininess of the textures where the issue appears. The temporal ghosting is more apparent on really noisy surfaces as it blends between frames, which is why you see it more on the carpet. You can combine the above techniques and reducing the fine details in the texture to save performance, since rendering a higher resolution isn’t always an option.