Unreal Engine 5.4 Realtime Rendering vs Blender 4.2 Eevee
I am sure you heard about the recent Blender release which has a lot of cool features. However, the most anticipated one was the rework of it’s realtime render engine Eevee which is now called Eevee Next. There was also another release from Unreal (5.4) which I was a little bit late to take a look. But recently I checked it and then decided to make a comparison between the two. I don’t know if realtime rendering is the future (I really hope it is because who likes to wait for a render overnight right?) but it is so convenient to see the end result right away.
As always since I am an FX artist I am more focused on the FX side of things. But since I also enjoy the other aspects of CG I made a full scene with environment design, lighting, FX, compositing, animation.
Unreal Engine 5.4
Here is the Unreal render that I worked on for a personal test project.
- Right of the bat, just like in my previous Unreal Engine test (which can be read HERE) it is unfortunately very bad with VDBs or animations like the rigid body simulated rocks on the ground. VDBs are very difficult to import into the program. It takes a very long time to process it, optimize it and import in. It requires crazy amounts of RAM while importing, even higher than the RAM that was needed while simulating the dust trail behind the car. Now as soon as you import a VDB, Unreal creates a volume material. That wasn’t the case in the previous versions and saves some time.
I know that the pyro sim which I simulated in Houdini doesn’t look detailed enough. However it is actually way more detailed than what you see in the video above. But for some reason it loses the details in Unreal. There was also another higher quality (smaller voxel size) sim but I wasn’t able to import it into Unreal because it kept crashing.
Bringing in the rocks as alembic was also not super easy, but wasn’t as difficult as VDBs. Importing in the car as an alembic was fine, it was light anyway. I made it using the RBD Car Rig node in Houdini. - Just like before there was some shadow issues in the render for some reason, either shadows pop or flicker or plant shadows act weird or some shadows just disappear. There is always a way to fix those but it is somehow always a different case.
- If you watch carefully or frame by frame some frames do not have proper motion blur. Not sure why but sometimes motion blur acted weird for me.
- The UI and viewport of Unreal is pretty amazing. With the help of Nanite, even if there are a lot of polygons and high resolution textures it works fast. Of course it slows down and gives red errors complaining about performance but compared to Blender it is easy to operate.
- I know this one is based on the artist but Unreal renders for some reason often have a certain look. I can generally notice the render of an Unreal output the second I look at it. Not that it looks bad but those renders generally have the same vibe. My render has that feel too.
- Compared to Blender I know that the environment looks way better in the Unreal render because the Megascans models that are inside Unreal are incredible. They work with each other quite well. They have super high quality and tiny details. Also Nanite (the clever system which supports a crazy high number of polygons) works brilliantly. Lumen (the realtime global illumination system) also helps with lighting. Therefore all these combined environments look amazing. And that’s why in my opinion static environments work pretty good with Unreal Engine. However when you go into animations little, annoying errors pop up here and there. Even though Nanite fixed the popping issues when objects change from one LOD (Level of Detail) to another, there is still some shadows popping or flickering or jittering bright spots. I am not saying these are unsolvable issues but just trying to mention that it doesn’t work like your regular 3d modeling softwares.
Blender
Here is the render from Blender, again a personal project.
- First things first, let’s bring in the VDBs and what a relief, I can import a higher resolution pyro sim into Blender in a matter of seconds. Works nice, renders fast and I can see all the details. However I can’t say that the shadows were better than Unreal’s. When you give a volume into real time engines it somehow loses a lot of it’s tiny details especially in shadows. The shadow quality is a bit more apparent in Eevee in my opinion. Also from time to time Eevee decides to not render VDBs all of a sudden. I researched this in the web and it seems a lot of people had the same issue. The solution is to either switch to Cycles then back to Eevee or simple to relaunch Blender. Compared to Unreal, Blender Eevee shows more of those voxel details in the render but it has a certain flat look (because of shadows) which I am not a fan of. Before Eevee 4.2 was released it was advertised as the VDBs were going to work so much better with lights, maybe my expectations were very high but I can’t say it works good enough. I know that in the previous versions volumetrics with lights kept flickering, that one is fixed for good.
- Eevee renders quite fast. I can’t easily say which software renders faster but I think Unreal wins here with a tiny margin. Had a few issues while rendering 4K with Blender where it crashed a few times and renders got slow. I can definitely say Blender Eevee render serttings are much simpler. Although somehow it doesn’t look that good, it needs more effort to make it look nice. It might be related to Unreal having the impressive Megascans models and Lumen lighting. For my Blender models I used Blender Kit which contains a lot of models. Not as many or as high quality as Megascans assets but it gets the job done. Maybe if Megascans assets become available in Blender one day the look might automaticaly improve. Obivously I can download Megascans assets and import them into Blender but those models’ licenses do not let you use them commercially outside Unreal. And I don’t want to take any risks there.
- Compared to Unreal Engine, Blender viewport and overall the program gets much slower with a few million polygons. This is obviously related to PC specs but since I tested both scenes on my own PC, I clearly saw the difference. And keep in mind Unreal had more polygons and textures in the scene.
- One of the best pluses Blender (or in this case any other 3d software has) is you can edit/sculpt any model right away. This is very convenient and can save a lot of time compared to Unreal.
- Similar to Unreal, I had some motion blur problems in Blender. They were not similar problems but in Blender the car (which was imported from Houdini as an alembic) had pretty good motion blur right away. However, the snow patches flying around behind the car gave me a lot of issues with it. Whatever I did it just didn’t show any motion blur. So in the final render I used post motion blur.
- So I can say that Blender is better for animations hands down. I don’t think Blender can do as good as Unreal with static environments because it’ll just get slower and slower.
Conclusion
For someone like me who wants to make crazy big FX shots even though it didn’t fulfill my expectations Blender wins. Losing quality in VDBs and importing simulations taking too long is a giant “no” for me. I accept that achieving a nice looking render is easier with Unreal but I am ready to spend more time polishing my Blender scene to make it look good while having the comfort of importing anything and editing them there. This all depends on what you are trying to achieve. Actually real time rendering is not used for cinematic shots like what I am doing. Eevee is mostly used for previsualisations. Unrealis an engine for games and that is why there are a lot of optimization going on there. But I want real time rendering to be as good as our traditional ray tracing renderers one day. I’ll be keeping my eyes on all the developments and maybe can make a comparison again in the future.