Lion Beach

Unreal engine x Lion Beach: a real-time render romance.

Lab - August 2016

Blog Post

We want it fast. We need it fast.

One of the things we’ve come across as almost every 3D artist is ridiculous render times. Of course there is scene optimization and common sense like limiting rendertime per frame to one minute, but that isn’t always possible. Render farms are the way to go, but never felt flexible enough for our needs. We make mistakes, rethink certain details… or just can’t deal with the irreversible nature of getting something completely ready. When we click that render button,  we know it must be all good.

It is never all good.

What you need is a very disciplined workflow to work with render farms. Let’s just assume we’re not disciplined enough. We’re artists, so that’s ok. Server solutions ain’t for us yet. Of course, we would love a 587 million core server setup, but in the near future: that ain’t happening. So we’ve tried Unreal Engine. I have no idea why exactly we chose Unreal over Unity or other game engines. But Unity’s UI just felt weird. Unreal’s ain’t perfect either. What’s up with these overdone icons? It’s not because you make Unreal shooter games that every UI element must be visually related to that. Anyway, Unreal works better for us, but Unity could work for others. They are both amazing.

“Apart for maybe top-tier animations, unbiased rendering is overkill. Fake your caustics, fake your fresnel,… fake fucking everything as long as it looks good and renders faster!”

The future is most definitely real-time rendering. It’s just hard to predict which way(s) it will go. I mean: we use Octane, which also claims to be a real-time render solution. Even Keyshot kind of does so. (Again I feel the need to stress that these are excellent render solutions, so here goes) But that kind of real-time rendering is nowhere near Unreal or Unity. Just to be clear, I’m strictly talking about render times. I know Octane is unbiased GPU (with biased options), keyshot is biased CPU (which makes it ultra fast with limited power), and game engines are hmm… ‘game-biased’ GPU? When we aim for physically correctness, that given order goes from best to worst. Game engines are in no way physically correct. But I’m going to make a bold statement: fuck unbiased/physically correct rendering. Apart for maybe top-tier animations, unbiased rendering is overkill. Fake your caustics, fake your fresnel,… fake fucking everything as long as it looks good and renders faster! If it looks good, nobody will care if the light acts physically accurate or not. Besides, you can always play it off as artistic freedom.

Use it! It’s unreal!

Back to Unreal. I could recommend every 3D artist who hasn’t done it already to make something in Unreal, Unity, CryEngine, Lumberyard,… I feel there is a good amount of useful knowledge you gain by just trying to do that. Maybe following facts might be convincing. We did an animation where the client asked to do a rendition of open-air theatre Rivierenhof in the 1950s. This animation was supposed to be 10 minutes long (14 400 frames @ 24fps). That is a sick amount of frames. Ever had a folder with 14.400 images of each around 8MB? It’s ridiculous.

The actual rendertime was about 4 frames per second as it took just one hour to render! Witch complex foliage and smoke! In 4K! In real-time it could even play at around 30 fps (i7-5820K, 2x980GTX sli).  The real bottleneck in render speed was eventually the hard drive which was a good old 7.200 rpm drive as my SSD didn’t have 150GB to spare. I imported the sequence into to after effects, did some post and rendered it into the .mp4 container. This took some time. I guess it was somewhere between 4-8 hours. It’s a quite large margin but I really can’t recall correctly. However, I found it to be ridiculously long. Get your shit toghether, After Effects. Maybe use both of the video cards!

With regard to image quality, the lightning fast rendertime with Unreal naturally has its disadvantages over regular rendering software as Octane. There tend to be some undesired artifacts in your frames of which the cause isn’t always easy to find. In the video above you can notice light flickering, a problem caused by the anti-aliasing settings. I couldn’t solve it. There are other minor mistakes. But due to the low budget we considered them to be noncritical. The different techniques for light calculation and object handling differ from what you’re used in software like C4D or blender. Amongst the thousands of settings, buttons and sliders you might get lost sometimes. But it’s definitely worth it. Google and patience will get you far!

“As it currently stands, Unreal is in no way a valuable replacement for professional animation software, but rather a fun addition.”

Another project was a music video. It was almost entirely made within Unreal Engine. The foliage editor allows you to make cool looking environments in no time. This is a very specific, but useful function. So yes, maybe you can’t demand that Maxxon, Autodesk, The Foundry and other firms  should implement something similar because it’s very specific and the focus of their software is very broad, but why the hell not? C4D has a content library, which is terrific. So why would a module to create a certain common environment with ease not have its place? There’s third party plug-ins, surely. But making environments to support a scene as secondary element is almost essential, no? I might be too biased here. Anyways, these 3D software developers maybe shouldn’t take themselves too serious. Easy and fun to use will eventually win if it produces the same results as boring but professional software. The music video was really fun to make, as you could easily fabricate interesting environments with direct output. There is just a lot more time to play around. You could try several final renders and ditch them without regret.

As it currently stands, Unreal is in no way a valuable replacement for professional animation software, but rather a fun addition. The animation tools are lacking, but I’m guessing they wil gradually be implemented. At least that’s what I hope. Currently you would do advanced animation outside of Unreal and implement it later. If that’s possible. We tried a waving flag but that was near impossible without 3DsMax/Maya. There’s all kinds of tricks to fake this effect in particular and I haven’t even mentioned the fabulous particle system which works so ingenious and different than in regular animation software that it’s absolutely worth checking! There is a built in sequence editor which lets you animate cameras and objects in a basic manner. The sequence editor is currently in full development. The creators are aware of the possibilities for animators, so I’m guessing animation software developers and Unreal might do some great things toghether in the future. It’s still absolutely free to use for now (for non-game purposes at least), this might change in the future. But I won’t hesitate to pay for absolute quality.



Leave a Reply