2022-12-25

Gift of the Night Fury (deleted) bad dream scene animation attempt

   

First of all, Happy Snoggletog to all fans! My gift this year for you guys is a video that no one has ever done before. Well... as you can see on the thumbnail, this is the deleted dream scene from the short Gift of the Night Fury. Although in behind of scenes video the storyboard was shown, the animation never got done... well until now. Mostly, because I fantasize a lot how that scene would have looked if it had been made and also why such a wonderful scene had to be cut out. If DreamWorks refused to do it, then I'll finish it for them. :)

So the motivation was there, it just had to be done. Yeah... The latter one was a bit harder. This article will give you a glimpse into the background process to see why those 35 seconds cost me dozens of hours.

If you want to know more about the makings of this video, click read more!


So. This review, like always when it comes to the world of 3D, will be technical in places, but I'll try to make it as clear as possible. Obviously, the topics are going to be simplified most of the time and there were a lot of other things too, that I'm not going to go into here, because otherwise the review would be 100 pages long. The point is, that the project was much more complicated than it looks here. I will only go into things as far as they really make sense and if there's new or more complex concepts, I will explain them first, to make it understandable.

Well, let's get into it!

I created the animation in 3ds Max 2017 and assembled in After Effects 2023. You can do almost ANYTHING with these two programs (if you're skilled enough, of course). As with my Desert Wars animation, 3ds Max was the backbone of the project, After Effects just helped me to make it more accurate and reduce the render times... Yeah. Speaking of render times. The biggest difficulty with the project was the deadline. I took it very seriously! I knew it had to be done by Snoggletog, but I HAD to get it done before then, or else I'd have to wait a year as a penalty!

The animated storyboard was a HUGE help! If it had just been one picture per shot, it wouldn't have been as accurate as it was envisioned. I used these primarily for reference. There were 17 shots and I made a .jpg sequence of each one and put it into 3ds Max as a background, so I could place the 3D objects accurately as possible.


Models

The next thing was to get the models. I deliberately made it more difficult for myself to raise the stakes. Part of the "challenge" was that I could only use free models! (As a kind of extra tease to DreamWorks! :)) There were some very detailed ones for a few dollars, but no. However, I made use of a loophole. I did not consider the models on my computer as an external source, nor the ones in my downloaded games. The ARK editor was quite handy, although it wasn't easy to export the models (and especially the textures) from it. That's where, for example, the rock arch that Toothless flies over is from, as well as the rock formations that protrude from the water. The mountains in the second shot, came from a free Unity model pack I downloaded for a fanart a while ago.  The clouds were generated in Houdini (more on that a bit later).

The first step was to free Toothless from his saddle. Very luckily for me, his model was made in a way that 3ds Max could treat his saddle as a separate object (well, more like dozens of different parts). This took some time, as I had to modify not only the main Toothless model (which you can see in the video), but also the morph target models (which are invisible, but as you know, they only work if the vertex count of the main model and the morph models are the same!) Since there were 20 or so of these "Toothless morph" models in the scene, I had to modify all 20 of them one by one, being very careful not to leave a single vertex of saddle on any of them. Yes, it was a lot of work, but it was necessary, as without it, he wouldn't have been able to blink or his facial expressions wouldn't worked.


Texturing

Once the models were done, it was time to improve Toothless' textures. I used the same ones I used for my ARK mod. I won't say they didn't look bad, but there were a few close ups, when after rendering them for the first time and seeing the results, made me want to make another run with them and add some more and new details. Well... It took many hours, but the results were amazing!

Previous Ark texture

New 4K 3ds Max optimized texture

