Making Of 'Arion'

Introduction

Hello and welcome to this making-of feature about my latest character model. This character was part of my graduation project and hopefully I can share some of the things I learned while working on/with him. This project was a huge learning curve for me (mainly from my mistakes), and I'll try and share these mistakes so you can avoid them. But mistakes and problems are one of the best ways to push yourself, so never be afraid of tackling on something that you are not sure if you can finish. That is the best way to grow.

Firstly I would like to give credit where credit is due. Kingston Chan and Tze Wei (my course facilitators), for being my mentors and for sharing their knowledge with me. Also, Kevin Lanning and his article on "Character Modeling 2", where a great deal of my workflow was adopted from. Then not to forget great forums and sites such as 3Dtotal, CGtalk and other resources on the web. This brings us to the first point.
Never work alone. Other artists and viewers are such immense help and driving force that help you to push your work to get that extra result. If you are working at home, then try to post on art forums to get feedback or just ask your friends and family how they feel about the work.
Now let's start!

Concept

Concept is something I would highly recommend you to work on before even touching your 3D software. The more you know about your character, the easier and faster it will be when you start working on the 3D model. Whether you are good at drawing or not, always try and work on the concept first.

1. When working on the concept, I like to start very loosely. Think about what you want to create before you pick up the pen. You can write down notes or just keep them in your head, but it will help you if you have a general idea of what type of character you are going for.

As of whether you should work on paper or through digital media, it is up to you. Paper tends to give you better feel, while going digital gives you speed and more room to experiment. For this character I made a quick and loose sketch on the paper. At this point, I try to capture the feel and weight of the character.

Do not worry about details at this point. One trick is to "blur" your eyes and look at the picture, this way you'll see if the general shapes are working.

2. At this point, I scanned the image and went to Photoshop to clean it up. Now, you can re-evaluate your design and make changes. For me, it did not really feel that the idea of the sword was working. Never be afraid to change and experiment. During the clean up, always think how is the character going to work, how are the joints going to move, how are the accessories going to behave while moving and so forth. I added more detail but nothing too definite.

3. After I had the line art cleaned, I started painting. At this stage I tried to capture even more of the feel and mood of the character. As this is a personal project, I'm not worried about additional angles and/or details. The more you can capture your characters feel and personality, the better. Details can always change but the soul of the character is the real driving force in my opinion.

When doing the concept, constantly keep thinking about the character - its background, motives, emotions and so on.

Research

After my concept was done, I moved on to research. Others might work on the research first and then concept, but I want my concept process to be as free as possible so I can let the character grow without restricting the direction by reference or research. (This obviously would be different if you are trying to capture something like WW2 soldier or something that already has a historical foundation.)

One simple way is to just use Google and find reference that you feel you might need. For this character, I picked up references from military gear and other similar equipment, as well as boots, gloves, facial structures, hair, jackets, etc. Remember that the reference is not something to copy, but something to make you understand how real life applications would work. Also at this stage, it might be a good idea to check out your "competition". For example, if you are working on medieval character, you might want to check out medieval games like the LOTR or Morrowind series. This will help you to understand how others approached the same problem and it also gives you a comparison point. Always try and make your work better than what is already out there. Whether you succeed or not is not the point, but it will help you push your design even more.

Modelling

There are multiple ways to get your high-detailed mesh into normal maps and onto your low polygon object.
One way is to create a low polygon object first and export it to a software like ZBrush or Mudbox, where you can work on the details, and then bake it into your normal map.

This is a fast and straight forward way. The second option is to make a high polygon object in your 3D package and then build a low polygon one on top of it to be projected. Most of my model was constructed by first working on the highpoly with Maya, then exporting it into ZBrush for fine details, folds, cracks, etc. After that, I exported the highpoly mesh to MAX and built a lowpoly on top of the character and then projected. This is a slower option compared to the first one, and you might end up with very high density meshes in the viewport, but it also gives you more control. You can use a software like Polygon Cruncher to help you chew through and reduce the useless polygons. Another advantage with making the initial highpoly in 3D package is that it might be a lot easier if you have hard surface (non man-made) models etc.

If you have ZBrush 3, try and split up your model to parts to use as subtools. This way, you can subdivide your small detail on the mesh 1 or 2 times and other larger areas more times. If you import the whole mesh and just do an equal subdivide, you will end up having tons of polygons on areas that are not needed. For example, when I started working and detailing, the first few pouches I did were just 1 mesh with approximately 2,5million polygons.

