Rendering "Jerkiness" in Unreal (Paper2D) + Translucent Z order issues

Hello everyone,

I would like to report something that i believe is a very serious issue since video games are all about fluid motion.
For quite some time i am trying to express with words what my eyes have been seeing since day one that i started using Unreal. Constant hiccups in the way the engine renders the images.On top of that i see excessive amounts of “ghosting” and blurriness while the game is in motion . Although some amount of ghosting is normal for led monitors in very fast scenes,i still cannot accept how much of it i see in Unreal.In all my previous game engines i have never seen anything like it.

I tried to create a small demo for you guys so i can help you better understand the above problems.
What you will see here (jerkiness+ghosting) does not even come close to a project that has many animations,backgrounds and complex moves.

Just move left and right and see how much blurry the game becomes.I am not a seasoned game developer so please forgive me if i am wrong but i simply cannot see how a game so simple as this has so much blur while it is moving.

Now please set in the console command (while running the game in a new window) the command “slomo 0.1” and start running left and right.Notice the floor and the background (between any 2 that i have left on purpose a thin blue line ) how it “skips frames” and how jerky the whole game looks and feels.

The above behaviour makes my 2d platformer game feel sluggish while it degrades the visuals and this is something that no game developer wants in his life…The engine for some reason just doesn’t render sprites correctly.

As an added bonus i made most of the sprites as translucent to demonstrate how bad(or funny depending on your mood) a 2d game looks (this has been reported already ) inside Unreal at this moment.

Thank you!

EDIT:I forgot to tell you that when i play the above demo as a standalone game then i see screen tearing and this happens because i capped the game to 60fps. (GPU= R9 290)

Hey Roccinio -

Translucent Z Sort Order -

This is a product of the way the engine handles translucency in the deferred rendering pipeline. Z Sorting is done from the center of the bounds of the object being rendered to its edge. In 3D games this sorting works correctly except in a few very minor particle cases which can be fixed with setting fixed bounds in Cascade. For a Paper2D game, the objects are essentially placed right on top of each other so the engine is not certain based on the objects bounds which object is on top of which. (For reference this check is always from camera to object which is why it changes when you are moving the camera around.) So that’s the explanation of the sorting, but you want the fix I am sure. The Developers have left an option for you to manual set the sort order for each object. In order to do this choose all the background sprites that are horizontal in the same plane and in the details panel under Rendering >> Advanced Options Rollout >> Translucency Sort Priority and set the value to 0 (which should be default). Continue doing this with all sprites (or sprites in BP) based on the horizontal plane that the sprite exists on but each plane as you work into the foreground should be +1 Sort Priority. In your sample project I got away with a 0, 1, and 2 level and there was no more Z sort issues.

We are still looking into the screen tearing you are seeing and I will let you know as we learn more.

Thank You

Eric Ketchum

Thank you very much for your detailed explanation. It helped a lot.
I started using your method but unfortunately i do to understand how to set “Translucency Sort Priority” for a blueprint.Could you please tell me how to do this?What do you mean by “sprites in BP” ?

EDIT: Got it! For future reference we need to pick the sprite or flipbook from the components tab within the blueprint and change it from there.

Any update on the tearing? I’m having the same issue.

Please post this in the paper2d thread in the forums.That will help the paper2d dev to realize that this is a general issue and not a one off.

In a blueprint, add a paperSprite, select it, in the Render section → set transludancy Z sorting
This fonctionality is exposed to the blueprint graph, so you can change it in runtime or set it by elsewhere
Be sure the material used by the sprite himself is UnlitTransuldent or lit version, else you wont see any change

I have tried the sorting but am still having the problem does anyone have advice