Finally, now he has his small smooth scales (they're alone were a huge(!) improvement and gave a lot of realism!) the patterns on his sides and the large scales on the middle of his head have been improved. Plus, now he really has 4K textures (which ARK will unfortunately dumb down to 2K... yeah... just ARK things...) I've also improved his specular and normal maps. Another update is that I increased the detail of his mesh. In 3ds Max, you can smooth out jagged low poly models into high poly ones. This can be achieved with a Mesh smooth modifier. There were some parts of him that were badly rounded by the modifier, (his wing tips for example) so I left them untouched. I also updated his eyes, so they're look more realistic and organic. Another big improvement is that the material's is now PBR (Physically Based Rendering) based, so the maps look much more photorealistic, as it uses real physics to calculate the lighting and the properties of the material! He also looks a lot more organic than without it! (In the example above, I kept the new PBR material in both images, I just replaced the maps with the older ones. Without PBR, he's almost completely black, as I've optimized the lights, camera and V-ray to the PBR material).

With these updates and fixes, he's really starting to look a lot like his first film self, which I honestly never thought I can achieve! If you hadn't read my previous posts about my progressions with him, I tell you that he's originally from a MOBILE game called Wild Skies! Yes... That's how much I was able to improved him! The maps were originally 512x512, but now are in 4096x4096 resolution and they have a lot of details! Also, I couldn't overlook the fact that in the short film he doesn't have his saddle that controls his replacement tailfin and he has now a brown one instead of the red (like on the original model). I had a perfect reference picture of the new tailfin prosthetic.


With this image I had the whole tailfin and then I integrated it to the UV map. I didn't had to distort it much, as the shape matched with the tailfin of the model almost perfectly. Another new feature is that the gears can be now animated separately!

But the textures are only one part, there is another very important aspect, and that is the lighting!


Lighting

Without it, these textures could be even 8K, if the lights in the scene are configured badly, they would look terrible, details or not! For this task, I used V-Ray. This is the most advanced and also the most complex rendering engine for 3ds Max. I've played with it a lot beforehand, but as it turned out all along in the wrong direction! When I made my first test renders I noticed something was very wrong! It just didn't look very convincing. So, I started the whole lighting from scratch. I had to test the parameters quite a lot before I found the main flaws I made in the past and yes, after some fine tuning the results were much closer to the short film's overall look.

They were new discoveries also! I've finally figured out how to use V-ray in an efficient and optimised way and really get almost photorealistic renders. Only two light sources were used for the clips. The "less is sometimes more" approach worked quite well here, as I got quite nice results with just a few light sources. Of course, a lot depended on the parameters and camera settings and yes, adjusting these while I got good results, took quite a bit of time in the beginning. One of the light sources was the sun (V-Ray Sun) and the other one was the sky, which provided the scattered light for the scene (V-Ray Dome) as well as the reflection of the water. Okay... there was a third one at Toothless' belly, (V-Ray Light) when there just wasn't enough light from the surroundings to light up his belly and since he's almost completely black, his skin was often very effectively swallowed up the photons that came from the environment (no wonder why he owns the night!)


In 3ds Max, I tried to match the lighting as closely as possible to the colours of the short film, but obviously, since the short had also lots of post-production work, it was almost impossible to achieve that look with just raw renders. That's why I had to tweak the tones in post-production too, to get that final polish there and make it more accurate to the film.


Building the scene

Once I finished this phase, I could start building the scene with the models I've got. The references came in very handy, as they gave me a good indication of the size of each object and where it could be in the world. There were 10 different locations, individually built to the camera angle. This was necessary, as some of the storyboard elements were very inconsistent with each other and they were often incoherent. This caused a lot of headaches, but it was still a better solution than having to modify a built up scene over and over again...ugh...it's bad even to think about. This phase was relatively fast and went smoothly, the only problem I had, was the perspectives sometimes. Then came the creation of the water, which I made with the tried and tested Phoenix FD plugin. The settings also needed a complete overhaul, as it didn't looked the way how I wanted to. It's particle simulator feature was not needed this time, (fortunately) as that wouldn't have been a few hours of work either. I had to adjust a lot of parameters to make it look similar to the short film!


Clouds

Yeah... This was brand new territory for me. I had to watch quite a few tutorial videos to understand how it all works. For this purpose I used Houdini FX 19.0. One of the most complex (if not THE most complex) particle generating programs available. Well, what can I say... It's not a simple program, that's for sure... but what it can do is something quite amazing! There's not much that can't be done in it, at least if it's about particle systems! There are so many settings and so many different nodes to operate and to get as close as possible to the look you want.

This is how the cloud looked like in Houdini:


As you can see, it's already looks pretty neat! I did a lot of tweaking to make the settings match the clouds in the short film as closely as possible.

Once I was satisfied with the results, I exported it as a .vdb file, which imported into 3ds Max. Since it's a voxel based (3D pixel) model, I had to adjust the parameters very differently. After much experimentation, it finally looked the way I wanted it.

By the way, believe it or not, all the big clouds were built from this little one! (Very similarly, how I used a rock to build the mountains and rock formations for my Unreal Tournament 3 DM-Cove map).


Here is an early stage for illustration. I assembled a roughly coherent mass of cloud from 5 small cloud puffs. On the final renders I used around 20-30 of them (spread out into different layers). I later reduced the preview's quality, because it was eating up many fps.
Here's the render from the example scene. Oh and these clouds are fully 3D, not just sprites!



Animation

Then the animation phase could begin. This is where I used the reference images the most. I also adjusted the movements to them, as well as the timing of the keyframes and of course, the camera angles. The latter, in some cases, were a bit difficult, as it wasn't clear what kind of lens to use, but I got the hang of it over time. Here are some pictures, how well I managed to match the 3D models to the storyboard.






17 shorter-longer shots... I started working on the project at the beginning of November and I spent that month with improving the textures, getting the models and optimizing them for 3ds Max, studying V-Ray, testing the lighting (hundreds of test renders...) and adjusting the camera angles. I was able to start the animation phase at the beginning of December. Here I went from shot to shot, in order. I started with the first one and finished with the last one. Of course, there was quite a bit of crossover between the shots, but let's go in order for simplicity.

I used the same technique for the animations what I used in my ARK mod. First, I started with a very rough version, as like a pre-viz would look like. Since Toothless was always moving, I had to adjust the camera to him. From the storyboards, I was able to put together the scene dimensions and Toothless' speed in my head. At that stage, he was just statically "flying" along a spatial line. The overall feel was the most important aspect! If it looked natural even in the pre-viz state, then I knew I was on the right track. There were times when I didn't have enough reference from the storyboard (a good example of this is in the very first shot, when the camera panned up from the ocean surface to the rock arch. When I tried to time it accurately, it looked very crap, so I let my imagination run a bit there). Once that part was done and I was happy with the pre-viz, then it was time to do the more complex animations. Like Toothless' wing flaps. In most cases, they were accompanied by sound, so I couldn't really deviate from the storyboard. The method was the same. I started with the most critical one first, the timing. I've written a whole review about how I made Toothless fly step by step, so I won't go into it here. If you are interested, here is a [link] to the post. I used morph operators for the blinking and facial expressions. I also explained how this works in a previous review, which you can read here [link]. Finally, I was able to use the 10-14 facial expressions I had worked hard on earlier and mentioned in that post!

Of course, all the animations were hand-made! Each body part has been given special attention to make sure that it's in sync with the others and that their movements are natural and not robotic. Now this takes a lot of practice and patience, as well as some knowledge in anatomy. Sometimes, I spent around 12 (or more) hours animating a single shot! Here is one of Toothless' motion phase curves in the editor.


When I was done with the first 10 shots, (which only included Toothless) I could start the post-production. I didn't wanted to leave it to the last minute, so from here, I was often using both programs  simultaneously. (While 3ds Max was rendering, I could work on the previous shot's compositing and effects in AE).

