Some of you may remember that some time ago, I made a vow to produce a music video for one of Sheffield composer, Skywatcher Music‘s tracks. Here’s a couple of little progress videos I’ve made centered around the orange Broadstadium3D models from 3D Warehouse.
Today, I finally completed the first, and actually had enough screencast footage for a second video, so why not?
The second video is all screencast, and starts with me completely breaking Adsetts Building (though I didn’t realise that’s what I was doing at the time) – in the preview image above, you can see that it’s too big and floating off the ground.
Rendering, it’s a waiting game isn’t it? I’d wanted to produce a video of what the city looks like in its actual state – show you it how it’s meant to look, instead of dots and lines. I’m still not sure that this will even be finished by tonight, it’s a long process, especially on a single machine: the caveat of that is that I also cannot work on the machine because its system resources are being drained by the above.
So I got thinking, are there any free cloud computing options, so I can just remotely connect to, and use a big companies computing power instead of my own? And it turns out there are, from the tech giants you might expect.
First, though I want to explain what I wanted to do with one once I got my hands on one. My first thought was run Sheepit, ‘a free distributed renderfarm for Blender.‘
What is a render farm? ‘A render farm is a group of computers connected together to complete a large task. In the case of 3D rendering, most of the time a render farm will distribute frames of an animation to multiple computers. Instead of having a single computer work for 100 days, you can have 100 computers work for 1 day.’
Sheepit With Sheepit, new users must render at least 10 frames before being able to submit your own project into the queue, and other people rendering your scene uses your points: of course, you can set your own node(s) to render your project before everybody elses in the queue.
Having this process running on your machine uses up as much system resources as actually rendering a 3D scene, so it was a choice of one or the other. If I run them together, they crash: so rendering those 10 random users frames so I can upload my own is time consuming. In the screenshot above, the process is actually running on an Amazon computer, rather than my own, so this doesn’t drain my own machine in any way.
Meanwhile, on my own computer:
18 more frames to go from this sequence, the last took 6:32 minutes, that’s about average across this scene, so to work out when it will complete: 6.5 * 18 = 117 minutes, almost 2 hours. 18 frames is around half a second of animation, and why this update has a lot of writing!
Without giving too much away, here’s a single raw frame.
I’ve not done any colour adjustment to this, this’ll all be done later, when the individual frames have been composited together into video.
Cloud computers are in a nutshell, online computers you can just switch on and borrow for a bit (or a cost). These can be standard setups, like your average gaming PC, or whole entire systems with more or less unimaginable amounts of resources for incredibly complex computations. There’s so much you can do with them, I’ll not even begin to go into anything beyond the scope of this post. For now, I think I’ll just keep it simple.
I’m using Google Cloud and Amazon Web Services free accounts for this, I’d expand more upon the two services, but think they have quite enough reach on the internet without giving them more.
Scrap that, they’re blank
I believe this to be because I used Filmic colour profile for its realism, Sheepit tried to render with Blender 2.79b, which is vastly different to version 2.80 onwards, so wouldn’t have been compatible.
I’ve re-added it to render with 2.81a, and lets see what happens:
This looks more positive, like it actually has something to do now.
This became a problem. It will only work on this users project, and not my own.
I later found that the reason for this is that the free cloud instances weren’t GPU-enabled, so couldn’t take on the task, so was only working on projects it could handle. I will look further into this another time.
But for now, I’m going to let it run overnight and hope some kind, anonymous internet stranger renders my scene for me, and render the next segment the traditional way: