Antialiasing in Unity 5

This is a quick question for the graphics devs. As Unity 5 is switching over to a fully deferred renderer, MSAA in its traditional form will no longer work (a problem all deferred engines have had to face). Some engines (Frostbite comes to mind) have found ways of getting deferred MSAA into the engine. So how has this problem been addressed (if it has at all)?

The postprocessing anti-aliasing in Unity 4 is horrible, especially FXAA. It’s one of the largest pitfalls of using deferred over forward rendering in my mind. The best solution seems to be a user made SMAA shader, which smoothens out the edges with minimal blurring, however it is not well optimised and is fairly demanding to use. Will Unity 5 contain deferred MSAA, SMAA, or any improvements to antialiasing in general?

I hope so, good AA really makes a difference. My fingers are crossed :smile:

4 Likes

I echo your concerns, hopefully we can get an official response on this point.

I consider improvements in that area essential for the new graphic features, and hope we hear something positive soon.

I’ve been saying this for goodness how long? Temporal AA with it’s shiny cinematic post looks amaziiing!..

Glad to see other people are concerned. Hopefully Aras or someone will give us a nice surprise :smile:

Yeah, we definitely need epic (pun intended) AA!

There’s already a bunch of post fx AA in Unity right now. FXAA etc. And these won’t suddenly stop getting used in PS4 and xbox one titles. FXAA is just really fast and decent. It’s not something you replace unless you’re targeting high end desktop tbh.

TXAA and all that’s very well and good, but still not realistic for most retail games out of the box (but as an option, it’s very nice) :slight_smile:

CryEngine gets away with deferred rendering and MSAA and Hybrid SMAA with decent post and you don’t get nowhere near the amount of aliasing issues, plus check out the grass :smile::

https://www.youtube.com/watch?v=Uh2Lv97OhMg

1 Like

ECHOING. official devs, where are you?

But the majority of us aren’t developing for consoles, where people are seated metres away from the screen and the blurring isn’t noticeable, we’re talking about inches for PC. Do a search on almost any forum for a popular video game (i.e. Crysis or Skyrim) for a thread about the antialiasing options, and there’s usually a large number of gamers posting about their dislike for FXAA. It’s great as a backup for low end hardware when a better algorithm or real AA isn’t an option, but not for a lot of gamers who want the game to look crisp, clear, and beautiful.

EDIT: Just did some research, it looks like UE4 only has postprocessing AA for now, which doesn’t bode well for us. Frostbite 2+ appears to use a postprocessing technique called SRAA (https://research.nvidia.com/sites/default/files/publications/I3D11.pdf), I wonder if it will be possible to implement into Unity?

These guys made a SMAA solution for Unity, works much nicer than any of the current Unity AA, I been using it since I found it:

https://github.com/Chman/uSMAA

I’m also hoping Unity5 will have some better AA solutions.

Guys n Girls relax by the time Unity 5 rolls out we will all have 4k displays and be looking to purchase 8k ones, who needs Anti-aliasing on a 4k screen!

If like me your are a AA noob check out this review of techniques http://www.tomshardware.co.uk/anti-aliasing-nvidia-geforce-amd-radeon,review-32166.html

I know this was probably meant to be sarcastic, but I kind of agree with the sentiment. Hopefully, soon we will render our products on screens that actually represent images better instead of trying to compensate with hacky edge detection image effects to blur edges. Running AA on 300+ PPI screens hardly seems necessary.

Thanks for the article, that was an awesome read. Seems like a combination of SRAA and a good post process shader like SMAA or MLAA is the way to go with a deferred engine. Hopefully Unity will be able to get these in at some point, if not in the 5.0 release.

Depends; on iPhone and similar screens AA is still clearly necessary. If the screen is across the room from you, then maybe not.

–Eric

wow , but how really grass moves when player walk ? i see that in assassins creed

On a side note it looks like 4k gaming’s biggest problem is how well the GUI scales link

Making “foliage” move when a character walks through it can actually be done right now in Unity. Check out the “Advanced Foliage” asset on the asset store by Lars. I can’t remember the name exactly. It might not be quite as good as seen in that video, but it’s close to it.

Basically using physics detection and shaders.

1 Like

I didn’t know forward rendering mode is discontinued in Unity 5, I think there are still many situations when we need it.
That being said, aliasing is a huge elephant in the dev garage for me, I have to render 3d geometry in MODO and retouch in PS instead of importing directly in Unity because of the broad difference in quality between realtime in Unity and pre-rendered, and that being in forward mode AND with FXAA script. so deffered mode is out of the question for now until maybe we get some AA love from Unity.

Neither did I, how are they going to deal with transparency I wonder?