Can Unreal handle highly complex scenes?


I am an illustrator/arch viz artist who renders up scenes with many millions of polygons (think ~50 million). My scenes are typically comprised of many medium/low poly objects in multi-tiered hierarchies, rather than a few ultra-high poly objects.

A friend of mine was telling me how fast Unreal is as a renderer and that I should switch to it from 3DS Max/Mental Ray. However, on trying this software, it has gotten stuck even trying to import part of my scenes (about 20 mil polys total). This makes me think that Unreal is NOT suited for my purposes, unless there’s some way to optimize it for such. Thoughts?


Unreal can be very powerful if you have a lot of low to med-poly objects, and are duplicating them a lot of times to build up a more complex scene. I’ve got scenes over 1B polys rendered at 4K on the previous generation workstation GPUs, so complex scenes are definitely possible! Frame rate was not great (you certainly couldn’t ‘play’ it), but it was naviagable.

Where you might struggle is If you have a pre-built scene layout, and are trying to import the whole thing in one go for rendering in Unreal. Unreal does a lot of optimization, compression and pre-processing on import, so this could take many hours (or freeze / fail entirely).

Well I would not what to do a 50 million all in one environment. My preference would be to use level streaming and break things down into bite size pieces. Think of it as the UE4 version of Max’s x-referencing system

You could also use occlusion culling to hide what the camera isn’t displaying, that would increase the performance greatly.

If it’s a little bit slow then it’s not necessarily a big issue, since it’s going to be substantially faster than rendering in Vray. But, if you have millions of polygons you should consider how much of that you really need, you might need to work with your meshes to make them more effecient. When importing to UE4 it can help to split it up into multiple files so that you can import separate portions rather than everything at once, also turn off the automatic options, some of them are on by default and will take extra time when importing, those are things like Automatically Generate Lightmap UV’s, and Automatically Generate Collision.

The biggest issue for you though would be lighting, you still have to render lighting and it requires a UV channel designed for that, which can be a huge pain when you’ve got a high resolution mesh that you didn’t need to unwrap before when rendering in Vray.
Also, there’s the upcoming Datasmith plugin which is a one-click conversion tool to go from 3ds Max to UE4, it’ll export all of your objects and place them in a level in UE4 along with converting materials from Mental Ray and Vray.

You need to learn the fine art of normal maps and use it.
You can have a lot of polys in total for your game, but you need to look into occlusion culling and Level of Detail.
Video games work in real time and the more it has to process is the more frames will lag, which is death to a game.