Download

RTX - How to improve render quality for small details?

Aloha,

i am stuck at a small problem, or a big problem with small details in objects :frowning: I have created a test text in Cinema 4D, which contains small round edges with a different color than the main body of the text. And even with the lowest antialiasing settings (or no AA at all), that small edges are still visible in all the renders. For this render, i used 2x AA, which is almost nothing.

However, after exporting said text with the camera to UE4, i cannot get the same good AA (TemporalAA at Cinematic quality settings), and more important, most of the small edges from the lower textline are not rendered. Does anyone have an idea, how i can improve this scene or my rendersettings in UE4, to get those small details back? I used the HighRes Screenshot at the same resolution (1920x1080) to make that shot, and Sequencer does not render better results (or i am just to stupid for it ^.^ ).

(Please ignore, that the main body is pure black in the UE4 picture, thats just to make the problem more visible).

Have a wonderful day :slight_smile:

Edit: You can zoom in that picture, it´s not as small, as the forum shows it.

Where are the images?

It was there, when i posted it o.O have attached it again.

For better comparsion, this is the C4D version with black background, nothing else changed:

I saw the initial images. Perhaps there’s an issue with the browser, Bits360…or a server side problem.

When importing to UE4, what are the settings? Post a screenshot of those. There might be incohereny between the Cinema4D export settings and the UE4 import settings.

I used the unaltered Datasmith settings for directly importing the C4D file. And the model itself is fine, the edges are all there and undamaged. They are just not rendered completely, as soon as i am not super close anymore. Even changing the samples for Raytracing reflections don´t have much (if any) impact on this particular scenario.

C4D-Datasmith-Settings.jpg

Bizarre. Could it be an LOD problem? It really appears to be based on rendering settings or resolution. Yet it could be due to LOD settings (check mesh in Static Mesh Editor), such as distance at which LODs change and the minimum lightmap resolution for those LODs. One thing is if “Minimum Lightmap Resolution” is higher than actual lightmap resolution (such as the Overridden setting in details panel, or the lightmap res setting in the mesh’s Static Mesh Editor settings), then it could be screwing something up.

Since i am not very familiar with LOD stuff, maybe you see something unusual in those settings. Have not touched them previously, so they should be all the default settings either from UE or from Datasmith.

https://youtube.com/watch?v=qer8RgM2k1g

And the materials are as easy, as they could be. The highly reflective contains just a color, and two scalar parameter for metallic and roughness. The glow mat used for this part have just one additional color for the emissive with a scalar as multiplier, to regulate the glow strenght.

A few things in the settings:

  1. Recompute normals is unchecked. Try enabling that.
  2. There’s only one LOD, which is LOD 0, and it’s set at “Auto-compute LOD distances”. That may be where this fade-out / lower quality as the camera backs up to a certain distance range is coming from. LODs are intended to smoothly transition between resolution / quality levels at different distances. One reason is for making areas of the scene render faster when there’s stuff in the distance that can be ‘scaled down’ to lower quality level without losing important details, etc. Try disabling "Auto-compute LOD distances and seeing if there’s a way to set the distance, or perhaps increase the quality level up to a further distance.
  3. Maximum lightmap resolution is 1024, set it to 2048 or 4096, and set the actual lightmap resolution to 1024 / 2048 (try both). I noticed how reducing triangles to 0 almost completely erased the entire text and its effects. That’s implying it’s a resolution issue somehow, since more triangles means more geometry to render and better quality with more geometry. But it shouldn’t diminish so suddenly and at those shorter distances. I believe I’m encountering a nearly identical issue in a scene I’m working on, in regard to shadows’ edges becoming jagged at close distances (within 1000 UE units).
  4. Source Lightmap Channel, and Destination Lightmap Channel are the same (Channel 1). I think it needs to be Source is Channel 0, and Destination is Channel 1. As a separate test, try deleting the entire thing from the scene, re-import it, and ensure that the Source Lightmap Channel is 0 while Destination Channel is 1. Then generate the lightmap UVs for it, not at first when importing but after importing. So in the Import dialog, disable generation of lightmap / UVs, and once the object is in the scene, go to Static Mesh Editor and select the correct channels for Source and Destination, then re-enable “Generate Lightmap UVs”. May have to update it another way too for lightmap to get generated.

