We’re making a 2.5d game. It has a 2D cutout look and our scenes are comprised of sprites, flipbooks and 2d rigged models, all using masked shaders. We seem to be getting poor results from both methods of AA.
This is using FXX.
And this is using Temporal AA.
The figure on the left is stationary. The figure on the right is a moving flipbook. (these shots have been enlarged. The camera is a little far away from the assets.)
When using FXX we get stable movement but horrible jaggies.
When we use Temporal AA we get smooth, desirable stationary characters, but it completely breaks any movement with ghosting.
Is there anyway to remove the jagginess of FXX, or remove the ghosting of Temporal AA? Or is a solution in the works?
Thanks in advance.
I don’t know why FXAA looks that bad in that case - maybe the lowest quality has such issues.
You can adjust the FXAA quality with this console variable - r.PostProcessAAQuality (try 1 and 2, also 0)
If your content is transluceny you don’t give TemporalAA much to work with.
If you use masked materials it’s you need motion vectors and switching a flipbook will not provide that.
I suggest to not use TemporalAA or FXAA.
2D games can do better without it.
FXAA blurs the content and fixes the hard edges - better you use Transluceny with alpha/opacity values between 0…1, not just 0 and 1. Then you need sorting but for 2D or 2.5D this should be simple.
You also can render in higher resolution and downsample (e.g. r.ScreenPercentage 150).
Hey, thanks for the reply.
We’ve definitely tried all the AA quality settings.
We aren’t using any translucent shaders because A: They cannot cast and receive shadows. B: We’re using complicated 2d Maya rigs and you cannot select the translucency sorting within a character model (so they look mixed up layer-wise.)
I’m not sure I understand why you think 2d games do better without AA. Do you mean for pixel based games?
Having no AA, like FXX, gives terrible jagging when the camera moves forwards or backwards. Very noticeable.
Screen percentage had no effect on the image.
Can we send motion vectors using our 2d Maya rigs? Any other ideas?
NOTE: I have had a little luck with screen percentage. I assume this comes at a heavy cost though?
Glad to see some one else making a 2.5 D game. I really love the possibilities that this method offers art wise. I have encountered all the same issues that you are speaking of. I would love to be able to cast a shadow onto a completely invisible object. I also had to resort to the FXAA so I could see the art nice and crisp. The edge quality I am getting on fully translucent objects is fine, but for the opacity masked stuff not so great. I also would love to have full translucent objects that sort within a full skeletal mesh. (I’m also making all the art and the rig inside of Maya and then pushing that to UDK.) I’m really inspired by all the work that Ubisoft has made with their Ubiart engine. I hope we could see similar types of tools and workflows in UE4 one day. I love 2D art just as much as the 3D art, I really feel like if the right tools were available for everyone we would be seeing an explosion of cool new 2D games just like we have seen with what everyone is doing 3D wise with UE4.Well I wish I could offer something more than a keep up the great work, but I am afraid right now that is all that I have. I do have a thread that I started some time back about these issues https://answers.unrealengine.com/questions/143785/2d-25d-with-mix-of-3d-rendering-transparency-issue.html I’m hopeful that object sort order could be added for 4.9, but it looks like that will still be coming later.
Hey Nick! I actually contacted you on fb a while back but it’s probably gone straight to your “other” folder. I know, if we just had translucent sort order, and they activated translucent materials so they could cast and receive shadows we’d be in the clear. Quite frustrating.
Hey Johnny, sorry…I’m not sure I ever got the FB message. Just keep pushing on what you are doing! The work is really cool! I love to see people use the engine in this way!
From what i’ve seen for what is “Temporal” TAA seems to commonly completely fail in motion while being mostly ok while standing still