UE4 VXAO Forest Part II
With all the earlier posts about VXAO, it’s time we put things together and render out a short movie that features this novel tech in all its glory. What better subject than (yet another!) forest? Forests are such a nice subject for exercises like this because they typically feature all the big and small objects crucial for testing whether one type of AO can cover most, if not all, essentials. For this reason I disabled Distance Field AO once again and tried to limit usage of any type of Screen Space AO to the least. The Kite Demo assets continue to prove their worth, although I added some which are mere modified versions of the excellent originals.
Note: Before watching the video, be sure to check the ‘HD’ button and select your prefered resolution.
A small, basic landscape with grass, heather, some flowers and 2 types of trees. Tiny objects are culled at a reasonable distance to keep enough performance. Object density is great and we’re able to get a lot of detail for some shots. Even the fallen leaves are made of geometry although that might have been a tad overkill. As mentioned above, some modified objects were used, primarily to get some better density in tree canopies. I was curious what effect this would yield but the results ended up a bit too contrast-rich. If I’d do things over, I probably would use the same lighting as some of the more ‘ambient lit’ shots show.
A Direct Light with Ray Traced Distance Field Shadows and a Skylight with a HDRI cubemap. Intensity varies per shot. The Post-Processing volume is mainly used to get a good variety of VXAO settings in terms of range, strength and size per shot. Some close-ups feature a bit of HBAO+.
VXAO does not impact performance nearly as much as the object count. With so many small meshes and textures with transparency there’s bound to be a ton of overdraw and this eats away our framerate. We average around 20-25 fps. I did do some optimization tests and found that, by cutting out half the small nitty-gritty, framerate stabilized at 40 fps.
I rendered about a dozen individual clips with an average length of 10-12 seconds at 60fps and 200% Temporal AA as .jpg sequences. Rendering a single clip took about 3-5 minutes. The clips were then blended together in After-Effects. No other post-processing was applied, neither to the movie nor images.
Speedtree wind is somewhat of a struggle to get right. It seems there’s a ‘warmup’ stage and, to make things worse, the wind effect you see in the editor is nothing like the effect which ends up in your renders. This makes setting up wind a full trial and error experience and the results are a bit lackluster.
I had a really good time experimenting with VXAO. It’s a pleasure to use and, although I still struggle with a lot of things in Unreal Engine 4, I’ll continue to find new ways to use it where it will improve my scenes. Even after testing a number of possibilities, it continues to surprise me, both in quality and stability.
I Hope you found this series of posts on NVIDIA VXAO entertaining and maybe even somewhat educational. Please feel free to comment with feedback and questions below.