Download

Is it possible to distribute rendering to render farm for cinematics?

I’ve asked this on Unreal Answers but have not gotten a response so I thought I would try here.

I know you can distribute lighting builds to network machines using Swarm Agent. Is this possible for creating image sequences for cinematics? I’ve been looking for info but can’t find anything.

Here is the link to the original Unreal Answer post:
https://answers.unrealengine.com/questions/580345/is-it-possible-to-distribute-rendering-to-render-f.html

No, rendering the image in Unreal can’t take advantage of multiple machines. Typically the speed in the engine is very high as it is. The advantage of using Unreal is because it can take less than a second per frame to render to an image sequence.

dathViper - thanks for the info but if you crank out your render setting and use high quality visuals/lighting you can slow the engine to a crawl. I can assure you that Disney was not rendering anywhere near real time when they were spitting out frames for Rogue One.

There’s not a whole lot going on in frame that will impact framerate to that extent, it would mostly be what assets you use which still shouldn’t get that crazy. Things that typically affect rendering time like lighting and tracing reflections aren’t an issue here since it’s designed for real-time performance. Even at a crawl it will be faster than you would typically render something. Archviz renders can often take an hour to render an image, here you can do it in seconds. Even if it takes 10 seconds vs. 1 second it is still way faster.
Also, they didn’t use UE4 to render Rogue One, so that’s irrelevant.

Okay but you literally just answered your own question.

Yes they did - http://www.develop-online.net/news/some-rogue-one-scenes-shot-using-unreal-engine-4/0230147

UE4 is a rendering engine, it’s ability to render at realtime is related to your asset + quality settings. If you crank up your assets and lighting quality yes it will take longer but that’s the point. We want the best possible quality and don’t care about realtime performance. We do care about non-realtime performance which is why we are looking for a render farm solution.

Saying - “you shouldn’t need to” is not helpful. There are plenty of scenarios where network+rendering would be useful for a wide range of projects. If it’s not possible because the engine doesn’t support it that’s fine but just cause the engine can’t do it doesn’t mean there aren’t use cases.

They might be referencing their real-time motion capture system that allows them to see a good idea of what things will look like as they shoot a scene rather than actually using UE4 to render final images. Either way, they would have the same limitation and it’s clear they were looking for a real-time solution and they adapted to that workflow. While a render farm feature can be useful, game engines have never used that kind of feature and the engine is primarily designed for games rather than as a rendering tool. The ability to render things is more as a bonus feature than something they were shooting for. Things like being able to render to EXR are a result of users like Archviz requesting things like that. But–rendering across machines is likely something that would have to be implemented within the GPU architecture rather than a feature that the engine could add itself.
In your case though, how slow is it going when you’re rendering? If it’s <1 minute per frame (which would be insane for something like this) then it’s still way faster than a traditional renderer.

If you’ve got a bunch of machines you can open the same project on multiple machines and render different shots/frame ranges. That should be a linear speed increase.

No, they modified the renderer to fit their needs and used actual UE4 renders for some shots.

Totally agree!

Totally agree