Friday, November 30, 2012


I wanted to get constructive criticism to help better my work and to see what I might not be doing "right" when it comes to recreating the Warcraft style.

There are a lot of online forums that could be suitable for this, but I was thinking if there might be some.. or one that would be the best choice for this specific project. There are several CG websites that could point out technical issues or just generally say if the work was good or not, but I figured that the biggest World of Warcraft fansite would be a great choice in order to get honest opinion.
The people over at are amazingly helpful and the community is huge. I've gotten loads of replies and people started to really build up interest around my work.
I've felt that it would be embarrassing and wouldn't help my reputation much if I don't keep the community updated, so I have often posted work-in-progress images
The forum thread can be found HERE.

This was a good way to test if I've applied the theoretical elements correctly. People over here did not care about the technical stuff. For the technical feedback, I have used websites like Polycount, CGArena etc.

Thursday, November 29, 2012

Optimizing the scene for final rendering

Everything was OK up until this point, except for the render time.
I am aiming for an animation that consists of about 900 frames and I don't have more than 3 days to render. The render time at this moment at 800x600 resolution was 14 minutes. 3 days means 4320 minutes in total, which for 900 frames allows me a MAXIMUM of 4.8 minutes/frame.
I need to lower my rendering time below 5 minutes, that's the key.

But, how to do this? This is a third of the current render time. I need to look at the rendering process and identify the most influencing factors.

Global Illumination has the biggest impact on time it takes to render. This is the process where the program looks at your lights and determines what surfaces they hit. Then, the program needs to calculate how the light bounces off that surface and illuminates other surfaces as well. The light keeps bouncing until it completely decays. The color not only bounces with its original color, but picks up the color of the surface it touched, hence making the calculation of these procedures even more complicated.

So, my idea was to somehow play around with the GI to get a decent enough result, but with less than a third of the current render time.

I have a very animator friend, Kosza Arnold, who has created several animations with a lot of environments in them. I have talked to him about my GI issue and he suggested I look into Lightmap baking.

Lightmap baking is the process of taking the Global Illumination information and putting it straight into the color textures of your objets. Up until now, the color of my objects contain the pure color information, blended together with the Ambient Occlusion map. What Lightmap baking does is that you put the illumination information straight into the color map. So, basically that is the color and you don't have to render the GI out for each frame.
This would significantly lower my render times.

I've done research on how to go about this technically and have found an amazing plugin for 3DSMax, called Flatiron. Flatiron allows you to create Lightmaps in a very fast way. Although, I did not really know how to properly use the plugin at first, as the tutorials provided on their website are not thorough enough. I took a lot of time experimenting and re-doing the lightmap baking process, but in the end it completely paid off.

The result was that I had a scene in my viewport, in FULL REALTIME looking like my 14 minutes long render. Basically, rendering out a frame with all the necessary passes took around 50 seconds. Compare that to 14 minutes and it becomes clear how innovative this procedure is.


Tuesday, November 27, 2012

Final lighting system

I've done some research on common lighting setups and how they can have different affects on the final outcome. This was done to create a logical setup for my scene as well.

I have also looked at Digital Tutors' Exterior Rendering Techniques with mental ray and 3ds Max to translate the theories to actual technical practice. Even though I am using VRay to render out my animation, the main technical elements are pretty much the same in both renderers and any technique can be easily "translated" from one rendering engine to another.

I have used a 3 point lighting setup, where I have a dominant light (orangy color, high intensity) coming from behind the gate, simulating the sun. I`ve also set a fill light in front of the gate (redish color, half the intensity of the dominant light), high up in the sky and another light (redish color, but more towards the whites) in the middle of the scene to brighten things up so the details are more visible.

Sunday, November 25, 2012


Texturing was done neither in ZBrush by actually hand painting color and texture onto the models in real-time. I painted these onto the high poly versions of the meshes, so in order to get a color map from the painting I have done, I had to bake out the texture. I've also baked out normal maps and ambient occlusion maps so I can combine these and apply them to the low-poly versions of the models'.

Texturing high poly vs low poly was a bit different. High poly had all the detail modeled into it, so the textures needed only to contain color information and ambient occlusion. But, because of the low polys limited polygon count, some details had to be created through texture information. This is very common in games, when you see certain bumps and extrusions from afar and they actually look like they are physically modeled into the object. Whereas, if you go close to that object, you can notice from an angle that it is actually a flat surface with painted on illusions of surface detail.
I wanted to practice this, hence I`ve created all of the garment models (flags and Kael'thas robe) in low poly and painted the wrinkles and folds into the texture. There are numerous ways of doing this. I`ve chosen the burn and dodge tool found within Photoshop to darken and lighten up the necessary areas to create the illusion of folds. They actually worked :) .

Without Ambient Occlusion Pass
With Ambient Occluson.
With post-work: color correction, applying glow, vignette etc.

Friday, November 23, 2012

Test renders

I have used Photoshop a lot of times to blend an Ambient Occlusion render together with the original to see how the small details look like. This is to get a glimpse of the final affect all the little cracks, nudges etc. have on the image.
Also, PS was used to adjust colors and lighting as well with the help of tools like Curves so I can get quick results right in Photoshop without rendering in 3D.

Slowly, I start adding color here and there, being very careful at this point. I want to get a good foundation upon which I build the rest of the textures. My aim is to shade the main gate structures and the building on the right, because those are the biggest objects in the scene. The shading of those will drive the shades of other elements, so I have paid extra attention here.
This is an early test render of those textures applied:

Here are some of the assets that populate the scene:

Wednesday, November 21, 2012

Timeplan and first block outs

With the referencing part pretty much finished, I wanted to create a time-plan for myself so I can track my progress and always know where I am at. I have a deadline and I have a journey leading up to that, so I exactly know how I'm doing.

Week 1

- Complete the main block out of the scene
- Create everything from the asset list and possibly add more if needed.

Week 2

- develop textures
- develop lighting
- create multiple test renders/iterate and play with the settings to achieve a final look

Week 3

- animate
- optimize the scene for animation rendering
- create final tests
- render required passes
- composite/post-process in After Effects

Here are some of the earliest blockouts where the aim was to try and match the scale and proportions of my concept. The very first test render showed that I did not understand a thing or two about the layout, so it was good to see some errors pop up at this stage and not later when I`m already in the detailing stages. Making global changes could have been very destructive.