Urban Future Fly-Through Animation Workflow

I’ve rendered this quick trailer for my 3D Shenanigans Live Stream, using Stonemason’s Urban Future 6 set the other day. I did this really quick, and there are some rough edges to this animation. It only took 8 hours to render the full sequence plus a bit of post production in Premiere.

I thought I’d share my multi-machine workflow and pipeline with you, indulging some tips of what I might do different next time.

Idea and Concept

During the month of May, I was in the extremely lucky situation that I had two RTX 2080 graphics cards in my possession. This happened almost as a fluke, because there was an issue with the one I originally ordered, thanks to a chat with Brian Cramer on YouTube. The issue was not so much with the card itself, but with a cheap Display Port to HDMI adapter that was stuck inside the cards back. It just wound’t come out, and with it lodged in there, it was near impossibly to remove the card from the system I was using it in. I contacted Amazon and got a second card, of course with the obligation to send the original adapter-stuck card back within 4 weeks.

Lucky for me that adapter did come out eventually, even though I scraped some transistor off the Z600’s main board I was using it in, and I had to bed the RTX 2080’s metal prongs a bit to get it out. Hence, I had two cards for the next few weeks, and I was building myself a Z800 workstation that had enough power to use both of them at the same time. I was interested to see how well and how stable two cards could perform in a single system, never having experienced this myself.

One card was already very fast compared to my previous GTX 970 configuration. But two of them ripping away in Blender or DAZ Studio was just something else. I had many exciting discussions with David Davis about the fact that once I became used to such performance boost, it may not be possible for me to live with just a single card… he was right!

Excitement aside, I quickly reapplied how complex animations could be rendered extremely fast on such a system, so I tested a few of them in various apps: Blender, Carrara and the above in DAZ Studio. I always loved Stonemason sets, and his items were on sale recently, so I invested into Urban Future 5 and 6 that had long been on my wishlist.

Rather than doing a regular fly-through animation, I thought a purpose would make this exercise even more with while. I wanted to start form a birds-eye point of view and end in a back alley, at the end of which we could find the 3D Shenanigans Logo. Keeping in line with my previous shattered logo trailer, I thought it might be funny to have flickering lights when seen up close.

With that idea I went to work.

Creating Keyframes

Keyframe animations often work best when you start with as few keyframes as possible. It also helps to have a rough idea of how long the animation should be. I wanted something along the lines of 20 seconds, at 30 frames per second, that’s 600 frames. I added that as the total duration, which game me an overview of where on the timeline the start and the finish was.

I positioned my camera on the first frame and set a keyframe, rehearsing the path I wanted the camera to take just by using the keyboard/mouse navigation. I set a keyframe every 150 frames and positioned the camera accordingly, which spread my animation out evenly over the whole duration. Using the smooth shaded viewport option, the animation plays quickly enough to get an idea of the path the camera takes.

Usually that’s rocky, and in my case I needed a few adjustments to the existing keyframes. It’s vital to make adjustments on existing keyframes, with the camera selected. Everyone’s been in a situation where additional keyframes were created, and that’s never nice. Usually every keyframe-based app has some navigational tools to jump to previous or next keyframes, and those are the ones to use doing the tweaking phase.

Once my motion path was looking handsome, there are often issues with the camera flying straight through objects in its path – in my case the overhead beams and cables. I added an additional keyframe in between the first and second ones, at roughly frame 75 or 85, making sure the camera went a little faster down first, then points up, revealing the path it will take next (and in so doing slightly pointing at the yet to be revealed logo in the back alley).

To smooth out the motion I added one additional keyframe to level out the camera once it had reached its final height. That’s it for keyframes. The less you set, the better the interpolation will look.

Rendering

Using DAZ Studio 4.11, I had access to the excellent denoiser feature. I ran some tests and deduced that only Iray 512 iterations were sufficient to render an image with adequate quality. That’s another thing to remember: with animations, superb still quality is often not necessary, but render speed is. 30 frames per second adds up to a lot of time fast.

My original plan was to render the animation across three systems I had at the time:

  1. a Z800 with these two RTX 2080 cards
  2. a Z600 with a GTX 970
  3. a Z600 with a Quadro K4000

The first one renders about 50 frames per hour with my scene, the second one about 12, and the last one was a new system that I had no experience with. I had to test which option would work fastest:

  • the K4000 by itself
  • the K4000 and both Xeon x5675 CUPs
  • the CPUs by themselves

Sadly neither option worked with the denoiser: even though the K4000 has 768 Cuda Cores, it may be tool too old to support the delousing features. Likewise, the CPU only option also didn’t utilise the denoiser. This meant that I could not use the third system on this occasion.

I worked out that if the Z800 should render 80% of my frames, and the remaining Z600 should render 20%. I setup a Creative Cloud folder and used the same naming convention of file names, then rendered frames 1-480 on the Z800, frames 481-600 on the Z600.

It took about 9 hours for the whole process to finish. I kicked this off just before going to work and monitored the systems’ progress from my iPhone. That was I could see the latest results, and keep an eye on if the system was running stable with two cards over such a long time. I’m happy to say it was 🙂

Post Production

The flashing lights for the logo at the end were quicker and easer to animate in Premiere Pro. I added 8 point lights in strategic locations and rendered the final image several times, each with one less light. I also rendered the frame without the light in the stair case. Then it was a matter of inserting the “missing light” frames in random order on top of a continuous frame with lights, leading to the flicker effect.

It would have been possible to animate all this in DAZ Studio, but the setup and render time it would have taken would have been overkill. Sometimes other tools are faster at getting the same results.

To continue the animation effect at the end, I zoomed in ever so slightly over the final frame, while the lights were flashing. It’s not much, but it adds a tony bit of motion to the logo, and I love how well this blends with the keyframe animation.

My (old) version of Premiere has limited title options, and for some reason didn’t let me choose the font I wanted to use as the overlay (that’s Days One, the Subnautica Font). I created the overlay in Photoshop instead, using a circle shape as the “record” button in font of the world “live”, added a drop shadow, and imported the whole PSD back into Premiere.

I’ve shown in one of my previous live streams how to create a subtle animated fog effect with Carrara. In fact I’ve made those animated assets available to my Patreon Supporters. It adds a very subtle haze effect to the otherwise very clean scene, so I’ve used the HD version of that fog and added it to the whole animation. I dropped the opacity down a little bit so it doesn’t overwhelm the images.

Sound Design

For a standalone trailer type version, I didn’t want the animation to run silently. Some ambient audio was needed to bring something else to the party. Unlike on my previous trailer, I didn’t want to use an overvoice. It also had to be something that was allowed to be uploaded to YouTube without incurring copyright strikes.

In sticking to the Subnatica theme, I’ve chosen an excerpt of Simon Chylinski’s tracks from the Subnautica Soundtrack called Coral Reef.

Adding to the creepiness, and keeping in line with the previous “shattered logo” trailer, I blended in some noise right at the end – again very subtle, but I felt it added to the mood. It’s like tuning through the noise of the difficult 3D apps and seeing the light (albeit flickering).

That’s all I can tell you for now. If you have any questions, leave a comment below – I’m glad to shed any light on things you’d like to know.

About Jay Versluis

Jay is a medical miracle known as Super Survivor. He runs two YouTube channels, five websites and several podcast feeds. To see what else he's up to, and to support him on his mission to make the world a better place, check out his Patreon Campaign.

Add your voice