Anti-Aliasing issue in UE 4.16

I found that AA works strangely in UE 4.16 with the same settings like in 4.15 (Temporal AA, Cinematic Quality).

Here’s the comparison:

UE 4.15:

UE 4.16:

I tried to change r.PostProcessAAQuality, r.DefaultFeature.AntiAliasing, sg.AntiAliasingQuality.NumLevels, but it didn’t help.
Any ideas on how to fix that?

Of course, I checked all the settings. They are in both cases in “Cinematic” quality. Lighting is also the same. Moreover, I tried to migrate content from the project into clean UE 4.16 project and got the same issue in a clean project, when I opened migrated map and even when I put some meshes from migrated content to default clean map. I also tried to remove all tweaks(like planar reflections support) from project configs - it didn’t help. This problem is also not a specific for concrete PC because I’ve got a report from one of my clients, then I confirmed this issue on my PC and wrote a bug report here.

Hey Kelheor,

So I attempted to test this on my end and did not get the AA issue you are reporting. Would you mind providing me with the steps you are taking for this to occur in a new blank project?

Thanks,

H

Hello!
I can be able to reproduce this issue with this my project(I’m an author): Research Center in Environments - UE Marketplace
In case if you won’t be able to get it for free for test purposes as a staff member, please tell me about another way how to send you these files.
You can migrate content from Research Center to the clean project to reproduce the issue or see it directly in it.

UPD: I did this little demo with one mesh from the project, to show you the problem. You can download it here: https://drive.google.com/open?id=0ByoK5MALiewJcXlnbHZ6ZlR6ZVU

Hey Kelheor,

So I extracted your mesh and the material, and imported it into a new version of the engine using 4.15.3. I had a hunch as to what it was that was causing the issue, and my assumptions were correct for the most part. In order to determine if this is a true AA issue I needed to isolate the mesh and use simple materials. Below are the results I got between the 4.15.3 and 4.16.1

Temporal AA - 4.15.3

Temporal AA - 4.16.1

As you can see they are nearly identical aside from slight camera angles being different. This issue comes down to the normals of the material being very small and very pronounced. All I did to negate some of this effect was to add a Mip Bias to the normals which softened the edges, but still produced the desired look.

Mip Bias 0.0

Mip Bias 2.0

Here you can see how modifying the Mip bias helps significantly reduce the ‘aliasing’ you are seeing on the mesh. There might be a bug here, but there is not enough concrete evidence to support a regression in the AA behavior using the assets provided or tests completed.

Let me know if you have further questions.

Thank you,

H

Thanks, but this solution is not a panacea. Now I have to fine-tune bias for every material and mesh(and I have to duplicate some material instances because bias value depends from the mesh, which leads to additional performance costs) in my pack and in some cases even with bias trick some meshes looks worse than in 4.15. I don’t know if it is antialiasing problem or not, but there is a real problem, which might occur in many projects, migrated to UE 4.16. Just imagine - you have tons of assets and now you should fine-tune each one of them because there might me the same issue with them. I wonder which kind of tests do you need to complete to approve the bug?

And here’s the example, when this trick is not work at all.

Hi Kelheor, have you tried disabling anti-aliasing entirely and comparing the scene in 4.15 and 4.16 to verify there is no underlying change and isolating that this is an AA issue. Similarly is this using TAA and not FXAA?

Thanks,

Yes, I tried to disable AA and also tried FXAA.

I downloaded all assets from marketplace before doing any comparison - they don’t have Saved and Intermediate folders by default. All post-process settings are the same. I didn’t change anything, when I added UE 4.16 support - just pressed one button in marketplace project management page - to make a project for UE 4.15 compatible with UE 4.16 - so it’s definitely the same versions at this moment (I submitted an update with temp bias trick, but it’s not published yet (UPD: now it’s published, but I have a version without bias trick, if you need it)).

I don’t know why there is a difference in contrast (maybe there are some other changes in UE 4.16, which leads to that) and I also already tried to delete all “Configs” - I told about it, but someone here deleted this message. It’s not a project specific issue because I can migrate all assets to clean project and get the same result.

If you can’t contact Marketplace team to get this project for free, please tell me how can I send you the project files for both engine versions(as I said before, I’m an author, so I have an authority to do this).

So I can clearly see the difference between the two in your screenshots. However, since I do not have this project on hand, and I was not able to reproduce the issue in my minimal test case using one of your assets and upgrading to 4.16. We need to assume for now, it is a project specific issue.

Something else I noticed (aside from the visual difference in AA) is that the contrast of your scene looks overall darker in 4.16 than the 4.15 version, which leads me to believe there could possibly be some tonemapper effects or post processing settings sticking around during the upgrade.

Have you attempted deleting your ‘Saved’ and ‘Intermediate’ folders. You might even want to look at deleting your ‘Config’ as well because these hold Cvars. Be sure to make a copy of each folder before deleting just in case it breaks something unexpectedly.

Regards,

H

And about “I was not able to reproduce the issue in my minimal test case using one of your assets” - I already told that some assets might be fixed by your bias trick and some of them aren’t. I showed you an example of the asset, which cannot be fixed by it. All you need is to get a full version of a project and test this asset in your minimal test case to confirm it.

Moreover, as I already said, bias value are unique for each object, which means that if I have the same material instance with the same bias value, which used by two meshes, one of them might look correctly and other one are super-smooth(losing normal quality) - I already got such problem - and only way to fix that with bias trick is to add new material instances for each mesh with different bias value - not the best approach, don’t you think?

Can I send you links to projects by email or forum PM (need to know your nickname)?

I did try and import one of your assets into the engine and test completely against a bare bones project using default settings and did not see the issue you are reporting. This is outlined in the answer below. I did this to show that if there was a difference in AA between the two versions using your assets, it would be easily identifiable, and then could be reported as a bug with the engine. This was not the case therefore ruled as not a bug at this time.

Any chances that it will be fixed?

As mentioned earlier, we need to be able to reproduce this with engine content and not content that was imported into the engine. This allows us to determine if this is a bug with the engine, and not a bug related to your content.

What do you mean by “engine content”? Built-in into the engine? Then I agree that such texture might not exist in it. But then, tons of other errors&bugs might be not reproduced with built-in content (for example any bugs related to code, because this code doesn’t exist in “engine content”, so you can’t reproduce it without some third-party project). If you don’t want to do some additional tests for some unknown reason, I won’t disturb you anymore.

All I saw is that you added map bias parameter to eliminate the error in one certain case. And looks like you didn’t read any of my previous messages when I tried to show you that your trick is not work in all cases. It may not be a bug with AA, maybe a bug with normal texture rendering or just name it whatever you want. In one thing I’m absolutely sure - something works wrong. If you need to see this in the clean project, when your trick does not work, then here: https://drive.google.com/open?id=0ByoK5MALiewJcXlnbHZ6ZlR6ZVU