In Cinema4D, was the Path Tracer used during creation of the text and effects? Unreal may be having difficulty translating the level of detail from C4D, possibly because ray tracing isn’t enabled for the project it’s imported into in UE4.

Thanks a lot for the effort :slight_smile: But after testing those things, including creating a new scene, none of them changed anything in the render results. It may be, because this model actually do not have any LODs (just the main model in all it´s glory), and therefore UE should not even switch to any other LOD or model with lesser polys.

And if anyone want test it, i packed the project into a ZIP. The zip also contains a folder “Import-Stuff”, in which i have stored the original C4D file, a special for exporting to UE prepared file (C4D-Melange, since Melange is a process, that prepares C4D scenes for better import via Datasmith), and the mesh as FBX file. I also packed those original mesh files separatly into my cloud, just in case, that the zip is broken.

Link: Cloud

This project contains a level blueprint that lets you take screenshots with “P” for 1920x1080 and “L” for 4k, and with 1-3 keys you can switch through the 3 cameras, from which camera 2 and 3 are the imported ones. The FBX didn´t save camera infos, so i just added a normal CineCamera and linked it to “1” :frowning:

Just some thoughts from me:

As far, as i understand, Lightmaps should not really matter, since it´s pure raytracing with a fully reflective material for the main body (it´s just black, because right now, there is no surrounding to reflect, like a HDRI Backdrop) and a glowing mat for the edges. None of them would require any lightmaps since one just reflects everything, and the other just sends out light, reciving light not required.

Cinema4Ds contains two renders, but both of them are capable of doing all the raytracing stuff, even more than UE can do. The difference is just, which one you choose, since both are optimized for different tasks. The “normal” render is in this case faster, since it´s all supershiny reflections and not much else happening. The other, physical render, would be faster, if all the mats would be very rough/diffuse and if the scene would contain a lot of glass ( -> raytracing glass with bending the rays via IOR, and caustics) or subsurface scatter.
But since those effects would be caused by the actual materials, UE should only got those infos, if the materials are set up for glass or subsurface scattering or are pretty rough and diffuse.
However, i had replaced all imported mats with simple new created test mats, so even those infos should not matter, if they got damaged during import, or got imported with wrong settings.

The data for the C4D materials could still be there, yet damaged or something, and messing with the rendering. If it’s pure raytracing, then I would think it doesn’t require lightmap stuff either, yet I’m guessing rather than it’s what I know for sure. I imported a highly reflective model from Blender, using Datasmith, and when adding to the scene it didn’t have the reflective material on it. It looked like it was in Look Dev mode in Blender, with the reflectivity and tweaking I did no longer applied. So I made a new material for it, and it looked pretty much identical to how it did in Blender with reflective material, and with a few simple connections in the graph. It’s not really simple model, but it’s not a super complex one either. Could it be how UE doesn’t do as much ray tracing as C4D in not getting the right result?

Well, it could be the case for the imported C4D files, but even if i import the FBX file, that stuff happens :frowning: And the FBX file does only get the absolute basic stuff written into it, nothing, that influences, how to render or what kind of render will be used. Even the materials are not exported correctly, just that there are materials, and some groups, but usually, the info, that goes beyond what color or texture to use, is lost.

Nah, what and how C4D can render, should not matter to UE4 in the slightest for data/model transfer. Should not matter for a Blender -> UE4 transfer either, since in worst case, you “just” rebuild all mats from scratch in UE, because you just got the geometry imported :confused:

Edit: Tried something else. Since Raytracing scenes only have FXAA and Temporal AA available, and MSAA only works with Forward shading, which does NOT work with Raytracing, i created a Non-Raytracing scene, imported the FBX file, activated forward shading and tried the MSAA. Well, it looks like, this is an AA and rendering or resolution problem :frowning:

https://youtube.com/watch?v=O73tO18slRs