After the Toothless scenes were done, the next one step was to make the Hiccup ones... well... here again I made a very stupid mistake! (On every project I made a few, but that's part of the genre, a kind of an occupational hazard.)

Ugh... Okay... Fine. I deserve the tease for it, I admit and I'm just writing this down to really remind myself to NEVER DO THIS AGAIN!

Ahem... So... I was going to make Hiccup's animations next... but there was no Hiccup! Yes... I didn't had the model! (facepalm) Indeed, your intuition is correct... I had been working on the video for over one and a half month and that stage I had finished even the very detailed animations and after I had almost everything done, only just then I started looking for a Hiccup model... Yeah. I ASSUMED there will be one for sure! Well, I started searching on Google and when I was faced with the fact that there wasn't even one available, that's when I really started to worry! Although, I did own a Hiccup model, it was his 2nd movie self. I couldn't find his first movie version anywhere! Yeah... That's a problem, especially when there's two(!) days till the deadline!!! Adrenalin levels sky high, panic mode initiated! I searched desperately for EVERY available source, but to no avail. I only found just his head, or a completely static and very crappy looking untextured model... Nothing! I got a big zero as a result! Time was running out and the possibilities were rapidly dwindling! When I had searched the whole internet 5 times(!) and had already given up a LOT of my needs, I couldn't find anything useful. That feeling... When the engine dies at the finish line... ugh! That model was the last piece of the puzzle and I couldn't find it anywhere! And a crucial(!) one! But luckily at the lowest point in my despair, as always (thank Thor) I had an idea! A Source Film Maker video flashed in, what I watched a long time ago. It had a Hiccup model in it, and with the first film version of him! It was exported from the School of Dragons video game and I was like, whatever it looks like, I have to get it! I watched the video again and it didn't look so bad. Luckily, I found it in a model pack relatively quickly and it worked in 3ds Max (Phew!) He also got the AI texture enhancements, as did Toothless, as well as the mesh smoothing. So he looked quite acceptable now! Obviously, he's not that realistic than Toothless, but as I said, there wasn't a better version of him anywhere on the net, not even for money!

His skeletal system was typical Blender styled, but at least it was usable. It was quite hard to animate, but luckily it didn't have any critical errors. I especially liked that he had bones for his mouth and eyebrows, so he could have facial expressions! Time was running out, so I was in a hurry and made his animations in a rush! Unfortunately, it shows here and there and yes, it would have been nice if I had a few more days to polish them. Sigh... But anyway, I finally got all the shots and could start rendering the rest of them!


Rendering

The shots were rendered intentionally in 1920x1080, which was the same resolution what the  behind the scenes video had. 4K would been also possible, but for this project that would have been exceptionally too sharp compared to the source.
(Huh... It's never happened before that a better resolution would have affected the overall look in a bad way).

The rendering time for an average frame was around 30-60 seconds. For me, the psychological limit is 3 minutes. Anything above that, I optimize until I can get it down below that. Obviously, I try to do it in a way that it's unnoticeable. I leave the number of photons alone, for example, because there's nothing uglier and cheaper than a noisy render! Yes, you can correct it afterwards with a denoiser effect in After Effects, but unfortunately it can wash out other details, that shouldn't be. So yeah... If the source is in good quality, you don't have to mess too much correcting it afterwards, but then you have to mess more with the 3ds Max settings. That's how it is...

I want to mention that if you want to see nice renders quickly, you got to have a very powerful CPU. Since this is my main profession, my computer has to be able to keep up with the pace. My workstation has an AMD Threadripper 3970X (32 cores, 64 threads). With an average 8-10 core Intel processor it would've render about 4-5 minutes on an average frame. But wait, there's more...

Remember the clouds? There was only one problem with them... the render time... Yikes! Threadripper or not, they gave even that CPU a hard time! The first cloud layer took 20 hours to render! I didn't want to stop because it looked amazing, but I knew I'd have to optimize the rest in some way, because otherwise it would take forever. After some research, I found the cause of the problem, which was this parameter (see it below). Interestingly, it didn't made any impact on the image, but the render time went down to about tenth times! (This is also a peculiarity with procedural models). After that, rendering a cloud frame took 1-2 minutes and not 15-20 like previously.

The framed Light Cache Speedup parameter had to be set from 0.9 to 0.99...

Now that we have the 3D parts out of the way, I'd like to move on to compositing. For this section, I decided to let the pictures do the talking instead of me, because it will be much easier to digest in this form.

I rendered the 3ds Max images in separate layers. I had separate layers for the sky, clouds, rocks, Toothless, so I could adjust the effects and color correction separately later. This came in handy for the glow, for example, as it meant that the clouds and Toothless won't be affected by the sky's glow as it was on a completely separate layer behind them. (The squared background marks the alpha channel where the image is transparent).


Here are the layers of the first shot: (shot 01; frame 113)

Sky

Mountain

Rock Arch

Water

Back fog

Front fog

Toothless

Well, individually they are not very convincing, but when I combine them, we'll get this result (without effects).


It's getting closer, but it's not quite there yet. The colours are not the best and this is where the layering pays off! After some tweaking and colour correction, the result is this:


Wow! Much better!


There's another one for example: (shot 07; frame 34)

Sky

Back cloud

Front cloud

Toothless

Here it is in its raw form:


And with color correction:

Hmm... It would even make as a nice desktop background!

I think you can see from these examples how a 3D animation is put together. That's how studios work, except that there are whole teams or departments working on each sub-process. There are separate departments just for models, separate departments for textures, lighting, animation, rendering... etc. I had to do all of these sub-processes on my own! Yes... It requires dedication and quite a bit of motivation, as well as patience and experience, but looking at end results, all the hard work that went into it always pays off.

Well, we're pretty much at the end. Of course, I surely could talk about more things, but I'm already at the 7th page in MS word again... I don't want to make it too long, because then it will be discouraging and the reader would get the TLDR (Too Long Didn't Read) syndrome.

In conclusion, because of the short time window, it could have looked a little better here and there, but I would have had to take extra days (which I didn't have by then). Anyway, I'm still very happy with the result and I learned a lot from it! I learned new techniques and optimizations that will definitely come handy for future projects! Of course, I want to give huge thanks to Toothless for keeping me motivated day by day and in the late evenings! Anything for you Bud! <3

Well... If we're talking about the next project. I don't know what the future will bring yet, but obviously this wasn't my last animation... Oh no! I'm thinking hard about what else could be created, especially with these new methods, tools and with the even more advanced Toothless model! Since it takes a tremendous amount of time to create an animation like this, if I have a new idea, I won't announce it right away, because it would take me several weeks to complete it, so you can only expect it, when I'm really at the end of the project.

Well, I hope you enjoyed the review and learned some interesting things. If so, I've already achieved my goal! :) I'll see you in the next one, bye!

Oh and Happy Snoggletog!

No comments:

Post a Comment