Later on I started dividing my meshes and with the use of subtools, the final polycount for each piece of object was around 100k to 400k. This is already something you can work on the viewport more comfortably. Due to my system limitations, I had to work on piece by piece, ie. one pouch at the time, vest, gloves, pants and so on.

1. I started out with a lowpoly block out in Maya. This is just to give you the direction where you are going. It helps you to see what areas might be problematic and whether the character weight is still working in 3D. This phase is quite optional, but it is something I found useful. Try not to spend too much time at this stage.

After you are pleased with the lowpoly, start replacing the parts with highpoly ones. Do not go into too high polycounts at this time, as we'll be using ZBrush to add the rest of the details. At this point, the final details and direction of the model are setting in. I treat 3D as just another stage and change the details on how I feel works the best. You can always stop at this stage and go back and sketch something on paper if you feel like you are not sure on how the details should go.

3. Export the individual parts into ZBrush and start working on the fine details. It is good to remind yourself on what kind of details you should be working on, and do not go into too small details such as veins unless you feel that it is absolutely needed. However, they usually won't show on your normal map and they will just increase the polygon amount.

You can always add the small details later in Photoshop when you know exactly how much UV/texturespace you have for that particular object.

4. Keep an eye on the polycount as you do not want to work on something that's too crazy a size. After detailing, export the mesh at highest level. Work on each of the parts this way until all of your initial highpoly have been turned into "high detail" ones.

Compiling, Final lowpoly and Baking

1. After all of my initial highpoly have gone through the ZBrush treatment, I started bringing the .obj files into Max. The next step greatly depends on your computer power.

My system was unable to handle all the models at the same time so I had to eventually break down the character into 2 files. One for accessories and the other for core parts of the character. Use layering so you can choose on what parts to display and hide.

2. Now start working on the lowpoly. This is where I faced most of my problems as I was totally new to normal mapping. Build your lowpoly to suit the highpoly, and add polygons where needed. Sometimes you might need to take test bakes if you are not sure if it is working. At this stage, you can still decide what can or need to be mirrored and what objects can be duplicated to save more UV space. Later on you will get the feel on where to place polygons to get the optimum bake solution.

After all my lowpoly objects were done, I unwrapped and attached them together so I could work on the final UV layout. I used checker texture which is a great way to see how your unwrap is working.

After everything is done, I detached the lowpoly objects again.

Now at this point, my computer was dying on me and I had huge problems (such as ctrl+z crashing the software) so I highly recommend that when you are baking, make a new file and then merge the highpoly and lowpoly objects from the file which you compiled everything in, so that you can work on just the part that you want. Obviously this stage depends on your computer's capacity.

At this stage, I assigned basic materials and colours for my highpoly objects. This will help you when you start to work on the textures.

I used the Render To Texture feature in Max to bake out maps such as Normal, Diffuse, Specular and Height. I used Max8 and for some reason, I could not get the Ambient Occlusion pass to work, and hence extra setting up was needed for this stage. Also, do keep in mind that this eats a lot of memory, so you might need to bake up in batches such as (normal, height) (diffuse, specular) (Occlusion). Personally, I feel it is a good idea to make presets for your rendering needs as you will be swapping between MR (to bake all the other maps) and Scanline (to bake the Occlusion).

Fig.

Fig.

I would suggest naming all your objects before you start to bake, so that the RTT menu will automatically name the maps with proper names.

1. First, make sure you do not have any lights in your scene. Then, create one Sky Light anywhere on the scene.

2. Change to Max Scanline renderer and enable light tracer. (Basic setup should work just fine.)

3. Render a Lighting pass. Now you should have a nice Occlusion map without any artifacts or black spots.

Repeat the process with all the different parts until you have all the 5 maps of all your objects done.

If you are using Max9, then I believe that the occlusion problem is fixed and no extra setting up is needed. Now make a new file and compile all your lowpoly objects together. Mirror what needs to be mirrored and duplicate what needs to be duplicated until you have the whole lowpoly completed.

Texturing

