"Ghost effect" when playing my Paper2D game.

Hello everyone,

I am facing a huge problem that has to do with the way my game is being rendered during gameplay.

My main character that is always centered, is crystal clear when he is moving around but everything else has a small “ghost effect” .This degrades enormously the visual aesthetic of the game and it makes it look like it is a HTML game instead of something running on Unreal.It is subtle but nevertheless still very noticeable.

The game runs at >160 fps on my system,I have no antialiasing whatsoever ,no motion blur no nothing.I am using a perspective camera but in ortho it does the same if not worse.

Are there any settings i should change so i can achieve that crystal clear motion that every game should have especially if running at 60fps?It breaks my heart to see flickering and motion issues in my game. :frowning:

Thank you.

EDIT:i am posting a few pictures in case some Unreal Jedi Master out there can give me some guidance.

So I am not sure if your screenshots are what you meant to post? It would be helpful to see the actual ghosting in action.

Actually, that’s a good troubleshooting step: if you screencap the gameplay does the still exhibit the ghosting as well? That would rule out any possible hardware artifacts from your monitor itself. If your game is running at 160 fps it’s fairly possible you are actually seeing some artifacts from your monitor hardware itself. What happens if you lock the game to 60fps?

I have tested the above in three different systems all with different cpu,gpu and monitors.The results are identical.I even hooked it up to a 65 inch 800ghz led tv.Exactly the same.

Now if i cap the framerate to 60 then all hell breaks loose and you can see screen tearing ,something like when a game needs Vsync but a lot worse since everything jitters and shutters.

Again the above has been tested to all three systems plus the led tv.

My gut tells me that this is an issue with unreal and the way it renders textures on a paper2d project but i have to ask here first in case there is a setting that cures this that i am not ware of.

On a game using sprites you do not need all those fancy 3d settings because in my tests they do more bad than good.For example temporallAAA destroys the quality of sprites.Antialising makes the game look washed out and you generally dont need any depth settings since everything is very close to each other and all in one plane.

That is the reason i tried disabling everything from the post process volume and from my player camera.I i posted these pictures is in case something is still running that creates this artifact.I do not know what all these mean so i uploaded them in hope that the problem lies there and not in the rendering of unreal itself.

I will try to screen capture the problem and report back but in the meantime any suggestion are welcome.

Hey Roccinio,

I was able to reproduce this in your project as well as the default 2D Side Scroller template, both in 4.5 and earlier versions as well as our internal build. I entered a bug report (UE-4895) and I will let you know when I see an update. Thanks for reporting!

Hey!
Any chance that we will see this fixed in 4.7? I personally consider this one of the worst bugs of paper2d and i would love to finally see my world and my animations render in all their glory!

I just had a conversation about this with Michael, and I’m afraid there’s no easy fix because there isn’t actually a bug. It appears that the ghosting affect is just a property of mass market LCDs. To test this, grab a screenshot: if there’s no blur, there’s no bug.

This is a physical property of the monitor and the input signal. LCDs can’t transition between color X to color Y instantly; that transition takes time. That time is typically asymmetrical and varies based on the difference between colors. For example, white to black takes longer than grey to a slightly different grey. You can read a bit more about this here:

and there’s a cool little test here:

Unreal isn’t doing anything special here, and should behave the same as any other 2D or 3D game or application in regards to ghosting. If you take Mario sprites, recreate 1-1, and pan the scene at 60 fps, then it should look the same as an emulator running Mario at 60 fps.

From a developer’s perspective, the solution falls more in the art/design realm than anything else. Try to avoid high speed, have texture in the background, and lower the contrast between sprites. Basically, you’ll need to adjust until it looks good. There may be ways to reduce the impact of the effect with code, but I don’t know them if there are. You might also benefit from starting a conversation with other developers on the forums to see how they deal with the same effect. If you do, please post a link here so anyone else interested can get involved.

I need some time to research this and report back but as a first reaction i am not convinced that what you are describing above is the sole reason for the way i see things being rendered in my 2d project.I have never seen anything like this in either construct 2 or Unity. I personally use ips panels with very low latency and everything was moving without any of this flickering and jittering on both of the above software.To prove my point could you please run my project and while you move left or right set ‘slomo 0.1’ . Now that we eliminated the speed factor doyou see the way the system renders my grass floor and everything else?It is full of shutter and flicker.Could you please show this to Michael so we can be 100% sure that it has nothing to do with Unreal?Something is just not right here…

Playing it with Slomo 0.1 shows no ghosting for me.

There are other things that I see, such as the white lines flickering in your rock tiles, and some weird lagging behavior, and it looks like your grass has some opacity or alpha problems. Those aren’t the ghosting affect you initially reported and that we were looking into, and are probably specific to your assets, but I can start looking into those as separate issues. Let me take some time with the project tomorrow, as we may need to open new bug reports for those.

I was able to find a fix to this issue while I was doing my masters at university, But I can’t remembet what it actually was what fixed it. I’ve started a project a week or so ago and it’s popped up the same issue. Now I do remember highlighting something in the world settings, project or camera settings (when highlighted it mentions something like” best for 2D games” this fixed my issue but I’ve been looking for this exact setting for awhile now…