Thursday, December 18, 2014

Breakdown Example

This week I finished a breakdown example for my class. I wanted to convince my students that working on breakdowns can be as exciting as working on the effect itself.

Here is the video:

Wednesday, December 10, 2014

Reflection on Batman Tumbler - Part 2: Reflection Color

In the previous post, we saw how I got back reflections and hit another problem with bump effect as shown here.
Figure 1. The last render we covered. Notice the bump effect problem on the metal piece near the back wheel.
There is a metal piece near the back wheel that should be smooth but looks bumpy. I checked the Bump map slots and found that the Bump map slot was assigned an incorrect bitmap. Easy to fix. Other than that, I felt the bump was too strong, so I reduced the bump amount from the default 0.3 to 0.15. I got this render.
Figure 2. Bump effect fix. Note that the metal piece near the back wheel now looks smooth.
At this point, the render looked fine and I could have stopped. However, I thought I should make use of the painted texture maps in some way. To begin, I assigned the Specular bitmap to the Reflection Color map slot.
Figure 3. The Specular bitmap
I know that reflection color for an Arch & Design material should be close to white. How do I make the Specular bitmap, which is rather black, close to white? I needed to cheat and I cheated in 2 steps.
First, I forced the image to be interpreted as if it had gamma value of 1.0 even though it actually had sRGB gamma (which is approximately gamma 2.2).
Figure 4. Forcing gamma 1.0 interpretation
Next, I manipulated the Output Curve of the bitmap to make it even closer to white.
Figure 5. Manipulating bitmap Output Curve
Here is a comparison to show what these steps do.
Figure 6. Specular bitmap comparison. 1: original image; 2: forcing gamma 1.0 interpretation; 3: manipulating Output Curve

With these manipulations, I got this render.
Figure 7. Render with manipulated Specular bitmap
Note that I got back the dirt details painted in the Specular bitmap. However, I found the reflection color of the dirt too dark. I know that the Diffuse bitmap has color for dirt areas, so I made another cheat: I added the Diffuse map, interpreted as having gamma 1.0, to the Specular bitmap. I used a Composite map to do this. Here is my setup.
Figure 8. Adding Diffuse bitmap to Specular bitmap
And here is the render that I got.

Figure 9. Render with Diffuse map added to reflection color

Now it is time to check the render from other angles.We will cover this in the next post.

Credit: The Tumbler model and textures were created by Henry Chan.

Friday, December 5, 2014

Reflection on Batman Tumbler - Part 1: Getting Back Reflection

Last week I did a quick Arch & Design shader test for my class. Here is the result:


First, a proper credit. The Tumbler model and textures were created by Henry Chan, a modeling student here at CG Protege.

The reason I carried out the test out was that Julien Lew, a student in the Visual Effects class I am teaching, used the model in his assignment. He worked on the shaders and could not get reflections on the model. In this post, I will share what I found.

Technical details are due. All the images were rendered using 3ds Max 2011, Mental Ray renderer. The shaders are Arch & Design.

I started off with this render.
Figure 1. Starting render. Note the lack of reflection on the body.
I used Mental Ray Daylight system and turned on the mr Photographic Exposure Control. I set Exposure Value (EV) to 10.0. To save effort of selecting a HDR map, I simply used mr Physical Sky map. I used a Photometric light for rim lighting and 8 photometric lights surrounding the Tumbler as fill lights. This way, I can get reasonably good-looking render without using Final Gather. Figure 2 shows my lighting setup.
Figure 2. Lighting setup
The first step in troubleshooting a complex shader is to understand its structure. Next, go through the structure to isolate the cause of the problem. Thanks to Julien's work, we isolated the cause of lack of reflections to the material called "Grey" assigned to the Tumbler body.
Figure 3. "Grey" material

The Reflection Glossiness map slot (highlighted in figure 3) caught my eye. Inspecting the bitmap used as glossiness map, I found that it was very dark.
Figure 4. Bitmap used as glossiness map
To verify, I rendered with the glossiness map disabled (in other words, Reflection Glossiness was constant at 0.5 throughout the surface).
Figure 5. Render with constant glossiness. Note the unnatural bumps on the metal piece near the back wheel.

Now I got reflections on the metal body. Problem solved.

However, another problem arose. One of the metal pieces near the back wheel had strange bumps (I expected it to be smooth). The next post will cover this.

Credit: The Tumbler model and textures were created by Henry Chan.

Sunday, August 10, 2014

Fade In

Long time no post.

Since January 2014 I have been adjusting to my new position as the VFX lecturer at CG Protege animation school. That is my (lame) excuse for no post all these months. I found my work perspective changing from a VFX artist into a lecturer/trainer/facilitator.