Now comes the part which can make or break the previous work you did. There is no "formula" on how to do good textures, though a good eye for colour is needed and being able to paint helps a ton. This is not to say that you need to be a masterpainter to create good textures, but it will help a lot. Gather your textures and use whatever gets the work done. Total textures, 3d.sk or you can even try Google image search. Use these resources to find good textures that you can use for your work. For my project, I used a combination and took some pictures of my bag and pants to act as texture for the coat and straps.

With just the base textures (Diffuse, Occlusion, Normal and Height), you should be able to create a nice color base.

Before any real texturework is done. Good start for texturing!

A combination of the original Diffuse, Normal, Height and Occlusion pass is used to form the base diffuse map.

Next step is to dirty it up and add more details such as scratches and stitch work. I used simple metal textures for the base of the metal parts and then added stains and dirt maps while finishing up with hand-painting the rest. For the cloth parts I used my own pictures I took. The stitches were done with a combination of textures and custom brush work.

Fig 20

Fig 20

Anything goes. Photos, pictures, filters, hand-painting, etc.
Anything you can do to get the final result.

Fig 21

Fig 21


I know it's a pain but it really adds some realism to your work.

Use Height map to create some fake highlights to bounce back some of the normal map detail that has been lost under the textures. Height map can also be used later on in the game engine for parlax mapping. For specular map, you can use the existing diffuse map as a base (desaturate and gives slight color tones depending on the subject matter) and tweak it manually for it to work correctly.

The final normal map is a combination of the baked normal maps and a "high frequencey" pass that I had created with crazy bump from the diffuse map. You can use NVidia plugin for Photoshop as well, but I find that crazy bump gives better/cleaner and more controlled results. As with the specular map, tweak it by hand to get the final and desired result.

A blend between the original and a high frequency pass. Be careful with the high frequency detail as your mesh might turn up looking like a blob of toothpaste. Keep it subtle.

Hair Modeling and Texturing

There are tons of tutorials on how to model hair so I'll try and keep this short. Modeling good hair is hard and basically there are no shortcuts.
1. I started with 1 un-modified hair strand and unwrapped it with simple plannar mapping.

2. Steps 2-200 are basically the same. Copy the strand, snap the vertices to the head and manually tweak until you get the desired result. Think about the hair style before starting, or otherwise you will feel lost when working on it.

3. I went to Photoshop to work on the hair textures and created 1 diffuse and 1 alpha map for this using a quick custom brush. Later on I realised that I should have added normal/specular maps to the hair to achieve a better look. I made a few different strands to use for variety.

4. I went back to Max and assigned the new texture to all the hair strands and then started tweaking each hair strand UV manually to get the desired effect.

5. Just final note. Good hair = good amount of time. There's no escape and no "quick and dirty" way to get it done. This applies to everything else but even more to hair. Nevertheless I feel that hair is one of the most important pieces of the character after the eyes. If you shave everyone's head and just settle with that, well... just look at your local military camp. Everyone looks the same. So even though it's a pain in the butt, just spend extra time and make it look nice. As usual, the more you do, the better you get. This was my second time working on hair and first time doing real time hair, so I feel that there's still a long way to go before I can master it. Also, the more polygons you use, the better it will be.

Rigging

I won't go too deep into this. Basically what I used was a combination of Biped and custom bone rig which I made. It's good to know that even at this stage, if you have problems with deformations in your model, you can still add edge loops so that the deformations will work better. As you work on more models, you'll start to spot areas where you need more/less polygons to deform properly.

Lighting & Rendering

This part was quite simple. I did not use anything special, just a simple 3point lighting setup. No GI or anything fancy. This will also represent the model more accurately as it would be seen on the game engine. After that I went to Photoshop and did very slight touch-ups such as adjusting the levels. But overall the final render (excluding the background) is 99% as it came from the renderer. Let your textures do the work. A simple light setup will do with good textures.

Conclusion

This was my first game character project; my first project using normal maps or ZBrush; my first time working on most of the stuff mentioned above. I think what I want to share the most is the
fact that never be afraid of doing something that you think is really hard. Never doubt your ability to learn and to tackle problems that you might face in your projects. In fact, you learned most When you work on something that makes you go "how the hell am I going to make this work?". I am just a beginner myself so you might notice a lot of mistakes and things that could have been done better. However, I was glad to be able to share something here with you, be it my workflow, techniques or even my mistakes.

Any feedback is welcome and if you have any questions, I'll try and find time to answer them. If you are interested in my work, then just hit me with an email.

Fetching comments...

Post a comment