I started with the frame of mind that teaching is a temporary position, so all I needed to do was to deliver materials. As long as I taught well enough such that my students learn the materials, I did my job well. I was willing to help with paperwork for lecturers, such as documenting syllabus and writing course notes, but I did not fully understand how to connect the big one-year long syllabus to 4-hour daily classes.

Then I attended a course on adult training called ACTA. It stands for Advanced Certificate in Training and Assessment. (Sound rather fancy for what it really was, I thought.) Gradually, as the course progresses over the months, I saw a new world: the world of trainers (or, to use ACTA terminology, facilitator). I started to see myself as a trainer who happened to specialize in VFX rather than a VFX artist who happened to train. I realized that it was my job to connect one-year long syllabus to daily class delivery. The reason was not paperwork but material cohesion. If I understood how each day built up into a year-long program, I could deliver materials in a cohesive way.

I have to admit that there were times I found myself struggling with training ideas that were new to me. With reflection, though, I realized these ideas would make me a better person.

Friday, December 20, 2013

November Robots

November was full of robots.

In the first half of the month, I finished unwrapping the walker mech and started fiddling with materials with a little bit of texturing. Here are some renders.
There is no weathering. I hope I can get away without it in the final product.


I then spent a few weeks drawing mech designs for a friend of mine. He was creating a board game with mechs, so he got me to design 4 mechs from one of the mech manufacturers in his game.
Why does the military use animal names?

The mechs should look economical, something akin to "the default choice". Alligator is an all-rounder model. Next is Crocodile, an upgraded version of Alligator. Komodo is a heavy mech meant for short range battles. Finally, Salamander is a light unit with heavy fire power. I found designing these mechs a mixture of fun and frustration. The fun comes from drawing robots, obviously. The frustration comes from my not being able to convey the feel of cheap/economical. We even had to resort to adding a hand, something that I think is rather expensive to manufacture.

Moving on from drawing, I resumed working on the car park robot VFX shot. Right now I am recreating the scene in 3D, trying to get the best match between the 3D scene and the 2D footage. Here hoping next month will see some early compositing done.

Tuesday, November 12, 2013

Car Park Robot part 1

Early October I started thinking about a moving camera VFX shot to which I would add a CG robot. I decided on a simple panning shot of a car park. The shot begins with a bipedal robot starting up (I imagine it as a car), pulling out of its parking lot. The camera pans to follow the robot as it walks off.

Satisfied with the idea, I went off to shoot my video footage using my camera phone, then proceeded to matchmove using SynthEyes, and was happy enough to get a nice 3D camera solution. I downloaded a free mech model provided kindly by Michael Kingery (aka Legato895). I quickly rigged the mech model, started experimenting with a walk cycle, and finally merged the model into the 3D scene with the 3D camera solution I got earlier. Here is a viewport grab.



It was all pretty rainbow and butterflies thus far because I spent in total only around 2 weeks of on-and-off effort while teaching the VFX class (I can do this because all my students are now working on their own projects; I usually spend until lunch time directing them what to do next and have most of the time after lunch to work on this mini project). But then I realized I could not rely solely on shaders to get a good mech look. I needed some textures, hopefully with minimum effort. So I checked the UV unwrapping of the model and found nothing. The model was not UV unwrapped.

The pretty rainbow went away, bringing along with it all the butterflies.

The next 3 weeks, until today, I have been unwrapping the model piece by piece. I took such a long time because I am not a skilled UV unwrapper. Another reason is because the model was triangulated and it seems that 3DS Max Relax Tool for UV unwrapping works better with quads. Finally, the model itself has modeling quirks that make UV unwrapping more complicated. I found myself making minor modifications and cleaning ups just to make the unwrapping process easier. Right now I only have the feet left.
I use checker pattern to test my unwrapping. Notice only the feet has not been properly unwrapped.

Let's see what I can do in the coming month :)

Sunday, October 13, 2013

Tornado

Here is an effect shot I finished recently.
My goal was creating a still image to be used in promotion material for CG Protege, the animation school I am currently working for as VFX instructor. In my mind, the still image needs to achieve 2 things:
  • Just with one look anyone can tell that it is an effect shot, not a regular photo.
  • The image should look good enough to invite interest.
I find the first requirement difficult. I cannot go the route of invisible effect shot: an effect shot in which I composite an object we see daily, say a car, so that viewers cannot tell that it is an effect shot. I thought tornado is a good solution for this requirement. I made it "in your face" even further by adding lightning. The second requirement is somewhat easier. As long as I am careful with quality control, the image should be interesting enough. I hope I achieve these. (Feel free to tell me what you think in the comments.)

Here is the breakdown.

I used 3ds Max and FumeFX to generate the tornado. I used 2 FumeFX simulations: one for the top part of the tornado, another for the funnel shape at the bottom. I rendered the passes using 3ds Max Scanline renderer. I used mental ray renderer only for the lightning glare. Finally, I used Nuke for compositing.